SpyBara
Go Premium

Documentation 2026-10-02 22:59 UTC to 2026-10-03 17:57 UTC

42 files changed +1,365 −1,200. View all changes and history on the product overview
2026
Sat 3 17:57 Fri 2 22:59 Thu 1 23:59
Details

145Einige Verhaltensweisen sind nicht für den Bildschirmleser-Modus angepasst:145Einige Verhaltensweisen sind nicht für den Bildschirmleser-Modus angepasst:

146 146 

147* Der Bildschirmleser-Modus wird nicht automatisch aktiviert, wenn ein Bildschirmleser ausgeführt wird.147* Der Bildschirmleser-Modus wird nicht automatisch aktiviert, wenn ein Bildschirmleser ausgeführt wird.

148* Claude Code kündigt eine Berechtigungsmodus-Änderung nicht an, die auf andere Weise als durch Durchlaufen mit `Shift+Tab` vorgenommen wird, z. B. das Eingeben des [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) aus einem Befehl.148* Claude Code kündigt eine Berechtigungsmodus-Änderung nicht an, die Sie mit einem Befehl vornehmen, z. B. das Wechseln in den [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) mit `/plan`.

149* Das Anhängen an eine [Hintergrundsitzung](/docs/de/agent-view) mit `claude attach` oder aus der Agent-Ansicht betritt den alternativen Bildschirm des Terminals, der keinen nativen Scrollback hat. Dies ist das [gleiche Verhalten wie bei anderen angehängten Sitzungen](/docs/de/fullscreen). Um herauszukommen, drücken Sie den linken Pfeil bei einer leeren Eingabeaufforderung, oder Ctrl+Z, wenn ein Dialog den Fokus hat.149* Das Anhängen an eine [Hintergrundsitzung](/docs/de/agent-view) mit `claude attach` oder aus der Agent-Ansicht betritt den alternativen Bildschirm des Terminals, der keinen nativen Scrollback hat. Dies ist das [gleiche Verhalten wie bei anderen angehängten Sitzungen](/docs/de/fullscreen). Um herauszukommen, drücken Sie den linken Pfeil bei einer leeren Eingabeaufforderung, oder Ctrl+Z, wenn ein Dialog den Fokus hat.

150* Claude Code kündigt Kosten in der Zusammenfassung an, die es beim Beenden ausgibt, nicht pro Zug.150* Claude Code kündigt Kosten in der Zusammenfassung an, die es beim Beenden ausgibt, nicht pro Zug.

151* Der Bildschirmleser-Modus ändert den [nicht-interaktiven Modus](/docs/de/headless) mit dem Flag `-p` nicht. Der nicht-interaktive Modus schreibt bereits einfachen Text und bleibt eine Alternative zum Scripting.151* Der Bildschirmleser-Modus ändert den [nicht-interaktiven Modus](/docs/de/headless) mit dem Flag `-p` nicht. Der nicht-interaktive Modus schreibt bereits einfachen Text und bleibt eine Alternative zum Scripting.

Details

154| `PostToolUse` | Ja | Ja | Tool-Ausführungsergebnis | Alle Dateiänderungen im Audit-Trail protokollieren |154| `PostToolUse` | Ja | Ja | Tool-Ausführungsergebnis | Alle Dateiänderungen im Audit-Trail protokollieren |

155| `PostToolUseFailure` | Ja | Ja | Tool-Ausführungsfehler | Tool-Fehler behandeln oder protokollieren |155| `PostToolUseFailure` | Ja | Ja | Tool-Ausführungsfehler | Tool-Fehler behandeln oder protokollieren |

156| `PostToolBatch` | Nein | Ja | Ein vollständiger Batch von Tool-Aufrufen wird aufgelöst, einmal pro Batch vor dem nächsten Modellaufruf | Konventionen einmal für den gesamten Batch einfügen |156| `PostToolBatch` | Nein | Ja | Ein vollständiger Batch von Tool-Aufrufen wird aufgelöst, einmal pro Batch vor dem nächsten Modellaufruf | Konventionen einmal für den gesamten Batch einfügen |

157| `UserPromptSubmit` | Ja | Ja | Benutzer-Prompt-Übermittlung | Zusätzlichen Kontext in Prompts einfügen |157| [`UserPromptSubmit`](/docs/de/hooks#userpromptsubmit) | Ja | Ja | Ein Prompt wird übermittelt, einschließlich eines Turns, den Claude Code selbstständig startet | Zusätzlichen Kontext in Prompts einfügen |

158| [`UserPromptExpansion`](/docs/de/hooks#userpromptexpansion) | Nein | Ja | Ein von Benutzern eingegebener Befehl oder ein MCP-Prompt wird zu einem Prompt erweitert, bevor er Claude erreicht. Wird nicht ausgelöst, wenn Claude selbst eine Skill aufruft | Einen Befehl von direkter Aufrufe blockieren oder Kontext hinzufügen, wenn eine Skill eingegeben wird |158| [`UserPromptExpansion`](/docs/de/hooks#userpromptexpansion) | Nein | Ja | Ein von Benutzern eingegebener Befehl oder ein MCP-Prompt wird zu einem Prompt erweitert, bevor er Claude erreicht. Wird nicht ausgelöst, wenn Claude selbst eine Skill aufruft | Einen Befehl von direkter Aufrufe blockieren oder Kontext hinzufügen, wenn eine Skill eingegeben wird |

159| `MessageDisplay` | Nein | Ja | Eine Assistenten-Nachricht mit Text wird abgeschlossen, einmal pro Nachricht mit dem vollständigen Nachrichtentext | Angezeigten Text redigieren oder neu formatieren, ohne das Transkript zu ändern |159| `MessageDisplay` | Nein | Ja | Eine Assistenten-Nachricht mit Text wird abgeschlossen, einmal pro Nachricht mit dem vollständigen Nachrichtentext | Angezeigten Text redigieren oder neu formatieren, ohne das Transkript zu ändern |

160| `Stop` | Ja | Ja | Agent-Ausführung stoppt | Sitzungsstatus vor dem Beenden speichern |160| `Stop` | Ja | Ja | Agent-Ausführung stoppt | Sitzungsstatus vor dem Beenden speichern |

Details

2241 "PreToolUse", # Called before tool execution2241 "PreToolUse", # Called before tool execution

2242 "PostToolUse", # Called after tool execution2242 "PostToolUse", # Called after tool execution

2243 "PostToolUseFailure", # Called when a tool execution fails2243 "PostToolUseFailure", # Called when a tool execution fails

2244 "UserPromptSubmit", # Called when user submits a prompt2244 "UserPromptSubmit", # Called when a prompt is submitted

2245 "Stop", # Called when stopping execution2245 "Stop", # Called when stopping execution

2246 "SubagentStop", # Called when a subagent stops2246 "SubagentStop", # Called when a subagent stops

2247 "PreCompact", # Called before message compaction2247 "PreCompact", # Called before message compaction


2443| Feld | Typ | Beschreibung |2443| Feld | Typ | Beschreibung |

2444| :- | :- | :- |2444| :- | :- | :- |

2445| `hook_event_name` | `Literal["UserPromptSubmit"]` | Immer "UserPromptSubmit" |2445| `hook_event_name` | `Literal["UserPromptSubmit"]` | Immer "UserPromptSubmit" |

2446| `prompt` | `str` | Die vom Benutzer eingereichte Aufforderung |2446| `prompt` | `str` | Der übermittelte Prompt |

2447 2447 

2448<h3 id="stophookinput">2448<h3 id="stophookinput">

2449 `StopHookInput`2449 `StopHookInput`

Details

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

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

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

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

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

280 280 

281<h3 id="listsessions">281<h3 id="listsessions">

agent-teams.md +6 −4

Details

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

92* **Escape**: Löschen Sie die Auswahl. Während Sie das Transkript eines Teammates anschauen, unterbricht Escape den aktuellen Zug dieses Teammates92* **Escape**: Löschen Sie die Auswahl. Während Sie das Transkript eines Teammates anschauen, unterbricht Escape den aktuellen Zug dieses Teammates

93 93 

94Ab 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.94Die Zeile eines untätigen Teammates bleibt 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 Turn des Teammates wieder; der Teammate läuft weiter und ist adressierbar, während er ausgeblendet ist.

95 95 

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

97 97 


172* **Family-Alias wie `opus`**: Auf der Anthropic API und Claude Platform auf AWS führt Claude Code den Teammate auf der neuesten Version dieser Familie aus, die die Allowlist zulässt. Bei Anbietern mit anbieterspezifischen Modell-IDs, bei denen die [Substitution nicht funktioniert](/docs/de/model-config#restrict-model-selection), fällt ein blockierter Alias wie jeder andere blockierte Wert gemäß dem nächsten Punkt zurück172* **Family-Alias wie `opus`**: Auf der Anthropic API und Claude Platform auf AWS führt Claude Code den Teammate auf der neuesten Version dieser Familie aus, die die Allowlist zulässt. Bei Anbietern mit anbieterspezifischen Modell-IDs, bei denen die [Substitution nicht funktioniert](/docs/de/model-config#restrict-model-selection), fällt ein blockierter Alias wie jeder andere blockierte Wert gemäß dem nächsten Punkt zurück

173* **Jeder andere blockierte Wert, einschließlich eines Family-Alias bei Anbietern, bei denen die Substitution nicht funktioniert, oder einer Familie, die keine zulässige Version hat**: Claude Code führt den Teammate auf dem Modell des Leads aus. Wenn Sie `CLAUDE_CODE_SUBAGENT_MODEL` setzen, versucht Claude Code zuerst dieses Modell unter denselben Regeln173* **Jeder andere blockierte Wert, einschließlich eines Family-Alias bei Anbietern, bei denen die Substitution nicht funktioniert, oder einer Familie, die keine zulässige Version hat**: Claude Code führt den Teammate auf dem Modell des Leads aus. Wenn Sie `CLAUDE_CODE_SUBAGENT_MODEL` setzen, versucht Claude Code zuerst dieses Modell unter denselben Regeln

174 174 

175Teammates erben die [Anstrengungsstufe](/docs/de/model-config#adjust-effort-level) des Leads. Im Split-Pane-Modus gilt dies ab v2.1.186; frühere Versionen haben die Anstrengungsstufe der Lead-Sitzung nicht an Split-Pane-Teammates weitergegeben.175Standardmäßig erben Teammates die [Effort-Stufe](/docs/de/model-config#adjust-effort-level) des Leads. Im Split-Pane-Modus gilt dies ab v2.1.186; frühere Versionen haben die Effort-Stufe der Lead-Sitzung nicht an Split-Pane-Teammates weitergegeben.

176 176 

177<h3 id="have-teammates-plan-before-implementing">177<h3 id="have-teammates-plan-before-implementing">

178 Genehmigung von Plänen für Teammates erforderlich178 Genehmigung von Plänen für Teammates erforderlich


200* `/compact`, `/clear` und `/rewind` wirken auf die Konversation des Leads, daher bittet Claude Code Sie um Bestätigung, bevor einer dieser Befehle aus dieser Ansicht ausgeführt wird.200* `/compact`, `/clear` und `/rewind` wirken auf die Konversation des Leads, daher bittet Claude Code Sie um Bestätigung, bevor einer dieser Befehle aus dieser Ansicht ausgeführt wird.

201* `/model` und `/fast` legen das Modell und den Fast-Modus des Leads fest, nicht die des Teammates, daher werden sie aus dieser Ansicht nicht ausgeführt. Ein Hinweis erklärt Ihnen, warum.201* `/model` und `/fast` legen das Modell und den Fast-Modus des Leads fest, nicht die des Teammates, daher werden sie aus dieser Ansicht nicht ausgeführt. Ein Hinweis erklärt Ihnen, warum.

202 202 

203Das Modell und der Fast-Modus eines Teammates sind festgelegt, wenn er erzeugt wird. `/effort` gilt weiterhin für die späteren Turns des angezeigten Teammates, da Teammates der [Effort-Stufe](/docs/de/model-config#adjust-effort-level) des Leads folgen.203Das Modell und der Fast-Modus eines Teammates sind festgelegt, wenn er erzeugt wird.

204 204 

205<h3 id="assign-and-claim-tasks">205<h3 id="assign-and-claim-tasks">

206 Aufgaben zuweisen und beanspruchen206 Aufgaben zuweisen und beanspruchen


293 Verwenden Sie Subagent-Definitionen für Teammates293 Verwenden Sie Subagent-Definitionen für Teammates

294</h3>294</h3>

295 295 

296Beim Erzeugen eines Teammates in beiden Anzeigemodi können Sie einen [Subagent](/docs/de/sub-agents)-Typ aus dem Projekt, Benutzer oder verwalteten [Subagent-Bereich](/docs/de/sub-agents#choose-the-subagent-scope) referenzieren. Dies ermöglicht es Ihnen, eine Rolle einmal zu definieren, wie z. B. einen Security-Reviewer oder Test-Runner, und sie sowohl als delegierter Subagent als auch als Agent-Team-Teammate wiederzuverwenden.296Beim Erzeugen eines Teammates in beiden Anzeigemodi können Sie einen [Subagent](/docs/de/sub-agents)-Typ aus dem Projekt-, Benutzer-, verwalteten oder Plugin-[Geltungsbereich für Subagenten](/docs/de/sub-agents#choose-the-subagent-scope) referenzieren. Dies ermöglicht es Ihnen, eine Rolle einmal zu definieren, wie z. B. einen Security-Reviewer oder Test-Runner, und sie sowohl als delegierter Subagent als auch als Agent-Team-Teammate wiederzuverwenden.

297 297 

298Um eine Subagent-Definition zu verwenden, benennen Sie sie, wenn Sie Claude auffordern, den Teammate zu erzeugen:298Um eine Subagent-Definition zu verwenden, benennen Sie sie, wenn Sie Claude auffordern, den Teammate zu erzeugen:

299 299 


305 305 

306* **`tools`**: Claude Code beschränkt den Teammate auf die Tools in der `tools`-Liste der Definition. Für einen In-Process-Teammate fügt Claude Code `SendMessage` zu dieser Liste hinzu, und in einer [Sitzung, die die Task-Tools hat](/docs/de/tools-reference#task-tool-availability), fügt es auch `TaskCreate`, `TaskGet`, `TaskList` und `TaskUpdate` hinzu.306* **`tools`**: Claude Code beschränkt den Teammate auf die Tools in der `tools`-Liste der Definition. Für einen In-Process-Teammate fügt Claude Code `SendMessage` zu dieser Liste hinzu, und in einer [Sitzung, die die Task-Tools hat](/docs/de/tools-reference#task-tool-availability), fügt es auch `TaskCreate`, `TaskGet`, `TaskList` und `TaskUpdate` hinzu.

307* **`model`**: Claude Code verwendet das `model` der Definition in beiden Anzeigemodi, wenn Ihr Spawn-Prompt keinen benennt. Siehe [wie Claude Code das Modell eines Teammates auswählt](#specify-teammates-and-models).307* **`model`**: Claude Code verwendet das `model` der Definition in beiden Anzeigemodi, wenn Ihr Spawn-Prompt keinen benennt. Siehe [wie Claude Code das Modell eines Teammates auswählt](#specify-teammates-and-models).

308* **`disallowedTools`**: Für einen In-Process-Teammate entfernt Claude Code die Tools aus `disallowedTools` der Definition aus den Tools des Teammates. `SendMessage` und die Task-Tools, die es hinzufügt, bleiben verfügbar, auch wenn die Liste sie nennt.

309* **`effort`**: Für einen In-Process-Teammate wendet Claude Code den [`effort`](/docs/de/sub-agents#supported-frontmatter-fields)-Wert der Definition gemäß den [Frontmatter-Regeln für den Effort](/docs/de/model-config#set-the-effort-level) an.

308* **Body**: Für einen In-Process-Teammate hängt Claude Code den Body der Definition an seinen Standard-System-Prompt als zusätzliche Anweisungen an. Für einen Split-Pane-Teammate verwendet Claude Code den Body anstelle seines Standard-System-Prompts.310* **Body**: Für einen In-Process-Teammate hängt Claude Code den Body der Definition an seinen Standard-System-Prompt als zusätzliche Anweisungen an. Für einen Split-Pane-Teammate verwendet Claude Code den Body anstelle seines Standard-System-Prompts.

309* **`skills`**: Claude Code wendet die `skills` der Definition nicht auf einen Teammate in beiden Anzeigemodi an. Der Teammate lädt Skills aus Ihren Projekt- und Benutzereinstellungen.311* **`skills`**: Claude Code wendet die `skills` der Definition nicht auf einen Teammate in beiden Anzeigemodi an. Der Teammate lädt Skills aus Ihren Projekt- und Benutzereinstellungen.

310* **`mcpServers`**: Für einen Split-Pane-Teammate wendet Claude Code das `mcpServers` der Definition unter den [Regeln für dieses Feld](/docs/de/sub-agents#scope-mcp-servers-to-a-subagent) an, die auch eine Sitzung abdecken, die mit `--agent` gestartet wurde. Ein In-Process-Teammate ignoriert das Feld und lädt MCP-Server aus Ihren Projekt- und Benutzereinstellungen.312* **`mcpServers`**: Für einen Split-Pane-Teammate wendet Claude Code das `mcpServers` der Definition unter den [Regeln für dieses Feld](/docs/de/sub-agents#scope-mcp-servers-to-a-subagent) an, die auch eine Sitzung abdecken, die mit `--agent` gestartet wurde. Ein In-Process-Teammate ignoriert das Feld und lädt MCP-Server aus Ihren Projekt- und Benutzereinstellungen.

champion-kit.md +7 −7

Details

50Beispiele für wiederverwendbare Techniken:50Beispiele für wiederverwendbare Techniken:

51 51 

52* „Ich habe gelernt, dass das @-Erwähnen eines Verzeichnisses funktioniert. Wenn ich es auf `@src/components/` zeige und frage, welche Tests fehlen, werden zwei angezeigt, die ich übersehen hatte."52* „Ich habe gelernt, dass das @-Erwähnen eines Verzeichnisses funktioniert. Wenn ich es auf `@src/components/` zeige und frage, welche Tests fehlen, werden zwei angezeigt, die ich übersehen hatte."

53* „Plan Mode (`Shift+Tab`) zeigt genau, welche Dateien berührt werden, bevor eine Bearbeitung vorgenommen wird, weshalb ich mich wohlfühle, ihn auf gemeinsamen Code anzuwenden."53* „Der Plan-Modus (`Shift+Tab`) stellt zuerst die vorgeschlagenen Änderungen dar, weshalb ich mich wohlfühle, ihn auf gemeinsamen Code anzuwenden."

54* „Ich habe einen Stop-Hook konfiguriert, damit ich eine Desktop-Benachrichtigung erhalte, wenn eine lange Aufgabe abgeschlossen ist. Die Konfiguration ist im Thread."54* „Ich habe einen Stop-Hook konfiguriert, damit ich eine Desktop-Benachrichtigung erhalte, wenn eine lange Aufgabe abgeschlossen ist. Die Konfiguration ist im Thread."

55* „Das Ausführen von `/init` generiert eine `CLAUDE.md` aus dem Repository, damit der Assistent nicht mehr nach unseren Konventionen fragt."55* „Das Ausführen von `/init` generiert eine `CLAUDE.md` aus dem Repository, damit der Assistent nicht mehr nach unseren Konventionen fragt."

56 56 


88```88```

89 89 

90```text theme={null}90```text theme={null}

91Plan Mode ist der Grund, warum ich mich wohlfühle, dies auf Code zu verwenden, der wichtig ist.91Der Plan-Modus ist der Grund, warum ich mich wohlfühle, dies auf Code zu verwenden, der wichtig ist.

92Drücken Sie Shift+Tab, bis Sie „plan" sehen; es zeigt genau, welche Dateien es92Drücken Sie Shift+Tab, bis Sie „plan" sehen; er stellt die vorgeschlagenen Änderungen dar,

93berühren möchte, bevor etwas geändert wird.93ohne Ihren Quellcode zu bearbeiten.

94```94```

95 95 

96<h2 id="be-the-person-people-ask">96<h2 id="be-the-person-people-ask">


124| Frage | Vorgeschlagene Antwort | Nachschlageressource |124| Frage | Vorgeschlagene Antwort | Nachschlageressource |

125| - | - | - |125| - | - | - |

126| „Womit sollte ich es zuerst versuchen?" | Empfehlen Sie eine echte, aber begrenzte Aufgabe, idealerweise einen Bug oder eine Aufgabe, die die Person aufgeschoben hat, weil sie mühsam ist, nicht schwierig. | [Häufige Workflows](/docs/de/common-workflows) |126| „Womit sollte ich es zuerst versuchen?" | Empfehlen Sie eine echte, aber begrenzte Aufgabe, idealerweise einen Bug oder eine Aufgabe, die die Person aufgeschoben hat, weil sie mühsam ist, nicht schwierig. | [Häufige Workflows](/docs/de/common-workflows) |

127| „Wie kann ich meinem Code vertrauen?" | Stellen Sie Plan Mode vor: Drücken Sie `Shift+Tab`, um ihn zu aktivieren, Claude schlägt genau vor, was es ändern möchte, und nichts wird geändert, bis der Benutzer zustimmt. | [Berechtigungen](/docs/de/permissions) |127| „Wie kann ich ihm meinen Code anvertrauen?" | Stellen Sie den Plan-Modus vor: Durch Drücken von `Shift+Tab` wechseln Sie in diesen Modus, und Claude recherchiert und schlägt Änderungen vor, ohne Ihren Quellcode zu bearbeiten. | [Berechtigungen](/docs/de/permissions) |

128| „Lohnt sich der Einrichtungsaufwand?" | Die Installation dauert etwa zwei Minuten, läuft im Terminal und erfordert keine IDE-Erweiterung. Das einmalige Ausführen von `/init` reicht aus, um zu beginnen. | [Quickstart](/docs/de/quickstart) |128| „Lohnt sich der Einrichtungsaufwand?" | Die Installation dauert etwa zwei Minuten, läuft im Terminal und erfordert keine IDE-Erweiterung. Das einmalige Ausführen von `/init` reicht aus, um zu beginnen. | [Quickstart](/docs/de/quickstart) |

129| „Es hat ein falsches Ergebnis produziert." | Ermutigen Sie sie, den Fehler an Claude zurückzugeben. Das Einfügen der Fehlermeldung oder des fehlgeschlagenen Tests ist viel effektiver als die Umformulierung der ursprünglichen Anfrage. | [Häufige Workflows](/docs/de/common-workflows) |129| „Es hat ein falsches Ergebnis produziert." | Ermutigen Sie sie, den Fehler an Claude zurückzugeben. Das Einfügen der Fehlermeldung oder des fehlgeschlagenen Tests ist viel effektiver als die Umformulierung der ursprünglichen Anfrage. | [Häufige Workflows](/docs/de/common-workflows) |

130| „Es versteht unsere Codebase-Konventionen nicht." | Schlagen Sie vor, `/init` auszuführen, um eine `CLAUDE.md`-Datei zu generieren, und fügen Sie dann die Konventionen des Teams, Testbefehle und alle Verzeichnisse hinzu, die vermieden werden sollten. | [Memory](/docs/de/memory) |130| „Es versteht unsere Codebase-Konventionen nicht." | Schlagen Sie vor, `/init` auszuführen, um eine `CLAUDE.md`-Datei zu generieren, und fügen Sie dann die Konventionen des Teams, Testbefehle und alle Verzeichnisse hinzu, die vermieden werden sollten. | [Memory](/docs/de/memory) |


197| Bedenken | Vorgeschlagene Antwort | Zu bietender Beweis |197| Bedenken | Vorgeschlagene Antwort | Zu bietender Beweis |

198| - | - | - |198| - | - | - |

199| „Ich bin schneller ohne es." | Das ist wahrscheinlich wahr für Code, den die Person routinemäßig schreibt. Schlagen Sie vor, es auf die Arbeit zu versuchen, die sie tendenziell vermeiden: Legacy-Dateien, unbekannte Services oder Test-Gerüste, wo es am meisten hilft. | Zeitlich eine mühsame Aufgabe auf beide Arten und vergleichen Sie. |199| „Ich bin schneller ohne es." | Das ist wahrscheinlich wahr für Code, den die Person routinemäßig schreibt. Schlagen Sie vor, es auf die Arbeit zu versuchen, die sie tendenziell vermeiden: Legacy-Dateien, unbekannte Services oder Test-Gerüste, wo es am meisten hilft. | Zeitlich eine mühsame Aufgabe auf beide Arten und vergleichen Sie. |

200| „Ich vertraue KI nicht, Production-Code zu berühren." | Stimmen Sie zu, dass keine Änderung ungelesen landen sollte. Plan Mode kombiniert mit normalem Diff-Review bedeutet, dass nichts angewendet wird, das der Ingenieur nicht überprüft hat, der gleiche Standard wie jeder Pull Request. | Demonstrieren Sie Plan Mode auf einer echten Datei. |200| „Ich vertraue KI nicht, Production-Code zu berühren." | Stimmen Sie zu, dass keine Änderung ungelesen landen sollte. Schlagen Sie den Plan-Modus vor, um die vorgeschlagenen Änderungen zuerst zu sehen, und überprüfen Sie dann den Diff nach demselben Standard wie jeden Pull Request. | Demonstrieren Sie den Plan-Modus an einer echten Datei. |

201| „Es wird Junior-Ingenieure schwächer machen." | Wenn es gut verwendet wird, ist es ein effektiver Erklärer. Ermutigen Sie Junior-Ingenieure, Claude zu bitten, eine Datei und ihre Aufruforte zu erklären, bevor sie ihn bitten, etwas zu ändern. | Führen Sie „Erklären Sie @file und wo es aufgerufen wird" zusammen aus. |201| „Es wird Junior-Ingenieure schwächer machen." | Wenn es gut verwendet wird, ist es ein effektiver Erklärer. Ermutigen Sie Junior-Ingenieure, Claude zu bitten, eine Datei und ihre Aufruforte zu erklären, bevor sie ihn bitten, etwas zu ändern. | Führen Sie „Erklären Sie @file und wo es aufgerufen wird" zusammen aus. |

202| „Ich habe es einmal versucht und es hat halluziniert." | Dies ist normalerweise ein Kontextproblem, kein Modellproblem. Das @-Erwähnen der relevanten Dateien, das Ausführen von `/init` und das Bereitstellen der tatsächlichen Fehlerausgabe lösen es normalerweise. | Führen Sie ihren ursprünglichen Prompt mit ordnungsgemäßem `@`-Kontext erneut aus. |202| „Ich habe es einmal versucht und es hat halluziniert." | Dies ist normalerweise ein Kontextproblem, kein Modellproblem. Das @-Erwähnen der relevanten Dateien, das Ausführen von `/init` und das Bereitstellen der tatsächlichen Fehlerausgabe lösen es normalerweise. | Führen Sie ihren ursprünglichen Prompt mit ordnungsgemäßem `@`-Kontext erneut aus. |

203| „Wir haben keine Zeit, ein anderes Tool zu lernen." | Claude Code ist ein Terminal-Befehl, kein Plattform. Wenn es in der ersten Sitzung keinen Wert zurückgibt, ist es angemessen, es beiseite zu legen. | Eine zweiminütige Installation gefolgt von einem echten Bug. |203| „Wir haben keine Zeit, ein anderes Tool zu lernen." | Claude Code ist ein Terminal-Befehl, kein Plattform. Wenn es in der ersten Sitzung keinen Wert zurückgibt, ist es angemessen, es beiseite zu legen. | Eine zweiminütige Installation gefolgt von einem echten Bug. |


211| Technik | Wie man sie anwendet |211| Technik | Wie man sie anwendet |

212| - | - |212| - | - |

213| Geben Sie den richtigen Kontext an | Verwenden Sie `@file`- oder `@directory/`-Referenzen, oder fügen Sie die Fehler- oder Log-Ausgabe direkt ein. Die Bereitstellung relevanten Kontexts ist effektiver als aufwendiges Prompting. |213| Geben Sie den richtigen Kontext an | Verwenden Sie `@file`- oder `@directory/`-Referenzen, oder fügen Sie die Fehler- oder Log-Ausgabe direkt ein. Die Bereitstellung relevanten Kontexts ist effektiver als aufwendiges Prompting. |

214| Überprüfen Sie den Plan vor der Bearbeitung | Drücken Sie `Shift+Tab`, um in den Plan Mode zu gelangen. Claude wird die beabsichtigten Änderungen zur Genehmigung beschreiben, bevor sie ausgeführt werden. |214| Überprüfen Sie den Plan vor der Bearbeitung | Drücken Sie `Shift+Tab`, um in den Plan-Modus zu gelangen. Claude recherchiert und schlägt Änderungen vor, ohne Ihren Quellcode zu bearbeiten. |

215| Lehren Sie es Ihr Repository | Führen Sie `/init` aus, um eine `CLAUDE.md`-Datei zu generieren, und fügen Sie dann Ihre Konventionen, Testbefehle und alle Verzeichnisse hinzu, die nicht geändert werden sollten. Siehe [Memory](/docs/de/memory). |215| Lehren Sie es Ihr Repository | Führen Sie `/init` aus, um eine `CLAUDE.md`-Datei zu generieren, und fügen Sie dann Ihre Konventionen, Testbefehle und alle Verzeichnisse hinzu, die nicht geändert werden sollten. Siehe [Memory](/docs/de/memory). |

216| Verwenden Sie einen Workflow erneut | Speichern Sie eine `SKILL.md`-Datei in `.claude/skills/<name>/`, um einen `/name`-Skill zu erstellen, den das gesamte Team verwenden kann. Siehe [Skills](/docs/de/skills). |216| Verwenden Sie einen Workflow erneut | Speichern Sie eine `SKILL.md`-Datei in `.claude/skills/<name>/`, um einen `/name`-Skill zu erstellen, den das gesamte Team verwenden kann. Siehe [Skills](/docs/de/skills). |

217| Bleiben Sie während langer Aufgaben informiert | Konfigurieren Sie einen Stop-Hook, um eine Desktop-Benachrichtigung zu erhalten, wenn eine lange Aufgabe abgeschlossen ist. Siehe [Hooks](/docs/de/hooks-guide). |217| Bleiben Sie während langer Aufgaben informiert | Konfigurieren Sie einen Stop-Hook, um eine Desktop-Benachrichtigung zu erhalten, wenn eine lange Aufgabe abgeschlossen ist. Siehe [Hooks](/docs/de/hooks-guide). |

chrome.md +1 −1

Details

130In einer VS Code-Sitzung hängt es davon ab, wie die Sitzung mit Ihrem Browser verbunden wurde, ob Claude Code vor einer Browser-Aktion bei Ihnen nachfragt:130In einer VS Code-Sitzung hängt es davon ab, wie die Sitzung mit Ihrem Browser verbunden wurde, ob Claude Code vor einer Browser-Aktion bei Ihnen nachfragt:

131 131 

132* **Sie haben `@browser` eingegeben**: Die Erweiterung genehmigt jede Browser-Aktion, bei der Claude Code sonst bei Ihnen nachfragen würde.132* **Sie haben `@browser` eingegeben**: Die Erweiterung genehmigt jede Browser-Aktion, bei der Claude Code sonst bei Ihnen nachfragen würde.

133* **Die Einstellung [Enabled by default](#enable-chrome-by-default) hat sie beim Start verbunden**: Claude Code fragt vor Browser-Aktionen in den Berechtigungsmodi Manual, Edit automatically, Auto und Bypass permissions bei Ihnen nach, bis Sie in dieser Sitzung `@browser` eingeben.133* **Die Einstellung [Enabled by default](#enable-chrome-by-default) hat sie beim Start verbunden**: Claude Code fragt vor Browser-Aktionen auf einer Website, die Sie nicht zugelassen haben, in den Berechtigungsmodi Manual, Edit automatically, Auto und Bypass permissions bei Ihnen nach, bis Sie in dieser Sitzung `@browser` eingeben.

134 134 

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

136 Browser-Tools im Plan-Modus136 Browser-Tools im Plan-Modus

Details

79| Feld | Erforderlich | Beschreibung |79| Feld | Erforderlich | Beschreibung |

80| - | - | - |80| - | - | - |

81| `issuer` | Ja | OIDC-Discovery-Basis. Muss Discovery unter `/.well-known/openid-configuration` bereitstellen. Verwenden Sie HTTPS in der Produktion; das Gateway akzeptiert einen `http://`-Aussteller. Ein Loopback-Aussteller wie `http://localhost:8081` wird vom [SSRF-Schutz](/docs/de/claude-apps-gateway-deploy#threat-model-summary) abgelehnt, sofern `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` in der Umgebung des Gateways nicht gesetzt ist. |81| `issuer` | Ja | OIDC-Discovery-Basis. Muss Discovery unter `/.well-known/openid-configuration` bereitstellen. Verwenden Sie HTTPS in der Produktion; das Gateway akzeptiert einen `http://`-Aussteller. Ein Loopback-Aussteller wie `http://localhost:8081` wird vom [SSRF-Schutz](/docs/de/claude-apps-gateway-deploy#threat-model-summary) abgelehnt, sofern `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` in der Umgebung des Gateways nicht gesetzt ist. |

82| `client_id` / `client_secret` | Ja | Aus Ihrer OAuth-Client-Registrierung |82| `client_id` | Ja | Aus Ihrer OAuth-Client-Registrierung |

83| `client_secret` | Sofern `token_endpoint_auth_method` nicht `private_key_jwt` ist | Aus Ihrer OAuth-Client-Registrierung. Lassen Sie es weg, wenn Sie [zertifikatbasierte Client-Authentifizierung](#certificate-client-authentication) verwenden. |

83| `allowed_email_domains` | Nein | Lehnen Sie id\_tokens ab, deren `email`-Anspruch nicht in einer dieser Domänen liegt, Groß-/Kleinschreibung wird ignoriert. Defense-in-Depth gegen Multi-Tenant-IdP-Fehlkonfiguration. Unabhängig von dieser Einstellung wird ein id\_token, dessen `email_verified`-Anspruch explizit `false` ist, immer abgelehnt. |84| `allowed_email_domains` | Nein | Lehnen Sie id\_tokens ab, deren `email`-Anspruch nicht in einer dieser Domänen liegt, Groß-/Kleinschreibung wird ignoriert. Defense-in-Depth gegen Multi-Tenant-IdP-Fehlkonfiguration. Unabhängig von dieser Einstellung wird ein id\_token, dessen `email_verified`-Anspruch explizit `false` ist, immer abgelehnt. |

84| `allowed_groups` | Nein | Beschränken Sie die Anmeldung auf Mitglieder dieser IdP-Gruppen, abgeglichen gegen `groups_claim`. Ein Benutzer in einer zulässigen E-Mail-Domäne, aber in keiner dieser Gruppen, wird abgelehnt. Erfordert, dass der IdP den Gruppenanspruch ausgibt. Der Abgleich ist ein exakter, Groß-/Kleinschreibung beachtender Zeichenfolgenvergleich gegen die Werte in diesem Anspruch, und das Gateway erweitert verschachtelte Gruppen nicht: Um Mitglieder einer Untergruppe zuzulassen, listen Sie die Untergruppe hier auf oder konfigurieren Sie den IdP so, dass er flache Mitgliedschaften ausgibt. |85| `allowed_groups` | Nein | Beschränken Sie die Anmeldung auf Mitglieder dieser IdP-Gruppen, abgeglichen gegen `groups_claim`. Ein Benutzer in einer zulässigen E-Mail-Domäne, aber in keiner dieser Gruppen, wird abgelehnt. Erfordert, dass der IdP den Gruppenanspruch ausgibt. Der Abgleich ist ein exakter, Groß-/Kleinschreibung beachtender Zeichenfolgenvergleich gegen die Werte in diesem Anspruch, und das Gateway erweitert verschachtelte Gruppen nicht: Um Mitglieder einer Untergruppe zuzulassen, listen Sie die Untergruppe hier auf oder konfigurieren Sie den IdP so, dass er flache Mitgliedschaften ausgibt. |

85| `groups_claim` | Nein | Welcher id\_token-Anspruch trägt die Gruppenmitgliedschaft. Standard `groups`. Microsoft Entra gibt App-Rollen unter `roles` aus. Akzeptiert einen flachen Schlüssel oder einen RFC-6901-JSON-Pointer wie `/resource_access/gateway/roles` für verschachtelte Ansprüche. |86| `groups_claim` | Nein | Welcher id\_token-Anspruch trägt die Gruppenmitgliedschaft. Standard `groups`. Microsoft Entra gibt App-Rollen unter `roles` aus. Akzeptiert einen flachen Schlüssel oder einen RFC-6901-JSON-Pointer wie `/resource_access/gateway/roles` für verschachtelte Ansprüche. |


91| `userinfo_fallback` | Nein | Wenn das id\_token E-Mail oder Gruppen auslässt, rufen Sie diese von `/userinfo` ab. Erforderlich für Keycloak-Lightweight-Zugriffstokens, den Okta-Org-Server und ADFS-Minimal-Tokens. Das id\_token bleibt maßgeblich; userinfo füllt nur Lücken. Standard `false`. |92| `userinfo_fallback` | Nein | Wenn das id\_token E-Mail oder Gruppen auslässt, rufen Sie diese von `/userinfo` ab. Erforderlich für Keycloak-Lightweight-Zugriffstokens, den Okta-Org-Server und ADFS-Minimal-Tokens. Das id\_token bleibt maßgeblich; userinfo füllt nur Lücken. Standard `false`. |

92| `use_pkce` | Nein | Senden Sie eine PKCE-Herausforderung (S256) in der Autorisierungsanfrage. Standard `true`. Setzen Sie `false` nur, wenn Ihr IdP PKCE für diesen vertraulichen Client ablehnt. |93| `use_pkce` | Nein | Senden Sie eine PKCE-Herausforderung (S256) in der Autorisierungsanfrage. Standard `true`. Setzen Sie `false` nur, wenn Ihr IdP PKCE für diesen vertraulichen Client ablehnt. |

93| `clock_skew_seconds` | Nein | Tolerieren Sie Uhrenabweichungen beim Validieren von id\_token-Zeitansprüchen. Standard `0`, was streng ist. Erhöhen Sie, wenn Sie unmittelbar nach der Anmeldung aufgrund von Host-/IdP-Uhrenabweichung Fehler „Token abgelaufen / noch nicht gültig" sehen. |94| `clock_skew_seconds` | Nein | Tolerieren Sie Uhrenabweichungen beim Validieren von id\_token-Zeitansprüchen. Standard `0`, was streng ist. Erhöhen Sie, wenn Sie unmittelbar nach der Anmeldung aufgrund von Host-/IdP-Uhrenabweichung Fehler „Token abgelaufen / noch nicht gültig" sehen. |

94| `token_endpoint_auth_method` | Nein | Überschreiben Sie die Token-Endpunkt-Authentifizierungsmethode. Akzeptiert `client_secret_basic` oder `client_secret_post`. Standardmäßig automatisch ausgehandelt. |95| `token_endpoint_auth_method` | Nein | Wie sich das Gateway beim Token-Endpunkt des IdP authentifiziert: `client_secret_basic`, `client_secret_post` oder `private_key_jwt` für [zertifikatbasierte Client-Authentifizierung](#certificate-client-authentication). Standardmäßig wählt das Gateway eine der beiden `client_secret`-Methoden anhand dessen, was der IdP ankündigt. |

96| `client_assertion` | Mit `private_key_jwt` | Ein Block mit `private_key_pem` und `certificate_pem`: der private Schlüssel und das Zertifikat für [zertifikatbasierte Client-Authentifizierung](#certificate-client-authentication). Erfordert v2.1.284 oder später. |

95| `id_token_signed_response_alg` | Nein | Erwarteter id\_token-Signaturalgorithmus. Standard `RS256`. Setzen Sie für IdPs, die mit ES256, PS256 oder EdDSA signieren. |97| `id_token_signed_response_alg` | Nein | Erwarteter id\_token-Signaturalgorithmus. Standard `RS256`. Setzen Sie für IdPs, die mit ES256, PS256 oder EdDSA signieren. |

96| `additional_authorized_parties` | Nein | Zusätzliche `azp`-Werte, die neben `client_id` akzeptiert werden, für Keycloak-Broker und Token-Exchange-Flows |98| `additional_authorized_parties` | Nein | Zusätzliche `azp`-Werte, die neben `client_id` akzeptiert werden, für Keycloak-Broker und Token-Exchange-Flows |

97| `discovery_url` | Nein | Rufen Sie das Discovery-Dokument von dieser URL ab, anstatt es von `issuer` abzuleiten, für IdPs hinter einem Proxy, der den Aussteller-Host umschreibt. Der Pfad muss `/.well-known/` enthalten. |99| `discovery_url` | Nein | Rufen Sie das Discovery-Dokument von dieser URL ab, anstatt es von `issuer` abzuleiten, für IdPs hinter einem Proxy, der den Aussteller-Host umschreibt. Der Pfad muss `/.well-known/` enthalten. |


99| `form_action_origins` | Nein | Zusätzliche Ursprünge für die `Content-Security-Policy: form-action`-Direktive der `/device`-Seite. Das Gateway erlaubt bereits `'self'` und den erkannten `authorization_endpoint`-Ursprung, aber Chrome erzwingt `form-action` gegen die gesamte Umleitungskette. Wenn Ihr IdP durch einen zweiten Host umleitet, wie Azure AD, das zu ADFS verbunden ist, Hub-Spoke-Okta oder ein unternehmensweiter SSO-Interceptor, listen Sie jeden Ursprung auf, durch den die Autorisierungsanfrage umgeleitet werden kann. |101| `form_action_origins` | Nein | Zusätzliche Ursprünge für die `Content-Security-Policy: form-action`-Direktive der `/device`-Seite. Das Gateway erlaubt bereits `'self'` und den erkannten `authorization_endpoint`-Ursprung, aber Chrome erzwingt `form-action` gegen die gesamte Umleitungskette. Wenn Ihr IdP durch einen zweiten Host umleitet, wie Azure AD, das zu ADFS verbunden ist, Hub-Spoke-Okta oder ein unternehmensweiter SSO-Interceptor, listen Sie jeden Ursprung auf, durch den die Autorisierungsanfrage umgeleitet werden kann. |

100| `ca_cert_pem` | Nein | Das PEM-codierte CA-Zertifikat selbst, nicht ein Pfad zu einer Datei. Es ersetzt den System-Trust-Store nur für IdP-Anfragen. Um eine bereitgestellte Datei zu laden, schreiben Sie `${file:/etc/gateway/idp-ca.pem}`. Verwenden Sie für Keycloak oder Dex hinter unternehmensweiter PKI. |102| `ca_cert_pem` | Nein | Das PEM-codierte CA-Zertifikat selbst, nicht ein Pfad zu einer Datei. Es ersetzt den System-Trust-Store nur für IdP-Anfragen. Um eine bereitgestellte Datei zu laden, schreiben Sie `${file:/etc/gateway/idp-ca.pem}`. Verwenden Sie für Keycloak oder Dex hinter unternehmensweiter PKI. |

101 103 

104<h4 id="certificate-client-authentication">

105 Zertifikatbasierte Client-Authentifizierung

106</h4>

107 

108Wenn Ihr Identitätsanbieter OAuth-Clients mit einem Zertifikat statt mit einem Client-Secret authentifiziert, wie es Microsoft Entra mit Zertifikat-Anmeldedaten tut, setzen Sie `token_endpoint_auth_method: private_key_jwt`. Erfordert Claude Code v2.1.284 oder später auf dem Gateway-Server.

109 

110Mit dieser Konfiguration sendet das Gateway kein Secret. Es authentifiziert sich beim Token-Endpunkt des IdP mit einem kurzlebigen JWT, das mit dem privaten Schlüssel des Zertifikats signiert ist, wenn sich ein Entwickler anmeldet und jedes Mal, wenn das Gateway dessen Sitzung aktualisiert. Das JWT wird mit RS256 signiert und identifiziert das Zertifikat über die Thumbprint-Header `x5t` und `x5t#S256` statt über eine `kid`. Ihr IdP muss das registrierte Zertifikat anhand des Thumbprints finden können.

111 

112<Steps>

113 <Step title="Schlüssel und Zertifikat erstellen">

114 Erstellen Sie einen unverschlüsselten RSA-Privatschlüssel mit mindestens 2048 Bit im PEM-Format PKCS#8 oder PKCS#1 sowie ein Zertifikat dafür. Das Gateway weigert sich, mit einem Schlüssel zu starten, der diese Bedingungen nicht erfüllt. Dieser `openssl`-Befehl erstellt einen solchen Schlüssel mit einem selbstsignierten Zertifikat, das ein Jahr gültig ist:

115 

116 ```bash theme={null}

117 openssl req -x509 -newkey rsa:2048 -nodes -keyout idp-client.key -out idp-client.crt -days 365 -subj "/CN=claude-gateway"

118 ```

119 

120 Er schreibt `idp-client.key` und `idp-client.crt` in das aktuelle Verzeichnis. Kopieren oder mounten Sie beide Dateien an einen Ort, an dem das Gateway sie lesen kann. Das Beispiel in Schritt 3 verwendet `/etc/gateway/`.

121 </Step>

122 

123 <Step title="Zertifikat beim IdP hochladen">

124 Laden Sie das Zertifikat, nicht den privaten Schlüssel, in die App-Registrierung des Gateways beim IdP hoch.

125 </Step>

126 

127 <Step title="Schlüssel und Zertifikat zu gateway.yaml hinzufügen">

128 Übergeben Sie dem Gateway den privaten Schlüssel und das Zertifikat in einem `client_assertion`-Block. Lassen Sie `client_secret` weg, da sich das Gateway weigert zu starten, wenn es zusammen mit `private_key_jwt` gesetzt ist. Dieser `oidc`-Block authentifiziert das Gateway mit einem Zertifikat bei einem Microsoft Entra-Mandanten:

129 

130 ```yaml theme={null}

131 oidc:

132 issuer: https://login.microsoftonline.com/<tenant-id>/v2.0

133 client_id: <application-id>

134 token_endpoint_auth_method: private_key_jwt

135 client_assertion:

136 private_key_pem: ${file:/etc/gateway/idp-client.key}

137 certificate_pem: ${file:/etc/gateway/idp-client.crt}

138 ```

139 

140 Beide Werte sind die PEM-Inhalte, keine Dateipfade, laden Sie gemountete Dateien also wie im Beispiel mit `${file:/path}`. Das Gateway weigert sich zu starten, sofern `certificate_pem` nicht ein einzelnes PEM-Zertifikat ohne den Rest seiner Kette ist, dessen öffentlicher Schlüssel zu `private_key_pem` passt.

141 </Step>

142 

143 <Step title="Gateway neu starten und Boot-Log prüfen">

144 Starten Sie das Gateway neu und suchen Sie diese Zeile im Boot-Log:

145 

146 ```text theme={null}

147 [gateway] 2026-10-01T23:07:40.512Z info oidc: client authentication private_key_jwt; certificate CN=claude-gateway, SHA-1 thumbprint DE92821854EE8BAA1D98C758FAA04AABE80B9F57, expires Oct 1 23:07:31 2027 GMT

148 ```

149 

150 Vergleichen Sie den SHA-1-Thumbprint mit dem, den der IdP für das hochgeladene Zertifikat anzeigt. Wenn das Zertifikat abgelaufen oder noch nicht gültig ist, startet das Gateway trotzdem, protokolliert aber eine Warnung, dass Anmeldungen und Aktualisierungen fehlschlagen, bis Sie es ersetzen. Um zu bestätigen, dass der IdP das Zertifikat akzeptiert, lassen Sie einen Entwickler sich über das Gateway anmelden.

151 </Step>

152</Steps>

153 

154<h4 id="rotate-the-client-certificate">

155 Client-Zertifikat rotieren

156</h4>

157 

158Das Gateway liest Schlüssel und Zertifikat einmal beim Start, eine geänderte Datei wird also erst nach einem Neustart wirksam. Rotieren Sie in dieser Reihenfolge, damit keine Token-Anfrage ein Zertifikat vorlegt, das dem IdP nicht vorliegt:

159 

1601. Laden Sie das neue Zertifikat zusätzlich zum alten beim IdP hoch.

1612. Ersetzen Sie die Schlüssel- und Zertifikatsdateien, die `gateway.yaml` lädt, und starten Sie dann das Gateway neu.

1623. Entfernen Sie das alte Zertifikat beim IdP.

163 

102<h4 id="idp-requests-through-a-forward-proxy">164<h4 id="idp-requests-through-a-forward-proxy">

103 IdP-Anfragen durch einen Forward-Proxy165 IdP-Anfragen durch einen Forward-Proxy

104</h4>166</h4>


1224| - | - | - | - |1286| - | - | - | - |

1225| `access_control` | `allow_cidrs` / `deny_cidrs` | leer | Eingehende IP-Zulassung/Ablehnung nach Client-Adresse, nach `trusted_proxies`-Auflösung. `deny_cidrs` wird zuerst geprüft; ein Client, den es abgleicht, wird abgelehnt, auch wenn `allow_cidrs` ebenfalls abgleicht. Wenn `allow_cidrs` nicht leer ist, lehnt das Gateway standardmäßig ab. `/healthz` und `/readyz` sind von `allow_cidrs` ausgenommen. Wenn ein vertrauenswürdiger Proxy einen `X-Forwarded-For`-Eintrag sendet, der keine IP-Adresse ist, ist der echte Client unbekannt und das Gateway protokolliert einmalig eine Warnung, die benennt, was zu prüfen ist. Wo eine der Listen auf die Anfrage zutrifft, lehnt es sie mit `403` und dem Audit-Grund `xff_unparseable` ab. Wo keine zutrifft, bedient es die Anfrage und verwendet die Adresse des Proxys selbst als Client-IP für Pro-IP-Rate-Limits und Audit. |1287| `access_control` | `allow_cidrs` / `deny_cidrs` | leer | Eingehende IP-Zulassung/Ablehnung nach Client-Adresse, nach `trusted_proxies`-Auflösung. `deny_cidrs` wird zuerst geprüft; ein Client, den es abgleicht, wird abgelehnt, auch wenn `allow_cidrs` ebenfalls abgleicht. Wenn `allow_cidrs` nicht leer ist, lehnt das Gateway standardmäßig ab. `/healthz` und `/readyz` sind von `allow_cidrs` ausgenommen. Wenn ein vertrauenswürdiger Proxy einen `X-Forwarded-For`-Eintrag sendet, der keine IP-Adresse ist, ist der echte Client unbekannt und das Gateway protokolliert einmalig eine Warnung, die benennt, was zu prüfen ist. Wo eine der Listen auf die Anfrage zutrifft, lehnt es sie mit `403` und dem Audit-Grund `xff_unparseable` ab. Wo keine zutrifft, bedient es die Anfrage und verwendet die Adresse des Proxys selbst als Client-IP für Pro-IP-Rate-Limits und Audit. |

1226| `limits` | `max_request_bytes` | 32 MiB | Maximaler eingehender Request-Body; übergroße Anfragen erhalten `413`, bevor der Body gepuffert wird. Erhöhen Sie den Wert für große Datei- oder Bildanfragen. |1288| `limits` | `max_request_bytes` | 32 MiB | Maximaler eingehender Request-Body; übergroße Anfragen erhalten `413`, bevor der Body gepuffert wird. Erhöhen Sie den Wert für große Datei- oder Bildanfragen. |

1227| `limits` | `max_request_header_bytes` | nicht gesetzt | Wenn gesetzt, geben übergroße Header `431` zurück |1289| `limits` | `max_request_header_bytes` | nicht gesetzt | Senkt das Limit des Gateways von 256 KiB für die Gesamtgröße der Header einer Anfrage. Eine Anfrage über dem Limit gibt `431` zurück, und ein Wert über 256 KiB hat keine Wirkung. Wenn Entwickler nach der Anmeldung `431` erhalten, siehe [Request-Header nach der Anmeldung zu groß](/docs/de/claude-apps-gateway-deploy#request-headers-too-large-after-sign-in). |

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

1229| `timeouts` | `upstream_ttfb_ms` | 120000 | Maximale Wartezeit auf die Response-Header des Upstream (Zeit bis zum ersten Byte). Der Response-Body streamt dann ohne Wall-Clock-Obergrenze. Gilt für den direkten Anthropic-Upstream-Pfad; bei jedem anderen Anbieter wartet das Gateway bis zu eine Stunde, bis die Antwort beginnt. |1291| `timeouts` | `upstream_ttfb_ms` | 120000 | Maximale Wartezeit auf die Response-Header des Upstream (Zeit bis zum ersten Byte). Der Response-Body streamt dann ohne Wall-Clock-Obergrenze. Gilt für den direkten Anthropic-Upstream-Pfad; bei jedem anderen Anbieter wartet das Gateway bis zu eine Stunde, bis die Antwort beginnt. |

1230| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Pro-IP-Rate-Limit auf dem nicht authentifizierten Geräteautorisierungs-Endpunkt. Erhöhen Sie es für eine große Organisation hinter einer gemeinsamen Egress-IP oder NAT. [Große Rollouts](/docs/de/claude-apps-gateway-deploy#large-rollouts) zeigt, wie Sie es dimensionieren. Diese Limits gelten nur für den Geräte-Grant-Anmeldungsfluss, nicht für `/v1/messages`-Inferenz. Siehe [Benutzer-Code-Brute-Force-Widerstand](/docs/de/claude-apps-gateway-deploy#user-code-brute-force-resistance). |1292| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Pro-IP-Rate-Limit auf dem nicht authentifizierten Geräteautorisierungs-Endpunkt. Erhöhen Sie es für eine große Organisation hinter einer gemeinsamen Egress-IP oder NAT. [Große Rollouts](/docs/de/claude-apps-gateway-deploy#large-rollouts) zeigt, wie Sie es dimensionieren. Diese Limits gelten nur für den Geräte-Grant-Anmeldungsfluss, nicht für `/v1/messages`-Inferenz. Siehe [Benutzer-Code-Brute-Force-Widerstand](/docs/de/claude-apps-gateway-deploy#user-code-brute-force-resistance). |

Details

25 Identitätsanbieter-Setup25 Identitätsanbieter-Setup

26</h2>26</h2>

27 27 

28Registrieren Sie eine vertrauliche OAuth/OpenID Connect (OIDC) Webanwendung mit einem einzelnen Redirect-URI, `https://<gateway>/oauth/callback`, und weisen Sie sie den Benutzern oder Gruppen zu, die Zugriff auf das Gateway haben sollten.28Registrieren Sie eine vertrauliche OAuth/OpenID Connect (OIDC) Webanwendung mit einem einzelnen Redirect-URI, `https://<gateway>/oauth/callback`, und weisen Sie sie den Benutzern oder Gruppen zu, die Zugriff auf das Gateway haben sollten. Das Gateway authentifiziert sich beim IdP mit dem Client-Secret der Registrierung oder mit einem Zertifikat, das Sie in die Registrierung hochladen, falls Ihr IdP stattdessen [Zertifikat-Anmeldedaten](/docs/de/claude-apps-gateway-config#certificate-client-authentication) verwendet.

29 29 

30Jeder OIDC-konforme IdP funktioniert: Okta, Microsoft Entra ID, Google Workspace, Keycloak, Dex, PingFederate und andere. Der IdP muss drei Anforderungen erfüllen:30Jeder OIDC-konforme IdP funktioniert: Okta, Microsoft Entra ID, Google Workspace, Keycloak, Dex, PingFederate und andere. Der IdP muss drei Anforderungen erfüllen:

31 31 


403| `/oauth/callback` zeigt "Sign-in could not be completed" | E-Mail-Domain abgelehnt, id\_token-Validierung fehlgeschlagen, oder `email_verified` ist explizit `false`, was das Gateway immer ohne Überschreibung ablehnt | Überprüfen Sie `allowed_email_domains` und dass der IdP einen verifizierten `email`-Claim zurückgibt. Für `email_verified: false` beheben Sie die IdP-seitige Verifikation. Wenn Ihr IdP E-Mail unter einem anderen Claim-Namen ausgibt, setzen Sie `oidc.email_claim`. |403| `/oauth/callback` zeigt "Sign-in could not be completed" | E-Mail-Domain abgelehnt, id\_token-Validierung fehlgeschlagen, oder `email_verified` ist explizit `false`, was das Gateway immer ohne Überschreibung ablehnt | Überprüfen Sie `allowed_email_domains` und dass der IdP einen verifizierten `email`-Claim zurückgibt. Für `email_verified: false` beheben Sie die IdP-seitige Verifikation. Wenn Ihr IdP E-Mail unter einem anderen Claim-Namen ausgibt, setzen Sie `oidc.email_claim`. |

404| Protokoll: `token exchange failed request_id=<id>: id_token missing email claim` | Der IdP enthält `email` nicht standardmäßig im id\_token. Diese Ablehnung wird nur ausgelöst, wenn `allowed_email_domains` gesetzt ist; ohne sie prägt ein fehlende E-Mail eine Sitzung ohne E-Mail | Konfigurieren Sie den IdP, um `email` im id\_token auszugeben. Okta: Fügen Sie `email` zu den ID-Token-Claims eines benutzerdefinierten Autorisierungsservers hinzu. Entra: Fügen Sie `email` als optionalen Claim bei der App-Registrierung hinzu. PingFederate: Aktivieren Sie eine OpenID-Connect-Richtlinie, die `email` ausgibt. Wenn der IdP `email` vom Userinfo-Endpoint bedient, aber nicht im id\_token einbeziehen wird, wie der Okta-Org-Autorisierungsserver, setzen Sie `oidc.userinfo_fallback: true`. |404| Protokoll: `token exchange failed request_id=<id>: id_token missing email claim` | Der IdP enthält `email` nicht standardmäßig im id\_token. Diese Ablehnung wird nur ausgelöst, wenn `allowed_email_domains` gesetzt ist; ohne sie prägt ein fehlende E-Mail eine Sitzung ohne E-Mail | Konfigurieren Sie den IdP, um `email` im id\_token auszugeben. Okta: Fügen Sie `email` zu den ID-Token-Claims eines benutzerdefinierten Autorisierungsservers hinzu. Entra: Fügen Sie `email` als optionalen Claim bei der App-Registrierung hinzu. PingFederate: Aktivieren Sie eine OpenID-Connect-Richtlinie, die `email` ausgibt. Wenn der IdP `email` vom Userinfo-Endpoint bedient, aber nicht im id\_token einbeziehen wird, wie der Okta-Org-Autorisierungsserver, setzen Sie `oidc.userinfo_fallback: true`. |

405| Protokoll: `refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`, und Entwickler sehen `Cloud gateway session expired` alle `session.ttl_hours` | Der IdP akzeptierte den Refresh-Token, gab aber keinen id\_token damit zurück, daher fragte das Gateway den Userinfo-Endpoint des IdP nach den Claims des Benutzers. Der IdP lehnte den erneuerten Access-Token dort ab. Das Gateway antwortet `temporarily_unavailable`, daher behält Claude Code den Refresh-Token, kann aber die Sitzung nicht erneuern. Gateway-Versionen vor v2.1.260 protokollieren dieselbe Zeile ohne das `(at …)`-Detail. | Setzen Sie [`oidc.scope_on_refresh: true`](/docs/de/claude-apps-gateway-config#oidc), verfügbar in Gateway v2.1.260 oder später, damit die Refresh-Anfrage erneut nach `openid` fragt. Einige IdPs, wie Okta, geben einen id\_token bei Refresh nur zurück, wenn gefragt. Auf PingFederate aktivieren Sie stattdessen **Return ID Token On Refresh Grant** unter **Applications > OAuth > OpenID Connect Policy Management**. Der Schlüssel ändert das Verhalten von PingFederate nicht. Für andere IdPs, die ihn immer noch weglassen, überprüfen Sie, ob der Userinfo-Endpoint Access-Token akzeptiert, die von einem Refresh ausgestellt wurden. Als Übergangslösung erhöhen Sie [`session.ttl_hours`](/docs/de/claude-apps-gateway-config#session). Siehe [Identity-Provider-Setup](#identity-provider-setup) für den Deprovisioning-Tradeoff. |405| Protokoll: `refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`, und Entwickler sehen `Cloud gateway session expired` alle `session.ttl_hours` | Der IdP akzeptierte den Refresh-Token, gab aber keinen id\_token damit zurück, daher fragte das Gateway den Userinfo-Endpoint des IdP nach den Claims des Benutzers. Der IdP lehnte den erneuerten Access-Token dort ab. Das Gateway antwortet `temporarily_unavailable`, daher behält Claude Code den Refresh-Token, kann aber die Sitzung nicht erneuern. Gateway-Versionen vor v2.1.260 protokollieren dieselbe Zeile ohne das `(at …)`-Detail. | Setzen Sie [`oidc.scope_on_refresh: true`](/docs/de/claude-apps-gateway-config#oidc), verfügbar in Gateway v2.1.260 oder später, damit die Refresh-Anfrage erneut nach `openid` fragt. Einige IdPs, wie Okta, geben einen id\_token bei Refresh nur zurück, wenn gefragt. Auf PingFederate aktivieren Sie stattdessen **Return ID Token On Refresh Grant** unter **Applications > OAuth > OpenID Connect Policy Management**. Der Schlüssel ändert das Verhalten von PingFederate nicht. Für andere IdPs, die ihn immer noch weglassen, überprüfen Sie, ob der Userinfo-Endpoint Access-Token akzeptiert, die von einem Refresh ausgestellt wurden. Als Übergangslösung erhöhen Sie [`session.ttl_hours`](/docs/de/claude-apps-gateway-config#session). Siehe [Identity-Provider-Setup](#identity-provider-setup) für den Deprovisioning-Tradeoff. |

406| Ein Entwickler meldet sich an, danach schlägt jede Anfrage aus dieser Sitzung mit einem `431`-Fehler fehl | Das Sitzungs-Token im `Authorization`-Header jeder Anfrage listet die IdP-Gruppen des Entwicklers auf, sodass die Header bei einem Entwickler in vielen Gruppen insgesamt mehr umfassen können, als das Gateway akzeptiert | Unter [Request-Header nach der Anmeldung zu groß](#request-headers-too-large-after-sign-in) erfahren Sie, welches Limit gilt und was Sie ändern müssen |

406| Jede Amazon-Bedrock-Anfrage gibt 502 zurück; Protokoll zeigt `Could not load credentials from any providers` | Auf EC2 blockiert IMDSv2s Standard-Hop-Limit von 1 die Instanz-Metadata-Anfrage von innerhalb des Containers. Boot und `/readyz` bestehen trotzdem, da das AWS SDK Instanz-Anmeldedaten bei der ersten Anfrage auflöst, nicht bei der Client-Konstruktion | Erhöhen Sie das Hop-Limit mit `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`, oder setzen Sie es in der Launch-Vorlage. Die Änderung gilt für jeden Container auf der Instanz. Bevorzugen Sie ECS-Task-Rollen, wo verfügbar, die Anmeldedaten vom ECS-Container-Credentials-Endpoint lesen und die Änderung ganz vermeiden, oder wenden Sie die Änderung auf einer dedizierten Gateway-Instanz an, um die Exposition zu begrenzen. |407| Jede Amazon-Bedrock-Anfrage gibt 502 zurück; Protokoll zeigt `Could not load credentials from any providers` | Auf EC2 blockiert IMDSv2s Standard-Hop-Limit von 1 die Instanz-Metadata-Anfrage von innerhalb des Containers. Boot und `/readyz` bestehen trotzdem, da das AWS SDK Instanz-Anmeldedaten bei der ersten Anfrage auflöst, nicht bei der Client-Konstruktion | Erhöhen Sie das Hop-Limit mit `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`, oder setzen Sie es in der Launch-Vorlage. Die Änderung gilt für jeden Container auf der Instanz. Bevorzugen Sie ECS-Task-Rollen, wo verfügbar, die Anmeldedaten vom ECS-Container-Credentials-Endpoint lesen und die Änderung ganz vermeiden, oder wenden Sie die Änderung auf einer dedizierten Gateway-Instanz an, um die Exposition zu begrenzen. |

407| Bei Spitzenlast sind Antworten langsam zu starten oder scheinen zu hängen, oder schlagen mit einem 502 `all upstreams failed` fehl, während der Upstream gesund ist | Ein Replikat hat mehr Anfragen offen als es gleichzeitig upstream sendet, daher warten die zusätzlichen Anfragen im Gateway. Bei einem `provider: anthropic`-Upstream gibt eine Anfrage, die länger als `timeouts.upstream_ttfb_ms` wartet, auf diesen Upstream auf, was den 502 erzeugt, wenn kein späterer Upstream sie bedient. Das Protokoll zeigt eine Warnung, die `client requests are open` enthält. | Fügen Sie Replikationen hinzu, oder erhöhen Sie das Limit auf jeder Replikation. Siehe [Gleichzeitige Upstream-Anfragen](#concurrent-upstream-requests). |408| Bei Spitzenlast sind Antworten langsam zu starten oder scheinen zu hängen, oder schlagen mit einem 502 `all upstreams failed` fehl, während der Upstream gesund ist | Ein Replikat hat mehr Anfragen offen als es gleichzeitig upstream sendet, daher warten die zusätzlichen Anfragen im Gateway. Bei einem `provider: anthropic`-Upstream gibt eine Anfrage, die länger als `timeouts.upstream_ttfb_ms` wartet, auf diesen Upstream auf, was den 502 erzeugt, wenn kein späterer Upstream sie bedient. Das Protokoll zeigt eine Warnung, die `client requests are open` enthält. | Fügen Sie Replikationen hinzu, oder erhöhen Sie das Limit auf jeder Replikation. Siehe [Gleichzeitige Upstream-Anfragen](#concurrent-upstream-requests). |

408| IdP-Fehler: unknown or unsupported scope | Der IdP lehnt Scopes ab, die er nicht erkennt | Setzen Sie `oidc.scopes` auf genau die Liste, die Ihr IdP akzeptiert; sie muss `openid` enthalten. Der Standard ist `openid profile email offline_access`. |409| IdP-Fehler: unknown or unsupported scope | Der IdP lehnt Scopes ab, die er nicht erkennt | Setzen Sie `oidc.scopes` auf genau die Liste, die Ihr IdP akzeptiert; sie muss `openid` enthalten. Der Standard ist `openid profile email offline_access`. |


420 421 

421Wenn Claude Code `couldn't load your organization's managed settings` nach einer Gateway-Anmeldung meldet, benennt Claude Code den Grund, startet an Ort und Stelle neu und setzt das Gespräch fort. Wenn Claude Code nicht neu starten kann, zum Beispiel in einer Hintergrund-Sitzung, beendet Claude Code die Sitzung und behält die Anmeldung.422Wenn Claude Code `couldn't load your organization's managed settings` nach einer Gateway-Anmeldung meldet, benennt Claude Code den Grund, startet an Ort und Stelle neu und setzt das Gespräch fort. Wenn Claude Code nicht neu starten kann, zum Beispiel in einer Hintergrund-Sitzung, beendet Claude Code die Sitzung und behält die Anmeldung.

422 423 

424<h3 id="request-headers-too-large-after-sign-in">

425 Request-Header nach der Anmeldung zu groß

426</h3>

427 

428Die Anfragen eines Entwicklers können nach der Anmeldung mit einem `431`-Fehler fehlschlagen, wenn der Entwickler vielen IdP-Gruppen angehört.

429 

430Das Gateway antwortet mit `431`, wenn die Header einer Anfrage insgesamt mehr als 256 KiB umfassen, oder mehr als [`limits.max_request_header_bytes`](/docs/de/claude-apps-gateway-config#http-tuning), falls Sie diesen Wert setzen. Für diese Anfragen schreibt es weder eine Log-Zeile noch ein Audit-Ereignis. Gateway-Versionen vor v2.1.284 antworten oberhalb von 16 KiB mit `431`.

431 

432Was Sie ändern müssen, hängt von der Version und Konfiguration Ihres Gateways ab:

433 

434* **Gateway älter als v2.1.284**: Aktualisieren Sie das Gateway

435* **`limits.max_request_header_bytes` gesetzt**: Erhöhen Sie den Wert oder entfernen Sie den Schlüssel

436* **Keines von beiden trifft zu, oder `431` tritt danach weiterhin auf**: Lassen Sie Ihren IdP weniger Gruppen ausgeben. [Identity-Provider-Setup](#identity-provider-setup) beschreibt, wie Okta, Microsoft Entra ID und Google Workspace Gruppen bereitstellen

437 

423<h2 id="related">438<h2 id="related">

424 Verwandt439 Verwandt

425</h2>440</h2>

Details

1598 1598 

1599`<project>` ist Ihr Arbeitsverzeichnispfad mit jedem Zeichen außer Buchstaben und Ziffern durch `-` ersetzt, z. B. `-Users-you-my-project`. Wenn Sie [`CLAUDE_CODE_TMPDIR`](/docs/de/env-vars) setzen, bewegt sich der Baum stattdessen unter dieses Verzeichnis. Hooks erhalten den aktuellen Sitzungspfad als [`scratchpad_dir`](/docs/de/hooks#common-input-fields).1599`<project>` ist Ihr Arbeitsverzeichnispfad mit jedem Zeichen außer Buchstaben und Ziffern durch `-` ersetzt, z. B. `-Users-you-my-project`. Wenn Sie [`CLAUDE_CODE_TMPDIR`](/docs/de/env-vars) setzen, bewegt sich der Baum stattdessen unter dieses Verzeichnis. Hooks erhalten den aktuellen Sitzungspfad als [`scratchpad_dir`](/docs/de/hooks#common-input-fields).

1600 1600 

1601Scratchpad-Dateien halten so lange wie das Transkript der Sitzung: Der [Aufbewahrungsdurchlauf](#cleaned-up-automatically) löscht das Verzeichnis, wenn es das Transkript löscht, und [`claude project purge`](#clear-local-data) berührt das temporäre Verzeichnis nicht. Da sich das Verzeichnis unter dem System-Temp-Speicherort befindet, kann Ihr Betriebssystem es auch löschen, z. B. beim Neustart. Um etwas zu behalten, das Claude dort geschrieben hat, bitten Sie Claude, es in Ihr Projekt zu verschieben.1601Scratchpad-Dateien halten so lange wie das Transkript der Sitzung: Der [Aufbewahrungsdurchlauf](#cleaned-up-automatically) löscht das Verzeichnis, wenn es das Transkript löscht, und [`claude purge`](#clear-local-data) berührt das temporäre Verzeichnis nicht. Da sich das Verzeichnis unter dem System-Temp-Speicherort befindet, kann Ihr Betriebssystem es auch löschen, z. B. beim Neustart. Um etwas zu behalten, das Claude dort geschrieben hat, bitten Sie Claude, es in Ihr Projekt zu verschieben.

1602 1602 

1603Eine Sitzung hat ein Scratchpad nur, wenn alle diese Bedingungen erfüllt sind:1603Eine Sitzung hat ein Scratchpad nur, wenn alle diese Bedingungen erfüllt sind:

1604 1604 


1645 Lokale Daten löschen1645 Lokale Daten löschen

1646</h3>1646</h3>

1647 1647 

1648Führen Sie `claude project purge` aus, um den Zustand zu löschen, den Claude Code für ein Projekt hält. Es löscht:1648Führen Sie `claude purge` aus, um den Zustand zu löschen, den Claude Code für ein Projekt hält. Es löscht:

1649 1649 

1650* Transkripte und automatisches Memory unter `projects/`1650* Transkripte und automatisches Memory unter `projects/`

1651* Pro-Sitzungs-`tasks/`, `debug/` und `file-history/` Einträge1651* Pro-Sitzungs-`tasks/`, `debug/` und `file-history/` Einträge


1656 1656 

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

1658 1658 

1659Vor v2.1.288 lautete der Befehl `claude project purge`.

1660 

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

1660 1662 

1661Zeigen Sie den Plan in der Vorschau an, ohne etwas zu löschen:1663Zeigen Sie den Plan in der Vorschau an, ohne etwas zu löschen:

1662 1664 

1663```bash theme={null}1665```bash theme={null}

1664claude project purge ~/work/my-repo --dry-run1666claude purge ~/work/my-repo --dry-run

1665```1667```

1666 1668 

1667Der Plan listet jedes übereinstimmende Element und den Grund auf, warum es enthalten ist:1669Der Plan listet jedes übereinstimmende Element und den Grund auf, warum es enthalten ist:


1684Löschen Sie mit einer einzelnen Bestätigungsaufforderung:1686Löschen Sie mit einer einzelnen Bestätigungsaufforderung:

1685 1687 

1686```bash theme={null}1688```bash theme={null}

1687claude project purge ~/work/my-repo1689claude purge ~/work/my-repo

1688```1690```

1689 1691 

1690Der Befehl gibt den gleichen Plan aus, fragt dann `Delete 3 item(s) for /home/user/work/my-repo? This cannot be undone. [y/N]` und löscht nur, wenn Sie `y` antworten.1692Der Befehl gibt den gleichen Plan aus, fragt dann `Delete 3 item(s) for /home/user/work/my-repo? This cannot be undone. [y/N]` und löscht nur, wenn Sie `y` antworten.


1694Überspringen Sie die Bestätigungsaufforderung zur Verwendung in Skripten:1696Überspringen Sie die Bestätigungsaufforderung zur Verwendung in Skripten:

1695 1697 

1696```bash theme={null}1698```bash theme={null}

1697claude project purge ~/work/my-repo --yes1699claude purge ~/work/my-repo --yes

1698```1700```

1699 1701 

1700Übergeben Sie `--all` statt eines Pfads, um den Status für jedes Projekt auf einmal zu bereinigen, was `history.jsonl` vollständig löscht, anstatt es zu filtern. Übergeben Sie `-i`, um den Löschplan Schritt für Schritt durchzugehen.1702Übergeben Sie `--all` statt eines Pfads, um den Status für jedes Projekt auf einmal zu bereinigen, was `history.jsonl` vollständig löscht, anstatt es zu filtern. Übergeben Sie `-i`, um den Löschplan Schritt für Schritt durchzugehen.

Details

500 Einschränkungen500 Einschränkungen

501</h2>501</h2>

502 502 

503* Projekte sind unter claude.ai/code, in der Desktop-App und in der Claude Mobile-App verfügbar, nicht im Terminal CLI, der VS Code-Erweiterung oder dem JetBrains-Plugin, und nicht über Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry. Der Befehl [`claude project`](/docs/de/cli-reference) der CLI, der den lokalen Claude Code-Status für ein Verzeichnis verwaltet, ist nicht verwandt.503* Projekte sind unter claude.ai/code, in der Desktop-App und in der Claude Mobile-App verfügbar, nicht im Terminal CLI, der VS Code-Erweiterung oder dem JetBrains-Plugin, und nicht über Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry.

504* Projekt-Threads sind [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) oder Sitzungen auf Ihrem eigenen Computer über [Remote Control](/docs/de/remote-control), wobei Anthropic in beiden Fällen der Modell-Provider ist. [Sicherheit](/docs/de/security) und [Datennutzung](/docs/de/data-usage) erläutern, wie Cloud-Sitzungen isoliert sind und was beibehalten wird, und [Verbindung und Sicherheit](/docs/de/remote-control#connection-and-security) erläutert, wie ein Thread auf Ihrem Computer verbunden ist und was gespeichert wird.504* Projekt-Threads sind [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) oder Sitzungen auf Ihrem eigenen Computer über [Remote Control](/docs/de/remote-control), wobei Anthropic in beiden Fällen der Modell-Provider ist. [Sicherheit](/docs/de/security) und [Datennutzung](/docs/de/data-usage) erläutern, wie Cloud-Sitzungen isoliert sind und was beibehalten wird, und [Verbindung und Sicherheit](/docs/de/remote-control#connection-and-security) erläutert, wie ein Thread auf Ihrem Computer verbunden ist und was gespeichert wird.

505* Sie können eine Sitzung, die Sie selbst auf Ihrem Computer gestartet haben, nicht zu einem Projekt hinzufügen. Ein Projekt erreicht Ihren Computer nur durch [Ausführung eines Threads dort über Remote Control](#run-a-thread-on-your-own-computer), und dieser Abschnitt listet auf, was dafür erforderlich ist.505* Sie können eine Sitzung, die Sie selbst auf Ihrem Computer gestartet haben, nicht zu einem Projekt hinzufügen. Ein Projekt erreicht Ihren Computer nur durch [Ausführung eines Threads dort über Remote Control](#run-a-thread-on-your-own-computer), und dieser Abschnitt listet auf, was dafür erforderlich ist.

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

Details

40| `claude mcp login <name>` | Führen Sie den OAuth-Fluss eines konfigurierten MCP-Servers aus, ohne das interaktive `/mcp`-Panel zu öffnen. Funktioniert für HTTP-, SSE- und claude.ai-Konnektor-Server. Fügen Sie `--no-browser` über SSH hinzu, um die Autorisierungs-URL auszudrucken, anstatt einen Browser zu öffnen, und fügen Sie dann die Umleitungs-URL an der Eingabeaufforderung ein. Siehe [Authentifizierung über die Befehlszeile](/docs/de/mcp#authenticate-from-the-command-line) | `claude mcp login sentry` |40| `claude mcp login <name>` | Führen Sie den OAuth-Fluss eines konfigurierten MCP-Servers aus, ohne das interaktive `/mcp`-Panel zu öffnen. Funktioniert für HTTP-, SSE- und claude.ai-Konnektor-Server. Fügen Sie `--no-browser` über SSH hinzu, um die Autorisierungs-URL auszudrucken, anstatt einen Browser zu öffnen, und fügen Sie dann die Umleitungs-URL an der Eingabeaufforderung ein. Siehe [Authentifizierung über die Befehlszeile](/docs/de/mcp#authenticate-from-the-command-line) | `claude mcp login sentry` |

41| `claude mcp logout <name>` | Löschen Sie gespeicherte OAuth-Anmeldedaten für einen MCP-Server | `claude mcp logout sentry` |41| `claude mcp logout <name>` | Löschen Sie gespeicherte OAuth-Anmeldedaten für einen MCP-Server | `claude mcp logout sentry` |

42| `claude plugin` | Verwalten Sie Claude Code [Plugins](/docs/de/plugins/overview). Alias: `claude plugins`. Siehe [Plugin-Referenz](/docs/de/plugins/cli-reference#claude-plugin-commands) für Unterbefehle | `claude plugin install code-review@claude-plugins-official` |42| `claude plugin` | Verwalten Sie Claude Code [Plugins](/docs/de/plugins/overview). Alias: `claude plugins`. Siehe [Plugin-Referenz](/docs/de/plugins/cli-reference#claude-plugin-commands) für Unterbefehle | `claude plugin install code-review@claude-plugins-official` |

43| `claude project purge [path]` | Löschen Sie alle lokalen Claude Code-Status für ein Projekt: Transkripte, Aufgabenlisten, Debug-Logs, Datei-Bearbeitungsverlauf, Prompt-Verlaufszeilen und den Projekteintrag in `~/.claude.json`. Lassen Sie `[path]` weg, um aus einer interaktiven Liste auszuwählen. Flags: `--dry-run` zum Vorschau, `-y`/`--yes` zum Überspringen der Bestätigung, `-i`/`--interactive` zum Bestätigen jedes Elements, `--all` für jedes Projekt. Siehe [Lokale Daten löschen](/docs/de/claude-directory#clear-local-data) | `claude project purge ~/work/repo --dry-run` |43| `claude purge [path]` | Löschen Sie alle lokalen Claude Code-Status für ein Projekt: Transkripte, Aufgabenlisten, Debug-Logs, Datei-Bearbeitungsverlauf, Prompt-Verlaufszeilen und den Projekteintrag in `~/.claude.json`. Lassen Sie `[path]` weg, um aus einer interaktiven Liste auszuwählen. Flags: `--dry-run` zum Vorschau, `-y`/`--yes` zum Überspringen der Bestätigung, `-i`/`--interactive` zum Bestätigen jedes Elements, `--all` für jedes Projekt. Siehe [Lokale Daten löschen](/docs/de/claude-directory#clear-local-data) | `claude purge ~/work/repo --dry-run` |

44| `claude remote-control` | Starten Sie einen [Remote Control](/docs/de/remote-control) Server, um Claude Code von Claude.ai oder der Claude App zu steuern. Läuft im Server-Modus (keine lokale interaktive Sitzung). Siehe [Server-Modus-Flags](/docs/de/remote-control#start-a-remote-control-session). Nach dem Stoppen des Servers können Sie die Sitzungen, die er bedient hat, zurückbringen. Siehe [Sitzungen nach dem Stoppen des Servers fortsetzen](/docs/de/remote-control#resume-sessions-after-stopping-the-server) | `claude remote-control --name "My Project"` |44| `claude remote-control` | Starten Sie einen [Remote Control](/docs/de/remote-control) Server, um Claude Code von Claude.ai oder der Claude App zu steuern. Läuft im Server-Modus (keine lokale interaktive Sitzung). Siehe [Server-Modus-Flags](/docs/de/remote-control#start-a-remote-control-session). Nach dem Stoppen des Servers können Sie die Sitzungen, die er bedient hat, zurückbringen. Siehe [Sitzungen nach dem Stoppen des Servers fortsetzen](/docs/de/remote-control#resume-sessions-after-stopping-the-server) | `claude remote-control --name "My Project"` |

45| `claude respawn <id>` | Starten Sie eine [Hintergrundsitzung](/docs/de/agent-view#manage-sessions-from-the-shell) neu, ob laufend oder gestoppt, mit ihrer Konversation intakt. Verwenden Sie `--all`, um jede laufende Sitzung neu zu starten, z. B. um eine aktualisierte Claude Code Binärdatei zu verwenden | `claude respawn 7c5dcf5d` |45| `claude respawn <id>` | Starten Sie eine [Hintergrundsitzung](/docs/de/agent-view#manage-sessions-from-the-shell) neu, ob laufend oder gestoppt, mit ihrer Konversation intakt. Verwenden Sie `--all`, um jede laufende Sitzung neu zu starten, z. B. um eine aktualisierte Claude Code Binärdatei zu verwenden | `claude respawn 7c5dcf5d` |

46| `claude rm <id>` | Entfernen Sie eine [Hintergrundsitzung](/docs/de/agent-view#manage-sessions-from-the-shell) aus der Liste. Wenn die Entfernung [über das Worktree der Sitzung abgelehnt wird](/docs/de/agent-view#what-deleting-a-session-removes) und ein zweites `claude rm` kann es beheben, gibt die Ablehnung das genaue Flag und den Wert aus, die übergeben werden sollen: `--discard-unpushed <commit>@<worktree-id>` verwirft ein Worktree, das nicht gepushte Commits zusammen mit diesen Commits hat, und `--force-remove-worktree <worktree-id>` löscht ein Worktree-Verzeichnis, das git oder der `WorktreeRemove` Hook nicht entfernen konnte. `--discard-unpushed` erfordert Claude Code v2.1.260 oder später, und `--force-remove-worktree` erfordert v2.1.268 oder später. Das Konversationstranskript bleibt auf Ihrem lokalen Computer erhalten und ist über `claude --resume` verfügbar | `claude rm 7c5dcf5d` |46| `claude rm <id>` | Entfernen Sie eine [Hintergrundsitzung](/docs/de/agent-view#manage-sessions-from-the-shell) aus der Liste. Wenn die Entfernung [über das Worktree der Sitzung abgelehnt wird](/docs/de/agent-view#what-deleting-a-session-removes) und ein zweites `claude rm` kann es beheben, gibt die Ablehnung das genaue Flag und den Wert aus, die übergeben werden sollen: `--discard-unpushed <commit>@<worktree-id>` verwirft ein Worktree, das nicht gepushte Commits zusammen mit diesen Commits hat, und `--force-remove-worktree <worktree-id>` löscht ein Worktree-Verzeichnis, das git oder der `WorktreeRemove` Hook nicht entfernen konnte. `--discard-unpushed` erfordert Claude Code v2.1.260 oder später, und `--force-remove-worktree` erfordert v2.1.268 oder später. Das Konversationstranskript bleibt auf Ihrem lokalen Computer erhalten und ist über `claude --resume` verfügbar | `claude rm 7c5dcf5d` |


51 51 

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

53 53 

54Ab 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.54`claude --dangerously-skip-permissions daemon <subcommand>` führt den `daemon` Unterbefehl aus, sodass der Unterbefehl auch funktioniert, wenn `claude` mit einem Alias versehen ist, der das Flag enthält. Nur ein führendes `--dangerously-skip-permissions` oder `--allow-dangerously-skip-permissions` leitet auf diese Weise zu `daemon` weiter; steht ein anderes Flag vor `daemon`, wird der Unterbefehl nicht ausgeführt.

55 55 

56<h2 id="cli-flags">56<h2 id="cli-flags">

57 CLI-Flags57 CLI-Flags

Details

118 Fügen Sie eine Anmeldedaten hinzu118 Fügen Sie eine Anmeldedaten hinzu

119</h4>119</h4>

120 120 

121Sie fügen Anmeldedaten einzeln aus dem Editor einer Umgebung hinzu, die bereits existiert. Der Dialog für eine neue Umgebung bietet sie nicht an. Es gibt auch keine Bearbeitung. Um die Hosts oder den Wert einer Anmeldedaten zu ändern, löschen Sie sie und fügen Sie sie erneut hinzu.121Sie fügen Anmeldedaten einzeln hinzu, und Sie können Anmeldedaten nach dem Hinzufügen nicht bearbeiten. Um die Hosts oder den Wert einer Anmeldedaten zu ändern, löschen Sie sie und fügen Sie sie erneut hinzu.

122 122 

123<Steps>123<Steps>

124 <Step title="Öffnen Sie die API-Anmeldedaten der Umgebung">124 <Step title="Öffnen Sie die API-Anmeldedaten der Umgebung">

125 [Öffnen Sie die Umgebung zur Bearbeitung](#configure-your-environment) unter [claude.ai/code](https://claude.ai/code). Im Dialog **Cloud-Umgebung bearbeiten** finden Sie **API-Anmeldedaten** unter **Umgebungsvariablen**. Sie sehen die Anmeldedaten, die bereits in der Umgebung vorhanden sind, jeweils mit den Hosts, auf die sie sich beziehen.125 [Öffnen Sie die Umgebung zur Bearbeitung](#configure-your-environment) unter [claude.ai/code](https://claude.ai/code). Suchen Sie im Dialog **Umgebung bearbeiten** den Bereich **API-Anmeldedaten**. Sie sehen die Anmeldedaten, die bereits in der Umgebung vorhanden sind, jeweils mit den Hosts, auf die sie sich beziehen.

126 </Step>126 </Step>

127 127 

128 <Step title="Fügen Sie die Anmeldedaten hinzu">128 <Step title="Fügen Sie die Anmeldedaten hinzu">

code-review.md +1 −0

Details

346 * `--fix`: wendet die Erkenntnisse auf Ihren Arbeitsbaum an, nachdem die Überprüfung abgeschlossen ist346 * `--fix`: wendet die Erkenntnisse auf Ihren Arbeitsbaum an, nachdem die Überprüfung abgeschlossen ist

347 * `--comment`: veröffentlicht die Erkenntnisse als Inline-Kommentare auf einem GitHub Pull Request oder auf einer GitLab Merge Request als einzelne Notiz347 * `--comment`: veröffentlicht die Erkenntnisse als Inline-Kommentare auf einem GitHub Pull Request oder auf einer GitLab Merge Request als einzelne Notiz

348 * `--post`: bei einer `ultra` Cloud-Überprüfung eines `github.com` Pull Request wählt es das Veröffentlichen der abgeschlossenen Erkenntnisse zum PR im Startdialog vor; siehe [Erkenntnisse zum Pull Request veröffentlichen](/docs/de/ultrareview#post-findings-to-the-pull-request). Erfordert Claude Code v2.1.227 oder später348 * `--post`: bei einer `ultra` Cloud-Überprüfung eines `github.com` Pull Request wählt es das Veröffentlichen der abgeschlossenen Erkenntnisse zum PR im Startdialog vor; siehe [Erkenntnisse zum Pull Request veröffentlichen](/docs/de/ultrareview#post-findings-to-the-pull-request). Erfordert Claude Code v2.1.227 oder später

349 * `--max-findings <n>`, `--max-findings all` oder `--max-findings default`: meldet bis zu `n` Erkenntnisse oder mit `all` jede Erkenntnis, anstelle des üblichen Limits der Überprüfung. Spätere Überprüfungen verwenden den von Ihnen eingegebenen Wert wieder, bis Sie `--max-findings default` übergeben. Erfordert Claude Code v2.1.288 oder später

349 350 

350 Wenn Sie `--comment` für eine GitLab Merge Request übergeben, veröffentlicht Claude Code die Erkenntnisse über GitLabs `glab` CLI. Erfordert Claude Code v2.1.257 oder später. Wenn `glab` nicht installiert ist, druckt Claude die Erkenntnisse stattdessen im Terminal.351 Wenn Sie `--comment` für eine GitLab Merge Request übergeben, veröffentlicht Claude Code die Erkenntnisse über GitLabs `glab` CLI. Erfordert Claude Code v2.1.257 oder später. Wenn `glab` nicht installiert ist, druckt Claude die Erkenntnisse stattdessen im Terminal.

351 352 

commands.md +2 −2

Details

72| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb\|preserved-thinking-migration]` | **[Skill](/docs/de/skills#bundled-skills).** Lädt Referenzmaterial zur [Claude API](https://platform.claude.com/docs/en/api/overview) und zu [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) für die Sprache Ihres Projekts. Wird außerdem automatisch aktiviert, wenn Ihr Code `anthropic` oder `@anthropic-ai/sdk` importiert. Was jeder Unterbefehl tut und welche Version er erfordert, erfahren Sie unter [An Claude-API-Projekten arbeiten](/docs/de/skills#work-on-claude-api-projects) |72| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb\|preserved-thinking-migration]` | **[Skill](/docs/de/skills#bundled-skills).** Lädt Referenzmaterial zur [Claude API](https://platform.claude.com/docs/en/api/overview) und zu [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) für die Sprache Ihres Projekts. Wird außerdem automatisch aktiviert, wenn Ihr Code `anthropic` oder `@anthropic-ai/sdk` importiert. Was jeder Unterbefehl tut und welche Version er erfordert, erfahren Sie unter [An Claude-API-Projekten arbeiten](/docs/de/skills#work-on-claude-api-projects) |

73| `/claude-in-chrome [task]` | **[Skill](/docs/de/skills#bundled-skills).** Lässt Claude über [Claude in Chrome](/docs/de/chrome) eine Aufgabe in Ihrem Browser ausführen, etwa eine Seite testen, ein Formular ausfüllen oder Konsolen-Logs lesen. Verfügbar, wenn die Chrome-Integration für die Sitzung aktiviert ist, zum Beispiel mit `claude --chrome`, oder wenn Claude Code anbieten kann, [die Erweiterung zu installieren](/docs/de/chrome#install-the-extension-when-claude-asks) |73| `/claude-in-chrome [task]` | **[Skill](/docs/de/skills#bundled-skills).** Lässt Claude über [Claude in Chrome](/docs/de/chrome) eine Aufgabe in Ihrem Browser ausführen, etwa eine Seite testen, ein Formular ausfüllen oder Konsolen-Logs lesen. Verfügbar, wenn die Chrome-Integration für die Sitzung aktiviert ist, zum Beispiel mit `claude --chrome`, oder wenn Claude Code anbieten kann, [die Erweiterung zu installieren](/docs/de/chrome#install-the-extension-when-claude-asks) |

74| `/clear [name]` | Startet eine neue Konversation mit leerem Kontext. Übergeben Sie einen Namen, um die vorherige Konversation in der `/resume`-Auswahl zu benennen. Um Kontext freizugeben und dabei dieselbe Konversation fortzusetzen, verwenden Sie stattdessen `/compact`. Setzen Sie die vorherige Konversation mit `/resume` fort oder stellen Sie sie im selben Claude Code-Prozess über [den Eintrag für die vorherige Sitzung im Rewind-Menü](/docs/de/checkpointing#rewind-past-a-cleared-conversation) wieder her. Aliase: `/reset`, `/new` |74| `/clear [name]` | Startet eine neue Konversation mit leerem Kontext. Übergeben Sie einen Namen, um die vorherige Konversation in der `/resume`-Auswahl zu benennen. Um Kontext freizugeben und dabei dieselbe Konversation fortzusetzen, verwenden Sie stattdessen `/compact`. Setzen Sie die vorherige Konversation mit `/resume` fort oder stellen Sie sie im selben Claude Code-Prozess über [den Eintrag für die vorherige Sitzung im Rewind-Menü](/docs/de/checkpointing#rewind-past-a-cleared-conversation) wieder her. Aliase: `/reset`, `/new` |

75| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | **[Skill](/docs/de/skills#bundled-skills).** Prüft den aktuellen Diff oder eine übergebene PR-Nummer, einen Branch oder einen Pfad auf Korrektheitsfehler. Abhängig von Ihrem Modell und Ihrer Effort-Stufe deckt das Review auch Möglichkeiten zur Bereinigung ab. Übergeben Sie `--fix`, um Befunde anzuwenden, `--comment`, um sie im GitHub-PR oder GitLab Merge Request zu posten, oder `ultra`, um ein tiefgehendes [Cloud-Review](/docs/de/ultrareview) auszuführen. Das Posten in einem GitLab Merge Request erfordert Claude Code v2.1.257 oder höher. Mit `ultra` bei einem `github.com`-PR als Ziel übergeben Sie `--post`, um im Startdialog [das Posten der fertigen Befunde im PR](/docs/de/ultrareview#post-findings-to-the-pull-request) vorauszuwählen; `--post` erfordert Claude Code v2.1.227 oder höher. Unter [Einen Diff lokal reviewen](/docs/de/code-review#review-a-diff-locally) finden Sie die Effort-Stufen, die Zielauswahl und die Beziehung zu `/simplify`. Alias: `/review` |75| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | **[Skill](/docs/de/skills#bundled-skills).** Prüft den aktuellen Diff oder eine übergebene PR-Nummer, einen Branch oder einen Pfad auf Korrektheitsfehler. Abhängig von Ihrem Modell und Ihrer Effort-Stufe deckt das Review auch Möglichkeiten zur Bereinigung ab. Übergeben Sie `--fix`, um Befunde anzuwenden, `--comment`, um sie im GitHub-PR oder GitLab Merge Request zu posten, oder `ultra`, um ein tiefgehendes [Cloud-Review](/docs/de/ultrareview) auszuführen. Das Posten in einem GitLab Merge Request erfordert Claude Code v2.1.257 oder höher. Mit `ultra` bei einem `github.com`-PR als Ziel übergeben Sie `--post`, um im Startdialog [das Posten der fertigen Befunde im PR](/docs/de/ultrareview#post-findings-to-the-pull-request) vorauszuwählen; `--post` erfordert Claude Code v2.1.227 oder höher. Unter [Einen Diff lokal reviewen](/docs/de/code-review#review-a-diff-locally) finden Sie die Effort-Stufen, die Zielauswahl und die Beziehung zu `/simplify`. Alias: `/review` |

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

77| `/compact [instructions]` | Gibt Kontext frei, indem die bisherige Konversation zusammengefasst wird. Optional können Sie Fokusanweisungen für die Zusammenfassung übergeben. Siehe [wie die Komprimierung mit Regeln, Skills und Memory-Dateien umgeht](/docs/de/context-window#what-survives-compaction) |77| `/compact [instructions]` | Gibt Kontext frei, indem die bisherige Konversation zusammengefasst wird. Optional können Sie Fokusanweisungen für die Zusammenfassung übergeben. Siehe [wie die Komprimierung mit Regeln, Skills und Memory-Dateien umgeht](/docs/de/context-window#what-survives-compaction) |

78| `/config [key=value ...]` | Öffnet die Oberfläche für [Einstellungen](/docs/de/settings), um Theme, Modell, [Ausgabestil](/docs/de/output-styles) und andere Präferenzen anzupassen. Übergeben Sie ein oder mehrere `key=value`-Paare, um eine Einstellung direkt festzulegen, ohne die Oberfläche zu öffnen, zum Beispiel `/config thinking=false`, `/config theme=dark` oder `/config model=sonnet`. Die `key=value`-Form funktioniert auch im nicht interaktiven Modus (`-p`) und aus der Claude-Mobile-App über [Remote Control](/docs/de/remote-control). Die `key=value`-Form kann keine Einstellung aktivieren, die Ihre Bestätigung im Panel erfordert, wie [`autoContinueAtUsageLimit`](/docs/de/interactive-mode#turn-automatic-continue-off), kann eine solche aber deaktivieren. Führen Sie `/config --help` aus, um die akzeptierten Schlüssel aufzulisten. Alias: `/settings` |78| `/config [key=value ...]` | Öffnet die Oberfläche für [Einstellungen](/docs/de/settings), um Theme, Modell, [Ausgabestil](/docs/de/output-styles) und andere Präferenzen anzupassen. Übergeben Sie ein oder mehrere `key=value`-Paare, um eine Einstellung direkt festzulegen, ohne die Oberfläche zu öffnen, zum Beispiel `/config thinking=false`, `/config theme=dark` oder `/config model=sonnet`. Die `key=value`-Form funktioniert auch im nicht interaktiven Modus (`-p`) und aus der Claude-Mobile-App über [Remote Control](/docs/de/remote-control). Die `key=value`-Form kann keine Einstellung aktivieren, die Ihre Bestätigung im Panel erfordert, wie [`autoContinueAtUsageLimit`](/docs/de/interactive-mode#turn-automatic-continue-off), kann eine solche aber deaktivieren. Führen Sie `/config --help` aus, um die akzeptierten Schlüssel aufzulisten. Alias: `/settings` |


134| `/remote-env` | Wählt die Standard-[Cloud-Umgebung](/docs/de/cloud-environments#select-an-environment-from-the-cli) für Cloud-Sitzungen, die Sie über die CLI starten |134| `/remote-env` | Wählt die Standard-[Cloud-Umgebung](/docs/de/cloud-environments#select-an-environment-from-the-cli) für Cloud-Sitzungen, die Sie über die CLI starten |

135| `/rename [name]` | Benennt die aktuelle Sitzung um und zeigt den Namen in der Prompt-Leiste an. Ohne Namen wird automatisch einer aus dem Konversationsverlauf erzeugt. Auch im nicht interaktiven Modus (`-p`) verfügbar; erfordert Claude Code v2.1.205 oder höher. Auf jeder Oberfläche zum Umbenennen, einschließlich claude.ai und der Desktop-App, ersetzt Claude Code Steuer- und unsichtbare Zeichen im neuen Namen durch Leerzeichen und begrenzt den Namen auf 200 Zeichen. Wenn der Name nach dem Entfernen unsichtbarer Zeichen leer ist, lehnt Claude Code ihn ab und zeigt `That name is empty once invisible characters are removed. Usage: /rename <name>` an. Die Zeichenersetzung und die Längenbegrenzung erfordern Claude Code v2.1.221 oder höher. Wenn eine andere aktive Sitzung auf diesem Rechner bereits einen Namen verwendet, den Sie übergeben, wendet Claude Code stattdessen [eine Variante davon](/docs/de/sessions#name-your-sessions) an |135| `/rename [name]` | Benennt die aktuelle Sitzung um und zeigt den Namen in der Prompt-Leiste an. Ohne Namen wird automatisch einer aus dem Konversationsverlauf erzeugt. Auch im nicht interaktiven Modus (`-p`) verfügbar; erfordert Claude Code v2.1.205 oder höher. Auf jeder Oberfläche zum Umbenennen, einschließlich claude.ai und der Desktop-App, ersetzt Claude Code Steuer- und unsichtbare Zeichen im neuen Namen durch Leerzeichen und begrenzt den Namen auf 200 Zeichen. Wenn der Name nach dem Entfernen unsichtbarer Zeichen leer ist, lehnt Claude Code ihn ab und zeigt `That name is empty once invisible characters are removed. Usage: /rename <name>` an. Die Zeichenersetzung und die Längenbegrenzung erfordern Claude Code v2.1.221 oder höher. Wenn eine andere aktive Sitzung auf diesem Rechner bereits einen Namen verwendet, den Sie übergeben, wendet Claude Code stattdessen [eine Variante davon](/docs/de/sessions#name-your-sessions) an |

136| `/resume [session]` | Setzt eine Konversation anhand von ID oder Name fort oder öffnet die Sitzungsauswahl. [Hintergrundsitzungen](/docs/de/agent-view) erscheinen in der Auswahl mit `bg` markiert. Wenn Sie eine noch laufende Sitzung fortsetzen, aus der Auswahl oder per ID oder Name, wird [diese Sitzung geöffnet](/docs/de/sessions#resume-a-running-background-session): Ihre aktuelle Konversation wechselt in den Hintergrund, und dieses Terminal wird an die laufende Sitzung angehängt. Drücken Sie `←` bei leerem Prompt, um zur Agent-Ansicht zurückzukehren, die auch die Konversation auflistet, die Sie verlassen haben. Vor v2.1.285 lehnte Claude Code dies ab und forderte Sie auf, die Sitzung mit `claude attach` zu öffnen oder sie zuerst zu stoppen. Alias: `/continue` |136| `/resume [session]` | Setzt eine Konversation anhand von ID oder Name fort oder öffnet die Sitzungsauswahl. [Hintergrundsitzungen](/docs/de/agent-view) erscheinen in der Auswahl mit `bg` markiert. Wenn Sie eine noch laufende Sitzung fortsetzen, aus der Auswahl oder per ID oder Name, wird [diese Sitzung geöffnet](/docs/de/sessions#resume-a-running-background-session): Ihre aktuelle Konversation wechselt in den Hintergrund, und dieses Terminal wird an die laufende Sitzung angehängt. Drücken Sie `←` bei leerem Prompt, um zur Agent-Ansicht zurückzukehren, die auch die Konversation auflistet, die Sie verlassen haben. Vor v2.1.285 lehnte Claude Code dies ab und forderte Sie auf, die Sitzung mit `claude attach` zu öffnen oder sie zuerst zu stoppen. Alias: `/continue` |

137| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | Alias von [`/code-review`](/docs/de/code-review#review-a-diff-locally): prüft den aktuellen Diff oder eine übergebene PR-Nummer, einen Branch oder einen Pfad, etwa `/review 1234`, und akzeptiert dieselben Effort-Stufen und Flags. Ohne angegebene Stufe verwendet das Review die zuletzt von Ihnen eingegebene Stufe von `low` bis `max` erneut; die genauen Regeln finden Sie unter [Einen Diff lokal reviewen](/docs/de/code-review#review-a-diff-locally). Für ein tiefgehendes Cloud-Review verwenden Sie [`/code-review ultra`](/docs/de/ultrareview). Vor v2.1.223 war `/review` ein separater Befehl, der ein einstufiges, nur lesendes Review eines GitHub Pull Requests anhand der Nummer ausführte und bei Ausführung ohne Argument offene PRs zur Auswahl auflistete; von v2.1.186 bis v2.1.201 nutzte er dieselbe Multi-Agenten-Engine wie `/code-review medium` |137| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | Alias von [`/code-review`](/docs/de/code-review#review-a-diff-locally): prüft den aktuellen Diff oder eine übergebene PR-Nummer, einen Branch oder einen Pfad, etwa `/review 1234`, und akzeptiert dieselben Effort-Stufen und Flags. Ohne angegebene Stufe verwendet das Review die zuletzt von Ihnen eingegebene Stufe von `low` bis `max` erneut; die genauen Regeln finden Sie unter [Einen Diff lokal reviewen](/docs/de/code-review#review-a-diff-locally). Für ein tiefgehendes Cloud-Review verwenden Sie [`/code-review ultra`](/docs/de/ultrareview). Vor v2.1.223 war `/review` ein separater Befehl, der ein einstufiges, nur lesendes Review eines GitHub Pull Requests anhand der Nummer ausführte und bei Ausführung ohne Argument offene PRs zur Auswahl auflistete; von v2.1.186 bis v2.1.201 nutzte er dieselbe Multi-Agenten-Engine wie `/code-review medium` |

138| `/rewind` | Setzt die Konversation und/oder den Code auf einen früheren Punkt zurück oder fasst ab einer ausgewählten Nachricht zusammen. Siehe [Checkpointing](/docs/de/checkpointing). Aliase: `/checkpoint`, `/undo` |138| `/rewind` | Setzt die Konversation und/oder den Code auf einen früheren Punkt zurück oder fasst ab einer ausgewählten Nachricht zusammen. Siehe [Checkpointing](/docs/de/checkpointing). Aliase: `/checkpoint`, `/undo` |

139| `/run` | **[Skill](/docs/de/skills#bundled-skills).** Startet und bedient die App Ihres Projekts, um zu sehen, dass eine Änderung funktioniert und nicht nur Tests bestehen. Siehe [App ausführen und verifizieren](/docs/de/skills#run-and-verify-your-app) |139| `/run` | **[Skill](/docs/de/skills#bundled-skills).** Startet und bedient die App Ihres Projekts, um zu sehen, dass eine Änderung funktioniert und nicht nur Tests bestehen. Siehe [App ausführen und verifizieren](/docs/de/skills#run-and-verify-your-app) |

140| `/run-skill-generator` | **[Skill](/docs/de/skills#bundled-skills).** Bringt `/run` und `/verify` bei, wie die App Ihres Projekts aus einer sauberen Umgebung gebaut, gestartet und bedient wird, indem ein projektspezifischer [Skill](/docs/de/skills#run-and-verify-your-app) geschrieben wird |140| `/run-skill-generator` | **[Skill](/docs/de/skills#bundled-skills).** Bringt `/run` und `/verify` bei, wie die App Ihres Projekts aus einer sauberen Umgebung gebaut, gestartet und bedient wird, indem ein projektspezifischer [Skill](/docs/de/skills#run-and-verify-your-app) geschrieben wird |

Details

226* **Die empfangende Sitzung fordert Berechtigungen an**: Claude Code übermittelt jede Nachricht. Es hält eine nur für Ihre Genehmigung, wenn die sendende Sitzung sich selbst als Umgehen von Berechtigungsaufforderungen identifiziert.226* **Die empfangende Sitzung fordert Berechtigungen an**: Claude Code übermittelt jede Nachricht. Es hält eine nur für Ihre Genehmigung, wenn die sendende Sitzung sich selbst als Umgehen von Berechtigungsaufforderungen identifiziert.

227* **Die empfangende Sitzung umgeht Berechtigungsaufforderungen**: Claude Code hält jede Nachricht für Ihre Genehmigung. Es übermittelt eine nur, wenn die sendende Sitzung sich selbst auch als Umgehen identifiziert.227* **Die empfangende Sitzung umgeht Berechtigungsaufforderungen**: Claude Code hält jede Nachricht für Ihre Genehmigung. Es übermittelt eine nur, wenn die sendende Sitzung sich selbst auch als Umgehen identifiziert.

228 228 

229Wenn der Standard eine Nachricht hält, öffnet Claude Code einen Genehmigungsdialog in der empfangenden Sitzung. Der Dialog zeigt den Absender und eine Vorschau:229Wenn die Standardregel eine Nachricht in einer interaktiven Terminal-Sitzung zurückhält, öffnet Claude Code dort einen Genehmigungsdialog. Der Dialog zeigt den Absender und eine Vorschau:

230 230 

231* **Genehmigen** übermittelt diese eine Nachricht an Claude.231* **Genehmigen** übermittelt diese eine Nachricht an Claude.

232* **Ablehnen** oder das Schließen des Dialogs verwirft sie.232* **Ablehnen** oder das Schließen des Dialogs verwirft sie.


234* Während kein Terminal an eine [Hintergrund-Sitzung](/docs/de/agent-view) angehängt ist, lässt Claude Code den Dialog über die Frist hinaus offen. Nachdem Sie angehängt haben, schließt Claude Code den Dialog und verwirft die Nachricht nur, wenn sie für einen vollständigen Fristzeitraum unantwortlich bleibt.234* Während kein Terminal an eine [Hintergrund-Sitzung](/docs/de/agent-view) angehängt ist, lässt Claude Code den Dialog über die Frist hinaus offen. Nachdem Sie angehängt haben, schließt Claude Code den Dialog und verwirft die Nachricht nur, wenn sie für einen vollständigen Fristzeitraum unantwortlich bleibt.

235* Wenn sich die Berechtigungsmodus-Klasse dieser Sitzung ändert, während Nachrichten gehalten werden, wendet Claude Code die Inbound-Regeln erneut an, übermittelt die Nachrichten, die sie jetzt akzeptieren, und zeigt eine Benachrichtigung an.235* Wenn sich die Berechtigungsmodus-Klasse dieser Sitzung ändert, während Nachrichten gehalten werden, wendet Claude Code die Inbound-Regeln erneut an, übermittelt die Nachrichten, die sie jetzt akzeptieren, und zeigt eine Benachrichtigung an.

236 236 

237Eine Sitzung in der VS Code-Erweiterung oder der Desktop-App kann den Dialog nicht anzeigen. Claude Code behält eine zurückgehaltene Nachricht dort bis zur selben Frist, wie unter [Nicht-interaktive Sitzungen](#non-interactive-sessions) beschrieben.

238 

237Claude Code hält höchstens 100 Nachrichten, und verwirft danach die ältesten.239Claude Code hält höchstens 100 Nachrichten, und verwirft danach die ältesten.

238 240 

239<h3 id="non-interactive-sessions">241<h3 id="non-interactive-sessions">

env-vars.md +384 −382

Details

124 Variablen124 Variablen

125</h2>125</h2>

126 126 

127Numerische Variablen wie Timeouts, Token-Budgets und Wiederholungsanzahlen akzeptieren wissenschaftliche Notation und Zifferntrennzeichen zusätzlich zu einfachen Ziffern, außer wo in der Zeile einer Variablen vermerkt ist, dass sie nur einfache Ziffern akzeptiert. Zum Beispiel liest Claude Code `2e3` als 2000 und `64_000` als 64000. Vor v2.1.211 konnten diese Schreibweisen stillschweigend einen viel kleineren Wert setzen, wie `1e6` das Timeout auf 1 setzen.127Numerische Variablen wie Timeouts, Token-Budgets und Anzahlen von Wiederholungsversuchen akzeptieren neben einfachen Ziffern auch wissenschaftliche Notation und Schreibweisen mit Zifferntrennzeichen, außer wenn die Zeile einer Variablen angibt, dass sie nur einfache Ziffern akzeptiert. Beispielsweise liest Claude Code `2e3` als 2000 und `64_000` als 64000. Vor v2.1.211 konnten diese Schreibweisen stillschweigend einen viel kleineren Wert setzen, etwa setzte `1e6` einen Timeout auf 1.

128 128 

129<Note>129<Note>

130 Für Variablen, die ein Verhalten ein- oder ausschalten, setzen Sie `1`, `true`, `yes` oder `on`, um es einzuschalten, und `0`, `false`, `no` oder `off`, um es auszuschalten, in beliebiger Schreibweise.130 Für Variablen, die ein Verhalten ein- oder ausschalten, setzen Sie `1`, `true`, `yes` oder `on`, um es einzuschalten, und `0`, `false`, `no` oder `off`, um es auszuschalten, unabhängig von der Groß- und Kleinschreibung.

131 131 

132 Einige Variablen lesen nur, ob Sie sie überhaupt gesetzt haben, daher schaltet jeder nicht-leere Wert einschließlich `0` das Verhalten ein, und Sie schalten das Verhalten aus, indem Sie die Variable nicht setzen oder auf einen leeren Wert setzen. Diese Variablen funktionieren so:132 Einige Variablen prüfen nur, ob Sie sie überhaupt gesetzt haben, sodass jeder nicht leere Wert einschließlich `0` das Verhalten einschaltet; Sie schalten das Verhalten aus, indem Sie die Variable entfernen oder auf einen leeren Wert setzen. Diese Variablen funktionieren so:

133 133 

134 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`134 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

135 * `DISABLE_TELEMETRY`135 * `DISABLE_TELEMETRY`


138 * `FALLBACK_FOR_ALL_PRIMARY_MODELS`138 * `FALLBACK_FOR_ALL_PRIMARY_MODELS`

139 * `IS_DEMO`139 * `IS_DEMO`

140 140 

141 Eine andere Variable hat ihre eigene Regel: `FORCE_HYPERLINK` liest eine Zahl, daher schaltet nur `0` sie aus. Jede Zeile einer Variablen gibt auch ihre eigene Regel an.141 Eine weitere Variable hat ihre eigene Regel: `FORCE_HYPERLINK` liest eine Zahl, daher schaltet nur `0` sie aus. Die Zeile jeder Variablen nennt außerdem ihre eigene Regel.

142</Note>142</Note>

143 143 

144| Variable | Zweck |144| Variable | Zweck |

145| :- | :- |145| :- | :- |

146| `ANTHROPIC_API_KEY` | API-Schlüssel, der als `X-Api-Key`-Header gesendet wird. Wenn gesetzt, wird dieser Schlüssel anstelle Ihres Claude Pro-, Max-, Team- oder Enterprise-Abonnements verwendet, auch wenn Sie angemeldet sind. Im nicht-interaktiven Modus (`-p`) wird der Schlüssel immer verwendet, wenn er vorhanden ist. Im interaktiven Modus werden Sie aufgefordert, den Schlüssel einmalig zu genehmigen, bevor er Ihr Abonnement überschreibt. Um stattdessen Ihr Abonnement zu verwenden, führen Sie `unset ANTHROPIC_API_KEY` aus |146| `ANTHROPIC_API_KEY` | API-Schlüssel, der als `X-Api-Key`-Header gesendet wird. Wenn gesetzt, wird dieser Schlüssel anstelle Ihres Claude Pro-, Max-, Team- oder Enterprise-Abonnements verwendet, auch wenn Sie angemeldet sind. Im nicht interaktiven Modus (`-p`) wird der Schlüssel immer verwendet, wenn er vorhanden ist. Im interaktiven Modus werden Sie einmalig aufgefordert, den Schlüssel zu genehmigen, bevor er Ihr Abonnement überschreibt. Um stattdessen Ihr Abonnement zu verwenden, führen Sie `unset ANTHROPIC_API_KEY` aus |

147| `ANTHROPIC_AUTH_TOKEN` | Benutzerdefinierter Wert für den `Authorization`-Header (der Wert, den Sie hier setzen, wird mit `Bearer ` vorangestellt) |147| `ANTHROPIC_AUTH_TOKEN` | Benutzerdefinierter Wert für den `Authorization`-Header (dem hier gesetzten Wert wird `Bearer ` vorangestellt) |

148| `ANTHROPIC_AWS_API_KEY` | Workspace-API-Schlüssel für [Claude Platform on AWS](/docs/de/claude-platform-on-aws), generiert in der AWS-Konsole. Wird als `x-api-key` gesendet und hat Vorrang vor AWS SigV4 |148| `ANTHROPIC_AWS_API_KEY` | Workspace-API-Schlüssel für [Claude Platform on AWS](/docs/de/claude-platform-on-aws), in der AWS Console generiert. Wird als `x-api-key` gesendet und hat Vorrang vor AWS SigV4 |

149| `ANTHROPIC_AWS_BASE_URL` | Überschreiben Sie die [Claude Platform on AWS](/docs/de/claude-platform-on-aws)-Endpunkt-URL. Verwenden Sie dies für benutzerdefinierte Regionen oder beim Routing durch ein [LLM-Gateway](/docs/de/llm-gateway). Standardmäßig `https://aws-external-anthropic.{region}.api.aws`. Claude Code löst die Region mit der [gleichen Priorität wie auf Amazon Bedrock](/docs/de/amazon-bedrock#3-configure-claude-code) auf |149| `ANTHROPIC_AWS_BASE_URL` | Überschreibt die Endpunkt-URL von [Claude Platform on AWS](/docs/de/claude-platform-on-aws). Verwenden Sie dies für benutzerdefinierte Regionen oder beim Routing über ein [LLM-Gateway](/docs/de/llm-gateway). Standardwert ist `https://aws-external-anthropic.{region}.api.aws`. Claude Code ermittelt die Region mit der [gleichen Rangfolge wie bei Amazon Bedrock](/docs/de/amazon-bedrock#3-configure-claude-code) |

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

151| `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 [MCP-Toolsuche](/docs/de/mcp#scale-with-mcp-tool-search) standardmäßig deaktiviert. Setzen Sie `ENABLE_TOOL_SEARCH=true`, wenn Ihr Proxy `tool_reference`-Blöcke weiterleitet. Ab v2.1.196 ist [Remote Control](/docs/de/remote-control#requirements) deaktiviert, wenn dies auf einen anderen Host als `api.anthropic.com` zeigt, was seinem Verhalten auf Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry entspricht |151| `ANTHROPIC_BASE_URL` | Überschreibt den API-Endpunkt, um Anfragen über einen Proxy oder ein Gateway zu leiten. Wenn auf einen Host gesetzt, der kein First-Party-Host ist, ist [MCP Tool Search](/docs/de/mcp#scale-with-mcp-tool-search) standardmäßig deaktiviert. Setzen Sie `ENABLE_TOOL_SEARCH=true`, wenn Ihr Proxy `tool_reference`-Blöcke weiterleitet. Ab v2.1.196 ist [Remote Control](/docs/de/remote-control#requirements) deaktiviert, wenn dies auf einen anderen Host als `api.anthropic.com` verweist, entsprechend dem Verhalten auf Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry |

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

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

154| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Präfix für regionsübergreifendes Inferenzprofil (`us`, `eu`, `apac`, `jp`, `au` oder `global`), das Claude Code zuerst versucht, anstelle des aus der AWS-Region abgeleiteten. Wird in AWS GovCloud-Regionen ignoriert. Erfordert Claude Code v2.1.224 oder später. Siehe [Amazon Bedrock](/docs/de/amazon-bedrock#cross-region-inference-profile-prefixes) |154| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Präfix des regionsübergreifenden Inferenzprofils (`us`, `eu`, `apac`, `jp`, `au` oder `global`), das Claude Code zuerst versucht, anstelle des aus der AWS-Region abgeleiteten. Wird in AWS-GovCloud-Regionen ignoriert. Erfordert Claude Code v2.1.224 oder höher. Siehe [Amazon Bedrock](/docs/de/amazon-bedrock#cross-region-inference-profile-prefixes) |

155| `ANTHROPIC_BEDROCK_SERVICE_TIER` | Amazon 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](/docs/de/amazon-bedrock#service-tiers) |155| `ANTHROPIC_BEDROCK_SERVICE_TIER` | Amazon-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](/docs/de/amazon-bedrock#service-tiers) |

156| `ANTHROPIC_BETAS` | Komma-getrennte Liste zusätzlicher `anthropic-beta`-Header-Werte, die in API-Anfragen einzubeziehen sind. Claude Code sendet bereits die Beta-Header, die es benötigt; verwenden Sie dies, um sich für ein [Anthropic API Beta](https://platform.claude.com/docs/en/api/beta-headers) anzumelden, bevor Claude Code native Unterstützung hinzufügt. Im Gegensatz zum [`--betas`-Flag](/docs/de/cli-reference#cli-flags), das API-Schlüssel-Authentifizierung erfordert, funktioniert diese Variable mit allen Authentifizierungsmethoden einschließlich Claude.ai-Abonnement |156| `ANTHROPIC_BETAS` | Kommagetrennte Liste zusätzlicher `anthropic-beta`-Header-Werte, die in API-Anfragen aufgenommen werden. Claude Code sendet die benötigten Beta-Header bereits; verwenden Sie dies, um sich für eine [Anthropic-API-Beta](https://platform.claude.com/docs/en/api/beta-headers) anzumelden, bevor Claude Code native Unterstützung hinzufügt. Anders als das [`--betas`-Flag](/docs/de/cli-reference#cli-flags), das eine Authentifizierung per API-Schlüssel erfordert, funktioniert diese Variable mit allen Authentifizierungsmethoden einschließlich eines Claude.ai-Abonnements |

157| `ANTHROPIC_CUSTOM_HEADERS` | Benutzerdefinierte Header, die zu Anfragen hinzugefügt werden (Format `Name: Value`, zeilengetrennt für mehrere Header). Wenn ein Name oder Wert ein Zeichen enthält, das ein HTTP-Header nicht tragen kann, wie ein gekrümmtes Anführungszeichen oder ein Leerzeichen mit Nullbreite, schlägt die Anfrage mit einem Fehler fehl, der das Paar nach Position identifiziert. Erfordert Claude Code v2.1.227 oder später. [Ungültiger Request-Header-Wert](/docs/de/errors#invalid-request-header-value) listet den genauen Zeichensatz auf und wo die Prüfung läuft. Ein Wert, der einen Credential-, Org- oder Tenant-, Routing- oder API-Verhaltens-Header setzt, wie `Authorization` oder `Host`, zählt als [Einstellung, die Genehmigung benötigt](/docs/de/server-managed-settings#environment-variables-and-the-approval-dialog), wenn Server-verwaltete Einstellungen sie liefern. Aus Projekt- oder lokalen Einstellungen folgt ein solcher Wert den [Regeln für wann `env`-Werte gelten](/docs/de/settings-reference#when-claude-code-applies-env-values) |157| `ANTHROPIC_CUSTOM_HEADERS` | Benutzerdefinierte Header, die Anfragen hinzugefügt werden (Format `Name: Value`, bei mehreren Headern durch Zeilenumbrüche getrennt). Wenn ein Name oder Wert ein Zeichen enthält, das ein HTTP-Header nicht transportieren kann, etwa ein typografisches Anführungszeichen oder ein Leerzeichen mit Nullbreite, schlägt die Anfrage mit einem Fehler fehl, der das Paar anhand seiner Position identifiziert. Erfordert Claude Code v2.1.227 oder höher. [Invalid request header value](/docs/de/errors#invalid-request-header-value) listet den genauen Zeichensatz auf und wo die Prüfung ausgeführt wird. Ein Wert, der einen Header für Anmeldedaten, Organisation oder Tenant, Routing oder API-Verhalten setzt, etwa `Authorization` oder `Host`, gilt als [Einstellung, die eine Genehmigung erfordert](/docs/de/server-managed-settings#environment-variables-and-the-approval-dialog), wenn serververwaltete Einstellungen ihn bereitstellen. Aus Projekt- oder lokalen Einstellungen folgt ein solcher Wert den [Regeln dafür, wann `env`-Werte gelten](/docs/de/settings-reference#when-claude-code-applies-env-values) |

158| `ANTHROPIC_CUSTOM_MODEL_OPTION` | Modell-ID, die als benutzerdefinierter Eintrag in der `/model`-Auswahl hinzugefügt werden soll. Verwenden Sie dies, um ein nicht-standardisiertes oder Gateway-spezifisches Modell auswählbar zu machen, ohne integrierte Aliase zu ersetzen. Siehe [Modellkonfiguration](/docs/de/model-config#add-a-custom-model-option) |158| `ANTHROPIC_CUSTOM_MODEL_OPTION` | Modell-ID, die als benutzerdefinierter Eintrag zur `/model`-Auswahl hinzugefügt wird. Verwenden Sie dies, um ein nicht standardmäßiges oder Gateway-spezifisches Modell auswählbar zu machen, ohne integrierte Aliasse zu ersetzen. Siehe [Modellkonfiguration](/docs/de/model-config#add-a-custom-model-option) |

159| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Anzeigebeschreibung für den benutzerdefinierten Modelleintrag in der `/model`-Auswahl. Standardmäßig `Custom model (<model-id>)`, wenn nicht gesetzt |159| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Angezeigte Beschreibung für den benutzerdefinierten Modelleintrag in der `/model`-Auswahl. Standardwert ist `Custom model (<model-id>)`, wenn nicht gesetzt |

160| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Anzeigename für den benutzerdefinierten Modelleintrag in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt der Eintrag den Namen des Modells an, wenn Claude Code die [ID erkennt](/docs/de/model-config#customize-pinned-model-display-and-capabilities), und die Modell-ID andernfalls |160| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Anzeigename für den benutzerdefinierten Modelleintrag in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt der Eintrag den Namen des Modells, sofern Claude Code [die ID erkennt](/docs/de/model-config#customize-pinned-model-display-and-capabilities), andernfalls die Modell-ID |

161| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Komma-getrennte Liste von [Fähigkeiten](/docs/de/model-config#customize-pinned-model-display-and-capabilities), die das benutzerdefinierte Modell unterstützt, zum Beispiel `effort,thinking`. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |161| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Kommagetrennte Liste der [Fähigkeiten](/docs/de/model-config#customize-pinned-model-display-and-capabilities), die das benutzerdefinierte Modell unterstützt, zum Beispiel `effort,thinking`. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

162| `ANTHROPIC_DEFAULT_FABLE_MODEL` | Modell-ID, zu der der `fable`-Alias aufgelöst wird, und die ID, die Claude Code als Fable-Modell für [automatisches Modell-Fallback](/docs/de/model-config#automatic-model-fallback) bei Drittanbieter-Providern erkennt. Siehe [Modellkonfiguration](/docs/de/model-config#environment-variables) |162| `ANTHROPIC_DEFAULT_FABLE_MODEL` | Modell-ID, auf die der Alias `fable` aufgelöst wird, und die ID, die Claude Code bei Drittanbietern als Fable-Modell für den [automatischen Modell-Fallback](/docs/de/model-config#automatic-model-fallback) erkennt. Siehe [Modellkonfiguration](/docs/de/model-config#environment-variables) |

163| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Anzeigebeschreibung für das angeheftete Fable-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile eine Standardbeschreibung, die mit `Custom Fable model` beginnt. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |163| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Angezeigte Beschreibung für das fixierte Fable-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile eine Standardbeschreibung, die mit `Custom Fable model` beginnt. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

164| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Anzeigename für das angeheftete Fable-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile den Namen des Modells an, wenn Claude Code die angeheftete ID erkennt, und die angeheftete ID andernfalls. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |164| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Anzeigename für das fixierte Fable-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile den Namen des Modells, sofern Claude Code die fixierte ID erkennt, andernfalls die fixierte ID. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

165| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Komma-getrennte Liste von [Fähigkeiten](/docs/de/model-config#customize-pinned-model-display-and-capabilities), die das angeheftete Fable-Modell unterstützt, zum Beispiel `effort,thinking`. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |165| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Kommagetrennte Liste der [Fähigkeiten](/docs/de/model-config#customize-pinned-model-display-and-capabilities), die das fixierte Fable-Modell unterstützt, zum Beispiel `effort,thinking`. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

166| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Modell-ID, zu der der `haiku`-Alias aufgelöst wird, auch verwendet für [Hintergrundfunktionalität](/docs/de/costs#background-token-usage). Siehe [Modellkonfiguration](/docs/de/model-config#environment-variables) |166| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Modell-ID, auf die der Alias `haiku` aufgelöst wird, auch für [Hintergrundfunktionen](/docs/de/costs#background-token-usage) verwendet. Siehe [Modellkonfiguration](/docs/de/model-config#environment-variables) |

167| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Anzeigebeschreibung für das angeheftete Haiku-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile eine Standardbeschreibung, die mit `Custom Haiku model` beginnt. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |167| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Angezeigte Beschreibung für das fixierte Haiku-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile eine Standardbeschreibung, die mit `Custom Haiku model` beginnt. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

168| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Anzeigename für das angeheftete Haiku-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile den Namen des Modells an, wenn Claude Code die angeheftete ID erkennt, und die angeheftete ID andernfalls. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |168| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Anzeigename für das fixierte Haiku-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile den Namen des Modells, sofern Claude Code die fixierte ID erkennt, andernfalls die fixierte ID. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

169| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | Komma-getrennte Liste von [Fähigkeiten](/docs/de/model-config#customize-pinned-model-display-and-capabilities), die das angeheftete Haiku-Modell unterstützt, zum Beispiel `effort,thinking`. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |169| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | Kommagetrennte Liste der [Fähigkeiten](/docs/de/model-config#customize-pinned-model-display-and-capabilities), die das fixierte Haiku-Modell unterstützt, zum Beispiel `effort,thinking`. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

170| `ANTHROPIC_DEFAULT_MODEL` | Modell, auf dem neue Sitzungen standardmäßig starten. Erfordert Claude Code v2.1.236 oder später. Siehe [Standardmodell für neue Sitzungen festlegen](/docs/de/model-config#set-a-default-model-for-new-sessions) |170| `ANTHROPIC_DEFAULT_MODEL` | Modell, mit dem neue Sitzungen standardmäßig starten. Erfordert Claude Code v2.1.236 oder höher. Siehe [Ein Standardmodell für neue Sitzungen festlegen](/docs/de/model-config#set-a-default-model-for-new-sessions) |

171| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Modell-ID, zu der der `opus`-Alias aufgelöst wird, und die `opusplan` verwendet, während Plan Mode aktiv ist. Siehe [Modellkonfiguration](/docs/de/model-config#environment-variables) |171| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Modell-ID, auf die der Alias `opus` aufgelöst wird und die `opusplan` verwendet, solange der Plan-Modus aktiv ist. Siehe [Modellkonfiguration](/docs/de/model-config#environment-variables) |

172| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Anzeigebeschreibung für das angeheftete Opus-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile eine Standardbeschreibung, die mit `Custom Opus model` beginnt. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |172| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Angezeigte Beschreibung für das fixierte Opus-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile eine Standardbeschreibung, die mit `Custom Opus model` beginnt. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

173| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Anzeigename für das angeheftete Opus-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile den Namen des Modells an, wenn Claude Code die angeheftete ID erkennt, und die angeheftete ID andernfalls. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |173| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Anzeigename für das fixierte Opus-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile den Namen des Modells, sofern Claude Code die fixierte ID erkennt, andernfalls die fixierte ID. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

174| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Komma-getrennte Liste von [Fähigkeiten](/docs/de/model-config#customize-pinned-model-display-and-capabilities), die das angeheftete Opus-Modell unterstützt, zum Beispiel `effort,thinking`. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |174| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Kommagetrennte Liste der [Fähigkeiten](/docs/de/model-config#customize-pinned-model-display-and-capabilities), die das fixierte Opus-Modell unterstützt, zum Beispiel `effort,thinking`. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

175| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Modell-ID, zu der der `sonnet`-Alias aufgelöst wird, und die `opusplan` verwendet, wenn Plan Mode nicht aktiv ist. Siehe [Modellkonfiguration](/docs/de/model-config#environment-variables) |175| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Modell-ID, auf die der Alias `sonnet` aufgelöst wird und die `opusplan` verwendet, wenn der Plan-Modus nicht aktiv ist. Siehe [Modellkonfiguration](/docs/de/model-config#environment-variables) |

176| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | Anzeigebeschreibung für das angeheftete Sonnet-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile eine Standardbeschreibung, die mit `Custom Sonnet model` beginnt. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |176| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | Angezeigte Beschreibung für das fixierte Sonnet-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile eine Standardbeschreibung, die mit `Custom Sonnet model` beginnt. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

177| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Anzeigename für das angeheftete Sonnet-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile den Namen des Modells an, wenn Claude Code die angeheftete ID erkennt, und die angeheftete ID andernfalls. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |177| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Anzeigename für das fixierte Sonnet-Modell in der `/model`-Auswahl. Wenn nicht gesetzt, zeigt die Zeile den Namen des Modells, sofern Claude Code die fixierte ID erkennt, andernfalls die fixierte ID. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

178| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | Komma-getrennte Liste von [Fähigkeiten](/docs/de/model-config#customize-pinned-model-display-and-capabilities), die das angeheftete Sonnet-Modell unterstützt, zum Beispiel `effort,thinking`. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |178| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | Kommagetrennte Liste der [Fähigkeiten](/docs/de/model-config#customize-pinned-model-display-and-capabilities), die das fixierte Sonnet-Modell unterstützt, zum Beispiel `effort,thinking`. Siehe [Modellkonfiguration](/docs/de/model-config#customize-pinned-model-display-and-capabilities) |

179| `ANTHROPIC_FEDERATION_RULE_ID` | Föderations-Regel-ID für [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Wenn Sie sie zusammen mit `ANTHROPIC_ORGANIZATION_ID` setzen, wählt Claude Code Föderations-Credentials, die über Ihrem `/login`-Credential rangieren. Siehe [Authentifizierungspriorität](/docs/de/authentication#authentication-precedence) |179| `ANTHROPIC_FEDERATION_RULE_ID` | Föderationsregel-ID für [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Wenn Sie sie zusammen mit `ANTHROPIC_ORGANIZATION_ID` setzen, wählt Claude Code Föderations-Anmeldedaten aus, die Vorrang vor Ihren `/login`-Anmeldedaten haben. Siehe [Rangfolge der Authentifizierung](/docs/de/authentication#authentication-precedence) |

180| `ANTHROPIC_FOUNDRY_API_KEY` | API-Schlüssel für Microsoft Foundry-Authentifizierung (siehe [Microsoft Foundry](/docs/de/microsoft-foundry)) |180| `ANTHROPIC_FOUNDRY_API_KEY` | API-Schlüssel für die Authentifizierung bei Microsoft Foundry (siehe [Microsoft Foundry](/docs/de/microsoft-foundry)) |

181| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Bearer-Token für Microsoft Foundry-Authentifizierung, wie ein Microsoft Entra-Zugriffstoken. Claude Code sendet es als `Authorization: Bearer`-Header. Hat Vorrang vor `ANTHROPIC_FOUNDRY_API_KEY` und vor der Azure-Standard-Credential-Kette. Siehe [Microsoft Foundry](/docs/de/microsoft-foundry). Erfordert Claude Code v2.1.203 oder später |181| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Bearer-Token für die Authentifizierung bei Microsoft Foundry, etwa ein Microsoft-Entra-Zugriffstoken. Claude Code sendet es als `Authorization: Bearer`-Header. Hat Vorrang vor `ANTHROPIC_FOUNDRY_API_KEY` und vor der Azure-Standardkette für Anmeldedaten. Siehe [Microsoft Foundry](/docs/de/microsoft-foundry). Erfordert Claude Code v2.1.203 oder höher |

182| `ANTHROPIC_FOUNDRY_BASE_URL` | Vollständige Basis-URL für die Microsoft Foundry-Ressource (zum Beispiel `https://my-resource.services.ai.azure.com/anthropic`). Alternative zu `ANTHROPIC_FOUNDRY_RESOURCE` (siehe [Microsoft Foundry](/docs/de/microsoft-foundry)) |182| `ANTHROPIC_FOUNDRY_BASE_URL` | Vollständige Basis-URL für die Microsoft-Foundry-Ressource (zum Beispiel `https://my-resource.services.ai.azure.com/anthropic`). Alternative zu `ANTHROPIC_FOUNDRY_RESOURCE` (siehe [Microsoft Foundry](/docs/de/microsoft-foundry)) |

183| `ANTHROPIC_FOUNDRY_RESOURCE` | Name der Microsoft Foundry-Ressource (zum Beispiel `my-resource`). Claude Code [lehnt eine URL oder einen Hostnamen ab](/docs/de/errors#anthropic-foundry-resource-must-be-a-foundry-resource-name). Erforderlich, wenn `ANTHROPIC_FOUNDRY_BASE_URL` nicht gesetzt ist (siehe [Microsoft Foundry](/docs/de/microsoft-foundry)) |183| `ANTHROPIC_FOUNDRY_RESOURCE` | Name der Microsoft-Foundry-Ressource (zum Beispiel `my-resource`). Claude Code [lehnt eine URL oder einen Hostnamen ab](/docs/de/errors#anthropic-foundry-resource-must-be-a-foundry-resource-name). Erforderlich, wenn `ANTHROPIC_FOUNDRY_BASE_URL` nicht gesetzt ist (siehe [Microsoft Foundry](/docs/de/microsoft-foundry)) |

184| `ANTHROPIC_MODEL` | Name der zu verwendenden Modelleinstellung (siehe [Modellkonfiguration](/docs/de/model-config#environment-variables)) |184| `ANTHROPIC_MODEL` | Name der zu verwendenden Modelleinstellung (siehe [Modellkonfiguration](/docs/de/model-config#environment-variables)) |

185| `ANTHROPIC_ORGANIZATION_ID` | Organisations-ID für [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Setzen Sie sie zusammen mit `ANTHROPIC_FEDERATION_RULE_ID`. Siehe [Authentifizierungspriorität](/docs/de/authentication#authentication-precedence) |185| `ANTHROPIC_ORGANIZATION_ID` | Organisations-ID für [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Setzen Sie sie zusammen mit `ANTHROPIC_FEDERATION_RULE_ID`. Siehe [Rangfolge der Authentifizierung](/docs/de/authentication#authentication-precedence) |

186| `ANTHROPIC_PROFILE` | Name des Anthropic-Profils, mit dem authentifiziert werden soll, wie eines, das von [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) erstellt wurde, oder durch [Anmeldung bei einem Console-Konto ohne API-Schlüssel](/docs/de/authentication#sign-in-without-an-api-key). Siehe [Authentifizierungspriorität](/docs/de/authentication#authentication-precedence) |186| `ANTHROPIC_PROFILE` | Name des Anthropic-Profils, mit dem authentifiziert wird, etwa eines, das mit [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) oder durch [Anmelden bei einem Console-Konto ohne API-Schlüssel](/docs/de/authentication#sign-in-without-an-api-key) erstellt wurde. Siehe [Rangfolge der Authentifizierung](/docs/de/authentication#authentication-precedence) |

187| `ANTHROPIC_SMALL_FAST_MODEL` | \[VERALTET] Name von [Haiku-Klasse-Modell für Hintergrundaufgaben](/docs/de/costs) |187| `ANTHROPIC_SMALL_FAST_MODEL` | \[VERALTET] Name des [Modells der Haiku-Klasse für Hintergrundaufgaben](/docs/de/costs) |

188| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Überschreiben Sie die AWS-Region für das Haiku-Klasse-Modell bei Verwendung von Amazon Bedrock oder Amazon Bedrock Mantle. Bei Amazon Bedrock tritt dies nur in Kraft, wenn `ANTHROPIC_DEFAULT_HAIKU_MODEL` oder das veraltete `ANTHROPIC_SMALL_FAST_MODEL` auch gesetzt ist, da Amazon Bedrock andernfalls Hintergrundaufgaben auf dem [Standard-Sonnet-Modell oder dem primären Modell](/docs/de/amazon-bedrock#4-pin-model-versions) in der Sitzungsregion ausführt |188| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Überschreibt die AWS-Region für das Modell der Haiku-Klasse bei Verwendung von Amazon Bedrock oder Amazon Bedrock Mantle. Auf Amazon Bedrock wirkt dies nur, wenn auch `ANTHROPIC_DEFAULT_HAIKU_MODEL` oder das veraltete `ANTHROPIC_SMALL_FAST_MODEL` gesetzt ist, da Amazon Bedrock Hintergrundaufgaben andernfalls mit dem [Standard-Sonnet-Modell oder dem primären Modell](/docs/de/amazon-bedrock#4-pin-model-versions) in der Region der Sitzung ausführt |

189| `ANTHROPIC_VERTEX_BASE_URL` | Überschreiben Sie die Google Cloud's Agent Platform-Endpunkt-URL. Verwenden Sie dies für benutzerdefinierte Google Cloud's Agent Platform-Endpunkte oder beim Routing durch ein [LLM-Gateway](/docs/de/llm-gateway). Siehe [Google Cloud's Agent Platform](/docs/de/google-vertex-ai) |189| `ANTHROPIC_VERTEX_BASE_URL` | Überschreibt die Endpunkt-URL von Google Cloud's Agent Platform. Verwenden Sie dies für benutzerdefinierte Endpunkte von Google Cloud's Agent Platform oder beim Routing über ein [LLM-Gateway](/docs/de/llm-gateway). Siehe [Google Cloud's Agent Platform](/docs/de/google-vertex-ai) |

190| `ANTHROPIC_VERTEX_PROJECT_ID` | GCP-Projekt-ID, an die Google Cloud's Agent Platform-Anfragen adressiert werden. Siehe [GCP-Credentials konfigurieren](/docs/de/google-vertex-ai#3-configure-gcp-credentials) |190| `ANTHROPIC_VERTEX_PROJECT_ID` | GCP-Projekt-ID, an die Anfragen an Google Cloud's Agent Platform adressiert werden. Siehe [GCP-Anmeldedaten konfigurieren](/docs/de/google-vertex-ai#3-configure-gcp-credentials) |

191| `ANTHROPIC_WORKSPACE_ID` | Workspace-ID für [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Setzen Sie dies, wenn Ihre Föderations-Regel auf mehr als einen Workspace begrenzt ist, damit der Token-Austausch weiß, welcher Workspace das Ziel ist |191| `ANTHROPIC_WORKSPACE_ID` | Workspace-ID für [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Setzen Sie diese, wenn Ihre Föderationsregel auf mehr als einen Workspace beschränkt ist, damit der Token-Austausch weiß, welcher Workspace das Ziel ist |

192| `API_FORCE_IDLE_TIMEOUT` | Überschreiben Sie das 5-Minuten-Body-Idle-Timeout, das eine Streaming-Modell-Antwort abbricht, wenn keine Bytes ankommen. Setzen Sie auf `0`, um das Timeout auszuschalten, zum Beispiel wenn ein langsames [Gateway](/docs/de/llm-gateway) oder lokales Modell länger als 5 Minuten zwischen Chunks pausiert, oder `1`, um es für jeden Provider einzuschalten. Wenn nicht gesetzt, ist das Timeout bei Providern außer der direkten Anthropic API und [Claude Platform on AWS](/docs/de/claude-platform-on-aws) aktiv. Die [Stream-Watchdogs](/docs/de/network-config#streaming-idle-watchdogs) laufen unabhängig davon und brechen eine lange stille Pause ab, auch wenn Sie hier `0` setzen |192| `API_FORCE_IDLE_TIMEOUT` | Überschreibt den 5-minütigen Leerlauf-Timeout für den Response-Body, der eine gestreamte Modellantwort abbricht, wenn keine Bytes eintreffen. Setzen Sie `0`, um den Timeout auszuschalten, zum Beispiel wenn ein langsames [Gateway](/docs/de/llm-gateway) oder lokales Modell zwischen Chunks länger als 5 Minuten pausiert, oder `1`, um ihn für jeden Anbieter eingeschaltet zu lassen. Wenn nicht gesetzt, ist der Timeout bei anderen Anbietern als der direkten Anthropic API, [Claude Platform on AWS](/docs/de/claude-platform-on-aws) und Amazon Bedrock mit gesetztem `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` aktiv. Die [Stream-Watchdogs](/docs/de/network-config#streaming-idle-watchdogs) laufen unabhängig davon und brechen eine lange stille Pause auch dann ab, wenn Sie hier `0` setzen |

193| `API_TIMEOUT_MS` | Timeout für API-Anfragen in Millisekunden (Standard: 600000 oder 10 Minuten; Maximum: 2147483647). Erhöhen Sie dies, wenn Anfragen bei langsamen Netzwerken oder beim Routing durch einen Proxy timeout. Werte über dem Maximum führen zu Überläufen des zugrunde liegenden Timers und verursachen, dass Anfragen sofort fehlschlagen |193| `API_TIMEOUT_MS` | Timeout für API-Anfragen in Millisekunden (Standard: 600000 bzw. 10 Minuten; Maximum: 2147483647). Erhöhen Sie diesen Wert, wenn Anfragen in langsamen Netzwerken oder beim Routing über einen Proxy in eine Zeitüberschreitung laufen. Werte über dem Maximum lassen den zugrunde liegenden Timer überlaufen und führen dazu, dass Anfragen sofort fehlschlagen |

194| `AWS_BEARER_TOKEN_BEDROCK` | Amazon Bedrock API-Schlüssel für Authentifizierung (siehe [Amazon Bedrock API-Schlüssel](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |194| `AWS_BEARER_TOKEN_BEDROCK` | Amazon-Bedrock-API-Schlüssel für die Authentifizierung (siehe [Amazon-Bedrock-API-Schlüssel](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |

195| `BASH_DEFAULT_TIMEOUT_MS` | Standard-Timeout für einen Befehl des Bash- oder PowerShell-Tools im Vordergrund, in Millisekunden (Standard: 120000, also 2 Minuten). Ein Standardwert von mehr als 30 Minuten wird in unbeaufsichtigten Sitzungen außerdem zum Standard-[Zeitlimit für Hintergrundbefehle](/docs/de/tools-reference#time-limit-for-background-commands). Das Zeitlimit für Hintergrundbefehle erfordert Claude Code v2.1.285 oder höher |195| `BASH_DEFAULT_TIMEOUT_MS` | Standard-Timeout für einen Bash- oder PowerShell-Tool-Befehl im Vordergrund, in Millisekunden (Standard: 120000 bzw. 2 Minuten). Ein Standardwert von mehr als 30 Minuten wird in unbeaufsichtigten Sitzungen außerdem zum Standard-[Zeitlimit für Hintergrundbefehle](/docs/de/tools-reference#time-limit-for-background-commands). Das Zeitlimit für Hintergrundbefehle erfordert Claude Code v2.1.285 oder höher |

196| `BASH_MAX_OUTPUT_LENGTH` | Maximale Anzahl von Zeichen der Bash-Ausgabe, die Claude Code in das Ergebnis eines Befehls zurückliest (Standard: 30000; Maximum: 150000). Wenn Sie die [`bashOutputMaxChars`](/docs/de/settings-reference#bashoutputmaxchars)-Einstellung setzen, ignoriert Claude Code diese Variable. Siehe [Ausgabebegrenzungen](/docs/de/tools-reference#output-limits) |196| `BASH_MAX_OUTPUT_LENGTH` | Maximale Anzahl von Zeichen der Bash-Ausgabe, die Claude Code in das Ergebnis eines Befehls zurückliest (Standard: 30000; Maximum: 150000). Wenn Sie die Einstellung [`bashOutputMaxChars`](/docs/de/settings-reference#bashoutputmaxchars) setzen, ignoriert Claude Code diese Variable. Siehe [Ausgabelimits](/docs/de/tools-reference#output-limits) |

197| `BASH_MAX_TIMEOUT_MS` | Maximaler Timeout, den das Modell für einen Befehl des Bash- oder PowerShell-Tools im Vordergrund festlegen kann, in Millisekunden (Standard: 600000, also 10 Minuten). Die effektive Obergrenze ist der größere Wert aus dieser Variable und `BASH_DEFAULT_TIMEOUT_MS`. Eine effektive Obergrenze von mehr als 2 Stunden wird in unbeaufsichtigten Sitzungen außerdem zum maximalen [Zeitlimit für Hintergrundbefehle](/docs/de/tools-reference#time-limit-for-background-commands). Das Zeitlimit für Hintergrundbefehle erfordert Claude Code v2.1.285 oder höher |197| `BASH_MAX_TIMEOUT_MS` | Maximaler Timeout, den das Modell für einen Bash- oder PowerShell-Tool-Befehl im Vordergrund festlegen kann, in Millisekunden (Standard: 600000 bzw. 10 Minuten). Die effektive Obergrenze ist der größere Wert aus diesem und `BASH_DEFAULT_TIMEOUT_MS`. Eine effektive Obergrenze von mehr als 2 Stunden wird in unbeaufsichtigten Sitzungen außerdem zum maximalen [Zeitlimit für Hintergrundbefehle](/docs/de/tools-reference#time-limit-for-background-commands). Das Zeitlimit für Hintergrundbefehle erfordert Claude Code v2.1.285 oder höher |

198| `BETA_TRACING_ENDPOINT` | OTLP-Endpunkt für [detailliertes Beta-Tracing](/docs/de/monitoring-usage#traces-beta): mit `ENABLE_BETA_TRACING_DETAILED=1` gehen Logs und Traces dorthin anstatt zu den konfigurierten Exportern. Setzen Sie es in Ihrer Shell, Benutzereinstellungen oder verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert |198| `BETA_TRACING_ENDPOINT` | OTLP-Endpunkt für [detailliertes Beta-Tracing](/docs/de/monitoring-usage#traces-beta): Mit `ENABLE_BETA_TRACING_DETAILED=1` gehen Logs und Traces dorthin statt an die konfigurierten Exporter. Setzen Sie ihn in Ihrer Shell, in den Benutzereinstellungen oder in den verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert |

199| `CCR_FORCE_BUNDLE` | Setzen Sie auf `1`, um [`claude --cloud`](/docs/de/claude-code-on-the-web#send-local-repositories-without-github) zu zwingen, Ihr lokales Repository zu bündeln und hochzuladen, anstatt es von seinem Remote zu klonen |199| `CCR_FORCE_BUNDLE` | Setzen Sie `1`, um [`claude --cloud`](/docs/de/claude-code-on-the-web#send-local-repositories-without-github) zu zwingen, Ihr lokales Repository zu bündeln und hochzuladen, anstatt es von seinem Remote zu klonen |

200| `CLAUDECODE` | Setzen Sie auf `1` in Subprozessen, die Claude Code spawnt (Bash- und PowerShell-Tools, tmux-Sitzungen, [Hook](/docs/de/hooks)-Befehle, [Status-Zeile](/docs/de/statusline)-Befehle, stdio [MCP-Server](/docs/de/mcp)-Subprozesse). IDE-Erweiterungen setzen dies auch in ihren integrierten Terminals. Verwenden Sie dies, um zu erkennen, wenn ein Skript in einem Subprocess läuft, der von Claude Code spawnt wurde. Um zu überprüfen, ob der aktuelle Prozess direkt von einem Tool-Aufruf oder Hook spawnt wurde, anstatt in einem stdio MCP-Server, den Claude Code gestartet hat, verwenden Sie stattdessen `CLAUDE_CODE_CHILD_SESSION` |200| `CLAUDECODE` | Wird in Unterprozessen, die Claude Code startet (Bash- und PowerShell-Tools, tmux-Sitzungen, [Hook](/docs/de/hooks)-Befehle, [Statuszeilen](/docs/de/statusline)-Befehle, stdio-[MCP-Server](/docs/de/mcp)-Unterprozesse), auf `1` gesetzt. IDE-Erweiterungen setzen dies ebenfalls in ihren integrierten Terminals. Verwenden Sie dies, um zu erkennen, wann ein Skript in einem von Claude Code gestarteten Unterprozess läuft. Um zu prüfen, ob der aktuelle Prozess direkt durch einen Tool-Aufruf oder Hook gestartet wurde statt innerhalb eines von Claude Code gestarteten stdio-MCP-Servers, verwenden Sie stattdessen `CLAUDE_CODE_CHILD_SESSION` |

201| `CLAUDE_AFK_COUNTDOWN_MS` | Wie viele Millisekunden vor Auto-Continue der Countdown auf dem Bildschirm auf einem unbeantworteten [`AskUserQuestion`](/docs/de/tools-reference)-Dialog erscheint. Standard `20000` (20 Sekunden), begrenzt durch das Auto-Continue-Timeout. Hat keine Auswirkung, wenn Auto-Continue nicht eingeschaltet ist; siehe die [`askUserQuestionTimeout`](/docs/de/settings-reference#askuserquestiontimeout)-Einstellung und `CLAUDE_AFK_TIMEOUT_MS`. Erfordert Claude Code v2.1.198 oder später |201| `CLAUDE_AFK_COUNTDOWN_MS` | Wie viele Millisekunden vor dem automatischen Fortfahren der Countdown auf dem Bildschirm in einem unbeantworteten [`AskUserQuestion`](/docs/de/tools-reference)-Dialog erscheint. Standard `20000` (20 Sekunden), begrenzt auf den Timeout für das automatische Fortfahren. Hat keine Wirkung, sofern das automatische Fortfahren nicht eingeschaltet ist; siehe die Einstellung [`askUserQuestionTimeout`](/docs/de/settings-reference#askuserquestiontimeout) und `CLAUDE_AFK_TIMEOUT_MS`. Erfordert Claude Code v2.1.198 oder höher |

202| `CLAUDE_AFK_TIMEOUT_MS` | Wie viele Millisekunden Leerlaufzeit, bevor ein unbeantworteter [`AskUserQuestion`](/docs/de/tools-reference)-Dialog ohne Sie auto-continues. Auto-Continue ist standardmäßig aus; aktivieren Sie es mit der [`askUserQuestionTimeout`](/docs/de/settings-reference#askuserquestiontimeout)-Einstellung. Diese Variable ist ein Override für Demos und automatisierte Tests: wenn gesetzt, hat sie Vorrang vor dieser Einstellung und schaltet Auto-Continue ein, auch wenn die Einstellung nicht gesetzt oder `never` ist. Das Setzen von `0` schaltet das Timeout nicht aus; es schließt den Dialog sofort. In v2.1.198 und v2.1.199 war Auto-Continue standardmäßig mit einem `60000` (60 Sekunden)-Timeout eingeschaltet. Erfordert Claude Code v2.1.198 oder später |202| `CLAUDE_AFK_TIMEOUT_MS` | Wie viele Millisekunden Leerlaufzeit vergehen, bevor ein unbeantworteter [`AskUserQuestion`](/docs/de/tools-reference)-Dialog ohne Sie automatisch fortfährt. Das automatische Fortfahren ist standardmäßig ausgeschaltet; aktivieren Sie es mit der Einstellung [`askUserQuestionTimeout`](/docs/de/settings-reference#askuserquestiontimeout). Diese Variable ist eine Überschreibung für Demos und automatisierte Tests: Wenn gesetzt, hat sie Vorrang vor dieser Einstellung und schaltet das automatische Fortfahren ein, auch wenn die Einstellung nicht gesetzt oder `never` ist. Das Setzen von `0` schaltet den Timeout nicht aus; es schließt den Dialog sofort. In v2.1.198 und v2.1.199 war das automatische Fortfahren standardmäßig mit einem Timeout von `60000` (60 Sekunden) eingeschaltet. Erfordert Claude Code v2.1.198 oder höher |

203| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Setzen Sie auf `1`, um alle integrierten [Subagent](/docs/de/sub-agents)-Typen wie Explore und Plan zu deaktivieren. Gilt nur im nicht-interaktiven Modus (das `-p`-Flag). Nützlich für SDK-Benutzer, die eine leere Tafel wünschen. Dies entfernt auch `general-purpose`, den Subagent, den Claude Code ausführt, wenn ein Agent-Tool-Aufruf `subagent_type` auslässt. Ein solcher Aufruf schlägt dann mit [`subagent_type is required`](/docs/de/errors#subagent-type-is-required) fehl |203| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Setzen Sie `1`, um alle integrierten [Subagenten](/docs/de/sub-agents)-Typen wie Explore und Plan zu deaktivieren. Gilt nur im nicht interaktiven Modus (Flag `-p`). Nützlich für SDK-Benutzer, die bei null anfangen möchten. Dadurch wird auch `general-purpose` entfernt, der Subagent, den Claude Code ausführt, wenn ein Agent-Tool-Aufruf `subagent_type` weglässt. Ein solcher Aufruf schlägt dann mit [`subagent_type is required`](/docs/de/errors#subagent-type-is-required) fehl |

204| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Setzen Sie auf `1`, um das `mcp__<server>__`-Präfix bei Tool-Namen von SDK-erstellten MCP-Servern zu überspringen. Tools verwenden ihre ursprünglichen Namen. Nur SDK-Verwendung |204| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Setzen Sie `1`, um das Präfix `mcp__<server>__` bei Tool-Namen von SDK-erstellten MCP-Servern wegzulassen. Tools verwenden ihre ursprünglichen Namen. Nur für die SDK-Nutzung |

205| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Stall-Timeout in Millisekunden für Subagents. Standard `600000` (10 Minuten); wenn Sie `CLAUDE_STREAM_IDLE_TIMEOUT_MS` erhöhen, während der Stream-Watchdog eingeschaltet ist, steigt der Standard mit ihm, wie [Langsame oder steckengebliebene API-Antworten handhaben](/docs/de/agent-sdk/typescript#handle-slow-or-stalled-api-responses) beschreibt. Der Timer setzt sich bei jedem Streaming-Fortschrittsereignis zurück; wenn kein Fortschritt innerhalb des Fensters ankommt, bricht Claude Code den Subagent ab und meldet den Stall dem übergeordneten |205| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Stillstands-Timeout in Millisekunden für Subagenten. Standard `600000` (10 Minuten); wenn Sie `CLAUDE_STREAM_IDLE_TIMEOUT_MS` erhöhen, während der Stream-Watchdog eingeschaltet ist, steigt der Standardwert mit, wie in [Langsame oder stockende API-Antworten behandeln](/docs/de/agent-sdk/typescript#handle-slow-or-stalled-api-responses) beschrieben. Der Timer wird bei jedem Streaming-Fortschrittsereignis zurückgesetzt; trifft innerhalb des Zeitfensters kein Fortschritt ein, bricht Claude Code den Subagenten ab und meldet den Stillstand an den übergeordneten Agenten |

206| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Setzen Sie den Prozentsatz (1-100) des Auto-Compact-Fensters, bei dem Auto-Compaction ausgelöst wird. Verwenden Sie niedrigere Werte wie `50`, um früher zu komprimieren; die Variable kann die Schwelle nicht erhöhen, daher werden Werte über dem Standard-Prozentsatz ignoriert. Sie gilt nur in Sitzungen, die [vor dem Kontext-Limit des Modells komprimieren](/docs/de/model-config#context-window-and-auto-compaction). Gilt für Hauptkonversationen und Subagents |206| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Legt den Prozentsatz (1-100) des Fensters für die automatische Komprimierung fest, bei dem die automatische Komprimierung ausgelöst wird. Verwenden Sie niedrigere Werte wie `50`, um früher zu komprimieren; die Variable kann den Schwellenwert nicht anheben, daher werden Werte über dem Standardprozentsatz ignoriert. Sie gilt nur in Sitzungen, die [vor dem Kontextlimit des Modells komprimieren](/docs/de/model-config#context-window-and-auto-compaction). Gilt sowohl für Hauptkonversationen als auch für Subagenten |

207| `CLAUDE_AUTO_BACKGROUND_TASKS` | Setzen Sie auf `1`, um automatisches Backgrounding von lang laufenden Agent-Aufgaben zu erzwingen. Wenn aktiviert, werden Subagents nach etwa zwei Minuten Laufzeit in den Hintergrund verschoben. Aktiviert auch [automatisches Backgrounding von langen MCP-Tool-Aufrufen](/docs/de/mcp#automatic-backgrounding-of-long-tool-calls) im nicht-interaktiven Modus auf Claude Code v2.1.212 oder später |207| `CLAUDE_AUTO_BACKGROUND_TASKS` | Setzen Sie `1`, um das automatische Verschieben lang laufender Agentenaufgaben in den Hintergrund zwangsweise zu aktivieren. Wenn aktiviert, werden Subagenten nach etwa zwei Minuten Laufzeit in den Hintergrund verschoben. Aktiviert außerdem das [automatische Verschieben langer MCP-Tool-Aufrufe in den Hintergrund](/docs/de/mcp#automatic-backgrounding-of-long-tool-calls) im nicht interaktiven Modus ab Claude Code v2.1.212 |

208| `CLAUDE_AX_PREPARK_MS` | Im [Screenreader-Modus](/docs/de/accessibility): wie viele Millisekunden Claude Code wartet, bevor es eine neue oder geänderte Zeile schreibt. Standard `0`, sodass Claude Code nicht wartet. Vor v2.1.287 war der Standard `50`. Claude Code begrenzt die Wartezeit auf `5000`. Erfordert Claude Code v2.1.233 oder neuer |208| `CLAUDE_AX_PREPARK_MS` | Im [Screenreader-Modus](/docs/de/accessibility) die Anzahl der Millisekunden, die Claude Code wartet, bevor es eine neue oder geänderte Zeile schreibt. Standard `0`, sodass Claude Code nicht wartet. Vor v2.1.287 war der Standardwert `50`. Claude Code begrenzt die Wartezeit auf `5000`. Erfordert Claude Code v2.1.233 oder höher |

209| `CLAUDE_AX_SCREEN_READER` | Setzen Sie auf `1`, um Screen-Reader-freundliche Ausgabe zu rendern: flacher Text ohne dekorative Rahmen oder Animationen. Setzen Sie auf `0`, um Screen-Reader-Modus zu erzwingen, auch wenn [`axScreenReader`](/docs/de/settings-reference#axscreenreader) `true` ist. Das [`--ax-screen-reader`](/docs/de/cli-reference#cli-flags)-Flag hat Vorrang. Erfordert Claude Code v2.1.181 oder später |209| `CLAUDE_AX_SCREEN_READER` | Setzen Sie `1`, um eine screenreaderfreundliche Ausgabe darzustellen: flacher Text ohne dekorative Rahmen oder Animationen. Setzen Sie `0`, um den Screenreader-Modus zwangsweise auszuschalten, auch wenn [`axScreenReader`](/docs/de/settings-reference#axscreenreader) `true` ist. Das Flag [`--ax-screen-reader`](/docs/de/cli-reference#cli-flags) hat Vorrang. Erfordert Claude Code v2.1.181 oder höher |

210| `CLAUDE_AX_STARTUP_QUIET_MS` | Im [Screen-Reader-Modus](/docs/de/accessibility) wie viele Millisekunden Claude Code das erste Interface-Rendering nach der Startup-Bestätigungszeile hält, damit Ihr Screen Reader die Zeile vollständig sprechen kann, bevor neue Ausgabe sie unterbricht. Standard `3000`. Setzen Sie `0`, um sofort zu rendern. Claude Code begrenzt das Halten auf `600000` (10 Minuten). Ihr erster Tastendruck beendet das Halten früh. Erfordert Claude Code v2.1.217 oder später |210| `CLAUDE_AX_STARTUP_QUIET_MS` | Im [Screenreader-Modus](/docs/de/accessibility) die Anzahl der Millisekunden, die Claude Code die erste Darstellung der Oberfläche nach der Startbestätigungszeile zurückhält, damit Ihr Screenreader die Zeile vollständig vorlesen kann, bevor neue Ausgabe sie unterbricht. Standard `3000`. Setzen Sie `0`, um sofort darzustellen. Claude Code begrenzt das Zurückhalten auf `600000` (10 Minuten). Ihr erster Tastendruck beendet das Zurückhalten vorzeitig. Erfordert Claude Code v2.1.217 oder höher |

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

212| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | Timeout in Millisekunden für den Byte-Level-Streaming-Idle-Watchdog; wenn gesetzt, hat er Vorrang vor `CLAUDE_STREAM_IDLE_TIMEOUT_MS` für diesen Watchdog und lässt den Event-Level-Watchdog unverändert. Claude Code begrenzt diese Variable auf zwischen 10 Sekunden und 30 Minuten. Erfordert Claude Code v2.1.210 oder später |212| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | Timeout in Millisekunden für den Streaming-Leerlauf-Watchdog auf Byte-Ebene; wenn gesetzt, hat er für diesen Watchdog Vorrang vor `CLAUDE_STREAM_IDLE_TIMEOUT_MS` und lässt den Watchdog auf Ereignisebene unverändert. Claude Code begrenzt diese Variable auf einen Wert zwischen 10 Sekunden und 30 Minuten. Erfordert Claude Code v2.1.210 oder höher |

213| `CLAUDE_CLIENT_PRESENCE_FILE` | Pfad zu einer Datei, die ein externes Tool, wie ein Screen-Lock-Listener, erstellt, wenn Sie Ihren Bildschirm entsperren, und löscht, wenn Sie ihn sperren. Während die Datei existiert, überspringt Claude Code [Remote Control Mobile Push-Benachrichtigungen](/docs/de/remote-control#mobile-push-notifications), daher erhalten Sie keine Pushes mehr, während Sie den Computer aktiv nutzen. Wenn die Datei abwesend oder unlesbar ist, werden Benachrichtigungen normal gesendet. Claude Code prüft die Datei einmal pro Push-auslösendem Ereignis, anstatt sie abzufragen. Erfordert Claude Code v2.1.181 oder später |213| `CLAUDE_CLIENT_PRESENCE_FILE` | Pfad zu einer Datei, die ein externes Tool, etwa ein Listener für die Bildschirmsperre, erstellt, wenn Sie Ihren Bildschirm entsperren, und löscht, wenn Sie ihn sperren. Solange die Datei existiert, überspringt Claude Code [mobile Push-Benachrichtigungen von Remote Control](/docs/de/remote-control#mobile-push-notifications), sodass Sie keine Push-Benachrichtigungen mehr erhalten, während Sie den Computer aktiv verwenden. Wenn die Datei fehlt oder nicht lesbar ist, werden Benachrichtigungen normal gesendet. Claude Code prüft die Datei einmal pro Ereignis, das eine Push-Benachrichtigung auslöst, statt sie regelmäßig abzufragen. Erfordert Claude Code v2.1.181 oder höher |

214| `CLAUDE_CODE_ACCESSIBILITY` | Setzen Sie auf `1`, um den nativen Terminal-Cursor sichtbar zu halten und den invertierten Text-Cursor-Indikator zu deaktivieren. Ermöglicht Screen-Magnifiern wie macOS Zoom, die Cursor-Position zu verfolgen |214| `CLAUDE_CODE_ACCESSIBILITY` | Setzen Sie `1`, um den nativen Terminal-Cursor sichtbar zu halten und die Cursoranzeige mit invertiertem Text zu deaktivieren. Ermöglicht Bildschirmlupen wie macOS Zoom, der Cursorposition zu folgen |

215| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Setzen Sie auf `1`, um Memory-Dateien aus Verzeichnissen zu laden, die mit `--add-dir` angegeben sind. Lädt `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` und `CLAUDE.local.md`. Standardmäßig laden zusätzliche Verzeichnisse keine Memory-Dateien |215| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Setzen Sie `1`, um Memory-Dateien aus Verzeichnissen zu laden, die mit `--add-dir` angegeben wurden. Lädt `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` und `CLAUDE.local.md`. Standardmäßig laden zusätzliche Verzeichnisse keine Memory-Dateien |

216| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Setzen Sie auf `1`, um den gesamten Bildschirm bei jedem Frame im [Vollbild-Rendering](/docs/de/fullscreen) neu zu zeichnen, anstatt inkrementelle Updates zu senden. Verwenden Sie dies, wenn der Vollbildmodus veraltete oder falsch platzierte Text-Fragmente zeigt. Claude Code aktiviert dies automatisch für Hintergrund-Sitzungen und [Agent-Ansicht](/docs/de/agent-view) unter Windows |216| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Setzen Sie `1`, um in der [Vollbilddarstellung](/docs/de/fullscreen) bei jedem Frame den gesamten Bildschirm neu zu zeichnen, statt inkrementelle Aktualisierungen zu senden. Verwenden Sie dies, wenn der Vollbildmodus veraltete oder falsch platzierte Textfragmente anzeigt. Claude Code aktiviert dies unter Windows automatisch für Hintergrundsitzungen und die [Agentenansicht](/docs/de/agent-view) |

217| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Setzen Sie auf `1`, um den [Effort](/docs/de/model-config#adjust-effort-level)-Parameter bei jeder Anfrage zu senden, auch wenn Claude Code die Modell-ID nicht als Effort-fähig erkennt. Verwenden Sie dies beim Routing durch ein [LLM-Gateway](/docs/de/llm-gateway) oder Drittanbieter-Provider, der Modelle unter benutzerdefinierten Identifiern bereitstellt. Modelle, die den Effort-Parameter bei der API ablehnen, einschließlich Claude 3-Modelle, Sonnet 4.0 und 4.5, Opus 4.0 und 4.1 und Haiku 4.5, sind immer noch ausgeschlossen, damit Anfragen nicht fehlschlagen |217| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Setzen Sie `1`, um den Parameter [Effort](/docs/de/model-config#adjust-effort-level) mit jeder Anfrage zu senden, auch wenn Claude Code die Modell-ID nicht als Effort-fähig erkennt. Verwenden Sie dies beim Routing über ein [LLM-Gateway](/docs/de/llm-gateway) oder einen Drittanbieter, der Modelle unter benutzerdefinierten Kennungen bereitstellt. Modelle, die den Effort-Parameter an der API ablehnen, darunter Claude-3-Modelle, Sonnet 4.0 und 4.5, Opus 4.0 und 4.1 sowie Haiku 4.5, bleiben weiterhin ausgeschlossen, damit Anfragen nicht fehlschlagen |

218| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervall in Millisekunden, in dem Credentials aktualisiert werden sollten (bei Verwendung von [`apiKeyHelper`](/docs/de/settings-reference#apikeyhelper)) |218| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervall in Millisekunden, in dem Anmeldedaten aktualisiert werden sollen (bei Verwendung von [`apiKeyHelper`](/docs/de/settings-reference#apikeyhelper)) |

219| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Setzen Sie auf `0`, um Claude Code davon abzuhalten, den Browser automatisch zu öffnen, wenn ein neues [Artifact](/docs/de/artifacts#create-an-artifact) veröffentlicht wird |219| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Setzen Sie `0`, damit Claude Code den Browser nicht automatisch öffnet, wenn ein neues [Artefakt](/docs/de/artifacts#create-an-artifact) veröffentlicht wird |

220| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Setzen Sie auf `0`, um Claude davon abzuhalten, [Kommentare auf einem Artifact](/docs/de/artifacts#collect-comments-on-an-artifact) zu lesen und zu beantworten. Hat keine Auswirkung, wenn `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` [Artifacts ausgeschaltet hat](/docs/de/artifacts#availability). Erfordert Claude Code v2.1.221 oder später |220| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Setzen Sie `0`, damit Claude [Kommentare zu einem Artefakt](/docs/de/artifacts#collect-comments-on-an-artifact) nicht mehr liest und beantwortet. Hat keine Wirkung, wenn `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` [Artefakte ausgeschaltet hat](/docs/de/artifacts#availability). Erfordert Claude Code v2.1.221 oder höher |

221| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Setzen Sie auf `0`, um Claude davon abzuhalten, [auf Kommentare, die an es gesendet werden, selbst zu antworten](/docs/de/artifacts#let-claude-reply-to-comments-on-its-own). Erfordert Claude Code v2.1.228 oder später |221| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Setzen Sie `0`, damit Claude nicht mehr [selbstständig auf an ihn gesendete Kommentare antwortet](/docs/de/artifacts#let-claude-reply-to-comments-on-its-own). Erfordert Claude Code v2.1.228 oder höher |

222| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Setzen Sie auf `0`, um den [Attributionsblock](/docs/de/llm-gateway-protocol#system-prompt-attribution-block), der die Client-Version und einen Prompt-Fingerabdruck trägt, vom Anfang des System-Prompts auszulassen. Caching bei einer direkten Verbindung zur Anthropic API ist in jedem Fall unbeeinträchtigt. In einigen direkten Verbindungssetups behält Claude Code den Block bei [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode)-Klassifizierer-Anfragen, auch wenn Sie `0` setzen. In [System-Prompt-Attributionsblock](/docs/de/llm-gateway-protocol#system-prompt-attribution-block) überprüfen Sie, welche Verbindungen und Credentials dies abdeckt. Vor v2.1.181 enthielt der Block ein Pro-Request-Token bei benutzerdefinierten Basis-URLs und Microsoft Foundry-Verbindungen, daher setzen Sie auf diesen Versionen `0`, wenn Ihr LLM-Gateway auf dem Request-Body zwischenspeichert oder Anfragen an einen Drittanbieter-Provider weiterleitet, oder wenn Sie sich direkt mit Microsoft Foundry verbinden |222| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Setzen Sie `0`, um den [Attributionsblock](/docs/de/llm-gateway-protocol#system-prompt-attribution-block), der die Client-Version und einen Prompt-Fingerabdruck enthält, am Anfang des System-Prompts wegzulassen. Das Caching bei einer direkten Verbindung zur Anthropic API ist in beiden Fällen nicht betroffen. In einigen Konfigurationen mit direkter Verbindung behält Claude Code den Block bei Klassifikator-Anfragen des [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) bei, auch wenn Sie `0` setzen. Unter [Attributionsblock im System-Prompt](/docs/de/llm-gateway-protocol#system-prompt-attribution-block) können Sie prüfen, welche Verbindungen und Anmeldedaten dies betrifft. Vor v2.1.181 enthielt der Block bei benutzerdefinierten Basis-URLs und Microsoft-Foundry-Verbindungen ein anfragespezifisches Token; setzen Sie ihn bei diesen Versionen daher auf `0`, wenn Ihr LLM-Gateway anhand des Request-Bodys zwischenspeichert oder Anfragen an einen Drittanbieter weiterleitet, oder wenn Sie sich direkt mit Microsoft Foundry verbinden |

223| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Wenn `CLAUDE_AUTO_BACKGROUND_TASKS` aktiviert ist, Sekunden zwischen Erinnerungen an Claude, um [Hintergrund-Subagents](/docs/de/sub-agents#run-subagents-in-foreground-or-background) zu überprüfen, die noch laufen. Akzeptiert nur eine einfache Ganzzahl von `1` bis `86400`; jeder andere Wert oder jede andere Schreibweise wird als nicht gesetzt gelesen. Wenn nicht gesetzt, gibt es keine Check-in-Erinnerungen. Erfordert Claude Code v2.1.248 oder später |223| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Wenn `CLAUDE_AUTO_BACKGROUND_TASKS` aktiviert ist, die Sekunden zwischen Erinnerungen an Claude, nach noch laufenden [Hintergrund-Subagenten](/docs/de/sub-agents#run-subagents-in-foreground-or-background) zu sehen. Akzeptiert nur eine einfache Ganzzahl von `1` bis `86400`; jeder andere Wert und jede andere Schreibweise wird als nicht gesetzt gelesen. Wenn nicht gesetzt, gibt es keine Erinnerungen. Erfordert Claude Code v2.1.248 oder höher |

224| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Setzen Sie das [Auto-Compact-Fenster](/docs/de/model-config#set-the-auto-compact-window) in Tokens von `100000` bis `1000000`. Akzeptiert nur eine einfache Ganzzahl wie `500000`: ein Wert wie `500k` wird als `500` gelesen und auf das 100K-Minimum begrenzt. Das effektive Fenster ist auch auf das Kontext-Fenster des Modells begrenzt. Hat Vorrang vor dem `/autocompact`-Befehl, dem `--autocompact`-Flag und der `autoCompactWindow`-Einstellung. Die Status-Zeile's `used_percentage` misst immer gegen das vollständige Kontext-Fenster des Modells, daher zeigt dieser Prozentsatz nicht mehr an, wenn Compaction läuft, sobald diese Variable gesetzt ist |224| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Legt das [Fenster für die automatische Komprimierung](/docs/de/model-config#set-the-auto-compact-window) in Token fest, von `100000` bis `1000000`. Akzeptiert nur eine einfache Ganzzahl wie `500000`: Ein Wert wie `500k` wird als `500` gelesen und auf das Minimum von 100K angehoben. Das effektive Fenster ist außerdem auf das Kontextfenster des Modells begrenzt. Hat Vorrang vor dem Befehl `/autocompact`, dem Flag `--autocompact` und der Einstellung `autoCompactWindow`. Der Wert `used_percentage` der Statuszeile bezieht sich immer auf das vollständige Kontextfenster des Modells; sobald diese Variable gesetzt ist, zeigt dieser Prozentsatz daher nicht mehr an, wann die Komprimierung ausgeführt wird |

225| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Überschreiben Sie die automatische [IDE-Verbindung](/docs/de/vs-code). Standardmäßig verbindet sich Claude Code automatisch, wenn es in einem 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, wie wenn tmux das übergeordnete Terminal verdeckt. Hat Vorrang vor der [`autoConnectIde`](/docs/de/settings-reference#autoconnectide)-Einstellung der globalen Konfiguration |225| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Überschreibt die automatische [IDE-Verbindung](/docs/de/vs-code). Standardmäßig verbindet sich Claude Code automatisch, wenn es im integrierten Terminal einer unterstützten IDE gestartet wird. Setzen Sie `false`, um dies zu verhindern. Setzen Sie `true`, um einen Verbindungsversuch zu erzwingen, wenn die automatische Erkennung fehlschlägt, etwa wenn tmux das übergeordnete Terminal verdeckt. Hat Vorrang vor der globalen Konfigurationseinstellung [`autoConnectIde`](/docs/de/settings-reference#autoconnectide) |

226| `CLAUDE_CODE_AUTO_MODE_SERVER` | Steuert, ob Claude Code den Server bittet, [Auto-Mode-Aktionen zu überprüfen](/docs/de/permission-modes#server-side-classifier-review). Setzen Sie auf `0`, um stattdessen Claude Code's eigene Klassifizierer-Anfragen zu verwenden. Bei einer direkten Verbindung zur Anthropic API erfordert dies v2.1.281 oder später. Der verlinkte Abschnitt listet auf, welche Sitzungen den Server fragen, wenn die Variable nicht gesetzt ist, und ab welcher Version. Erfordert Claude Code v2.1.271 oder später |226| `CLAUDE_CODE_AUTO_MODE_SERVER` | Steuert, ob Claude Code den Server bittet, [Aktionen im Auto-Modus zu prüfen](/docs/de/permission-modes#server-side-classifier-review). Setzen Sie `0`, um stattdessen die eigenen Klassifikator-Anfragen von Claude Code zu verwenden. Bei einer direkten Verbindung zur Anthropic API ist v2.1.281 oder höher erforderlich. Der verlinkte Abschnitt listet auf, welche Sitzungen den Server fragen, wenn die Variable nicht gesetzt ist, und ab welcher Version. Erfordert Claude Code v2.1.271 oder höher |

227| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Zeit in Millisekunden, die Claude Code auf die AWS-Standard-Credential-Provider-Kette wartet, um Credentials zu produzieren, bevor die Anfrage mit [`AWS default-chain credential resolve timed out`](/docs/de/errors#aws-default-chain-credential-resolve-timed-out) fehlschlägt (Standard: `60000`). Erhöhen Sie dies, wenn ein Schritt in Ihrer Kette legitim länger braucht, wie eine Browser-basierte SSO-Anmeldung mit MFA durch einen Wrapper wie `aws-vault`. Gilt überall dort, wo Claude Code mit der Standard-Kette signiert: [Amazon Bedrock](/docs/de/amazon-bedrock#credential-caching-and-resolution-timeout), [Claude Platform on AWS](/docs/de/claude-platform-on-aws) und der [Mantle-Endpunkt](/docs/de/amazon-bedrock#use-the-mantle-endpoint). Erfordert Claude Code v2.1.207 oder später |227| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Zeit in Millisekunden, die Claude Code wartet, bis die AWS-Standardkette der Anmeldedatenanbieter Anmeldedaten liefert, bevor die Anfrage mit [`AWS default-chain credential resolve timed out`](/docs/de/errors#aws-default-chain-credential-resolve-timed-out) fehlschlägt (Standard: `60000`). Erhöhen Sie den Wert, wenn ein Schritt in Ihrer Kette berechtigterweise länger benötigt, etwa eine browserbasierte SSO-Anmeldung mit MFA über einen Wrapper wie `aws-vault`. Gilt überall dort, wo Claude Code mit der Standardkette signiert: [Amazon Bedrock](/docs/de/amazon-bedrock#credential-caching-and-resolution-timeout), [Claude Platform on AWS](/docs/de/claude-platform-on-aws) und der [Mantle-Endpunkt](/docs/de/amazon-bedrock#use-the-mantle-endpoint). Erfordert Claude Code v2.1.207 oder höher |

228| `CLAUDE_CODE_BASH_EDIT_DIFF` | Setzen Sie auf `0`, um das [Diff der Dateien, die sich geändert haben, während ein Bash-Befehl lief](/docs/de/hooks#bash), auszuschalten, oder `1`, um es in jedem Permission-Modus zu erfassen. Hat Vorrang vor der [`bashEditDiffEnabled`](/docs/de/settings-reference#basheditdiffenabled)-Einstellung. Erfordert Claude Code v2.1.269 oder später |228| `CLAUDE_CODE_BASH_EDIT_DIFF` | Setzen Sie `0`, um den [Diff der Dateien, die sich während der Ausführung eines Bash-Befehls geändert haben](/docs/de/hooks#bash), auszuschalten, oder `1`, um ihn in jedem Berechtigungsmodus aufzuzeichnen. Hat Vorrang vor der Einstellung [`bashEditDiffEnabled`](/docs/de/settings-reference#basheditdiffenabled). Erfordert Claude Code v2.1.269 oder höher |

229| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | Setzen Sie auf `0`, um eine nicht-interaktive Sitzung einen Idle-Status an ihren Host bei jedem Turn-Ende zu melden, auch während Hintergrundarbeit noch läuft. Standardmäßig meldet die Sitzung einen laufenden Status über das Turn-Ende hinaus, während Hintergrundarbeit wie ein Hintergrund-Agent oder ein [Workflow](/docs/de/workflows)-Lauf noch aktiv ist. Dies hält einen Host, der den Status beobachtet, wie eine Remote-Sitzungsliste, davon ab, anzukündigen, dass Claude auf Ihre Eingabe wartet, während Arbeit läuft. Hintergrund-Shell-Befehle, wie ein Dev-Server, halten nicht den laufenden Status. Der laufende Status-Standard und das `0`-Opt-out erfordern Claude Code v2.1.269 oder später; auf früheren Versionen setzen Sie `1`, um den laufenden Status zu halten |229| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | Setzen Sie `0`, damit eine nicht interaktive Sitzung ihrem Host am Ende jedes Turns einen Leerlaufstatus meldet, auch während noch Hintergrundarbeit läuft. Standardmäßig meldet die Sitzung über das Ende des Turns hinaus weiterhin einen laufenden Status, solange Hintergrundarbeit wie ein Hintergrund-Agent oder ein [Workflow](/docs/de/workflows)-Lauf noch aktiv ist. Dadurch wird verhindert, dass ein Host, der den Status beobachtet, etwa eine Liste von Remote-Sitzungen, mitten in der Arbeit ankündigt, dass Claude auf Ihre Eingabe wartet. Hintergrund-Shell-Befehle wie ein Dev-Server halten den laufenden Status nicht aufrecht. Der Standard für den laufenden Status und die Abwahl mit `0` erfordern Claude Code v2.1.269 oder höher; setzen Sie in früheren Versionen `1`, um den laufenden Status aufrechtzuerhalten |

230| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Wird automatisch in Bash-Tool- und [Hook-Befehl](/docs/de/hooks)-Subprozessen gesetzt, während die Sitzung eine aktive [Remote Control](/docs/de/remote-control)-Verbindung hat, und entfernt, wenn die Verbindung endet. Der Wert ist die Sitzungs-ID in `session_`-Form, der gleiche Identifier, der in der Sitzungs-`claude.ai/code`-URL erscheint, daher kann ein Skript zurück zur Sitzung verlinken, die es ausgeführt hat. Erfordert Claude Code v2.1.199 oder später. In [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) lesen Sie stattdessen `CLAUDE_CODE_REMOTE_SESSION_ID` |230| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Wird in Unterprozessen des Bash-Tools und von [Hook-Befehlen](/docs/de/hooks) automatisch gesetzt, solange die Sitzung eine aktive [Remote Control](/docs/de/remote-control)-Verbindung hat, und entfernt, wenn die Verbindung endet. Der Wert ist die ID der Sitzung in der Form `session_`, dieselbe Kennung, die in der `claude.ai/code`-URL der Sitzung erscheint, sodass ein Skript auf die Sitzung zurückverlinken kann, die es ausgeführt hat. Erfordert Claude Code v2.1.199 oder höher. In [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) lesen Sie stattdessen `CLAUDE_CODE_REMOTE_SESSION_ID` |

231| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Setzen Sie auf `0`, um Claude Code das `0x08`-Byte, auch geschrieben `^H`, als einfaches Backspace zu lesen, oder `1`, um es als Ctrl+Backspace zu lesen. Jeder Wert ersetzt den Plattform-Standard. Standardmäßig liest Claude Code es als Ctrl+Backspace unter Windows, außer wenn `TERM_PROGRAM` `mintty` oder `TERM` `cygwin` ist, und als einfaches Backspace auf macOS und Linux. Setzen Sie `0` in einem Windows-Terminal, wo [Backspace ein ganzes Wort löscht](/docs/de/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |231| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Setzen Sie `0`, damit Claude Code das Byte `0x08`, auch als `^H` geschrieben, als einfaches Backspace liest, oder `1`, um es als Ctrl+Backspace zu lesen. Jeder der beiden Werte ersetzt den Plattformstandard. Standardmäßig liest Claude Code es unter Windows als Ctrl+Backspace, außer wenn `TERM_PROGRAM` `mintty` oder `TERM` `cygwin` ist, und unter macOS und Linux als einfaches Backspace. Setzen Sie `0` in einem Windows-Terminal, in dem [Backspace ein ganzes Wort löscht](/docs/de/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |

232| `CLAUDE_CODE_CERT_STORE` | Komma-getrennte Liste von CA-Zertifikat-Quellen für TLS-Verbindungen. `bundled` ist der Mozilla CA-Satz, der mit Claude Code ausgeliefert wird. `system` ist der Betriebssystem-Vertrauensspeicher, nur auf Runtimes mit `tls.getCACertificates` lesbar: die native Binärdatei oder Node 22.15 oder später für npm-Installationen. Siehe [CA-Zertifikat-Speicher](/docs/de/network-config#ca-certificate-store). Standard ist `bundled,system` |232| `CLAUDE_CODE_CERT_STORE` | Kommagetrennte Liste von CA-Zertifikatsquellen für TLS-Verbindungen. `bundled` ist der mit Claude Code ausgelieferte Mozilla-CA-Satz. `system` ist der Vertrauensspeicher des Betriebssystems, der nur auf Laufzeitumgebungen mit `tls.getCACertificates` gelesen wird: dem nativen Binary oder Node 22.15 oder höher bei npm-Installationen. Siehe [CA-Zertifikatsspeicher](/docs/de/network-config#ca-certificate-store). Standard ist `bundled,system` |

233| `CLAUDE_CODE_CHILD_SESSION` | Wird auf `1` in Subprozessen gesetzt, die Claude Code über die Bash-, PowerShell- und Monitor-Tools, [Hook](/docs/de/hooks)-Befehle und [Status-Zeile](/docs/de/statusline)-Befehle spawnt. Nicht gesetzt für stdio [MCP-Server](/docs/de/mcp)-Subprozesse, die langlebig sind und die Sitzung, die sie spawnt hat, überleben. Im Gegensatz zu `CLAUDECODE` wird dies nur von Claude Code selbst gesetzt, wenn es einen Subprocess startet, 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 bestehen. Setzen Sie `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1`, um diesen Ausschluss zu überschreiben. Erfordert Claude Code v2.1.172 oder später |233| `CLAUDE_CODE_CHILD_SESSION` | Wird in Unterprozessen, die Claude Code über die Tools Bash, PowerShell und Monitor, über [Hook](/docs/de/hooks)-Befehle und über [Statuszeilen](/docs/de/statusline)-Befehle startet, auf `1` gesetzt. Nicht gesetzt für stdio-[MCP-Server](/docs/de/mcp)-Unterprozesse, die langlebig sind und die Sitzung überdauern, die sie gestartet hat. Anders als `CLAUDECODE` wird dies nur von Claude Code selbst gesetzt, wenn es einen Unterprozess startet, und nicht von IDE-Erweiterungen, sodass es zuverlässig eine verschachtelte Sitzung von einem `claude` der obersten Ebene unterscheidet, das in einem IDE-integrierten Terminal gestartet wurde. Eine auf diese Weise gestartete verschachtelte interaktive `claude`-TUI wird automatisch von `--resume`, `--continue`, dem Verlauf über die Pfeil-nach-oben-Taste und der Liste `claude agents` ausgeschlossen. Nicht interaktive `claude -p`-Sitzungen werden weiterhin gespeichert. Setzen Sie `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1`, um diesen Ausschluss zu überschreiben. Erfordert Claude Code v2.1.172 oder höher |

234| `CLAUDE_CODE_CLIENT_CERT` | Pfad zu Client-Zertifikat-Datei für mTLS-Authentifizierung |234| `CLAUDE_CODE_CLIENT_CERT` | Pfad zur Client-Zertifikatsdatei für die mTLS-Authentifizierung |

235| `CLAUDE_CODE_CLIENT_KEY` | Pfad zu Client-Privatschlüssel-Datei für mTLS-Authentifizierung |235| `CLAUDE_CODE_CLIENT_KEY` | Pfad zur Datei mit dem privaten Client-Schlüssel für die mTLS-Authentifizierung |

236| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Passphrase für verschlüsselten CLAUDE\_CODE\_CLIENT\_KEY (optional) |236| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Passphrase für einen verschlüsselten CLAUDE\_CODE\_CLIENT\_KEY (optional) |

237| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Entfernt in v2.1.186 und jetzt ein No-Op. Setzte zuvor ein separates Timeout für die Connect-, TLS- und Response-Header-Phase einer Streaming-API-Anfrage. Verwenden Sie `API_TIMEOUT_MS` für das Pro-Request-Timeout. Für die Response-Header-Phase einer Streaming-Anfrage siehe `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |237| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | In v2.1.186 entfernt und jetzt wirkungslos. Legte zuvor einen separaten Timeout für die Verbindungs-, TLS- und Response-Header-Phase einer Streaming-API-Anfrage fest. Verwenden Sie `API_TIMEOUT_MS` für den Timeout pro Anfrage. Für die Response-Header-Phase einer Streaming-Anfrage siehe `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |

238| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Überschreiben Sie den Debug-Log-Dateipfad. Trotz des Namens ist dies ein Dateipfad, keine Verzeichnis. Erfordert, dass der Debug-Modus separat über `--debug`, `/debug` oder die `DEBUG`-Umgebungsvariable aktiviert wird: Das Setzen dieser Variable allein aktiviert keine Protokollierung. Das [`--debug-file`](/docs/de/cli-reference#cli-flags)-Flag macht beides auf einmal. Standardmäßig `~/.claude/debug/<session-id>.txt` |238| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Überschreibt den Pfad der Debug-Logdatei. Trotz des Namens ist dies ein Dateipfad, kein Verzeichnis. Erfordert, dass der Debug-Modus separat über `--debug`, `/debug` oder die Umgebungsvariable `DEBUG` aktiviert wird: Das Setzen dieser Variablen allein aktiviert das Logging nicht. Das Flag [`--debug-file`](/docs/de/cli-reference#cli-flags) erledigt beides gleichzeitig. Standardwert ist `~/.claude/debug/<session-id>.txt` |

239| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Minimale Log-Ebene, die in die Debug-Log-Datei geschrieben wird. Werte: `verbose`, `debug` (Standard), `info`, `warn`, `error`. Setzen Sie auf `verbose`, um hochvolumige Diagnostiken wie vollständige Status-Zeilen-Befehlsausgabe einzubeziehen, oder erhöhen Sie auf `error`, um Rauschen zu reduzieren |239| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Minimale Log-Stufe, die in die Debug-Logdatei geschrieben wird. Werte: `verbose`, `debug` (Standard), `info`, `warn`, `error`. Setzen Sie `verbose`, um umfangreiche Diagnosen wie die vollständige Ausgabe von Statuszeilen-Befehlen einzuschließen, oder erhöhen Sie auf `error`, um das Rauschen zu reduzieren |

240| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Setzen Sie auf `1`, um die Unterstützung des [1M-Kontext-Fensters](/docs/de/model-config#extended-context) zu deaktivieren. Wenn gesetzt, sind 1M-Modell-Varianten im Modell-Picker nicht verfügbar, und Claude Code hält Sitzungen auf Modellen mit einem nativen 1M-Fenster, wie [Sonnet 5.5](/docs/de/model-config#sonnet-5-5-and-sonnet-5-context-window) und die Fable-Modelle, auf ein 200K-Fenster; siehe [Extended Context](/docs/de/model-config#extended-context) für wie das Halten durchgesetzt wird. Nützlich für Enterprise-Umgebungen mit Compliance-Anforderungen. Für seine Rolle bei der Korrektur des Fensters für eine nicht erkannte `[1m]`-Modell-ID siehe [Fenster für eine Gateway- oder benutzerdefinierte Modell-ID korrigieren](/docs/de/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |240| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Setzen Sie `1`, um die Unterstützung für das [1M-Kontextfenster](/docs/de/model-config#extended-context) zu deaktivieren. Wenn gesetzt, sind 1M-Modellvarianten in der Modellauswahl nicht verfügbar, und Claude Code beschränkt Sitzungen auf Modellen mit einem nativen 1M-Fenster, etwa [Sonnet 5.5](/docs/de/model-config#sonnet-5-5-and-sonnet-5-context-window) und den Fable-Modellen, auf ein 200K-Fenster; unter [Erweiterter Kontext](/docs/de/model-config#extended-context) erfahren Sie, wie diese Beschränkung durchgesetzt wird. Nützlich für Unternehmensumgebungen mit Compliance-Anforderungen. Zu ihrer Rolle bei der Korrektur des Fensters für eine nicht erkannte `[1m]`-Modell-ID siehe [Das Fenster für ein Gateway oder eine benutzerdefinierte Modell-ID korrigieren](/docs/de/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

241| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Setzen Sie auf `1`, um [adaptives Reasoning](/docs/de/model-config#adjust-effort-level) auf Opus 4.6 und Sonnet 4.6 zu deaktivieren und auf das feste Thinking-Budget zurückzufallen, das von `MAX_THINKING_TOKENS` gesteuert wird. Hat keine Auswirkung auf [Fable-Modelle](/docs/de/model-config#extended-thinking), Sonnet 5 oder Opus 4.7 und später, die immer adaptives Reasoning verwenden |241| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Setzen Sie `1`, um [adaptives Reasoning](/docs/de/model-config#adjust-effort-level) bei Opus 4.6 und Sonnet 4.6 zu deaktivieren und auf das feste Thinking-Budget zurückzufallen, das durch `MAX_THINKING_TOKENS` gesteuert wird. Hat keine Wirkung auf [Fable-Modelle](/docs/de/model-config#extended-thinking), Sonnet 5 und höher oder Opus 4.7 und höher, die immer adaptives Reasoning verwenden |

242| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Setzen Sie auf `1`, um Claude Code davon abzuhalten, [verwaltete Einstellungen](/docs/de/managed-settings#precedence-within-the-managed-tier) `env`-Blöcke pro Schlüssel über Admin-Quellen zu mergen, daher gilt nur der `env`-Block der höchsten Prioritätsquelle, wie vor v2.1.223. Setzen Sie es in der Umgebung, die Claude Code startet, da Claude Code eine Kopie ignoriert, die durch einen Einstellungs-`env`-Block geliefert wird. Erfordert Claude Code v2.1.223 oder später |242| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Setzen Sie `1`, damit Claude Code `env`-Blöcke der [verwalteten Einstellungen](/docs/de/managed-settings#precedence-within-the-managed-tier) nicht mehr schlüsselweise über Admin-Quellen hinweg zusammenführt, sodass wie vor v2.1.223 nur der gesamte `env`-Block der Quelle mit der höchsten Priorität gilt. Setzen Sie die Variable in der Umgebung, die Claude Code startet, da Claude Code eine über einen `env`-Block in den Einstellungen bereitgestellte Kopie ignoriert. Erfordert Claude Code v2.1.223 oder höher |

243| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Setzen Sie auf `1`, um das [Advisor-Tool](/docs/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, daher funktionieren bestehende Skripte, die es übergeben, weiterhin ohne Fehler |243| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Setzen Sie `1`, um das [Advisor-Tool](/docs/de/advisor) zu deaktivieren. Der Befehl `/advisor` ist nicht mehr verfügbar, ein konfiguriertes `advisorModel` wird ignoriert, und das Flag `--advisor` wird akzeptiert, hat aber keine Wirkung, sodass bestehende Skripte, die es übergeben, ohne Fehler weiter funktionieren |

244| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Setzen Sie auf `1`, um [Hintergrund-Agents und Agent-Ansicht](/docs/de/agent-view) auszuschalten: `claude agents`, `--bg`, `/background` und den On-Demand-Supervisor. Äquivalent zur [`disableAgentView`](/docs/de/settings-reference#disableagentview)-Einstellung |244| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Setzen Sie `1`, um [Hintergrund-Agenten und die Agentenansicht](/docs/de/agent-view) auszuschalten: `claude agents`, `--bg`, `/background` und den bedarfsgesteuerten Supervisor. Entspricht der Einstellung [`disableAgentView`](/docs/de/settings-reference#disableagentview) |

245| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Setzen Sie auf `1`, um [Vollbild-Rendering](/docs/de/fullscreen) zu deaktivieren und den klassischen Main-Screen-Renderer zu verwenden. Die Konversation bleibt in Ihrem Terminal's nativen Scrollback, daher funktionieren `Cmd+f` und tmux Copy-Modus wie gewohnt. Hat Vorrang vor `CLAUDE_CODE_NO_FLICKER` und der [`tui`](/docs/de/settings-reference#tui)-Einstellung. Sie können auch mit `/tui default` wechseln. Gilt nicht für Hintergrund-Sitzungen, die von [Agent-Ansicht](/docs/de/agent-view) geöffnet werden, die immer Vollbild-Rendering verwenden |245| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Setzen Sie `1`, um die [Vollbilddarstellung](/docs/de/fullscreen) zu deaktivieren und den klassischen Renderer für den Hauptbildschirm zu verwenden. Die Konversation bleibt im nativen Scrollback Ihres Terminals, sodass `Cmd+f` und der tmux-Kopiermodus wie gewohnt funktionieren. Hat Vorrang vor `CLAUDE_CODE_NO_FLICKER` und der Einstellung [`tui`](/docs/de/settings-reference#tui). Sie können auch mit `/tui default` wechseln. Gilt nicht für Hintergrundsitzungen, die aus der [Agentenansicht](/docs/de/agent-view) geöffnet werden und immer die Vollbilddarstellung verwenden |

246| `CLAUDE_CODE_DISABLE_ARTIFACT` | Setzen Sie auf `1`, um das [Artifact](/docs/de/artifacts)-Tool auszuschalten, das Sitzungsausgabe als private Webseite auf claude.ai veröffentlicht. Sobald Sie es setzen, schaltet keine Einstellungsdatei das Tool wieder ein. Um das Tool stattdessen aus einer Einstellungsdatei auszuschalten, setzen Sie [`enableArtifact`](/docs/de/settings-reference#enableartifact) auf `false`; der veraltete [`disableArtifact`](/docs/de/settings-reference#disableartifact)-Schlüssel schaltet es auch aus |246| `CLAUDE_CODE_DISABLE_ARTIFACT` | Setzen Sie `1`, um das Tool [Artifact](/docs/de/artifacts) auszuschalten, das die Ausgabe einer Sitzung als private Webseite auf claude.ai veröffentlicht. Sobald Sie die Variable gesetzt haben, schaltet keine Einstellungsdatei das Tool wieder ein. Um das Tool stattdessen über eine Einstellungsdatei auszuschalten, setzen Sie [`enableArtifact`](/docs/de/settings-reference#enableartifact) auf `false`; der veraltete Schlüssel [`disableArtifact`](/docs/de/settings-reference#disableartifact) schaltet es ebenfalls aus |

247| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Setzen Sie auf `1`, um die Anhang-Verarbeitung zu deaktivieren. Datei-Erwähnungen mit `@`-Syntax werden als einfacher Text gesendet, anstatt in Dateiinhalt erweitert zu werden |247| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Setzen Sie `1`, um die Verarbeitung von Anhängen zu deaktivieren. Dateierwähnungen mit `@`-Syntax werden als reiner Text gesendet, statt zu Dateiinhalten erweitert zu werden |

248| `CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK` | Auf `1` setzen, damit ein Claude-Code-Prozess seinen [`gcpAuthRefresh`](/docs/de/settings-reference#gcpauthrefresh)- oder [`awsAuthRefresh`](/docs/de/settings-reference#awsauthrefresh)-Befehl selbst ausführt, statt zu warten, während ein anderer Prozess ihn ausführt. Erfordert Claude Code v2.1.286 oder neuer |248| `CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK` | Setzen Sie `1`, damit ein Claude-Code-Prozess seinen [`gcpAuthRefresh`](/docs/de/settings-reference#gcpauthrefresh)- oder [`awsAuthRefresh`](/docs/de/settings-reference#awsauthrefresh)-Befehl selbst ausführt, statt zu warten, während ein anderer Prozess ihn ausführt. Erfordert Claude Code v2.1.286 oder höher |

249| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Setzen Sie auf `1`, um [Auto-Memory](/docs/de/memory#auto-memory) zu deaktivieren. Setzen Sie auf `0`, um Auto-Memory zu erzwingen, auch wenn `--bare`-Modus oder [`autoMemoryEnabled: false`](/docs/de/settings-reference#automemoryenabled) es andernfalls deaktivieren würde. Wenn deaktiviert, erstellt oder lädt Claude keine Auto-Memory-Dateien |249| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Setzen Sie `1`, um [Auto-Memory](/docs/de/memory#auto-memory) zu deaktivieren. Setzen Sie `0`, um Auto-Memory zwangsweise einzuschalten, auch wenn der `--bare`-Modus oder [`autoMemoryEnabled: false`](/docs/de/settings-reference#automemoryenabled) es andernfalls deaktivieren würde. Wenn deaktiviert, erstellt oder lädt Claude keine Auto-Memory-Dateien |

250| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Setzen Sie auf `1`, um alle Hintergrund-Task-Funktionalität zu deaktivieren, einschließlich des `run_in_background`-Parameters auf Bash- und Subagent-Tools, Auto-Backgrounding und der Ctrl+B-Verknüpfung |250| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Setzen Sie `1`, um alle Funktionen für Hintergrundaufgaben zu deaktivieren, einschließlich des Parameters `run_in_background` bei Bash- und Subagenten-Tools, des automatischen Verschiebens in den Hintergrund und der Tastenkombination Ctrl+B |

251| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Setzen Sie auf `1`, um Claude Code davon abzuhalten, eine [Amazon Bedrock](/docs/de/amazon-bedrock)-Streaming-Antwort mit fehlender oder leerer `Content-Type`-Header als Amazon Bedrock's binären Event-Stream zu behandeln. Standardmäßig geht Claude Code davon aus, dass ein Gateway den Header aus einer ansonsten unveränderten Antwort gelöscht hat, daher dekodiert es den Body und Streaming funktioniert weiter. Setzen Sie dies nur für ein Gateway, das den Stream auch als Server-Sent-Events erneut ausgibt; Claude Code liest dann den Header-losen Body als Server-Sent-Events statt. Erfordert Claude Code v2.1.239 oder später |251| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Setzen Sie `1`, damit Claude Code eine [Amazon Bedrock](/docs/de/amazon-bedrock)-Streaming-Antwort mit fehlendem oder leerem `Content-Type`-Header nicht mehr als binären Event-Stream von Amazon Bedrock behandelt. Standardmäßig geht Claude Code davon aus, dass ein Gateway den Header aus einer ansonsten unveränderten Antwort entfernt hat, dekodiert also den Body, und das Streaming funktioniert weiter. Setzen Sie dies nur für ein Gateway, das den Stream außerdem als Server-Sent Events neu ausgibt; Claude Code liest den Body ohne Header dann stattdessen als Server-Sent Events. Erfordert Claude Code v2.1.239 oder höher |

252| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Setzen Sie auf `1`, um die Prüfung zu überspringen, dass eine [Amazon Bedrock](/docs/de/amazon-bedrock)-Streaming-Antwort den `application/vnd.amazon.eventstream`-Content-Type trägt. Ohne diese Variable schlägt Claude Code die Anfrage mit einem Fehler fehl, der diesen Typ benennt, wenn eine Antwort einen anderen Content-Type trägt, was bedeutet, dass ein [Gateway oder Proxy die Antwort transformiert](/docs/de/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Konfigurieren Sie das Gateway, um den `Content-Type`-Header und Body unverändert weiterzuleiten, anstatt diese Variable zu setzen. Erfordert Claude Code v2.1.208 oder später |252| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Setzen Sie `1`, um die Prüfung zu überspringen, ob eine [Amazon Bedrock](/docs/de/amazon-bedrock)-Streaming-Antwort den Content-Type `application/vnd.amazon.eventstream` trägt. Ohne diese Variable lässt Claude Code die Anfrage bei einer Antwort mit einem anderen Content-Type mit einem Fehler fehlschlagen, der diesen Typ nennt, was bedeutet, dass ein [Gateway oder Proxy die Antwort transformiert](/docs/de/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Konfigurieren Sie das Gateway so, dass es den `Content-Type`-Header und den Body unverändert weiterleitet, statt diese Variable zu setzen. Erfordert Claude Code v2.1.208 oder höher |

253| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Setzen Sie auf `1`, um zu verhindern, dass die laufenden Hintergrund-Shell-Befehle einer [Hintergrund-Sitzung](/docs/de/agent-view), dynamische Workflows, und ab v2.1.198 Hintergrund-Subagents, wenn der [Supervisor](/docs/de/agent-view#the-supervisor-process) diese Sitzung's Prozess stoppt, neu startet oder aktualisiert, anstatt sie an den nächsten Prozess der Sitzung zu übergeben. Betrifft nur diese Übergabe: Das Backgrounding einer Sitzung mit `←` oder [`/background`](/docs/de/agent-view#from-inside-a-session) trägt immer noch laufende Arbeit über, und `CLAUDE_DISABLE_ADOPT` schaltet beides aus. Erfordert Claude Code v2.1.196 oder später |253| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Setzen Sie `1`, um laufende Hintergrund-Shell-Befehle, dynamische Workflows und ab v2.1.198 Hintergrund-Subagenten einer [Hintergrundsitzung](/docs/de/agent-view) zu stoppen, wenn der [Supervisor](/docs/de/agent-view#the-supervisor-process) den Prozess dieser Sitzung stoppt, neu startet oder aktualisiert, statt sie an den nächsten Prozess der Sitzung zu übergeben. Betrifft nur diese Übergabe: Das Verschieben einer Sitzung in den Hintergrund mit `←` oder [`/background`](/docs/de/agent-view#from-inside-a-session) übernimmt laufende Arbeit weiterhin, und `CLAUDE_DISABLE_ADOPT` schaltet beides aus. Erfordert Claude Code v2.1.196 oder höher |

254| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Setzen Sie auf `1`, um Claude Code davon abzuhalten, [Hintergrund-Shell-Befehle](/docs/de/interactive-mode#background-bash-commands) unter Speicherdruck zu beenden. Standardmäßig beendet Claude Code auf macOS und Linux Hintergrund-Shells, wenn das Betriebssystem kritischen Speicherdruck meldet und die Sitzung 30 Minuten lang untätig war, ohne dass ein Turn oder Subagent läuft. Windows hat kein Speicherdruck-Signal, daher hat diese Variable dort keine Auswirkung. Erfordert Claude Code v2.1.193 oder später |254| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Setzen Sie `1`, damit Claude Code [Hintergrund-Shell-Befehle](/docs/de/interactive-mode#background-bash-commands) bei Speicherdruck nicht mehr beendet. Standardmäßig beendet Claude Code unter macOS und Linux Hintergrund-Shells, wenn das Betriebssystem kritischen Speicherdruck meldet und die Sitzung 30 Minuten lang inaktiv war, ohne dass ein Turn oder Subagent lief. Windows hat kein Signal für Speicherdruck, daher hat diese Variable dort keine Wirkung. Erfordert Claude Code v2.1.193 oder höher |

255| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Setzen Sie auf `1`, um die [Skills](/docs/de/skills) und Workflows zu deaktivieren, die mit Claude Code enthalten sind: Bundled Skills und Workflows werden vollständig entfernt, während integrierte Befehle wie `/init` tippbar bleiben, aber vom Modell verborgen sind. `/doctor` bleibt tippbar wie die integrierten Befehle; verstecken Sie es mit `DISABLE_DOCTOR_COMMAND` statt. Skills von Plugins, `.claude/skills/` und `.claude/commands/` sind nicht betroffen. Äquivalent zur [`disableBundledSkills`](/docs/de/settings-reference#disablebundledskills)-Einstellung |255| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Setzen Sie `1`, um die mit Claude Code mitgelieferten [Skills](/docs/de/skills) und Workflows zu deaktivieren: Mitgelieferte Skills und Workflows werden vollständig entfernt, während integrierte Befehle wie `/init` weiterhin eingegeben werden können, aber vor dem Modell verborgen werden. `/doctor` kann wie die integrierten Befehle weiterhin eingegeben werden; blenden Sie es stattdessen mit `DISABLE_DOCTOR_COMMAND` aus. Skills aus Plugins, `.claude/skills/` und `.claude/commands/` sind nicht betroffen. Entspricht der Einstellung [`disableBundledSkills`](/docs/de/settings-reference#disablebundledskills) |

256| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Setzen Sie auf `1`, um die [Claude in Chrome](/docs/de/chrome)-Browser-Tools verfügbar zu halten, während Sie den Chrome-Abschnitt des System-Prompts und die `/claude-in-chrome` [Bundled Skill](/docs/de/skills#bundled-skills) auslassen. Für Hosts, die Claude Code einbetten und ihre eigene Browser-Anleitung bereitstellen. Erfordert Claude Code v2.1.257 oder später |256| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Setzen Sie `1`, um die Browser-Tools von [Claude in Chrome](/docs/de/chrome) verfügbar zu halten, während der Chrome-Abschnitt des System-Prompts und der [mitgelieferte Skill](/docs/de/skills#bundled-skills) `/claude-in-chrome` weggelassen werden. Für Hosts, die Claude Code einbetten und ihre eigenen Anweisungen für den Browser bereitstellen. Erfordert Claude Code v2.1.257 oder höher |

257| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Setzen Sie auf `1`, um zu verhindern, dass CLAUDE.md-Memory-Dateien in den Kontext geladen werden, einschließlich Benutzer-, Projekt- und Auto-Memory-Dateien |257| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Setzen Sie `1`, um das Laden jeglicher CLAUDE.md-Memory-Dateien in den Kontext zu verhindern, einschließlich Benutzer-, Projekt- und Auto-Memory-Dateien |

258| `CLAUDE_CODE_DISABLE_CRON` | Setzen Sie auf `1`, um [geplante Aufgaben](/docs/de/scheduled-tasks) zu deaktivieren. Der `/loop`-Skill und Cron-Tools werden nicht verfügbar, und alle bereits geplanten Aufgaben stoppen, einschließlich Aufgaben, die bereits mid-session laufen |258| `CLAUDE_CODE_DISABLE_CRON` | Setzen Sie `1`, um [geplante Aufgaben](/docs/de/scheduled-tasks) zu deaktivieren. Der Skill `/loop` und die Cron-Tools sind nicht mehr verfügbar, und bereits geplante Aufgaben werden nicht mehr ausgelöst, einschließlich Aufgaben, die bereits mitten in der Sitzung laufen |

259| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | Setzen Sie auf `1`, um die Zeitbegrenzung auf [Critical-Path-Removal](/docs/de/permission-modes#critical-paths)-Prompts auszuschalten. Im `auto`-Modus sendet Claude Code diese Removals dann zum Klassifizierer, und im `bypassPermissions`-Modus wartet der Prompt auf Ihre Antwort. Setzen Sie es in der Umgebung, die Claude Code startet, da Claude Code eine Kopie ignoriert, die durch einen Einstellungs-`env`-Block geliefert wird. Erfordert Claude Code v2.1.281 oder später |259| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | Setzen Sie `1`, um das Zeitlimit für Abfragen zum [Entfernen kritischer Pfade](/docs/de/permission-modes#critical-paths) auszuschalten. Im Modus `auto` sendet Claude Code diese Löschvorgänge dann stattdessen an den Klassifikator, und im Modus `bypassPermissions` wartet die Abfrage auf Ihre Antwort. Setzen Sie die Variable in der Umgebung, die Claude Code startet, da Claude Code eine über einen `env`-Block in den Einstellungen bereitgestellte Kopie ignoriert. Erfordert Claude Code v2.1.281 oder höher |

260| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Setzen Sie `1`, um `anthropic-beta`-Request-Header für Vorabversionen, die zugehörigen Body-Felder und Beta-Felder im Tool-Schema wie `defer_loading` und `eager_input_streaming` aus API-Anfragen zu entfernen. Verwenden Sie dies, wenn ein Proxy-Gateway Anfragen mit einem `Unexpected value(s)`-Fehler für den `anthropic-beta`-Header oder einem `Extra inputs are not permitted`-Fehler ablehnt. [Vorabversionsfunktionen deaktivieren](/docs/de/llm-gateway-protocol#disable-pre-release-capabilities) listet auf, was die Variable entfernt, einschließlich [MCP Tool Search](/docs/de/mcp#scale-with-mcp-tool-search), und was Claude Code weiterhin sendet |260| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Setzen Sie `1`, um Vorabversions-`anthropic-beta`-Request-Header, die zugehörigen Body-Felder und Beta-Felder des Tool-Schemas wie `defer_loading` und `eager_input_streaming` aus API-Anfragen zu entfernen. Verwenden Sie dies, wenn ein Proxy-Gateway Anfragen mit einem `Unexpected value(s)`-Fehler für den `anthropic-beta`-Header oder einem `Extra inputs are not permitted`-Fehler ablehnt. [Vorabversions-Funktionen deaktivieren](/docs/de/llm-gateway-protocol#disable-pre-release-capabilities) listet auf, was die Variable entfernt, einschließlich [MCP Tool Search](/docs/de/mcp#scale-with-mcp-tool-search), und was Claude Code weiterhin sendet |

261| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Setzen Sie auf `1`, um die integrierten [Explore und Plan Subagents](/docs/de/sub-agents#built-in-subagents) zu deaktivieren. Claude erkundet stattdessen mit seinen Such-Tools oder dem General-Purpose-Subagent, und [Plan Mode](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) liest Dateien direkt, anstatt Explore- und Plan-Agents zu starten. Benutzerdefinierte Subagents mit dem Namen `Explore` oder `Plan` sind nicht betroffen. Um jeden integrierten Subagent-Typ im Agent SDK oder nicht-interaktiven Modus zu entfernen, verwenden Sie stattdessen `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`. Erfordert Claude Code v2.1.198 oder später |261| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Setzen Sie `1`, um die integrierten [Subagenten Explore und Plan](/docs/de/sub-agents#built-in-subagents) zu deaktivieren. Claude erkundet stattdessen mit seinen Such-Tools oder dem Allzweck-Subagenten, und der [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) liest Dateien direkt, statt Explore- und Plan-Agenten zu starten. Benutzerdefinierte Subagenten namens `Explore` oder `Plan` sind nicht betroffen. Um jeden integrierten Subagenten-Typ im Agent SDK oder im nicht interaktiven Modus zu entfernen, verwenden Sie stattdessen `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`. Erfordert Claude Code v2.1.198 oder höher |

262| `CLAUDE_CODE_DISABLE_FAST_MODE` | Setzen Sie auf `1`, um [Fast Mode](/docs/de/fast-mode) zu deaktivieren |262| `CLAUDE_CODE_DISABLE_FAST_MODE` | Setzen Sie `1`, um den [Fast-Modus](/docs/de/fast-mode) zu deaktivieren |

263| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Setzen Sie auf `1`, um die "How is Claude doing?"-Sitzungsqualitäts-Umfragen zu deaktivieren. Umfragen sind 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 Sample-Rate zu setzen, verwenden Sie die [`feedbackSurveyRate`](/docs/de/settings-reference#feedbacksurveyrate)-Einstellung. Siehe [Sitzungsqualitäts-Umfragen](/docs/de/data-usage#session-quality-surveys) |263| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Setzen Sie `1`, um die Umfragen zur Sitzungsqualität „How is Claude doing?" zu deaktivieren. Umfragen sind 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` aktiviert sie wieder. Um eine Stichprobenrate festzulegen, statt die Umfragen vollständig zu deaktivieren, verwenden Sie die Einstellung [`feedbackSurveyRate`](/docs/de/settings-reference#feedbacksurveyrate). Siehe [Umfragen zur Sitzungsqualität](/docs/de/data-usage#session-quality-surveys) |

264| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Setzen Sie auf `1`, um Datei-[Checkpointing](/docs/de/checkpointing) zu deaktivieren. Der `/rewind`-Befehl kann Code-Änderungen nicht wiederherstellen. Überschreibt die [`fileCheckpointingEnabled`](/docs/de/settings-reference#filecheckpointingenabled)-Einstellung |264| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Setzen Sie `1`, um das [Checkpointing](/docs/de/checkpointing) von Dateien zu deaktivieren. Der Befehl `/rewind` kann Codeänderungen dann nicht wiederherstellen. Überschreibt die Einstellung [`fileCheckpointingEnabled`](/docs/de/settings-reference#filecheckpointingenabled) |

265| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Setzen Sie auf `1`, um integrierte Commit- und PR-Workflow-Anweisungen und den Git-Status-Snapshot aus Claude's Kontext zu entfernen. Nützlich bei Verwendung Ihrer eigenen Git-Workflow-Skills. Hat Vorrang vor der [`includeGitInstructions`](/docs/de/settings-reference#includegitinstructions)-Einstellung, wenn gesetzt |265| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Setzen Sie `1`, um die integrierten Anweisungen für Commit- und PR-Workflows sowie den Git-Status-Snapshot aus dem Kontext von Claude zu entfernen. Nützlich, wenn Sie Ihre eigenen Skills für Git-Workflows verwenden. Hat Vorrang vor der Einstellung [`includeGitInstructions`](/docs/de/settings-reference#includegitinstructions), wenn gesetzt |

266| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Setzen Sie auf `1`, um die automatische Neuzuordnung von Opus 4.0 und 4.1 zur aktuellen Opus-Version auf der Anthropic API zu verhindern. Verwenden Sie dies, wenn Sie absichtlich ein älteres Modell anheften möchten. Die Neuzuordnung läuft nicht auf Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry |266| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Setzen Sie `1`, um die automatische Umleitung von Opus 4.0 und 4.1 auf die aktuelle Opus-Version in der Anthropic API zu verhindern. Verwenden Sie dies, wenn Sie bewusst ein älteres Modell fixieren möchten. Die Umleitung erfolgt nicht auf Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry |

267| `CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK` | Setzen Sie auf `1`, um Claude Code auf [Amazon Bedrock](/docs/de/amazon-bedrock#when-a-model-is-disabled-mid-session) und [Google Cloud's Agent Platform](/docs/de/google-vertex-ai#when-a-model-is-disabled-mid-session) davon abzuhalten, zu einem älteren Modell zu wechseln, wenn Ihr Konto mid-session den Zugriff auf das Modell einer Sitzung verliert; die abgelehnte Anfrage schlägt sofort fehl statt. Eine [Fallback-Modell-Kette](/docs/de/model-config#fallback-model-chains), die Sie konfigurieren, wechselt immer noch bei dieser Ablehnung, und die [Startup-Modell-Prüfungen](/docs/de/amazon-bedrock#startup-model-checks) fallen immer noch beim Start zurück. Erfordert Claude Code v2.1.285 oder später |267| `CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK` | Setzen Sie `1`, damit Claude Code auf [Amazon Bedrock](/docs/de/amazon-bedrock#when-a-model-is-disabled-mid-session) und [Google Cloud's Agent Platform](/docs/de/google-vertex-ai#when-a-model-is-disabled-mid-session) nicht mehr auf ein älteres Modell wechselt, wenn Ihr Konto mitten in der Sitzung den Zugriff auf das Modell der Sitzung verliert; die abgelehnte Anfrage schlägt stattdessen sofort fehl. Eine von Ihnen konfigurierte [Fallback-Modellkette](/docs/de/model-config#fallback-model-chains) wechselt bei dieser Ablehnung weiterhin, und die [Modellprüfungen beim Start](/docs/de/amazon-bedrock#startup-model-checks) greifen beim Start weiterhin auf einen Fallback zurück. Erfordert Claude Code v2.1.285 oder höher |

268| `CLAUDE_CODE_DISABLE_MOUSE` | Setzen Sie auf `1`, um die Mausverfolgung im [Vollbild-Rendering](/docs/de/fullscreen) zu deaktivieren. Tastatur-Scrolling mit `PgUp` und `PgDn` funktioniert immer noch. Verwenden Sie dies, um das native Copy-on-Select-Verhalten Ihres Terminals zu behalten |268| `CLAUDE_CODE_DISABLE_MOUSE` | Setzen Sie `1`, um das Maus-Tracking in der [Vollbilddarstellung](/docs/de/fullscreen) zu deaktivieren. Das Scrollen per Tastatur mit `PgUp` und `PgDn` funktioniert weiterhin. Verwenden Sie dies, um das native Kopieren beim Auswählen Ihres Terminals beizubehalten |

269| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Setzen Sie auf `1`, um Click-, Drag- und Hover-Handling im [Vollbild-Rendering](/docs/de/fullscreen) zu deaktivieren, während Sie Mausrad-Scrolling behalten. Verwenden Sie dies, wenn Sie möchten, dass Rad-Scroll in Claude Code funktioniert, aber 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 |269| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Setzen Sie `1`, um die Verarbeitung von Klicks, Ziehen und Hover in der [Vollbilddarstellung](/docs/de/fullscreen) zu deaktivieren und dabei das Scrollen mit dem Mausrad beizubehalten. Verwenden Sie dies, wenn das Scrollen mit dem Mausrad in Claude Code funktionieren soll, Klicks aber nicht den Cursor positionieren, Tool-Ausgaben erweitern oder Links öffnen sollen. `CLAUDE_CODE_DISABLE_MOUSE` hat Vorrang, wenn beide gesetzt sind. Erfordert Claude Code v2.1.195 oder höher |

270| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Setzen Sie auf `1`, um Claude Code davon abzuhalten, das [mTLS-Client-Zertifikat und den Schlüssel](/docs/de/network-config#mtls-authentication) erneut zu lesen, wenn eine API-Anfrage mit einem Verbindungs-Level-Fehler fehlschlägt, wie ein Verbindungs-Reset oder ein TLS-Handshake-Fehler. Mit dem Reload deaktiviert lädt Claude Code rotierte Dateien nur, wenn es nächstes Mal Einstellungen anwendet oder beim nächsten Start. Erfordert Claude Code v2.1.232 oder später |270| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Setzen Sie `1`, damit Claude Code das [mTLS-Client-Zertifikat und den Schlüssel](/docs/de/network-config#mtls-authentication) nicht erneut einliest, wenn eine API-Anfrage mit einem Fehler auf Verbindungsebene fehlschlägt, etwa einem Verbindungsabbruch oder einem TLS-Handshake-Fehler. Bei deaktiviertem Neuladen lädt Claude Code rotierte Dateien erst, wenn es die Einstellungen das nächste Mal anwendet, oder beim nächsten Start. Erfordert Claude Code v2.1.232 oder höher |

271| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Setzen Sie auf einen beliebigen nicht-leeren Wert, wie `1`, um nicht-wesentlichen Netzwerk-Traffic zu deaktivieren: Auto-Updates, Telemetrie, Fehlerberichterstattung, den `/feedback`-Befehl, [Claude-entworfenes Feedback](/docs/de/tools-reference#sendfeedback-tool-behavior), Release-Notizen, die [PR- und MR-Status-Badge](/docs/de/interactive-mode#pr-review-status)-Prüfungen und Verfügbarkeitsprüfungen wie die [Fast Mode](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)-Prüfung. Es stoppt auch die [Hintergrund-Läufe von Plugin-`command`-Quellen](/docs/de/plugins/loading#when-a-command-source-re-runs), die lokale Befehle sind, anstatt Netzwerk-Traffic, weil sie Abhängigkeits-Installationen auslösen können. **Das Setzen auf `0` oder `false` deaktiviert immer noch diesen Traffic**, im Gegensatz zu den meisten Ein/Aus-Variablen; heben Sie die Einstellung auf, um es wieder zu erlauben. Deaktiviert auch Feature-Flag-Abrufe, was [Remote Control](/docs/de/remote-control#requirements) und die anderen [Features, die Feature-Flag-Abrufe benötigen](#features-that-need-feature-flag-fetching) nicht verfügbar macht. Offizieller Plugin-Marketplace Auto-Install ist nicht abgedeckt; deaktivieren Sie ihn mit `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. Betrifft nicht [Gateway-Modell-Erkennung](/docs/de/llm-gateway-connect#add-gateway-models-to-the-model-picker), die ihr eigenes Opt-In hat |271| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Setzen Sie einen beliebigen nicht leeren Wert, etwa `1`, um nicht wesentlichen Netzwerkverkehr zu deaktivieren: automatische Updates, Telemetrie, Fehlerberichte, den Befehl `/feedback`, [von Claude entworfenes Feedback](/docs/de/tools-reference#sendfeedback-tool-behavior), Versionshinweise, die Prüfungen des [PR- und MR-Status-Badges](/docs/de/interactive-mode#pr-review-status) sowie Verfügbarkeitsprüfungen wie die Prüfung für den [Fast-Modus](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways). Außerdem werden die [Hintergrundläufe von Plugin-`command`-Quellen](/docs/de/plugins/loading#when-a-command-source-re-runs) gestoppt, die lokale Befehle statt Netzwerkverkehr sind, da sie Installationen von Abhängigkeiten auslösen können. **Das Setzen auf `0` oder `false` deaktiviert diesen Verkehr trotzdem**, anders als bei den meisten Ein/Aus-Variablen; entfernen Sie die Variable, um ihn wieder zuzulassen. Deaktiviert außerdem das Abrufen von Feature-Flags, wodurch [Remote Control](/docs/de/remote-control#requirements) und die anderen [Funktionen, die das Abrufen von Feature-Flags benötigen](#features-that-need-feature-flag-fetching), nicht verfügbar sind. Die automatische Installation des offiziellen Plugin-Marketplace ist nicht abgedeckt; deaktivieren Sie sie mit `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. Betrifft nicht die [Gateway-Modellerkennung](/docs/de/llm-gateway-connect#add-gateway-models-to-the-model-picker), die über eine eigene Opt-in-Option verfügt |

272| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Setzen Sie auf `1`, um das Non-Streaming-Fallback zu deaktivieren, wenn eine Streaming-Anfrage mid-stream fehlschlägt. Streaming-Fehler propagieren stattdessen zur Retry-Schicht. Nützlich, wenn ein Proxy oder Gateway das Fallback verursacht, duplizierte Tool-Ausführung zu produzieren |272| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Setzen Sie `1`, um den Nicht-Streaming-Fallback zu deaktivieren, wenn eine Streaming-Anfrage mitten im Stream fehlschlägt. Streaming-Fehler werden stattdessen an die Ebene für Wiederholungsversuche weitergegeben. Nützlich, wenn ein Proxy oder Gateway dazu führt, dass der Fallback eine doppelte Tool-Ausführung erzeugt |

273| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Setzen Sie auf `1`, um die Desktop-Benachrichtigung des `PushNotification`-Tools zu senden, auch während Sie im Terminal tippen oder es fokussiert haben. Standardmäßig überspringt das Tool sowohl die Desktop-Benachrichtigung als auch den [Mobile Push](/docs/de/remote-control#mobile-push-notifications), wenn es kürzliche Tastaturaktivität oder Terminal-Fokus erkennt. Diese Variable deaktiviert nur diese lokale Prüfung, daher kann der Server den Mobile Push immer noch unterdrücken, wenn er erkennt, dass Sie aktiv sind. Erfordert Claude Code v2.1.193 oder später |273| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Setzen Sie `1`, um die Desktop-Benachrichtigung des Tools `PushNotification` auch dann zu senden, wenn Sie im Terminal tippen oder es fokussiert ist. Standardmäßig überspringt das Tool sowohl die Desktop-Benachrichtigung als auch die [mobile Push-Benachrichtigung](/docs/de/remote-control#mobile-push-notifications), wenn es kürzliche Tastaturaktivität oder den Terminal-Fokus erkennt. Diese Variable deaktiviert nur diese lokale Prüfung, sodass der Server die mobile Push-Benachrichtigung weiterhin unterdrücken kann, wenn er erkennt, dass Sie aktiv sind. Erfordert Claude Code v2.1.193 oder höher |

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

275| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Setzen Sie auf `1`, um Claude Code davon abzuhalten, Ihre [`Notification`-Hooks für unbeantwortete Permission-Anfragen](/docs/de/hooks#notification) in Sitzungen auszuführen, in denen Claude Code sie an den Agent SDK's `canUseTool`-Callback sendet, was ist, wie Claude Desktop und die VS Code-Erweiterung Claude Code hosten. Hat keine Auswirkung in Terminal-Sitzungen. Erfordert Claude Code v2.1.233 oder später |275| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Setzen Sie `1`, damit Claude Code Ihre [`Notification`-Hooks für unbeantwortete Berechtigungsanfragen](/docs/de/hooks#notification) nicht mehr in Sitzungen ausführt, in denen Claude Code diese an den `canUseTool`-Callback des Agent SDK sendet; auf diese Weise hosten Claude Desktop und die VS Code-Erweiterung Claude Code. Hat in Terminal-Sitzungen keine Wirkung. Erfordert Claude Code v2.1.233 oder höher |

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

277| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | Setzen Sie auf `1`, um die [PowerShell-Tool](/docs/de/tools-reference#powershell-tool)-Prüfung auszuschalten, die die `cmd`-Built-Ins `rd`, `rmdir`, `del` und `erase` auf einem [System-Pfad](/docs/de/permission-modes#remove-item-in-powershell), wie ein Laufwerk-Root oder Ihr Home-Verzeichnis, verweigert. Claude Code ignoriert diese Variable in einem Einstellungsdatei-`env`-Block. Erfordert Claude Code v2.1.283 oder später |277| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | Setzen Sie `1`, um die Prüfung des [PowerShell-Tools](/docs/de/tools-reference#powershell-tool) auszuschalten, die die `cmd`-Built-ins `rd`, `rmdir`, `del` und `erase` auf einem [Systempfad](/docs/de/permission-modes#remove-item-in-powershell) ablehnt, etwa einem Laufwerksstammverzeichnis oder Ihrem Home-Verzeichnis. Claude Code ignoriert diese Variable im `env`-Block einer Einstellungsdatei. Erfordert Claude Code v2.1.283 oder höher |

278| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | Setzen Sie auf `1`, um die [Critical-Path](/docs/de/permission-modes#critical-paths)-Prüfung für ein rekursives `rm` auszuschalten, dessen Ziel vollständig die Ausgabe einer Befehlsersetzung ist, wie `rm -rf "$(pwd)"`. Die anderen Critical-Path-Prüfungen laufen weiter. Setzen Sie es in der Umgebung, die Claude Code startet, da Claude Code eine Kopie ignoriert, die durch einen Einstellungs-`env`-Block geliefert wird. Erfordert Claude Code v2.1.281 oder später |278| `CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS` | Setzen Sie `1`, damit Claude Code das Feld `output_config.format` für strukturierte Ausgaben und den zugehörigen `anthropic-beta`-Wert nicht mehr sendet, für ein [LLM-Gateway](/docs/de/llm-gateway-protocol#feature-pass-through), dessen Upstream diese ablehnt. Die anderen Vorabversions-Funktionen, die [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/de/llm-gateway-protocol#disable-pre-release-capabilities) ausschaltet, bleiben dabei eingeschaltet. Erfordert Claude Code v2.1.288 oder höher |

279| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Setzen Sie auf `1`, um automatische Terminal-Titel-Updates basierend auf Konversations-Kontext zu deaktivieren. Dies überspringt auch die Hintergrund-Small/Fast-Model-Anfrage, die [eine Sitzungs-Titel generiert](/docs/de/sessions#name-your-sessions) |279| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | Setzen Sie `1`, um die [Prüfung kritischer Pfade](/docs/de/permission-modes#critical-paths) für ein rekursives `rm` auszuschalten, dessen Ziel vollständig die Ausgabe einer Befehlsersetzung ist, etwa `rm -rf "$(pwd)"`. Die anderen Prüfungen kritischer Pfade laufen weiter. Setzen Sie die Variable in der Umgebung, die Claude Code startet, da Claude Code eine über einen `env`-Block in den Einstellungen bereitgestellte Kopie ignoriert. Erfordert Claude Code v2.1.281 oder höher |

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

281| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Setzen Sie auf `1`, um proaktive [Auto-Compaction](/docs/de/costs#reduce-token-usage) zu überspringen, wenn Claude Code die Modell-ID nicht erkennt, wie ein [LLM-Gateway](/docs/de/llm-gateway)-Alias. Ohne diese Variable komprimiert Claude Code bei dem Kontext-Fenster, das es für die ID annimmt. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` kann das angenommene Fenster stattdessen korrigieren; siehe [Fenster für eine Gateway- oder benutzerdefinierte Modell-ID korrigieren](/docs/de/model-config#correct-the-window-for-a-gateway-or-custom-model-id) für wann jede Variable gilt. Erfordert Claude Code v2.1.223 oder später |281| `CLAUDE_CODE_DISABLE_THINKING` | Setzen Sie `1`, um den Parameter `thinking` vollständig aus API-Anfragen wegzulassen. Dies ist eine Kompatibilitätsoption für Proxys und Gateways, die den Parameter ablehnen. Bei Modellen, die standardmäßig nachdenken, bedeutet das Weglassen des Parameters, dass das Modell möglicherweise trotzdem nachdenkt. Um [Extended Thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) in der Anthropic API explizit zu deaktivieren, verwenden Sie stattdessen `MAX_THINKING_TOKENS=0`. Keine der beiden Variablen schaltet das Thinking bei Opus 5.5, Sonnet 5.5 oder den Fable-Modellen aus, bei denen Thinking nicht ausgeschaltet werden kann. Bei [Drittanbietern](/docs/de/third-party-integrations) lässt `MAX_THINKING_TOKENS=0` den Parameter ebenfalls weg, sodass sich die beiden Variablen dort gleich verhalten |

282| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Setzen Sie auf `1`, um virtuelles Scrolling im [Vollbild-Rendering](/docs/de/fullscreen) zu deaktivieren und jede Nachricht im Transkript zu rendern. Verwenden Sie dies, wenn das Scrolling im Vollbildmodus leere Regionen zeigt, wo Nachrichten erscheinen sollten |282| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Setzen Sie `1`, um die proaktive [automatische Komprimierung](/docs/de/costs#reduce-token-usage) zu überspringen, wenn Claude Code die Modell-ID nicht erkennt, etwa einen Alias eines [LLM-Gateways](/docs/de/llm-gateway). Ohne diese Variable komprimiert Claude Code bei dem Kontextfenster, das es für die ID annimmt. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` kann stattdessen das angenommene Fenster korrigieren; unter [Das Fenster für ein Gateway oder eine benutzerdefinierte Modell-ID korrigieren](/docs/de/model-config#correct-the-window-for-a-gateway-or-custom-model-id) erfahren Sie, wann welche Variable gilt. Erfordert Claude Code v2.1.223 oder höher |

283| `CLAUDE_CODE_DISABLE_WEB_FETCH` | Setzen Sie auf `1`, um das [WebFetch](/docs/de/tools-reference#webfetch-tool-behavior)-Tool auszuschalten. Das [WebSearch](/docs/de/tools-reference#websearch-tool-behavior)-Tool bleibt verfügbar. Erfordert Claude Code v2.1.285 oder später |283| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Setzen Sie `1`, um virtuelles Scrollen in der [Vollbilddarstellung](/docs/de/fullscreen) zu deaktivieren und jede Nachricht im Transkript darzustellen. Verwenden Sie dies, wenn beim Scrollen im Vollbildmodus leere Bereiche angezeigt werden, wo Nachrichten erscheinen sollten |

284| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Setzen Sie auf `1`, um [PowerShell-Tool](/docs/de/tools-reference#powershell-tool)-Befehle unter Windows direkt zu starten, anstatt durch den `cmd.exe`-Launcher. Standardmäßig ermöglicht der Launcher einem PowerShell-Befehl, der [im Hintergrund läuft](/docs/de/tools-reference#background-commands), [zum nächsten Prozess der Sitzung zu wechseln](/docs/de/agent-view#the-supervisor-process), wie wenn Sie [die Sitzung backgrounden](/docs/de/agent-view#from-inside-a-session). Wenn Sie die Variable setzen, stoppt ein backgroundeter PowerShell-Befehl, wenn der Prozess der Sitzung beendet wird. Bash-Befehle sind nicht betroffen. Erfordert Claude Code v2.1.269 oder später |284| `CLAUDE_CODE_DISABLE_WEB_FETCH` | Setzen Sie `1`, um das Tool [WebFetch](/docs/de/tools-reference#webfetch-tool-behavior) auszuschalten. Das Tool [WebSearch](/docs/de/tools-reference#websearch-tool-behavior) bleibt verfügbar. Erfordert Claude Code v2.1.285 oder höher |

285| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Setzen Sie auf `1`, um [Workflows](/docs/de/workflows#turn-workflows-off) zu deaktivieren. Äquivalent zur [`disableWorkflows`](/docs/de/settings-reference#disableworkflows)-Einstellung |285| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Setzen Sie `1`, um Befehle des [PowerShell-Tools](/docs/de/tools-reference#powershell-tool) unter Windows direkt statt über den `cmd.exe`-Launcher zu starten. Standardmäßig ermöglicht der Launcher, dass ein PowerShell-Befehl, der [im Hintergrund läuft](/docs/de/tools-reference#background-commands), [an den nächsten Prozess der Sitzung übergeben wird](/docs/de/agent-view#the-supervisor-process), etwa wenn Sie [die Sitzung in den Hintergrund verschieben](/docs/de/agent-view#from-inside-a-session). Wenn Sie die Variable setzen, stoppt ein in den Hintergrund verschobener PowerShell-Befehl, wenn der Prozess der Sitzung beendet wird. Bash-Befehle sind nicht betroffen. Erfordert Claude Code v2.1.269 oder höher |

286| `CLAUDE_CODE_EFFORT_LEVEL` | Setzen Sie die Effort-Ebene für unterstützte Modelle. Werte: `low`, `medium`, `high`, `xhigh`, `max` oder `auto`, um den Modell-Standard zu verwenden. Verfügbare Ebenen hängen vom Modell ab. Hat Vorrang vor `--effort`, `/effort` und den `modelSettings`- und `effortLevel`-Einstellungen. Eine [`maxEffortLevel`](/docs/de/settings-reference#maxeffortlevel)-Obergrenze gilt immer noch. Siehe [Effort-Ebene anpassen](/docs/de/model-config#adjust-effort-level) |286| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Setzen Sie `1`, um [Workflows](/docs/de/workflows#turn-workflows-off) zu deaktivieren. Entspricht der Einstellung [`disableWorkflows`](/docs/de/settings-reference#disableworkflows) |

287| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Akzeptiert für Kompatibilität mit älteren Versionen und hat keine Auswirkung. Auto Mode ist standardmäßig auf jedem Provider verfügbar, einschließlich Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry und angemeldeten [Claude Apps Gateway](/docs/de/claude-apps-gateway)-Sitzungen. In v2.1.158 bis v2.1.206 war das Setzen auf `1` erforderlich, um [Auto Mode](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) auf diesen Providern verfügbar zu machen |287| `CLAUDE_CODE_EFFORT_LEVEL` | Legt die Effort-Stufe für unterstützte Modelle fest. Werte: `low`, `medium`, `high`, `xhigh`, `max` oder `auto`, um den Modellstandard zu verwenden. Die verfügbaren Stufen hängen vom Modell ab. Hat Vorrang vor `--effort`, `/effort` sowie den Einstellungen `modelSettings` und `effortLevel`. Eine Obergrenze durch [`maxEffortLevel`](/docs/de/settings-reference#maxeffortlevel) gilt weiterhin. Siehe [Effort-Stufe anpassen](/docs/de/model-config#adjust-effort-level) |

288| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Überschreiben Sie die Verfügbarkeit von [Sitzungs-Recap](/docs/de/interactive-mode#session-recap). Setzen Sie auf `0`, um Recaps unabhängig vom `/config`-Toggle auszuschalten. Setzen Sie auf `1`, um Recaps einzuschalten, wenn [`awaySummaryEnabled`](/docs/de/settings-reference#awaysummaryenabled) `false` ist. Hat Vorrang vor der Einstellung und dem `/config`-Toggle |288| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Wird zur Kompatibilität mit älteren Versionen akzeptiert und hat keine Wirkung. Der Auto-Modus ist standardmäßig bei jedem Anbieter verfügbar, einschließlich Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry und angemeldeter Sitzungen über das [Claude apps gateway](/docs/de/claude-apps-gateway). In v2.1.158 bis v2.1.206 war das Setzen auf `1` erforderlich, um den [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) bei diesen Anbietern verfügbar zu machen |

289| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Setzen Sie auf `1`, um den Plugin-Status bei Turn-Grenzen im [nicht-interaktiven Modus](/docs/de/headless) zu aktualisieren, nachdem eine Hintergrund-Installation abgeschlossen ist. Standardmäßig aus, weil die Aktualisierung den System-Prompt mid-session ändert, was [Prompt Caching](/docs/de/prompt-caching) für diesen Turn ungültig macht |289| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Überschreibt die Verfügbarkeit der [Sitzungszusammenfassung](/docs/de/interactive-mode#session-recap). Setzen Sie `0`, um Zusammenfassungen unabhängig vom Schalter in `/config` zwangsweise auszuschalten. Setzen Sie `1`, um Zusammenfassungen zwangsweise einzuschalten, wenn [`awaySummaryEnabled`](/docs/de/settings-reference#awaysummaryenabled) `false` ist. Hat Vorrang vor der Einstellung und dem Schalter in `/config` |

290| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Setzen Sie auf `1`, um die "How is Claude doing?"-Sitzungsqualitäts-Umfrage zu Ihrem eigenen [OpenTelemetry-Collector](/docs/de/monitoring-usage) zu leiten, wenn Anthropic-gebundener nicht-wesentlicher Traffic blockiert ist. Umfrage-Bewertungen werden nur als OTEL-Events zu Ihrem konfigurierten Collector emittiert. Keine Umfrage-Daten werden in diesem Modus an Anthropic gesendet. Gilt, wenn `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` oder `DO_NOT_TRACK` gesetzt ist, und hat sonst keine Auswirkung. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` und die Organisations-Produktfeedback-Richtlinie haben Vorrang |290| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Auf `1` setzen, um den Plugin-Status im [nicht interaktiven Modus](/docs/de/headless) an Turn-Grenzen zu aktualisieren, nachdem eine Installation im Hintergrund abgeschlossen ist. Standardmäßig deaktiviert, da die Aktualisierung den System-Prompt mitten in der Sitzung ändert, wodurch das [Prompt-Caching](/docs/de/prompt-caching) für diesen Turn ungültig wird |

291| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Steuert, ob Tool-Call-Eingaben von der API streamen, während Claude sie generiert. Mit diesem aus kommt eine große Tool-Eingabe wie ein langer Datei-Write erst an, nachdem Claude sie fertig generiert hat, was aussehen kann, als würde es hängen. Standardmäßig auf der Anthropic API aktiviert. Bei Amazon Bedrock und Google Cloud's Agent Platform pro Modell aktiviert, wo der bereitgestellte Container es unterstützt. Setzen Sie auf `0`, um zu deaktivieren. Setzen Sie auf `1`, um zu erzwingen, wenn Sie durch einen Proxy über `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` oder `ANTHROPIC_BEDROCK_BASE_URL` routen. Standardmäßig bei Microsoft Foundry und [Gateway](/docs/de/llm-gateway)-Verbindungen aus |291| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Auf `1` setzen, um die Umfrage zur Sitzungsqualität „How is Claude doing?“ an Ihren eigenen [OpenTelemetry-Collector](/docs/de/monitoring-usage) zu leiten, wenn nicht wesentlicher Datenverkehr an Anthropic blockiert ist. Umfragebewertungen werden ausschließlich als OTEL-Events an Ihren konfigurierten Collector gesendet. In diesem Modus werden keine Umfragedaten an Anthropic gesendet. Gilt, wenn `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` oder `DO_NOT_TRACK` gesetzt ist, und hat andernfalls keine Wirkung. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` und die Produktfeedback-Richtlinie der Organisation haben Vorrang |

292| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Setzen Sie auf `1`, um die `/model`-Auswahl von Ihrem Gateway's `/v1/models`-Endpunkt zu füllen, wenn `ANTHROPIC_BASE_URL` auf ein Anthropic-kompatibles Gateway wie LiteLLM, Kong oder einen internen Proxy zeigt. Standardmäßig aus, weil Gateways, die von einem gemeinsamen API-Schlüssel unterstützt werden, andernfalls jedem Benutzer jedes Modell zeigen würden, das der Schlüssel zugreifen kann. Entdeckte Modelle werden immer noch durch eine [`availableModels`](/docs/de/settings-reference#availablemodels)-Allowlist gefiltert, die die Sitzung erhält; liefern Sie die Liste durch [MDM oder eine verwaltete Einstellungsdatei](/docs/de/managed-settings#delivery-mechanisms), da [Server-verwaltete Lieferung bei Gateway-Konfigurationen nicht verfügbar ist](/docs/de/server-managed-settings#platform-availability) |292| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Steuert, ob Eingaben für Tool-Aufrufe von der API gestreamt werden, während Claude sie generiert. Ist dies deaktiviert, kommt eine große Tool-Eingabe wie ein langer Schreibvorgang in eine Datei erst an, nachdem Claude sie vollständig generiert hat, was wie ein Hängenbleiben wirken kann. Standardmäßig in der Anthropic API aktiviert. Auf Amazon Bedrock und Google Cloud's Agent Platform pro Modell aktiviert, sofern der bereitgestellte Container dies unterstützt. Auf `0` setzen, um es zu deaktivieren. Auf `1` setzen, um es zu erzwingen, wenn Anfragen über einen Proxy via `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` oder `ANTHROPIC_BEDROCK_BASE_URL` geleitet werden. Standardmäßig deaktiviert bei Microsoft Foundry und [Gateway](/docs/de/llm-gateway)-Verbindungen |

293| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Entfernt in v2.1.142, als der [Fast Mode](/docs/de/fast-mode)-Standard von Opus 4.6 zu Opus 4.7 wechselte |293| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Auf `1` setzen, um die `/model`-Auswahl über den Endpunkt `/v1/models` Ihres Gateways zu befüllen, wenn `ANTHROPIC_BASE_URL` auf ein Anthropic-kompatibles Gateway wie LiteLLM, Kong oder einen internen Proxy verweist. Standardmäßig deaktiviert, da Gateways mit einem gemeinsam genutzten API-Schlüssel sonst jedem Benutzer jedes Modell anzeigen würden, auf das der Schlüssel Zugriff hat. Ermittelte Modelle werden weiterhin durch eine [`availableModels`](/docs/de/settings-reference#availablemodels)-Allowlist gefiltert, die die Sitzung erhält; stellen Sie die Liste über [MDM oder eine Datei mit verwalteten Einstellungen](/docs/de/managed-settings#delivery-mechanisms) bereit, da [die serververwaltete Bereitstellung bei Gateway-Konfigurationen nicht verfügbar ist](/docs/de/server-managed-settings#platform-availability) |

294| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Setzen Sie auf `false`, um Prompt-Vorschläge auszuschalten, die ausgegraut Vorhersagen, die in Ihrer Prompt-Eingabe erscheinen. Hat Vorrang vor der [`promptSuggestionEnabled`](/docs/de/settings-reference#promptsuggestionenabled)-Einstellung, die ist, was der **Prompt suggestions**-Toggle in `/config` schreibt. Claude Code [pausiert auch Vorschläge, während Ihr Konto nahe oder bei seinem Nutzungslimit ist](/docs/de/interactive-mode#when-claude-code-skips-suggestions). Setzen Sie auf `true`, um sie eingeschaltet zu halten, bis Sie das Limit erreichen. Erfordert Claude Code v2.1.238 oder später. Siehe [Prompt-Vorschläge](/docs/de/interactive-mode#prompt-suggestions) |294| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Entfernt in v2.1.142, als der Standard für den [Fast-Modus](/docs/de/fast-mode) von Opus 4.6 auf Opus 4.7 wechselte |

295| `CLAUDE_CODE_ENABLE_TASKS` | Wählt, welche Task-Tracking-Tools Claude Code in [Sitzungen bereitstellt, die sie haben](/docs/de/tools-reference#task-tool-availability). Standardmäßig stellt Claude Code die Task-Tools `TaskCreate`, `TaskUpdate`, `TaskGet` und `TaskList` bereit. Setzen Sie auf `0`, um stattdessen das Legacy-`TodoWrite`-Tool zu erhalten. Siehe [Task-Liste](/docs/de/interactive-mode#task-list) |295| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Auf `false` setzen, um Prompt-Vorschläge zu deaktivieren, also die ausgegrauten Vorhersagen, die in Ihrem Eingabefeld erscheinen. Hat Vorrang vor der Einstellung [`promptSuggestionEnabled`](/docs/de/settings-reference#promptsuggestionenabled), die vom Schalter **Prompt suggestions** in `/config` geschrieben wird. Claude Code [pausiert Vorschläge außerdem, wenn Ihr Konto sein Nutzungslimit fast oder ganz erreicht hat](/docs/de/interactive-mode#when-claude-code-skips-suggestions). Auf `true` setzen, um sie aktiviert zu lassen, bis Sie das Limit erreichen. Erfordert Claude Code v2.1.238 oder höher. Siehe [Prompt-Vorschläge](/docs/de/interactive-mode#prompt-suggestions) |

296| `CLAUDE_CODE_ENABLE_TELEMETRY` | Setzen Sie auf `1`, um OpenTelemetry-Datenerfassung für Metriken und Protokollierung zu aktivieren. Erforderlich, bevor OTel-Exporter konfiguriert werden. Setzen Sie es in Ihrer Shell, Benutzereinstellungen oder verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert. Siehe [Monitoring](/docs/de/monitoring-usage) |296| `CLAUDE_CODE_ENABLE_TASKS` | Legt fest, welche Tools zur Aufgabenverfolgung Claude Code in [Sitzungen bereitstellt, die sie haben](/docs/de/tools-reference#task-tool-availability). Standardmäßig stellt Claude Code die Task-Tools `TaskCreate`, `TaskUpdate`, `TaskGet` und `TaskList` bereit. Auf `0` setzen, um stattdessen das ältere Tool `TodoWrite` zu erhalten. Siehe [Aufgabenliste](/docs/de/interactive-mode#task-list) |

297| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Setzen Sie auf `1`, um die Task-Tracking-Tools auf jedem Modell zu erhalten. Ohne dies stellt Claude Code sie standardmäßig nur auf den Modellen bereit, die unter [Task-Tool-Verfügbarkeit](/docs/de/tools-reference#task-tool-availability) aufgelistet sind. `CLAUDE_CODE_ENABLE_TASKS` wählt immer noch die Task-Tools oder `TodoWrite`. Erfordert Claude Code v2.1.233 oder später |297| `CLAUDE_CODE_ENABLE_TELEMETRY` | Auf `1` setzen, um die OpenTelemetry-Datenerfassung für Metriken und Logging zu aktivieren. Erforderlich, bevor OTel-Exporter konfiguriert werden. Setzen Sie die Variable in Ihrer Shell, in den Benutzereinstellungen oder in den verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert. Siehe [Überwachung](/docs/de/monitoring-usage) |

298| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Zeit in Millisekunden zum Warten, nachdem die Query-Schleife untätig wird, bevor automatisch beendet wird. Nützlich für automatisierte Workflows und Skripte, die SDK-Modus verwenden |298| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Auf `1` setzen, um die Tools zur Aufgabenverfolgung für jedes Modell zu erhalten. Ohne diese Variable stellt Claude Code sie standardmäßig nur für die Modelle bereit, die unter [Verfügbarkeit der Task-Tools](/docs/de/tools-reference#task-tool-availability) aufgeführt sind. `CLAUDE_CODE_ENABLE_TASKS` wählt weiterhin zwischen den Task-Tools und `TodoWrite`. Erfordert Claude Code v2.1.233 oder höher |

299| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Setzen Sie auf `1`, um [Agent Teams](/docs/de/agent-teams) zu aktivieren. Agent Teams sind experimentell und standardmäßig deaktiviert |299| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Wartezeit in Millisekunden, nachdem die Abfrageschleife in den Leerlauf gewechselt ist, bevor automatisch beendet wird. Nützlich für automatisierte Workflows und Skripte, die den SDK-Modus verwenden |

300| `CLAUDE_CODE_EXTRA_BODY` | JSON-Objekt, das in die oberste Ebene jedes API-Request-Body zusammengeführt werden soll. Nützlich zum Übergeben von Provider-spezifischen Parametern, die Claude Code nicht direkt verfügbar macht. Ein Wert, der in Ihrer Shell exportiert wird, gilt auch für die [Hintergrund-Sitzungen](/docs/de/agent-view), die Sie mit `claude agents` oder `--bg` dispatchen. Vor v2.1.206 ignorierten Hintergrund-Sitzungen einen Shell-exportierten Wert und verwendeten, was die Hintergrund-Supervisor-Prozess erbte |300| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Auf `1` setzen, um [Agent Teams](/docs/de/agent-teams) zu aktivieren. Agent Teams sind experimentell und standardmäßig deaktiviert |

301| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Überschreiben Sie das Standard-Token-Limit für Datei-Lesevorgänge. Nützlich, wenn Sie größere Dateien vollständig lesen müssen |301| `CLAUDE_CODE_EXTRA_BODY` | JSON-Objekt, das in die oberste Ebene jedes API-Anfrage-Bodys zusammengeführt wird. Nützlich, um anbieterspezifische Parameter zu übergeben, die Claude Code nicht direkt bereitstellt. Ein in Ihrer Shell exportierter Wert gilt auch für die [Hintergrundsitzungen](/docs/de/agent-view), die Sie mit `claude agents` oder `--bg` starten. Vor v2.1.206 ignorierten Hintergrundsitzungen einen in der Shell exportierten Wert und verwendeten die Kopie, die der Supervisor-Prozess im Hintergrund geerbt hatte |

302| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | 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, zum Beispiel von einer `screen`-Sitzung oder einem Hintergrund-Launcher, der zuerst von Claude Code's Bash-Tool gestartet wurde, verursacht, dass eine echte Top-Level-Sitzung als verschachtelt fehlklassifiziert wird. Ab v2.1.178 erkennt Claude Code den tmux-Fall automatisch und ignoriert den vererbten Marker, daher braucht tmux diese Variable nicht mehr. Auch auf v2.1.169 und früher geehrt; hat keine Auswirkung auf v2.1.170 und v2.1.171, wo die verschachtelte Sitzungs-Erkennung, die es überschreibt, entfernt wurde |302| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Überschreibt das Standard-Token-Limit für das Lesen von Dateien. Nützlich, wenn Sie größere Dateien vollständig lesen müssen |

303| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Setzen Sie auf `1`, um Durchstreichungs-Rendering für `~~text~~` in Claude's Antworten zu erzwingen, wenn Ihr Terminal es unterstützt, aber nicht auto-erkannt wird, wie über SSH ohne `TERM_PROGRAM` weitergeleitet. Ohne dies zeigen nicht erkannte Terminals die wörtlichen `~~`-Marker, anstatt den Text als Durchstreichung zu rendern. Erfordert Claude Code v2.1.186 oder später |303| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Auf `1` setzen, um die Speicherung von Transkripten, den Prompt-Verlauf und die Registrierung bei `claude agents` zu erzwingen, auch wenn dieses `claude` aus einer anderen Claude-Code-Sitzung heraus gestartet wurde. Verwenden Sie dies, wenn ein geerbter Wert von `CLAUDE_CODE_CHILD_SESSION`, zum Beispiel aus einer `screen`-Sitzung oder einem Hintergrund-Launcher, der zuerst vom Bash-Tool von Claude Code gestartet wurde, dazu führt, dass eine echte Sitzung der obersten Ebene fälschlicherweise als verschachtelt eingestuft wird. Ab v2.1.178 erkennt Claude Code den tmux-Fall automatisch und ignoriert die geerbte Markierung, sodass tmux diese Variable nicht mehr benötigt. Wird auch in v2.1.169 und früher berücksichtigt; hat keine Wirkung in v2.1.170 und v2.1.171, in denen die Erkennung verschachtelter Sitzungen, die sie überschreibt, entfernt war |

304| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Setzen Sie auf `1`, um DEC Private Mode 2026 [Synchronized Output](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) zu erzwingen, wenn Ihr Terminal es unterstützt, aber nicht auto-erkannt wird. Nützlich für Emulatoren wie Emacs `eat`, die BSU/ESU implementieren, aber nicht auf die Capability-Probe antworten. Hat keine Auswirkung unter tmux. Im Gegensatz zu `CLAUDE_CODE_NO_FLICKER`, das zu [Vollbild-Rendering](/docs/de/fullscreen) wechselt, ändert dies nicht den Renderer |304| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Auf `1` setzen, um die Darstellung von `~~text~~` als durchgestrichenen Text in Claudes Antworten zu erzwingen, wenn Ihr Terminal dies unterstützt, aber nicht automatisch erkannt wird, etwa über SSH ohne weitergeleitetes `TERM_PROGRAM`. Ohne diese Variable zeigen nicht erkannte Terminals die wörtlichen `~~`-Markierungen an, statt den Text durchgestrichen darzustellen. Erfordert Claude Code v2.1.186 oder höher |

305| `CLAUDE_CODE_FORK_SUBAGENT` | Steuert [Fork Mode](/docs/de/sub-agents#turn-fork-mode-on-or-off), das Claude [Forked Subagents](/docs/de/sub-agents#fork-the-current-conversation) selbst spawnen lässt und standardmäßig nur in interaktiven Sitzungen eingeschaltet ist. Setzen Sie auf `1`, um es auch in `claude -p` und dem Agent SDK einzuschalten, oder `0`, um es in jeder Art von Sitzung auszuschalten. Sie können `/subtask` ausführen, ob Fork Mode eingeschaltet ist oder nicht. Der interaktive Standard erfordert Claude Code v2.1.232 oder später; auf früheren Versionen setzen Sie die Variable auf `1`, um Fork Mode einzuschalten |305| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Auf `1` setzen, um den DEC Private Mode 2026 für [synchronisierte Ausgabe](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) zwangsweise zu aktivieren, wenn Ihr Terminal ihn unterstützt, aber nicht automatisch erkannt wird. Nützlich für Emulatoren wie Emacs `eat`, die BSU/ESU implementieren, aber nicht auf die Fähigkeitsabfrage antworten. Hat unter tmux keine Wirkung. Anders als `CLAUDE_CODE_NO_FLICKER`, das auf das [Vollbild-Rendering](/docs/de/fullscreen) umschaltet, ändert dies den Renderer nicht |

306| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Setzen Sie auf `1`, um [Subagent](/docs/de/sub-agents)-Text- und Thinking-Blöcke in `claude -p --output-format stream-json`-Ausgabe zu emittieren, das gleiche Verhalten wie das [`--forward-subagent-text`](/docs/de/cli-reference#cli-flags)-Flag. Verwenden Sie die Variable, wenn ein Harness `claude` aufruft und das Flag selbst nicht übergeben kann. Im Gegensatz zum Flag, das außerhalb des nicht-interaktiven Modus mit Stream-JSON-Ausgabe mit einem Fehler beendet wird, wird die Variable dort ignoriert, daher funktionieren verschachtelte Aufrufe weiter, wenn sie prozessweit gesetzt ist. Erfordert Claude Code v2.1.211 oder später |306| `CLAUDE_CODE_FORK_SUBAGENT` | Steuert den [Fork-Modus](/docs/de/sub-agents#turn-fork-mode-on-or-off), mit dem Claude selbst [geforkte Subagenten](/docs/de/sub-agents#fork-the-current-conversation) starten kann und der standardmäßig nur in interaktiven Sitzungen aktiviert ist. Auf `1` setzen, um ihn auch in `claude -p` und im Agent SDK zu aktivieren, oder auf `0`, um ihn in allen Arten von Sitzungen zu deaktivieren. Sie können `/subtask` unabhängig davon ausführen, ob der Fork-Modus aktiviert ist. Der interaktive Standard erfordert Claude Code v2.1.232 oder höher; setzen Sie die Variable in früheren Versionen auf `1`, um den Fork-Modus zu aktivieren |

307| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Setzen Sie auf `1`, um die [Gateway-Hint-Header](/docs/de/llm-gateway-protocol#gateway-hint-headers), wie `x-claude-code-request-class` und `x-claude-code-compaction`, auf einem benutzerdefinierten Proxy oder einem Drittanbieter-Provider wie Amazon Bedrock oder Claude Platform on AWS zu senden. Setzen Sie auf `0`, um sie auf jeder Verbindung zu stoppen, einschließlich einer direkten Verbindung zur Anthropic API, wo Claude Code sie standardmäßig sendet. Erfordert Claude Code v2.1.273 oder später |307| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Auf `1` setzen, um Text- und Thinking-Blöcke von [Subagenten](/docs/de/sub-agents) in der Ausgabe von `claude -p --output-format stream-json` auszugeben – dasselbe Verhalten wie mit dem Flag [`--forward-subagent-text`](/docs/de/cli-reference#cli-flags). Verwenden Sie die Variable, wenn ein Harness `claude` aufruft und das Flag nicht selbst übergeben kann. Anders als das Flag, das außerhalb des nicht interaktiven Modus mit stream-json-Ausgabe mit einem Fehler beendet wird, wird die Variable dort ignoriert, sodass verschachtelte Aufrufe weiterhin funktionieren, wenn sie prozessweit gesetzt ist. Erfordert Claude Code v2.1.211 oder höher |

308| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Timeout in Millisekunden für die [Gateway-Modell-Erkennungs](/docs/de/llm-gateway-protocol#model-discovery)-Anfrage, die `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` einschaltet (Standard: `3000`). Erhöhen Sie dies, wenn Ihr Gateway länger als drei Sekunden braucht, um `/v1/models` beim Start zu beantworten. Akzeptiert nur einfache Ziffern; `0`, negative Werte und andere Schreibweisen behalten den Standard. Erfordert Claude Code v2.1.269 oder später |308| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Auf `1` setzen, um die [Gateway-Hinweis-Header](/docs/de/llm-gateway-protocol#gateway-hint-headers) wie `x-claude-code-request-class` und `x-claude-code-compaction` über einen benutzerdefinierten Proxy oder einen Drittanbieter wie Amazon Bedrock oder Claude Platform on AWS zu senden. Auf `0` setzen, um sie bei keiner Verbindung mehr zu senden, auch nicht bei einer direkten Verbindung zur Anthropic API, bei der Claude Code sie standardmäßig sendet. Erfordert Claude Code v2.1.273 oder höher |

309| `CLAUDE_CODE_GIT_BASH_PATH` | Nur Windows: Pfad zur Git Bash-Ausführungsdatei (`bash.exe`). Verwenden Sie, wenn Git Bash installiert ist, aber nicht in Ihrem PATH. Wenn der Pfad nicht existiert oder die Datei nicht `bash.exe`, `sh.exe`, `bash` oder `sh` heißt, ignoriert Claude Code die Variable und auto-erkennt Git Bash, als ob sie nicht gesetzt wäre, und protokolliert eine Warnung, die mit `--debug` sichtbar ist. Vor v2.1.219 beendete Claude Code beim Start, wenn der Pfad nicht existierte, und verwendete jede existierende Datei als Shell, ohne zu überprüfen, dass sie bash oder sh war. Siehe [Windows-Setup](/docs/de/setup#set-up-on-windows) |309| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Timeout in Millisekunden für die Anfrage zur [Gateway-Modellermittlung](/docs/de/llm-gateway-protocol#model-discovery), die `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` aktiviert (Standard: `3000`). Erhöhen Sie den Wert, wenn Ihr Gateway beim Start länger als drei Sekunden benötigt, um auf `/v1/models` zu antworten. Akzeptiert nur reine Ziffern; `0`, negative Werte und andere Schreibweisen behalten den Standard bei. Erfordert Claude Code v2.1.269 oder höher |

310| `CLAUDE_CODE_GLOB_HIDDEN` | Setzen Sie auf `false`, um Dotfiles aus Ergebnissen auszuschließen, wenn Claude das [Glob-Tool](/docs/de/tools-reference#glob-tool-behavior) aufruft. Standardmäßig enthalten. Betrifft nicht `@`-Datei-Autovervollständigung, `ls`, Grep oder Read |310| `CLAUDE_CODE_GIT_BASH_PATH` | Nur Windows: Pfad zur ausführbaren Git-Bash-Datei (`bash.exe`). Verwenden Sie dies, wenn Git Bash installiert ist, sich aber nicht in Ihrem PATH befindet. Wenn der Pfad nicht existiert oder die Datei nicht `bash.exe`, `sh.exe`, `bash` oder `sh` heißt, ignoriert Claude Code die Variable, erkennt Git Bash automatisch, als wäre sie nicht gesetzt, und protokolliert eine Warnung, die mit `--debug` sichtbar ist. Vor v2.1.219 wurde Claude Code beim Start beendet, wenn der Pfad nicht existierte, und verwendete jede vorhandene Datei als Shell, ohne zu prüfen, ob es sich um bash oder sh handelte. Siehe [Einrichtung unter Windows](/docs/de/setup#set-up-on-windows) |

311| `CLAUDE_CODE_GLOB_NO_IGNORE` | Setzen Sie auf `false`, um das [Glob-Tool](/docs/de/tools-reference#glob-tool-behavior) `.gitignore`-Muster respektieren zu lassen. Standardmäßig gibt Glob alle übereinstimmenden Dateien zurück, einschließlich gitignorierter. Betrifft nicht `@`-Datei-Autovervollständigung, die ihre eigene [`respectGitignore`-Einstellung](/docs/de/settings-reference#respectgitignore) hat |311| `CLAUDE_CODE_GLOB_HIDDEN` | Auf `false` setzen, um Dotfiles aus den Ergebnissen auszuschließen, wenn Claude das [Glob-Tool](/docs/de/tools-reference#glob-tool-behavior) aufruft. Standardmäßig enthalten. Wirkt sich nicht auf die `@`-Dateivervollständigung, `ls`, Grep oder Read aus |

312| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Timeout in Sekunden für Glob-Tool-Datei-Erkennung. Standardmäßig 20 Sekunden auf den meisten Plattformen und 60 Sekunden auf WSL |312| `CLAUDE_CODE_GLOB_NO_IGNORE` | Auf `false` setzen, damit das [Glob-Tool](/docs/de/tools-reference#glob-tool-behavior) `.gitignore`-Muster berücksichtigt. Standardmäßig gibt Glob alle passenden Dateien zurück, einschließlich der per gitignore ausgeschlossenen. Wirkt sich nicht auf die `@`-Dateivervollständigung aus, die ihre eigene [Einstellung `respectGitignore`](/docs/de/settings-reference#respectgitignore) hat |

313| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Wie viele Minuten Hintergrundarbeit ein aktives Ziel warten lassen kann, bevor Claude Code [Claude bittet, es zu überprüfen](/docs/de/goal#background-work-defers-evaluation). Standard `30`. Setzen Sie `0`, um Check-Ins auszuschalten. Geben Sie ganze Minuten in einfachen Ziffern an, höchstens `10080`, was eine Woche ist. Claude Code behandelt jeden anderen Wert als nicht gesetzt und verwendet den Standard. Erfordert Claude Code v2.1.234 oder später |313| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Timeout in Sekunden für die Dateiermittlung des Glob-Tools. Standardmäßig 20 Sekunden auf den meisten Plattformen und 60 Sekunden unter WSL |

314| `CLAUDE_CODE_HIDE_CWD` | Setzen Sie auf `1`, um das Arbeitsverzeichnis im Startup-Logo zu verbergen. Nützlich für Screenshares oder Aufzeichnungen, wo der Pfad Ihren OS-Benutzernamen offenlegt |314| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Wie viele Minuten Arbeit im Hintergrund ein aktives Ziel warten lassen kann, bevor Claude Code [Claude bittet, danach zu sehen](/docs/de/goal#background-work-defers-evaluation). Standard `30`. Auf `0` setzen, um diese Überprüfungen zu deaktivieren. Geben Sie ganze Minuten als reine Ziffern an, höchstens `10080`, was einer Woche entspricht. Claude Code behandelt jeden anderen Wert als nicht gesetzt und verwendet den Standard. Erfordert Claude Code v2.1.234 oder höher |

315| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Überschreiben Sie die Host-Adresse, die zum Verbinden mit der IDE-Erweiterung verwendet wird. Standardmäßig auto-erkennt Claude Code die richtige Adresse, einschließlich WSL-zu-Windows-Routing |315| `CLAUDE_CODE_HIDE_CWD` | Auf `1` setzen, um das Arbeitsverzeichnis im Startlogo auszublenden. Nützlich bei Bildschirmfreigaben oder Aufzeichnungen, bei denen der Pfad Ihren Betriebssystem-Benutzernamen preisgibt |

316| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Setzen Sie auf `1`, um die Auto-Installation von IDE-Erweiterungen zu überspringen. Äquivalent zum Setzen von [`autoInstallIdeExtension`](/docs/de/settings-reference#autoinstallideextension) auf `false` |316| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Überschreibt die Host-Adresse, die für die Verbindung zur IDE-Erweiterung verwendet wird. Standardmäßig ermittelt Claude Code die richtige Adresse automatisch, einschließlich des Routings von WSL zu Windows |

317| `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 Auto-Connect Ihre IDE nicht findet, obwohl sie läuft |317| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Auf `1` setzen, um die automatische Installation von IDE-Erweiterungen zu überspringen. Entspricht dem Setzen von [`autoInstallIdeExtension`](/docs/de/settings-reference#autoinstallideextension) auf `false` |

318| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Wie viele [Subagents](/docs/de/sub-agents#concurrent-subagent-limit) in einer Sitzung laufen können, bevor das Agent-Tool sich weigert, einen anderen zu spawnen (Standard: 20). Akzeptiert eine positive ganze Zahl in einfachen Ziffern; alles andere wird ignoriert, daher kann die Variable die Obergrenze anpassen, aber nicht deaktivieren. Erfordert Claude Code v2.1.217 oder später |318| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Auf `1` setzen, um die Validierung von IDE-Lockfile-Einträgen beim Verbinden zu überspringen. Verwenden Sie dies, wenn die automatische Verbindung Ihre IDE nicht findet, obwohl sie läuft |

319| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Überschreiben Sie die Kontext-Fenster-Größe, die Claude Code für das aktive Modell annimmt. Ab v2.1.193 hängt, wie es angewendet wird, davon ab, wie Claude Code die Modell-ID auflöst; siehe [Fenster für eine Gateway- oder benutzerdefinierte Modell-ID korrigieren](/docs/de/model-config#correct-the-window-for-a-gateway-or-custom-model-id). Verwenden Sie dies beim Routing zu einem Modell durch `ANTHROPIC_BASE_URL`, dessen Kontext-Fenster nicht der integrierten Größe für seinen Namen entspricht |319| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Wie viele [Subagenten](/docs/de/sub-agents#concurrent-subagent-limit) in einer Sitzung gleichzeitig laufen können, bevor das Agent-Tool das Starten eines weiteren verweigert (Standard: 20). Akzeptiert eine positive ganze Zahl als reine Ziffern; alles andere wird ignoriert, sodass die Variable die Obergrenze anpassen, aber nicht deaktivieren kann. Erfordert Claude Code v2.1.217 oder höher |

320| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Maximale Länge in Zeichen jeder MCP-Tool-Beschreibung und jeder MCP-Server-Anweisungen, die Claude Code an das Modell sendet (Standard: 2048). Claude Code [kürzt längeren Text](/docs/de/mcp#for-mcp-server-authors). Akzeptiert eine positive ganze Zahl in einfachen Ziffern. Alles andere wird ignoriert und der Standard gilt. Erfordert Claude Code v2.1.280 oder später |320| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Überschreibt die Größe des Kontextfensters, die Claude Code für das aktive Modell annimmt. Ab v2.1.193 hängt die Anwendung davon ab, wie Claude Code die Modell-ID auflöst; siehe [Das Fenster für ein Gateway oder eine benutzerdefinierte Modell-ID korrigieren](/docs/de/model-config#correct-the-window-for-a-gateway-or-custom-model-id). Verwenden Sie dies, wenn Sie über `ANTHROPIC_BASE_URL` an ein Modell weiterleiten, dessen Kontextfenster nicht der integrierten Größe für seinen Namen entspricht |

321| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Setzen Sie die maximale Anzahl von Output-Tokens für die meisten Anfragen. Standardwerte und Obergrenzen variieren je nach Modell; siehe [Max Output Tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code sendet einen Standard von 32000 für Modell-IDs, die es nicht erkennt, wie Gateway-spezifische Namen, und senkt Werte über einer Modell-Obergrenze auf die Obergrenze. Das Erhöhen dieses Wertes reduziert das verfügbare effektive Kontext-Fenster, bevor [Auto-Compaction](/docs/de/costs#reduce-token-usage) ausgelöst wird |321| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Maximale Länge in Zeichen für jede MCP-Tool-Beschreibung und die Anweisungen jedes MCP-Servers, die Claude Code an das Modell sendet (Standard: 2048). Claude Code [kürzt längeren Text](/docs/de/mcp#for-mcp-server-authors). Akzeptiert eine positive ganze Zahl als reine Ziffern. Alles andere wird ignoriert und der Standard gilt. Erfordert Claude Code v2.1.280 oder höher |

322| `CLAUDE_CODE_MAX_RETRIES` | Überschreiben Sie die Anzahl der Versuche, fehlgeschlagene API-Anfragen zu wiederholen (Standard: 10). Begrenzt auf 15 ab v2.1.186; ab v2.1.199 erhöht `CLAUDE_CODE_RETRY_WATCHDOG` den Standard und entfernt die Obergrenze. Für unbeaufsichtigte Sitzungen, die längere Ausfallzeiten abwarten müssen, setzen Sie stattdessen `CLAUDE_CODE_RETRY_WATCHDOG` |322| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Legt die maximale Anzahl an Ausgabe-Token für die meisten Anfragen fest. Standardwerte und Obergrenzen variieren je nach Modell; siehe [maximale Ausgabe-Token](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code senkt einen Wert oberhalb der Obergrenze eines Modells auf diese Obergrenze. Für eine Modell-ID, die Claude Code keinem bekannten Modell zuordnen kann, beträgt der Standard 32000 und die Obergrenze 128000. Eine Erhöhung dieses Werts verringert das effektiv verfügbare Kontextfenster, bevor die [automatische Komprimierung](/docs/de/costs#reduce-token-usage) ausgelöst wird |

323| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Entfernt in v2.1.224 und jetzt ein No-Op. Begrenzte zuvor die Gesamtzahl der [Subagents](/docs/de/sub-agents), die Claude mit dem Agent-Tool in einer Sitzung spawnen konnte (Standard: 200); Spawning über die Obergrenze hinaus schlägt mit `Subagent spawn limit reached` fehl. Die [Concurrent Subagent Limit](/docs/de/sub-agents#concurrent-subagent-limit) und die [Depth Limit](/docs/de/sub-agents#let-subagents-spawn-their-own-subagents) gelten immer noch |323| `CLAUDE_CODE_MAX_RETRIES` | Überschreibt, wie oft fehlgeschlagene API-Anfragen erneut versucht werden (Standard: 10). Ab v2.1.186 auf 15 begrenzt; ab v2.1.199 erhöht `CLAUDE_CODE_RETRY_WATCHDOG` den Standard und hebt die Obergrenze auf. Für unbeaufsichtigte Sitzungen, die längere Ausfälle abwarten müssen, setzen Sie stattdessen `CLAUDE_CODE_RETRY_WATCHDOG` |

324| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Anzahl der [Subagent-Schichten](/docs/de/sub-agents#let-subagents-spawn-their-own-subagents) unter der Hauptkonversation (Standard: 3). Bei dem Standard können Subagents ihre eigenen spawnen, und ein Subagent in der dritten Schicht kann nicht weiter spawnen; setzen Sie `1`, um Verschachtelung auszuschalten. In v2.1.217 bis v2.1.218 war der Standard 1, daher konnte ein Subagent nicht sein eigenes spawnen, es sei denn, Sie erhöhten die Obergrenze; v2.1.219 erhöhte den Standard auf 3. Akzeptiert eine positive ganze Zahl in einfachen Ziffern; alles andere wird ignoriert, daher kann die Obergrenze angepasst, aber nicht entfernt werden. Erfordert Claude Code v2.1.217 oder später |324| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Entfernt in v2.1.224 und jetzt wirkungslos. Begrenzte zuvor die Gesamtzahl der [Subagenten](/docs/de/sub-agents), die Claude mit dem Agent-Tool in einer Sitzung starten konnte (Standard: 200); das Starten über die Obergrenze hinaus schlug mit `Subagent spawn limit reached` fehl. Das [Limit für gleichzeitige Subagenten](/docs/de/sub-agents#concurrent-subagent-limit) und das [Tiefenlimit](/docs/de/sub-agents#let-subagents-spawn-their-own-subagents) gelten weiterhin |

325| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Maximale Anzahl von Read-Only-Tools und Subagents, die parallel ausgeführt werden können (Standard: 10). Höhere Werte erhöhen Parallelismus, verbrauchen aber mehr Ressourcen |325| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Anzahl der [Subagenten-Ebenen](/docs/de/sub-agents#let-subagents-spawn-their-own-subagents), die unterhalb der Hauptkonversation erlaubt sind (Standard: 3). Beim Standardwert können Subagenten eigene Subagenten starten, und ein Subagent auf der dritten Ebene kann keine weiteren starten; auf `1` setzen, um die Verschachtelung zu deaktivieren. In v2.1.217 bis v2.1.218 war der Standard 1, sodass ein Subagent keine eigenen starten konnte, sofern Sie das Limit nicht erhöhten; v2.1.219 erhöhte den Standard auf 3. Akzeptiert eine positive ganze Zahl als reine Ziffern; alles andere wird ignoriert, sodass das Limit angepasst, aber nicht aufgehoben werden kann. Erfordert Claude Code v2.1.217 oder höher |

326| `CLAUDE_CODE_MAX_TURNS` | Begrenzen Sie die Anzahl der Agentic Turns, wenn keine explizite Obergrenze übergeben wird. Äquivalent zum Übergeben von [`--max-turns`](/docs/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 keine Obergrenze behandelt zu werden |326| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Maximale Anzahl nur lesender Tools und Subagenten, die parallel ausgeführt werden können (Standard: 10). Höhere Werte erhöhen die Parallelität, verbrauchen aber mehr Ressourcen |

327| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Obergrenze für die Gesamtzahl der [WebSearch](/docs/de/tools-reference#websearch-tool-behavior)-Aufrufe, die eine Sitzung machen kann (Standard: 200). Wenn Claude die Obergrenze erreicht, geben weitere WebSearch-Aufrufe eine Benachrichtigung zurück, die Claude sagt, mit den Informationen fortzufahren, die es bereits gesammelt hat. Akzeptiert eine positive ganze Zahl ohne Obergrenze. Alles andere wird ignoriert und der Standard gilt, daher kann die Obergrenze erhöht, aber nicht ausgeschaltet werden. Erfordert Claude Code v2.1.212 oder später |327| `CLAUDE_CODE_MAX_TURNS` | Begrenzt die Anzahl agentischer Turns, wenn kein explizites Limit übergeben wird. Entspricht der Übergabe von [`--max-turns`](/docs/de/cli-reference#cli-flags), das Vorrang hat, wenn beide gesetzt sind. Ein Wert, der keine positive ganze Zahl ist, wird beim Start mit einem Fehler abgelehnt, statt als fehlende Obergrenze behandelt zu werden |

328| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Setzen Sie auf `1`, um stdio MCP-Server mit nur einer sicheren Baseline-Umgebung plus der konfigurierten `env` des Servers zu spawnen, anstatt Ihre Shell-Umgebung zu erben |328| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Obergrenze für die Gesamtzahl an [WebSearch](/docs/de/tools-reference#websearch-tool-behavior)-Aufrufen, die eine Sitzung ausführen kann (Standard: 200). Wenn Claude die Obergrenze erreicht, geben weitere WebSearch-Aufrufe einen Hinweis zurück, der Claude anweist, mit den bereits gesammelten Informationen fortzufahren. Akzeptiert eine positive ganze Zahl ohne Obergrenze. Alles andere wird ignoriert und der Standard gilt, sodass die Obergrenze erhöht, aber nicht deaktiviert werden kann. Erfordert Claude Code v2.1.212 oder höher |

329| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | Verstrichene Zeit in Millisekunden, bevor ein noch laufender MCP-Tool-Aufruf [zu einer Hintergrund-Aufgabe wechselt](/docs/de/mcp#automatic-backgrounding-of-long-tool-calls) (Standard: 120000 oder 2 Minuten). Setzen Sie auf `0`, um automatisches Backgrounding auszuschalten. Erfordert Claude Code v2.1.212 oder später |329| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Auf `1` setzen, um stdio-MCP-Server nur mit einer sicheren Basisumgebung plus dem für den Server konfigurierten `env` zu starten, statt Ihre Shell-Umgebung zu erben |

330| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Wie lange in Millisekunden der erste Turn einer [nicht-interaktiven](/docs/de/headless)-Sitzung auf MCP-Server wartet, die noch verbinden, anstelle des Standard-[First-Turn-Waits](/docs/de/agent-sdk/mcp#connection-timing). Wenn gesetzt, deckt das Warten jeden ausstehenden Server ab. Setzen Sie auf `0`, um das Warten zu überspringen. Ein [`--permission-prompt-tool`](/docs/de/cli-reference#cli-flags)-Server behält sein eigenes `MCP_TIMEOUT`-Warten unabhängig vom Wert. Erfordert Claude Code v2.1.274 oder später |330| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | Verstrichene Zeit in Millisekunden, nach der ein noch laufender MCP-Tool-Aufruf [in eine Hintergrundaufgabe verschoben wird](/docs/de/mcp#automatic-backgrounding-of-long-tool-calls) (Standard: 120000, also 2 Minuten). Auf `0` setzen, um das automatische Verschieben in den Hintergrund zu deaktivieren. Erfordert Claude Code v2.1.212 oder höher |

331| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Idle-Timeout in Millisekunden für MCP-Tool-Aufrufe. Wenn ein stdio-, HTTP-, SSE-, WebSocket- oder [claude.ai-Connector](/docs/de/mcp#use-mcp-servers-from-claude-ai)-MCP-Server diese lange keine Antwort und keine Fortschritts-Benachrichtigung sendet, bricht der Tool-Aufruf mit einem Fehler ab, anstatt auf das Gesamt-`MCP_TOOL_TIMEOUT` zu warten. Überschreibt die Pro-Transport-Standards von 300000 (5 Minuten) für Netzwerk-Server und 1800000 (30 Minuten) für stdio-Server. Setzen Sie auf `0`, um die Idle-Prüfung zu deaktivieren. Werte unter 1000 werden auf eine Sekunde erhöht, und der Wert ist auf das effektive `MCP_TOOL_TIMEOUT` begrenzt. Ein Pro-Server-`timeout` in `.mcp.json` von mindestens 1000 erhöht das Idle-Fenster dieses Servers auf mindestens den `timeout`-Wert. Gilt nicht für IDE-Server oder SDK In-Process-Server. Erfordert Claude Code v2.1.187 oder später. Vor v2.1.203 waren stdio-Server von dem Idle-Timeout ausgenommen |331| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Wie lange in Millisekunden der erste Turn einer [nicht interaktiven](/docs/de/headless) Sitzung auf MCP-Server wartet, die noch eine Verbindung herstellen, anstelle der standardmäßigen [Wartezeit im ersten Turn](/docs/de/agent-sdk/mcp#connection-timing). Wenn gesetzt, gilt die Wartezeit für jeden ausstehenden Server. Auf `0` setzen, um das Warten zu überspringen. Ein [`--permission-prompt-tool`](/docs/de/cli-reference#cli-flags)-Server behält unabhängig vom Wert seine eigene `MCP_TIMEOUT`-Wartezeit. Erfordert Claude Code v2.1.274 oder höher |

332| `CLAUDE_CODE_MESSAGING_SOCKET` | Wird von Claude Code gesetzt, nicht von Ihnen: in Sitzungen, die einen [Inbox-Socket](/docs/de/cross-session-messaging#the-sessions-inbox-socket) binden, exportiert Claude Code den Pfad dieses Sockets zu Hooks und Bash-Befehlen, wenn es den Socket bindet. In einer Sitzung, die mit Messaging startet, bindet Claude Code den Socket, bevor ein Hook läuft. Andere Sitzungen auf der Maschine liefern Nachrichten an diesen Pfad. Jede Sitzung exportiert ihren eigenen Socket, anstatt einen von einem übergeordneten zu erben, und Nachrichten, die auf ihm ankommen, gehen durch die [Inbound-Kontrollen](/docs/de/cross-session-messaging#control-inbound-messages) der Sitzung. Einstellungs-`env`-Blöcke können es nicht setzen. Erfordert Claude Code v2.1.224 oder später |332| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Leerlauf-Timeout in Millisekunden für MCP-Tool-Aufrufe. Wenn ein stdio-, HTTP-, SSE-, WebSocket- oder [claude.ai-Konnektor](/docs/de/mcp#use-mcp-servers-from-claude-ai)-MCP-Server so lange weder eine Antwort noch eine Fortschrittsbenachrichtigung sendet, wird der Tool-Aufruf mit einem Fehler abgebrochen, statt auf den gesamten `MCP_TOOL_TIMEOUT` zu warten. Überschreibt die transportspezifischen Standardwerte von 300000 (5 Minuten) für Netzwerkserver und 1800000 (30 Minuten) für stdio-Server. Auf `0` setzen, um die Leerlaufprüfung zu deaktivieren. Werte unter 1000 werden auf eine Sekunde angehoben, und der Wert ist auf den effektiven `MCP_TOOL_TIMEOUT` begrenzt. Ein serverspezifischer `timeout` in `.mcp.json` von mindestens 1000 erhöht das Leerlauffenster dieses Servers auf mindestens den `timeout`-Wert. Gilt nicht für IDE-Server oder In-Process-Server des SDK. Erfordert Claude Code v2.1.187 oder höher. Vor v2.1.203 waren stdio-Server vom Leerlauf-Timeout ausgenommen |

333| `CLAUDE_CODE_MESSAGING_TOKEN` | Wird von Claude Code gesetzt, nicht von Ihnen: in Sitzungen, die einen [Inbox-Socket](/docs/de/cross-session-messaging#the-sessions-inbox-socket) binden, exportiert Claude Code diesen Pro-Sitzungs-Token zu Hooks und Bash-Befehlen neben `CLAUDE_CODE_MESSAGING_SOCKET`. Ein Skript, das zum Socket postet, kann `{"type":"auth","token":"<token>"}` als erste Zeile senden, um zu beweisen, dass es zur Sitzung gehört. Auf nativem Windows erfordert Claude Code diese Zeile und schließt jede Verbindung, die nicht mit einem gültigen öffnet. Die [Own-Child-Regeln](/docs/de/cross-session-messaging#the-sessions-inbox-socket) sagen, wann Claude Code den Token konsultiert. Jede Sitzung exportiert ihren eigenen Token, nie einen von einer übergeordneten Sitzung geerbt. Einstellungs-`env`-Blöcke können es nicht setzen. Erfordert Claude Code v2.1.228 oder später |333| `CLAUDE_CODE_MESSAGING_SOCKET` | Wird von Claude Code gesetzt, nicht von Ihnen: In Sitzungen, die einen [Inbox-Socket](/docs/de/cross-session-messaging#the-sessions-inbox-socket) binden, exportiert Claude Code den Pfad dieses Sockets an Hooks und Bash-Befehle, wenn es den Socket bindet. In einer Sitzung, die mit aktiviertem Messaging startet, bindet Claude Code den Socket, bevor ein Hook ausgeführt wird. Andere Sitzungen auf dem Rechner stellen Nachrichten an diesen Pfad zu. Jede Sitzung exportiert ihren eigenen Socket statt eines von einer übergeordneten Sitzung geerbten, und darauf eingehende Nachrichten durchlaufen die [Steuerung eingehender Nachrichten](/docs/de/cross-session-messaging#control-inbound-messages) der Sitzung. `env`-Blöcke in Einstellungen können sie nicht setzen. Erfordert Claude Code v2.1.224 oder höher |

334| `CLAUDE_CODE_NATIVE_CURSOR` | Setzen Sie auf `1`, um den eigenen Cursor des Terminals bei der Eingabe-Einfügemarke anzuzeigen, anstatt eines gezeichneten Blocks. Der Cursor respektiert die Blink-, Form- und Fokus-Einstellungen des Terminals |334| `CLAUDE_CODE_MESSAGING_TOKEN` | Wird von Claude Code gesetzt, nicht von Ihnen: In Sitzungen, die einen [Inbox-Socket](/docs/de/cross-session-messaging#the-sessions-inbox-socket) binden, exportiert Claude Code dieses sitzungsspezifische Token zusammen mit `CLAUDE_CODE_MESSAGING_SOCKET` an Hooks und Bash-Befehle. Ein Skript, das an den Socket sendet, kann als erste Zeile `{"type":"auth","token":"<token>"}` senden, um nachzuweisen, dass es zur Sitzung gehört. Unter nativem Windows verlangt Claude Code diese Zeile und schließt jede Verbindung, die nicht mit einer gültigen Zeile beginnt. Die [Regeln für eigene Kindprozesse](/docs/de/cross-session-messaging#the-sessions-inbox-socket) legen fest, wann Claude Code das Token prüft. Jede Sitzung exportiert ihr eigenes Token, niemals eines, das von einer übergeordneten Sitzung geerbt wurde. `env`-Blöcke in Einstellungen können sie nicht setzen. Erfordert Claude Code v2.1.228 oder höher |

335| `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 zu fragen |335| `CLAUDE_CODE_NATIVE_CURSOR` | Auf `1` setzen, um an der Eingabemarke den eigenen Cursor des Terminals statt eines gezeichneten Blocks anzuzeigen. Der Cursor berücksichtigt die Einstellungen des Terminals für Blinken, Form und Fokus |

336| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Setzen Sie auf `1`, um Terminal-Ausgabe durch einen zweiten nicht-blockierenden Datei-Deskriptor zu schreiben, daher kann ein Terminal, das nicht mehr liest, wie ein pausierter tmux Control-Mode-Pane oder eine steckengebliebene SSH-Verbindung, Claude Code nicht mid-session einfrieren. Gilt auf macOS, Linux und WSL, wenn stdout ein Terminal ist. Erfordert Claude Code v2.1.261 oder später |336| `CLAUDE_CODE_NEW_INIT` | Auf `1` setzen, damit `/init` einen interaktiven Einrichtungsablauf ausführt. Der Ablauf fragt, welche Dateien erzeugt werden sollen, darunter CLAUDE.md, Skills und Hooks, bevor er die Codebasis untersucht und sie schreibt. Ohne diese Variable erzeugt `/init` automatisch eine CLAUDE.md ohne Nachfrage |

337| `CLAUDE_CODE_NO_FLICKER` | Setzen Sie auf `1`, um [Vollbild-Rendering](/docs/de/fullscreen) zu aktivieren, eine Forschungsvorschau, die Flimmern reduziert und den Speicher in langen Konversationen flach hält. Überschreibt die [`tui`](/docs/de/settings-reference#tui)-Einstellung; Sie können auch mit `/tui fullscreen` wechseln |337| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Auf `1` setzen, um die Terminalausgabe über einen zweiten, nicht blockierenden Dateideskriptor zu schreiben, sodass ein Terminal, das nicht mehr liest, etwa ein pausiertes tmux-Control-Mode-Pane oder eine hängende SSH-Verbindung, Claude Code nicht mitten in der Sitzung einfrieren kann. Gilt unter macOS, Linux und WSL, wenn stdout ein Terminal ist. Erfordert Claude Code v2.1.261 oder höher |

338| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | OAuth-Refresh-Token für Claude.ai-Authentifizierung. Wenn gesetzt, tauscht `claude auth login` diesen Token direkt aus, anstatt einen Browser zu öffnen. Erfordert `CLAUDE_CODE_OAUTH_SCOPES`. Nützlich für die Bereitstellung von Authentifizierung in automatisierten Umgebungen |338| `CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES` | Begrenzt, wie oft Claude Code eine [Nicht-Streaming-Anfrage](/docs/de/errors#streaming-response-ended-before-any-complete-data-was-received), bei der eine Zeitüberschreitung auftritt, erneut sendet. Mit `0` schlägt die Anfrage bei der ersten Zeitüberschreitung fehl. Standardmäßig nicht gesetzt, sodass `CLAUDE_CODE_MAX_RETRIES` diese erneuten Sendungen begrenzt. Zum Timeout siehe [Wiederholungsverhalten anpassen](/docs/de/errors#tune-retry-behavior). Erfordert Claude Code v2.1.285 oder höher |

339| `CLAUDE_CODE_OAUTH_SCOPES` | Leerzeichen-getrennte OAuth-Scopes, mit denen der Refresh-Token ausgestellt wurde, wie `"user:profile user:inference user:sessions:claude_code"`. Erforderlich, wenn `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` gesetzt ist |339| `CLAUDE_CODE_NO_FLICKER` | Auf `1` setzen, um das [Vollbild-Rendering](/docs/de/fullscreen) zu aktivieren, eine Research Preview, die Flackern reduziert und den Speicherverbrauch in langen Konversationen konstant hält. Überschreibt die Einstellung [`tui`](/docs/de/settings-reference#tui); Sie können auch mit `/tui fullscreen` umschalten |

340| `CLAUDE_CODE_OAUTH_TOKEN` | OAuth-Zugriffstoken für claude.ai-Authentifizierung. Alternative zu `/login` für SDK und automatisierte Umgebungen. Hat Vorrang vor Keychain-gespeicherten Credentials. Generieren Sie eines mit [`claude setup-token`](/docs/de/authentication#generate-a-long-lived-token). Wenn Sie nicht [`/login`](/docs/de/authentication#authentication-precedence) ausführen, verwendet Claude Code das Token, das Sie für die ganze Sitzung setzen. Um ein abgelaufenes Token zu ersetzen, generieren Sie ein neues und starten Sie neu |340| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | OAuth-Refresh-Token für die Authentifizierung bei Claude.ai. Wenn gesetzt, tauscht `claude auth login` dieses Token direkt ein, statt einen Browser zu öffnen. Erfordert `CLAUDE_CODE_OAUTH_SCOPES`. Nützlich für die Bereitstellung der Authentifizierung in automatisierten Umgebungen |

341| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Entfernt in v2.1.160 und jetzt ein No-Op. Heftete zuvor [Fast Mode](/docs/de/fast-mode) auf Claude Opus 4.6 an, anstelle des aktuellen Standards. Opus 4.6 unterstützt Fast Mode nicht mehr |341| `CLAUDE_CODE_OAUTH_SCOPES` | Durch Leerzeichen getrennte OAuth-Scopes, mit denen das Refresh-Token ausgestellt wurde, etwa `"user:profile user:inference user:sessions:claude_code"`. Erforderlich, wenn `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` gesetzt ist |

342| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Maximale Länge von Content-tragenden OpenTelemetry-Attributen (Modell-Antworten, Tool-Inhalt, System-Prompts, rohe API-Bodies), Kürzungs-Marker enthalten, in UTF-16-Code-Einheiten (Standard: 61440, d.h. 60 KB). Erhöhen Sie es nur, wenn Ihr Telemetrie-Backend Attribut-Werte größer als 64 KB akzeptiert, oder senken Sie es, um Telemetrie-Volumen zu reduzieren. Erfordert Claude Code v2.1.214 oder später. Siehe [Monitoring](/docs/de/monitoring-usage) |342| `CLAUDE_CODE_OAUTH_TOKEN` | OAuth-Zugriffstoken für die Authentifizierung bei claude.ai. Alternative zu `/login` für SDK- und automatisierte Umgebungen. Hat Vorrang vor im Schlüsselbund gespeicherten Anmeldedaten. Erzeugen Sie eines mit [`claude setup-token`](/docs/de/authentication#generate-a-long-lived-token). Sofern Sie nicht [`/login`](/docs/de/authentication#authentication-precedence) ausführen, verwendet Claude Code das von Ihnen gesetzte Token für die gesamte Sitzung. Um ein abgelaufenes Token zu ersetzen, erzeugen Sie ein neues und starten neu |

343| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Setzen Sie auf `1`, um OpenTelemetry-Exporter-Diagnose-Fehler zu stderr zu schreiben. Standardmäßig erscheinen diese Fehler nur mit `--debug`, daher schlägt ein fehlkonfigurierter Exporter wie eine Prometheus-Port-Kollision andernfalls stillschweigend fehl. Erfordert Claude Code v2.1.179 oder später. Siehe [Monitoring](/docs/de/monitoring-usage) |343| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Entfernt in v2.1.160 und jetzt wirkungslos. Legte den [Fast-Modus](/docs/de/fast-mode) zuvor auf Claude Opus 4.6 statt auf den aktuellen Standard fest. Opus 4.6 unterstützt den Fast-Modus nicht mehr |

344| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout in Millisekunden zum Leeren ausstehender OpenTelemetry-Spans (Standard: 5000). Siehe [Monitoring](/docs/de/monitoring-usage) |344| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Maximale Länge inhaltstragender OpenTelemetry-Attribute (Modellantworten, Tool-Inhalte, System-Prompts, unverarbeitete API-Bodys), einschließlich Kürzungsmarkierung, in UTF-16-Codeeinheiten (Standard: 61440, d. h. 60 KB). Erhöhen Sie den Wert nur, wenn Ihr Telemetrie-Backend Attributwerte größer als 64 KB akzeptiert, oder senken Sie ihn, um das Telemetrievolumen zu reduzieren. Erfordert Claude Code v2.1.214 oder höher. Siehe [Überwachung](/docs/de/monitoring-usage) |

345| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervall zum Aktualisieren dynamischer OpenTelemetry-Header in Millisekunden (Standard: 1740000 / 29 Minuten). Siehe [Dynamic Headers](/docs/de/monitoring-usage#dynamic-headers) |345| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Auf `1` setzen, um Diagnosefehler des OpenTelemetry-Exporters nach stderr zu schreiben. Standardmäßig erscheinen diese Fehler nur mit `--debug`, sodass ein falsch konfigurierter Exporter, etwa bei einer Prometheus-Portkollision, andernfalls unbemerkt fehlschlägt. Erfordert Claude Code v2.1.179 oder höher. Siehe [Überwachung](/docs/de/monitoring-usage) |

346| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Timeout in Millisekunden für den OpenTelemetry-Exporter zum Beenden beim Herunterfahren (Standard: 2000). Erhöhen Sie, wenn Metriken beim Beenden gelöscht werden. Siehe [Monitoring](/docs/de/monitoring-usage) |346| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Timeout in Millisekunden für das Leeren ausstehender OpenTelemetry-Spans (Standard: 5000). Siehe [Überwachung](/docs/de/monitoring-usage) |

347| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Setzen Sie auf `1`, um Claude Code Ihren Package Manager's Upgrade-Befehl im Hintergrund ausführen zu lassen, wenn eine neue Version verfügbar ist. Gilt für Homebrew und WinGet-Installationen. Andere Package Manager zeigen weiterhin den Upgrade-Befehl ohne Ausführung. Siehe [Auto-Updates](/docs/de/setup#auto-updates) |347| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervall für die Aktualisierung dynamischer OpenTelemetry-Header in Millisekunden (Standard: 1740000 / 29 Minuten). Siehe [Dynamische Header](/docs/de/monitoring-usage#dynamic-headers) |

348| `CLAUDE_CODE_PERFORCE_MODE` | Setzen Sie auf `1`, um Perforce-bewussten Schreibschutz zu aktivieren. Wenn gesetzt, schlagen Edit, Write und NotebookEdit mit einem `p4 edit <file>`-Hinweis fehl, wenn die Zieldatei das Owner-Write-Bit nicht hat, das Perforce bei synced Dateien löscht, bis `p4 edit` sie öffnet. Dies verhindert, dass Claude Code Perforce-Change-Tracking umgeht |348| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Timeout in Millisekunden, innerhalb dessen der OpenTelemetry-Exporter beim Herunterfahren abschließen muss (Standard: 2000). Erhöhen Sie den Wert, wenn Metriken beim Beenden verloren gehen. Siehe [Überwachung](/docs/de/monitoring-usage) |

349| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Überschreiben Sie das Plugins-Root-Verzeichnis. Trotz des Namens setzt dies das übergeordnete Verzeichnis, nicht den Cache selbst: Marketplaces und der Plugin-Cache leben in Unterverzeichnissen unter diesem Pfad. Standardmäßig `~/.claude/plugins` |349| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Auf `1` setzen, damit Claude Code den Upgrade-Befehl Ihres Paketmanagers im Hintergrund ausführt, wenn eine neue Version verfügbar ist. Gilt für Homebrew- und WinGet-Installationen. Andere Paketmanager zeigen weiterhin den Upgrade-Befehl an, ohne ihn auszuführen. Siehe [Automatische Updates](/docs/de/setup#auto-updates) |

350| `CLAUDE_CODE_PLUGIN_DIRS` | Plugin-Verzeichnisse zum Laden für die Sitzung, jedes geladen wie ein [`--plugin-dir`](/docs/de/plugins/cli-reference#flags-that-load-a-plugin-for-one-session)-Flag es lädt. Trennen Sie mehrere Pfade mit `:` auf Unix oder `;` auf Windows. Geben Sie jeden Pfad als absoluten Pfad an oder starten Sie ihn mit `~`, weil Claude Code relative Pfade überspringt. Erfordert Claude Code v2.1.280 oder später. Siehe [Plugin für eine Sitzung laden](/docs/de/plugins/create#load-a-directory-or-archive-for-one-session) |350| `CLAUDE_CODE_PERFORCE_MODE` | Auf `1` setzen, um einen Perforce-bewussten Schreibschutz zu aktivieren. Wenn gesetzt, schlagen Edit, Write und NotebookEdit mit einem Hinweis auf `p4 edit <file>` fehl, wenn der Zieldatei das Schreibrecht für den Besitzer fehlt, das Perforce bei synchronisierten Dateien entfernt, bis `p4 edit` sie öffnet. Dies verhindert, dass Claude Code die Änderungsverfolgung von Perforce umgeht |

351| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Timeout in Millisekunden zum Klonen oder Aktualisieren eines Plugin-Marketplace (Standard: 120000). Erhöhen Sie diesen Wert für große Repositories oder langsame Netzwerk-Verbindungen. Siehe [Git Clone Timeout](/docs/de/plugins/troubleshooting#git-clone-timed-out-after-120s) |351| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Überschreibt das Stammverzeichnis für Plugins. Trotz des Namens legt dies das übergeordnete Verzeichnis fest, nicht den Cache selbst: Marketplaces und der Plugin-Cache befinden sich in Unterverzeichnissen dieses Pfads. Standardmäßig `~/.claude/plugins` |

352| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Setzen Sie auf `1`, um den Re-Clone-Versuch zu überspringen und den bestehenden Marketplace-Checkout zu behalten, wenn ein Marketplace-Refresh das Remote nicht erreichen oder authentifizieren kann. Nützlich in Offline- oder Airgapped-Umgebungen, wo Re-Cloning auf die gleiche Weise fehlschlagen würde. Siehe [Marketplace-Updates schlagen in Offline-Umgebungen fehl](/docs/de/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |352| `CLAUDE_CODE_PLUGIN_DIRS` | Plugin-Verzeichnisse, die für die Sitzung geladen werden, jedes so, wie es ein [`--plugin-dir`](/docs/de/plugins/cli-reference#flags-that-load-a-plugin-for-one-session)-Flag laden würde. Trennen Sie mehrere Pfade unter Unix mit `:` oder unter Windows mit `;`. Geben Sie jeden Pfad als absoluten Pfad an oder beginnen Sie ihn mit `~`, da Claude Code relative Pfade überspringt. Erfordert Claude Code v2.1.280 oder höher. Siehe [Ein Plugin für eine Sitzung laden](/docs/de/plugins/create#load-a-directory-or-archive-for-one-session) |

353| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Setzen Sie auf `1`, um GitHub `owner/repo`-Shorthand-Quellen über HTTPS statt SSH zu klonen. Gilt für Plugin-Installation und Update, und für `/plugin marketplace add` und `update`. Nützlich in CI-Runnern, Containern oder jeder Umgebung ohne konfigurierten SSH-Schlüssel für `github.com` |353| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Timeout in Millisekunden für das Klonen oder Aktualisieren eines Plugin-Marketplace (Standard: 120000). Erhöhen Sie diesen Wert bei großen Repositorys oder langsamen Netzwerkverbindungen. Siehe [Git clone timed out](/docs/de/plugins/troubleshooting#git-clone-timed-out-after-120s) |

354| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Pfad zu einem oder mehreren Read-Only-Plugin-Seed-Verzeichnissen, getrennt durch `:` auf Unix oder `;` auf Windows. Verwenden Sie dies, um ein vorpopuliertes Plugins-Verzeichnis in ein Container-Image zu bündeln. Claude Code registriert Marketplaces aus diesen Verzeichnissen beim Start und verwendet vorgespeicherte Plugins ohne Re-Cloning. Siehe [Plugins für Container vorpopulieren](/docs/de/plugins/org#seed-containers-and-ci) |354| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Auf `1` setzen, um den erneuten Klonversuch zu überspringen und den vorhandenen Marketplace-Checkout weiter zu verwenden, wenn eine Marketplace-Aktualisierung das Remote nicht erreichen oder sich nicht authentifizieren kann. Nützlich in Offline- oder Air-Gapped-Umgebungen, in denen ein erneutes Klonen auf dieselbe Weise fehlschlagen würde. Siehe [Marketplace-Updates schlagen in Offline-Umgebungen fehl](/docs/de/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |

355| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Setzen Sie auf `1`, um Claude Code davon abzuhalten, `-ExecutionPolicy Bypass` beim Spawnen von PowerShell für Tool-Aufrufe, Hooks und Status-Zeilen-Befehle zu übergeben, und respektieren Sie stattdessen die effektive Ausführungs-Richtlinie der Maschine. Standardmäßig umgeht Claude Code die Ausführungs-Richtlinie auf Prozess-Ebene, daher funktionieren `.ps1`-Skripte und Modul-Importe auf Standard-Restricted-Windows-Installationen. Prozess-Ebene-Bypass überschreibt niemals Group Policy `MachinePolicy` oder `UserPolicy`, unabhängig von dieser Einstellung |355| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Auf `1` setzen, um GitHub-Quellen in der Kurzschreibweise `owner/repo` über HTTPS statt über SSH zu klonen. Gilt für die Installation und Aktualisierung von Plugins sowie für `/plugin marketplace add` und `update`. Nützlich in CI-Runnern, Containern oder jeder Umgebung ohne konfigurierten SSH-Schlüssel für `github.com` |

356| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Obergrenze in Millisekunden auf Idle-Warten für Hintergrund-Subagents und Workflows nach dem finalen Turn im [nicht-interaktiven Modus](/docs/de/headless#background-tasks-at-exit) mit dem `-p`-Flag. Idle-Warten startet neu, jedes Mal wenn Claude einen Turn nimmt, um ein Hintergrund-Ergebnis zu handhaben. Standard: `600000` oder 10 Minuten. Wenn Idle-Warten die Obergrenze erreicht, stoppt Claude Code das Warten auf die verbleibenden Hintergrund-Aufgaben und beendet. Setzen Sie auf `0`, um unbegrenzt zu warten. Diese Obergrenze ist separat von der fünf-Sekunden-Gnadenfrist, die auf einfache Hintergrund-Shells gilt. Erfordert Claude Code v2.1.182 oder später |356| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Pfad zu einem oder mehreren schreibgeschützten Plugin-Seed-Verzeichnissen, getrennt durch `:` unter Unix oder `;` unter Windows. Verwenden Sie dies, um ein vorab befülltes Plugin-Verzeichnis in ein Container-Image einzubinden. Claude Code registriert Marketplaces aus diesen Verzeichnissen beim Start und verwendet vorab zwischengespeicherte Plugins, ohne sie erneut zu klonen. Siehe [Plugins für Container vorab befüllen](/docs/de/plugins/org#seed-containers-and-ci) |

357| `CLAUDE_CODE_PROCESS_WRAPPER` | Starten Sie die Prozesse, die Claude Code von seiner eigenen Binärdatei startet, wie der Hintergrund-Service, der [Agent-Ansicht](/docs/de/agent-view)-Sitzungen hostet, durch einen Corporate-Launcher, der als argv-Präfix wie `/opt/corp/launcher` gegeben ist. Setzen Sie es im `env`-Block von Benutzer- oder [verwalteten Einstellungen](/docs/de/managed-settings), nicht als Shell-Export, daher erbt der abgelöste Hintergrund-Service es; Projekt- und lokale Einstellungen können es nicht setzen. Äquivalent zur [`processWrapper`-Einstellung](/docs/de/settings-reference#processwrapper), die Claude Code v2.1.210 oder später erfordert; diese Variable hat Vorrang, wenn beide gesetzt sind. Die VS Code-Erweiterung konfiguriert ihren eigenen Launcher separat durch ihre `claudeProcessWrapper`-Einstellung. Wird unter Windows ignoriert. Siehe [Claude Code hinter einem Corporate-Launcher ausführen](/docs/de/corporate-launcher) für das Wert-Format, was der Launcher abdeckt, und den Vertrag, den der Launcher erfüllen muss. Erfordert Claude Code v2.1.208 oder später |357| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Auf `1` setzen, damit Claude Code beim Starten von PowerShell für Tool-Aufrufe, Hooks und Statuszeilenbefehle nicht `-ExecutionPolicy Bypass` übergibt und stattdessen die effektive Ausführungsrichtlinie des Rechners berücksichtigt. Standardmäßig umgeht Claude Code die Ausführungsrichtlinie auf Prozessebene, damit `.ps1`-Skripte und Modulimporte auf Windows-Installationen mit der Standardeinstellung Restricted funktionieren. Die Umgehung auf Prozessebene überschreibt unabhängig von dieser Einstellung niemals die Gruppenrichtlinien `MachinePolicy` oder `UserPolicy` |

358| `CLAUDE_CODE_PROJECT_DIR_NAME` | Setzen Sie zusammen mit `CLAUDE_CONFIG_DIR`, um den `projects/`-Verzeichnis-Namen zu wählen, unter dem Claude Code die Transkripte und Auto-Memory dieser Sitzung speichert, anstelle eines aus dem Arbeitsverzeichnis-Pfad abgeleiteten. Zum Beispiel startet Claude Code mit `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` speichert sie unter `/srv/tenant-a/projects/work/`. Claude Code ignoriert diese Variable, wenn `CLAUDE_CONFIG_DIR` nicht gesetzt ist, und liest sie nur aus der Umgebung, die Sie `claude` von starten, nie aus einem [Einstellungsdatei-`env`-Block](#in-settings-files). Siehe [Projekt-Verzeichnis-Namen selbst wählen](/docs/de/sessions#name-the-project-directory-yourself). Erfordert Claude Code v2.1.234 oder später |358| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Obergrenze in Millisekunden für das Warten im Leerlauf auf Subagenten und Workflows im Hintergrund nach dem letzten Turn im [nicht interaktiven Modus](/docs/de/headless#background-tasks-at-exit) mit dem Flag `-p`. Das Warten im Leerlauf beginnt jedes Mal von vorn, wenn Claude einen Turn ausführt, um ein Ergebnis aus dem Hintergrund zu verarbeiten. Standard: `600000`, also 10 Minuten. Wenn das Warten im Leerlauf die Obergrenze erreicht, hört Claude Code auf, auf die verbleibenden Hintergrundaufgaben zu warten, und wird beendet. Auf `0` setzen, um unbegrenzt zu warten. Diese Obergrenze ist unabhängig von der fünfsekündigen Schonfrist, die für einfache Shells im Hintergrund gilt. Erfordert Claude Code v2.1.182 oder höher |

359| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Setzen Sie `5m` oder `1h`, die einzigen Werte, die Claude Code akzeptiert, um die [Prompt-Cache-TTL](/docs/de/prompt-caching#cache-lifetime) für die Hauptkonversation zu wählen: Ihre interaktiven, `-p` und SDK-Turns, plus die Helfer, die inline mit ihnen laufen. Hat Vorrang vor der `promptCacheTtl`-Einstellung und über `ENABLE_PROMPT_CACHING_1H`, und `FORCE_PROMPT_CACHING_5M` überschreibt es. Die API berechnet 1-Stunden-Cache-Schreibvorgänge mit einer höheren Rate. Erfordert Claude Code v2.1.242 oder später |359| `CLAUDE_CODE_PROCESS_WRAPPER` | Startet die Prozesse, die Claude Code aus seiner eigenen Binärdatei startet, etwa den Hintergrunddienst, der Sitzungen der [Agent-Ansicht](/docs/de/agent-view) hostet, über einen Unternehmens-Launcher, der als argv-Präfix wie `/opt/corp/launcher` angegeben wird. Setzen Sie die Variable im `env`-Block der Benutzereinstellungen oder der [verwalteten Einstellungen](/docs/de/managed-settings), nicht als Shell-Export, damit der abgekoppelte Hintergrunddienst sie erbt; Projekt- und lokale Einstellungen können sie nicht setzen. Entspricht der [Einstellung `processWrapper`](/docs/de/settings-reference#processwrapper), die Claude Code v2.1.210 oder höher erfordert; diese Variable hat Vorrang, wenn beide gesetzt sind. Die VS Code-Erweiterung konfiguriert ihren eigenen Launcher separat über ihre Einstellung `claudeProcessWrapper`. Wird unter Windows ignoriert. Unter [Claude Code hinter einem Unternehmens-Launcher ausführen](/docs/de/corporate-launcher) finden Sie das Werteformat, was der Launcher abdeckt und welche Anforderungen der Launcher erfüllen muss. Erfordert Claude Code v2.1.208 oder höher |

360| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Setzen Sie auf `1`, um W3C-Trace-Kontext zu propagieren, wenn `ANTHROPIC_BASE_URL` auf einen benutzerdefinierten Proxy zeigt. Propagation deckt den `traceparent`-Header auf Modell- und HTTP-MCP-Anfragen und die `TRACEPARENT`-Umgebungsvariable für Bash-, PowerShell- und Hook-Subprozesse ab. Standardmäßig ist Propagation nur aktiviert, wenn direkt mit der Anthropic API verbunden. Hinzugefügt in v2.1.152. Siehe [Traces (Beta)](/docs/de/monitoring-usage#traces-beta) |360| `CLAUDE_CODE_PROJECT_DIR_NAME` | Zusammen mit `CLAUDE_CONFIG_DIR` setzen, um den Verzeichnisnamen unter `projects/` festzulegen, unter dem Claude Code die Transkripte und das Auto-Memory dieser Sitzung speichert, anstelle eines aus dem Pfad des Arbeitsverzeichnisses abgeleiteten Namens. Wenn Sie Claude Code beispielsweise mit `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` starten, werden sie unter `/srv/tenant-a/projects/work/` gespeichert. Claude Code ignoriert diese Variable, wenn `CLAUDE_CONFIG_DIR` nicht gesetzt ist, und liest sie nur aus der Umgebung, aus der Sie `claude` starten, niemals aus einem [`env`-Block einer Einstellungsdatei](#in-settings-files). Siehe [Das Projektverzeichnis selbst benennen](/docs/de/sessions#name-the-project-directory-yourself). Erfordert Claude Code v2.1.234 oder höher |

361| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Wird von Host-Plattformen gesetzt, die Claude Code einbetten und Model-Provider-Routing in dessen Namen verwalten. Wenn gesetzt, ignoriert Claude Code Provider-Auswahl-, Endpunkt- und Authentifizierungs-Variablen wie `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` und `ANTHROPIC_API_KEY` in Einstellungsdateien, daher können Benutzereinstellungen das Routing des Hosts nicht überschreiben. Claude Code ignoriert auch Modell-Auswahl-Schlüssel wie `model`, `fallbackModel` und `modelOverrides` in [verwalteten Einstellungen](/docs/de/managed-settings), welche verwaltete Quelle sie liefert, daher hat die Modell-Konfiguration des Hosts Vorrang vor einer veralteten verwalteten Modell-Anheftung. Claude Code ignoriert auch Modell-Auswahl-Variablen wie `ANTHROPIC_MODEL` und die `ANTHROPIC_DEFAULT_*_MODEL`-Familie in einem verwalteten `env`-Block; eine [`availableModels`](/docs/de/model-config#restrict-model-selection)-Allowlist in verwalteten Einstellungen gilt immer noch, es sei denn, der Host liefert seine eigene. Claude Code überspringt auch das automatische Telemetrie-Opt-Out, das es andernfalls auf Drittanbieter-Providern wie Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform und Microsoft Foundry anwendet, daher folgt Telemetrie dem Standard-`DISABLE_TELEMETRY`-Opt-Out. Siehe [Standard-Verhaltensweisen nach API-Provider](/docs/de/data-usage#default-behaviors-by-api-provider) |361| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Setzen Sie `5m` oder `1h`, die einzigen Werte, die Claude Code akzeptiert, um die [Prompt-Cache-TTL](/docs/de/prompt-caching#cache-lifetime) für die Hauptkonversation festzulegen: Ihre interaktiven, `-p`- und SDK-Turns sowie die Hilfsprozesse, die inline mit ihnen laufen. Hat Vorrang vor der Einstellung `promptCacheTtl` und vor `ENABLE_PROMPT_CACHING_1H`, und `FORCE_PROMPT_CACHING_5M` überschreibt sie. Die API berechnet einstündige Cache-Schreibvorgänge zu einem höheren Tarif. Erfordert Claude Code v2.1.242 oder höher |

362| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Setzen Sie auf `1`, um dem Proxy zu erlauben, DNS-Auflösung anstelle des Aufrufers durchzuführen. Opt-In für Umgebungen, in denen der Proxy Hostname-Auflösung handhaben sollte |362| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Auf `1` setzen, um den W3C-Trace-Kontext weiterzugeben, wenn `ANTHROPIC_BASE_URL` auf einen benutzerdefinierten Proxy verweist. Die Weitergabe umfasst den Header `traceparent` bei Modell- und HTTP-MCP-Anfragen sowie die Umgebungsvariable `TRACEPARENT` für Bash-, PowerShell- und Hook-Unterprozesse. Standardmäßig ist die Weitergabe nur bei direkter Verbindung zur Anthropic API aktiviert. Hinzugefügt in v2.1.152. Siehe [Traces (Beta)](/docs/de/monitoring-usage#traces-beta) |

363| `CLAUDE_CODE_REMOTE` | Wird automatisch auf `true` gesetzt, wenn Claude Code als [Cloud-Sitzung](/docs/de/claude-code-on-the-web) läuft. Lesen Sie dies aus einem Hook oder Setup-Skript, um zu erkennen, ob Sie in einer Cloud-Sitzung sind |363| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Wird von Host-Plattformen gesetzt, die Claude Code einbetten und das Routing zum Modellanbieter in seinem Namen verwalten. Wenn gesetzt, ignoriert Claude Code Variablen zur Anbieterauswahl, zu Endpunkten und zur Authentifizierung wie `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` und `ANTHROPIC_API_KEY` in Einstellungsdateien, sodass Benutzereinstellungen das Routing des Hosts nicht überschreiben können. Claude Code ignoriert außerdem Schlüssel zur Modellauswahl wie `model`, `fallbackModel` und `modelOverrides` in [verwalteten Einstellungen](/docs/de/managed-settings), unabhängig davon, welche verwaltete Quelle sie bereitstellt, sodass die Modellkonfiguration des Hosts Vorrang vor einer veralteten verwalteten Modellfestlegung hat. Claude Code ignoriert außerdem Variablen zur Modellauswahl wie `ANTHROPIC_MODEL` und die Familie `ANTHROPIC_DEFAULT_*_MODEL` in einem verwalteten `env`-Block; eine [`availableModels`](/docs/de/model-config#restrict-model-selection)-Allowlist in verwalteten Einstellungen gilt weiterhin, sofern der Host keine eigene bereitstellt. Claude Code überspringt außerdem die automatische Telemetrie-Deaktivierung, die es sonst bei Drittanbietern wie Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform und Microsoft Foundry anwendet, sodass die Telemetrie der standardmäßigen Deaktivierung über `DISABLE_TELEMETRY` folgt. Siehe [Standardverhalten nach API-Anbieter](/docs/de/data-usage#default-behaviors-by-api-provider) |

364| `CLAUDE_CODE_REMOTE_SESSION_ID` | Wird automatisch in [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) auf die aktuelle Sitzungs-ID gesetzt. Lesen Sie dies, um einen Link zurück zum Sitzungs-Transkript zu konstruieren. Siehe [Ausgabe zurück zur Sitzung verlinken](/docs/de/cloud-environments#link-output-back-to-the-session) |364| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Auf `1` setzen, damit der Proxy statt des Aufrufers die DNS-Auflösung durchführt. Opt-in für Umgebungen, in denen der Proxy die Auflösung von Hostnamen übernehmen soll |

365| `CLAUDE_CODE_RESTRICTED` | Setzen Sie auf `1`, um die Sitzung im eingeschränkten Modus zu starten, das gleiche wie das Übergeben von [`--restricted`](/docs/de/cli-reference#cli-flags). Claude Code ignoriert diese Variable in einem Einstellungsdatei-`env`-Block. Erfordert Claude Code v2.1.248 oder später |365| `CLAUDE_CODE_REMOTE` | Wird automatisch auf `true` gesetzt, wenn Claude Code als [Cloud-Sitzung](/docs/de/claude-code-on-the-web) läuft. Lesen Sie die Variable in einem Hook oder Setup-Skript aus, um zu erkennen, ob Sie sich in einer Cloud-Sitzung befinden |

366| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Setzen Sie den Wert auf `1`, um automatisch fortzufahren, wenn die vorherige Sitzung mitten in einem Turn beendet wurde. Wird im SDK-Modus verwendet, damit das Modell fortfährt, ohne dass das SDK den Prompt erneut senden muss. Um dies auszuschalten, heben Sie die Variable auf oder setzen Sie sie auf `0`. Für das VS Code-Chatfenster siehe [Konversationen nach einem Neuladen fortsetzen](/docs/de/vs-code#continue-conversations-after-a-reload) |366| `CLAUDE_CODE_REMOTE_SESSION_ID` | Wird in [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) automatisch auf die ID der aktuellen Sitzung gesetzt. Lesen Sie die Variable aus, um einen Link zurück zum Sitzungstranskript zu erstellen. Siehe [Ausgabe mit der Sitzung verknüpfen](/docs/de/cloud-environments#link-output-back-to-the-session) |

367| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Maximales Alter in Millisekunden der letzten Transkript-Nachricht für eine Sitzung, die mid-turn endete, um automatisch bei Wiederaufnahme fortzufahren. Wenn die letzte Nachricht älter als diese Grenze ist, überspringt Claude Code die `CLAUDE_CODE_RESUME_INTERRUPTED_TURN`-automatische Wiederaufnahme und ihre `CLAUDE_CODE_RESUME_PROMPT`-Fortsetzungs-Nachricht, und die Sitzung startet untätig, daher fahren Sie explizit fort. Nicht gesetzt oder `0` bedeutet keine Grenze, außer dass ein Turn, dessen letzte Anfrage mit einem API-Fehler fehlschlägt, nur fortgesetzt wird, während dieser Fehler weniger als sechs Stunden alt ist. Ein positiver Wert begrenzt jeden Turn, einschließlich dieser; ein negativer oder nicht-numerischer Wert wendet eine einstündige Grenze an. Spawn-Skripte für lang laufende Agents können dies setzen, daher startet eine Wiederaufnahme gegen ein altes Transkript nicht einen veralteten Prompt erneut. Claude Code setzt selbst eine einstündige Grenze, wenn es eine abgestürzte [Agent-Ansicht](/docs/de/agent-view)-Sitzung neu startet, die ihre Konversation von einer interaktiven Sitzung geerbt hat. Erfordert Claude Code v2.1.211 oder später |367| `CLAUDE_CODE_RESTRICTED` | Auf `1` setzen, um die Sitzung im eingeschränkten Modus zu starten, genau wie bei der Übergabe von [`--restricted`](/docs/de/cli-reference#cli-flags). Claude Code ignoriert diese Variable im `env`-Block einer Einstellungsdatei. Erfordert Claude Code v2.1.248 oder höher |

368| `CLAUDE_CODE_RESUME_PROMPT` | Überschreiben Sie die Fortsetzungs-Nachricht, die Claude Code an Claude sendet, wenn `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` einen unterbrochenen Turn fortsetzt, anstatt seinen Prompt erneut zu senden, oder wenn Sie einen [aufgeschobenen Tool-Aufruf](/docs/de/hooks#defer-a-tool-call-for-later) mit `-p` fortsetzen. Standardmäßig `Continue from where you left off.`. Ein leerer String verwendet den Standard |368| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Auf `1` setzen, um automatisch fortzufahren, wenn die vorherige Sitzung mitten in einem Turn endete. Wird im SDK-Modus verwendet, damit das Modell fortfährt, ohne dass das SDK den Prompt erneut senden muss. Um dies zu deaktivieren, entfernen Sie die Variable oder setzen Sie sie auf `0`. Zum Chat-Panel von VS Code siehe [Konversationen nach einem Neuladen fortsetzen](/docs/de/vs-code#continue-conversations-after-a-reload) |

369| `CLAUDE_CODE_RETRY_WATCHDOG` | Setzen Sie auf `1` für unbeaufsichtigte Sitzungen wie Eval-Harnesses, CI-Jobs oder Remote-Worker. Wiederholt `429`- und `529`-Kapazitäts-Fehler unbegrenzt, anstatt nach `CLAUDE_CODE_MAX_RETRIES`-Versuchen zu fehlschlagen. Claude Code schlägt sofort fehl, wenn eine Standard-Speed-Anfrage einen `429` erhält, der ein Ausgabenlimit oder erschöpfte Nutzungs-Credits meldet, auch einen von einem [Gateway-Ausgabenlimit](/docs/de/errors#spend-limit-reached), das nach einem Zeitplan zurückgesetzt wird. Vor v2.1.239 wiederholte der Watchdog diese unbegrenzt. Für Fast-Mode-Anfragen siehe [Rate Limits handhaben](/docs/de/fast-mode#handle-rate-limits). Der Watchdog sichert sich bis zu 5 Minuten zwischen Versuchen ab, oder bis das Limit zurückgesetzt wird, wenn die Antwort eine Rate-Limit-Reset-Zeit trägt, daher wartet eine Sitzung, die ein Nutzungslimit trifft, das verbleibende Fenster ab. Auf v2.1.199 oder später erhöht es auch den Standard-Wiederholungs-Zähler für andere transiente Fehler, wie Server-Fehler, Timeouts und gelöschte 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. Erfordert Claude Code v2.1.186 oder später |369| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Maximales Alter in Millisekunden der letzten Transkriptnachricht, bis zu dem eine mitten im Turn beendete Sitzung beim Fortsetzen automatisch weiterläuft. Ist die letzte Nachricht älter als diese Grenze, überspringt Claude Code das automatische Fortsetzen durch `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` und die zugehörige Fortsetzungsnachricht aus `CLAUDE_CODE_RESUME_PROMPT`, und die Sitzung startet im Leerlauf, sodass Sie explizit fortfahren. Nicht gesetzt oder `0` bedeutet keine Grenze, außer dass ein Turn, dessen letzte Anfrage mit einem API-Fehler fehlgeschlagen ist, nur fortgesetzt wird, solange dieser Fehler weniger als sechs Stunden alt ist. Ein positiver Wert begrenzt jeden Turn, auch diese; ein negativer oder nicht numerischer Wert wendet eine Grenze von einer Stunde an. Startskripte für lang laufende Agenten können dies setzen, damit ein Neustart mit einem alten Transkript keinen veralteten Prompt erneut ausführt. Claude Code legt selbst eine Grenze von einer Stunde fest, wenn es eine abgestürzte Sitzung der [Agent-Ansicht](/docs/de/agent-view) neu startet, die ihre Konversation von einer interaktiven Sitzung geerbt hat. Erfordert Claude Code v2.1.211 oder höher |

370| `CLAUDE_CODE_SAFE_MODE` | Setzen Sie auf `1`, um im sicheren Modus zu starten: CLAUDE.md, Skills, Plugins, Hooks, MCP-Server, benutzerdefinierte Befehle und Agents, Output-Stile, Workflows, benutzerdefinierte Themes, benutzerdefinierte Keybindings, Status-Zeile und Datei-Vorschlag-Befehle, LSP-Server und Auto-Memory laden nicht zur Fehlerbehebung einer kaputten Konfiguration. Verwaltete Einstellungs-Richtlinie gilt immer noch, einschließlich Richtlinie-konfigurierter Hooks, Status-Zeile und Datei-Vorschlag-Befehle; verwaltete Plugins, verwaltete Skills, verwaltete CLAUDE.md und Richtlinie-konfigurierte MCP-Server laden nicht. Äquivalent zum Übergeben von [`--safe-mode`](/docs/de/cli-reference#cli-flags). Direkt gespawnte Child-Prozesse erben die Variable |370| `CLAUDE_CODE_RESUME_PROMPT` | Überschreibt die Fortsetzungsnachricht, die Claude Code an Claude sendet, wenn `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` einen unterbrochenen Turn fortsetzt, statt dessen Prompt erneut zu senden, oder wenn Sie einen [zurückgestellten Tool-Aufruf](/docs/de/hooks#defer-a-tool-call-for-later) mit `-p` fortsetzen. Standardmäßig `Continue from where you left off.`. Eine leere Zeichenfolge verwendet den Standard |

371| `CLAUDE_CODE_SCRIPT_CAPS` | JSON-Objekt, das begrenzt, wie oft spezifische Skripte pro Sitzung aufgerufen werden können, wenn `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` gesetzt ist. Schlüssel sind Substrings, die gegen den Befehlstext abgeglichen werden; Werte sind Ganzzahl-Aufruflimits. Zum Beispiel erlaubt `{"deploy.sh": 2}` `deploy.sh`, höchstens zweimal aufgerufen zu werden. Matching ist Substring-basiert, daher zählen Shell-Expansion-Tricks wie `./scripts/deploy.sh $(evil)` immer noch gegen die Obergrenze. Runtime-Fan-Out über `xargs` oder `find -exec` wird nicht erkannt; dies ist eine Defense-in-Depth-Kontrolle |371| `CLAUDE_CODE_RETRY_WATCHDOG` | Auf `1` setzen für unbeaufsichtigte Sitzungen wie Eval-Harnesses, CI-Jobs oder Remote-Worker. Versucht Kapazitätsfehler `429` und `529` unbegrenzt erneut, statt nach `CLAUDE_CODE_MAX_RETRIES` Versuchen fehlzuschlagen. Claude Code schlägt sofort fehl, wenn eine Anfrage mit Standardgeschwindigkeit einen `429` erhält, der ein Ausgabenlimit oder aufgebrauchtes Nutzungsguthaben meldet, selbst wenn er von einer [Gateway-Ausgabenobergrenze](/docs/de/errors#spend-limit-reached) stammt, die nach einem Zeitplan zurückgesetzt wird. Vor v2.1.239 versuchte der Watchdog diese unbegrenzt erneut. Zu Anfragen im Fast-Modus siehe [Umgang mit Rate-Limits](/docs/de/fast-mode#handle-rate-limits). Der Watchdog wartet zwischen den Versuchen bis zu 5 Minuten oder bis zum Zurücksetzen des Limits, wenn die Antwort einen Rücksetzzeitpunkt für das Rate-Limit enthält, sodass eine Sitzung, die ein Nutzungslimit erreicht, das verbleibende Zeitfenster abwartet. Ab v2.1.199 erhöht er außerdem die Standardanzahl an Wiederholungsversuchen für andere vorübergehende Fehler wie Serverfehler, Zeitüberschreitungen und abgebrochene Verbindungen auf 300, was etwa drei Stunden Backoff entspricht, und hebt die Obergrenze von 15 für `CLAUDE_CODE_MAX_RETRIES` auf, wenn Sie diese Variable explizit setzen. Erfordert Claude Code v2.1.186 oder höher |

372| `CLAUDE_CODE_SCROLL_SPEED` | Setzen Sie den Mausrad-Scroll-Multiplikator im [Vollbild-Rendering](/docs/de/fullscreen#mouse-wheel-scrolling). Akzeptiert jeden positiven Wert bis zu 20, einschließlich Bruch-Werte unter 1 wie `0.5`, um beschleunigtes Trackpad- und Rad-Scrolling in Terminals zu verlangsamen, die Rad-Ereignisse bereits verstärken. Setzen Sie auf `3`, um `vim` zu entsprechen, wenn Ihr Terminal ein Rad-Ereignis pro Kerbe ohne Verstärkung sendet. Wird im JetBrains IDE-Terminal ignoriert, wo Claude Code sein eigenes Scroll-Handling verwendet |372| `CLAUDE_CODE_SAFE_MODE` | Auf `1` setzen, um im abgesicherten Modus zu starten: CLAUDE.md, Skills, Plugins, Hooks, MCP-Server, benutzerdefinierte Befehle und Agenten, Ausgabestile, Workflows, benutzerdefinierte Designs, benutzerdefinierte Tastenkombinationen, Statuszeilen- und Dateivorschlagsbefehle, LSP-Server und Auto-Memory werden nicht geladen, um eine defekte Konfiguration zu beheben. Die Richtlinie der verwalteten Einstellungen gilt weiterhin, einschließlich per Richtlinie konfigurierter Hooks, Statuszeilen- und Dateivorschlagsbefehle; verwaltete Plugins, verwaltete Skills, verwaltete CLAUDE.md und per Richtlinie konfigurierte MCP-Server hingegen nicht. Entspricht der Übergabe von [`--safe-mode`](/docs/de/cli-reference#cli-flags). Direkt gestartete Kindprozesse erben die Variable |

373| `CLAUDE_CODE_SEND_FEEDBACK` | Setzen Sie auf `0`, um [Claude-entworfenes Feedback](/docs/de/tools-reference#sendfeedback-tool-behavior) für eine Sitzung auszuschalten. Setzen Sie auf `1`, um es einzuschalten, wo Ihr Konto bereits Zugriff hat; die Variable kann Zugriff nicht selbst gewähren, und die anderen Schalter, die Feedback ausschalten, wie `DISABLE_FEEDBACK_COMMAND` und der [`feedbackDrafts`](/docs/de/settings-reference#feedbackdrafts)-Einstellung's `off`-Wert, gelten immer noch |373| `CLAUDE_CODE_SCRIPT_CAPS` | JSON-Objekt, das begrenzt, wie oft bestimmte Skripte pro Sitzung aufgerufen werden dürfen, wenn `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` gesetzt ist. Schlüssel sind Teilzeichenfolgen, die mit dem Befehlstext abgeglichen werden; Werte sind ganzzahlige Aufruflimits. Beispielsweise erlaubt `{"deploy.sh": 2}`, dass `deploy.sh` höchstens zweimal aufgerufen wird. Der Abgleich basiert auf Teilzeichenfolgen, sodass Tricks mit Shell-Expansion wie `./scripts/deploy.sh $(evil)` weiterhin auf die Obergrenze angerechnet werden. Eine Auffächerung zur Laufzeit über `xargs` oder `find -exec` wird nicht erkannt; dies ist eine Defense-in-Depth-Maßnahme |

374| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Überschreiben Sie das Zeit-Budget in Millisekunden für [SessionEnd](/docs/de/hooks#sessionend)-Hooks. Der Wert ist auch das Timeout für jeden Hook, der kein eigenes `timeout` setzt. Gilt für Sitzungs-Exit, `/clear` und Sitzungs-Wechsel ü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 |374| `CLAUDE_CODE_SCROLL_SPEED` | Legt den Multiplikator für das Scrollen mit dem Mausrad im [Vollbild-Rendering](/docs/de/fullscreen#mouse-wheel-scrolling) fest. Akzeptiert jeden positiven Wert bis 20, einschließlich Bruchwerten unter 1 wie `0.5`, um beschleunigtes Trackpad- und Mausrad-Scrollen in Terminals zu verlangsamen, die Mausrad-Events bereits verstärken. Auf `3` setzen, um `vim` zu entsprechen, wenn Ihr Terminal pro Raststufe ein Mausrad-Event ohne Verstärkung sendet. Wird im Terminal der JetBrains-IDE ignoriert, wo Claude Code eine eigene Scroll-Verarbeitung verwendet |

375| `CLAUDE_CODE_SESSION_ID` | Wird automatisch auf die aktuelle Sitzungs-ID in Bash- und PowerShell-Tool-Subprozessen, [Hook-Befehl](/docs/de/hooks)-Subprozessen und stdio [MCP-Server](/docs/de/mcp)-Subprozessen gesetzt. Für Bash, PowerShell und Hooks entspricht dies dem `session_id`-Feld in der Hook-JSON-Eingabe und wird bei `/clear` aktualisiert. Ein MCP-Server-Subprocess behält die ID, mit der er spawnt wurde. Bei `--resume <session-id>` erhält er die fortgesetzte ID, was 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 startet |375| `CLAUDE_CODE_SEND_FEEDBACK` | Auf `0` setzen, um [von Claude entworfenes Feedback](/docs/de/tools-reference#sendfeedback-tool-behavior) für eine Sitzung zu deaktivieren. Auf `1` setzen, um es zu aktivieren, sofern Ihr Konto bereits Zugriff hat; die Variable kann den Zugriff nicht selbst gewähren, und die anderen Schalter, die Feedback deaktivieren, etwa `DISABLE_FEEDBACK_COMMAND` und der Wert `off` der Einstellung [`feedbackDrafts`](/docs/de/settings-reference#feedbackdrafts), gelten weiterhin |

376| `CLAUDE_CODE_SHELL` | Setzen Sie die Shell, die Claude Code zum Ausführen von Bash-Tool-Befehlen verwendet. Akzeptiert einen Pfad zu einer `bash`- oder `zsh`-Binärdatei, zum Beispiel `/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 Auto-Erkennung zurück. Auto-Erkennung verwendet Ihren `$SHELL`, wenn er auf `bash` oder `zsh` zeigt, andernfalls wählt es die erste funktionierende `zsh` dann `bash`, die auf Ihrem `PATH` und Standard-Installationsorten gefunden wird |376| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Überschreibt das Zeitbudget in Millisekunden für [SessionEnd](/docs/de/hooks#sessionend)-Hooks. Der Wert ist auch der Timeout für jeden Hook, der keinen eigenen `timeout` festlegt. Gilt für das Beenden der Sitzung, `/clear` und das Wechseln von Sitzungen über das interaktive `/resume`. Standardmäßig beträgt das Budget 1,5 Sekunden und wird automatisch auf den höchsten in Einstellungsdateien konfigurierten Hook-spezifischen `timeout` angehoben, höchstens 60 Sekunden. Timeouts von Hooks aus Plugins erhöhen das Budget nicht |

377| `CLAUDE_CODE_SHELL_PREFIX` | Befehlspräfix, das Shell-Befehle umhüllt, die Claude Code spawnt: Bash-Tool-Aufrufe, [Hook](/docs/de/hooks)-Befehle, [Status-Zeile](/docs/de/statusline)-Befehle und stdio [MCP-Server](/docs/de/mcp)-Startup-Befehle. PowerShell-Hooks und Exec-Form-Hooks laufen ohne das Präfix. Nützlich zum Protokollieren oder Auditing. Das Setzen eines bloßen ausführbaren Pfads wie `/path/to/logger.sh` führt jeden Befehl als `/path/to/logger.sh '<command>'` aus. Der Wrapper erhält die Befehlszeile als ein einzelnes Shell-zitiertes Argument in `$1`, daher muss der Wrapper `$1` mit einer Shell neu evaluieren, zum Beispiel `exec bash -c "$1"`. Das Behandeln von `$1` als bloßer ausführbarer Pfad bricht stdio MCP-Server, die Argumente übergeben, wie `npx -y <package>`. Für Bash-Tool-Aufrufe enthält `$1` die vollständige Shell-Invokation, die Claude Code zusammensetzt, einschließlich Umgebungs-Setup, nicht nur den Befehl, den Claude ausgeführt hat |377| `CLAUDE_CODE_SESSION_ID` | Wird automatisch auf die aktuelle Sitzungs-ID in Unterprozessen des Bash- und PowerShell-Tools, in Unterprozessen von [Hook-Befehlen](/docs/de/hooks) und in Unterprozessen von stdio-[MCP-Servern](/docs/de/mcp) gesetzt. Für Bash, PowerShell und Hooks entspricht sie dem Feld `session_id` in der JSON-Eingabe des Hooks und wird bei `/clear` aktualisiert. Ein MCP-Server-Unterprozess behält die ID, mit der er gestartet wurde. Bei `--resume <session-id>` erhält er die fortgesetzte ID, passend zu Hooks und Bash. Bei `--continue` oder `--resume` ohne explizite ID erhält er möglicherweise stattdessen die ursprüngliche Start-ID. Verwenden Sie dies, um Skripte und externe Tools der Claude-Code-Sitzung zuzuordnen, die sie gestartet hat |

378| `CLAUDE_CODE_SIMPLE` | Setzen Sie auf `1`, um mit einem minimalen System-Prompt und nur den Bash-, Datei-Lese- und Datei-Edit-Tools zu laufen. MCP-Tools von `--mcp-config` sind immer noch verfügbar. Deaktiviert Auto-Discovery von Hooks, Skills, benutzerdefinierten Befehlen, Subagents, installierten Plugins, MCP-Servern, Auto-Memory und CLAUDE.md. Skills in einem Verzeichnis, das Sie mit `--add-dir` übergeben, laden immer noch. OAuth-Tokens und Keychain-Credentials werden nicht gelesen, daher muss Anthropic-Authentifizierung von `ANTHROPIC_API_KEY` oder einem `apiKeyHelper` in `--settings` kommen. Äquivalent zum Übergeben von [`--bare`](/docs/de/headless#start-faster-with-bare-mode) |378| `CLAUDE_CODE_SHELL` | Legt die Shell fest, die Claude Code zum Ausführen von Bash-Tool-Befehlen verwendet. Akzeptiert einen Pfad zu einer `bash`- oder `zsh`-Binärdatei, zum Beispiel `/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, und wählt andernfalls die erste funktionierende `zsh` und dann `bash`, die in Ihrem `PATH` und an den Standardinstallationsorten gefunden wird |

379| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Setzen Sie auf `1`, um einen kürzeren System-Prompt und abgekürzte Tool-Beschreibungen auf jedem Modell zu verwenden. Setzen Sie auf `0`, `false`, `no` oder `off`, um zu deaktivieren, auch wenn das Experiment oder die Server-Konfiguration es andernfalls aktivieren würde. Der vollständige Tool-Satz, Hooks, MCP-Server und CLAUDE.md-Discovery bleiben aktiviert |379| `CLAUDE_CODE_SHELL_PREFIX` | Befehlspräfix, das Shell-Befehle umschließt, die Claude Code startet: Bash-Tool-Aufrufe, [Hook](/docs/de/hooks)-Befehle, [Statuszeilen](/docs/de/statusline)-Befehle und Startbefehle von stdio-[MCP-Servern](/docs/de/mcp). PowerShell-Hooks und Hooks in Exec-Form werden ohne das Präfix ausgeführt. Nützlich für Logging oder Auditing. Wenn Sie einen reinen Pfad zu einer ausführbaren Datei wie `/path/to/logger.sh` setzen, wird jeder Befehl als `/path/to/logger.sh '<command>'` ausgeführt. Der Wrapper erhält die Befehlszeile als einzelnes, für die Shell quotiertes Argument in `$1`, daher muss der Wrapper `$1` mit einer Shell erneut auswerten, zum Beispiel `exec bash -c "$1"`. Wird `$1` als reiner Pfad zu einer ausführbaren Datei behandelt, funktionieren stdio-MCP-Server nicht mehr, die Argumente wie `npx -y <package>` übergeben. Bei Bash-Tool-Aufrufen enthält `$1` den vollständigen Shell-Aufruf, den Claude Code zusammensetzt, einschließlich der Umgebungseinrichtung, nicht nur den Befehl, den Claude ausgeführt hat |

380| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Überspringen Sie die Client-seitige Authentifizierung für [Claude Platform on AWS](/docs/de/claude-platform-on-aws), für Gateways, die Anfragen selbst signieren |380| `CLAUDE_CODE_SIMPLE` | Auf `1` setzen, um mit einem minimalen System-Prompt und nur den Tools Bash, Datei lesen und Datei bearbeiten zu arbeiten. MCP-Tools aus `--mcp-config` sind weiterhin verfügbar. Deaktiviert die automatische Erkennung von Hooks, Skills, benutzerdefinierten Befehlen, Subagenten, installierten Plugins, MCP-Servern, Auto-Memory und CLAUDE.md. Skills in einem Verzeichnis, das Sie mit `--add-dir` übergeben, werden weiterhin geladen. OAuth-Token und Anmeldedaten aus dem Schlüsselbund werden nicht gelesen, daher muss die Authentifizierung bei Anthropic über `ANTHROPIC_API_KEY` oder einen `apiKeyHelper` in `--settings` erfolgen. Entspricht der Übergabe von [`--bare`](/docs/de/headless#start-faster-with-bare-mode) |

381| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Setzen Sie auf `1`, um den In-Process-Cache von Credentials, die von der AWS-Standard-Credential-Provider-Kette aufgelöst werden, auszuschalten, daher löst Claude Code die Kette bei jeder API-Anfrage auf. Mit dem Cache aus fordert ein SSO-gestütztes Profil Credentials von IAM Identity Center bei jeder Anfrage an. Siehe [Credential-Caching und Auflösungs-Timeout](/docs/de/amazon-bedrock#credential-caching-and-resolution-timeout). Erfordert Claude Code v2.1.207 oder später |381| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Auf `1` setzen, um bei jedem Modell einen kürzeren System-Prompt und verkürzte Tool-Beschreibungen zu verwenden. Auf `0`, `false`, `no` oder `off` setzen, um dies auch bei Modellen abzulehnen, bei denen das Experiment oder die Serverkonfiguration es sonst aktivieren würde. Der vollständige Tool-Satz, Hooks, MCP-Server und die Erkennung von CLAUDE.md bleiben aktiviert |

382| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Überspringen Sie AWS-Authentifizierung für Amazon Bedrock (zum Beispiel, wenn Sie ein LLM-Gateway verwenden) |382| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Überspringt die clientseitige Authentifizierung für [Claude Platform on AWS](/docs/de/claude-platform-on-aws), für Gateways, die Anfragen selbst signieren |

383| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Setzen Sie auf `1`, um einen fehlgeschlagenen [Fast Mode](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)-Verfügbarkeitsprüfung als verfügbar zu behandeln, für Netzwerke, die die Prüfung's direkte Anfrage an `api.anthropic.com` blockieren. Claude Code ehrt immer noch eine "disabled by your organization"-Antwort |383| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Auf `1` setzen, um den prozessinternen Cache für Anmeldedaten zu deaktivieren, die über die AWS-Standardkette der Anmeldedatenanbieter aufgelöst werden, sodass Claude Code die Kette bei jeder API-Anfrage auflöst. Bei deaktiviertem Cache fordert ein SSO-basiertes Profil bei jeder Anfrage Anmeldedaten von IAM Identity Center an. Siehe [Zwischenspeicherung von Anmeldedaten und Timeout für die Auflösung](/docs/de/amazon-bedrock#credential-caching-and-resolution-timeout). Erfordert Claude Code v2.1.207 oder höher |

384| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Setzen Sie auf `1`, um die Client-seitige [Fast Mode](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)-Verfügbarkeitsprüfung zu überspringen, für Proxies, die die Prüfung's Anfrage abfangen, anstatt sie zu verweigern. Die API lehnt immer noch Fast-Mode-Anfragen ab, wenn Ihre Organisation Fast Mode deaktiviert hat |384| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Überspringt die AWS-Authentifizierung für Amazon Bedrock (zum Beispiel bei Verwendung eines LLM-Gateways) |

385| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Überspringen Sie Azure-Authentifizierung für Microsoft Foundry, für einen Proxy oder ein Gateway, das seinen eigenen `Authorization`-Header injiziert. Claude Code sendet Anfragen ohne Azure-Credential und bewahrt den `Authorization`-Header, den Sie liefern, zum Beispiel durch `ANTHROPIC_CUSTOM_HEADERS`. Wird ignoriert, wenn `ANTHROPIC_FOUNDRY_API_KEY` oder `ANTHROPIC_FOUNDRY_AUTH_TOKEN` gesetzt ist. Vor v2.1.203 ließ diese Variable den Microsoft Foundry-Client unfähig, Anfragen zu senden, es sei denn, ein API-Schlüssel war auch gesetzt |385| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Auf `1` setzen, um eine fehlgeschlagene Verfügbarkeitsprüfung für den [Fast-Modus](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) als verfügbar zu behandeln, für Netzwerke, die die direkte Anfrage der Prüfung an `api.anthropic.com` blockieren. Claude Code berücksichtigt weiterhin eine Antwort „disabled by your organization“ |

386| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Überspringen Sie AWS-Authentifizierung für Amazon Bedrock Mantle (zum Beispiel, wenn Sie ein LLM-Gateway verwenden) |386| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Auf `1` setzen, um die clientseitige Verfügbarkeitsprüfung für den [Fast-Modus](/docs/de/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) zu überspringen, für Proxys, die die Anfrage der Prüfung abfangen, statt sie abzulehnen. Die API lehnt Anfragen im Fast-Modus weiterhin ab, wenn Ihre Organisation den Fast-Modus deaktiviert hat |

387| `CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY` | Die [Startup-Modell-Prüfungen](/docs/de/amazon-bedrock#startup-model-checks) auf [Amazon Bedrock](/docs/de/amazon-bedrock) und [Google Cloud's Agent Platform](/docs/de/google-vertex-ai) merken sich auf dieser Maschine, welche Modelle sie fanden, dass Ihr Konto nicht aufrufen kann, für bis zu einen Tag. Setzen Sie auf `1`, um diese Erinnerung auszuschalten. Erfordert Claude Code v2.1.285 oder später |387| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Überspringt die Azure-Authentifizierung für Microsoft Foundry, für einen Proxy oder ein Gateway, das einen eigenen `Authorization`-Header einfügt. Claude Code sendet Anfragen ohne Azure-Anmeldedaten und behält den `Authorization`-Header bei, den Sie angeben, zum Beispiel über `ANTHROPIC_CUSTOM_HEADERS`. Wird ignoriert, wenn `ANTHROPIC_FOUNDRY_API_KEY` oder `ANTHROPIC_FOUNDRY_AUTH_TOKEN` gesetzt ist. Vor v2.1.203 führte diese Variable dazu, dass der Microsoft-Foundry-Client keine Anfragen senden konnte, sofern nicht zusätzlich ein API-Schlüssel gesetzt war |

388| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Setzen Sie auf `1`, um das Schreiben von Prompt-Verlauf und Sitzungs-Transkripten auf die Festplatte zu überspringen. Sitzungen, die mit dieser Variable gesetzt gestartet werden, erscheinen nicht in `--resume`, `--continue` oder Up-Arrow-Verlauf. Nützlich für ephemere Skript-Sitzungen |388| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Überspringt die AWS-Authentifizierung für Amazon Bedrock Mantle (zum Beispiel bei Verwendung eines LLM-Gateways) |

389| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Überspringen Sie Google-Authentifizierung für Google Cloud's Agent Platform (zum Beispiel, wenn Sie ein LLM-Gateway verwenden) |389| `CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY` | Die [Modellprüfungen beim Start](/docs/de/amazon-bedrock#startup-model-checks) auf [Amazon Bedrock](/docs/de/amazon-bedrock) und [Google Cloud's Agent Platform](/docs/de/google-vertex-ai) merken sich auf diesem Rechner bis zu einem Tag lang, welche Modelle Ihr Konto ihrer Feststellung nach nicht aufrufen kann. Auf `1` setzen, um diese Speicherung zu deaktivieren. Erfordert Claude Code v2.1.285 oder höher |

390| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Setzen Sie auf `1`, um eine Sitzung, die mit `--output-format stream-json` gestartet wird, eine [Result-Nachricht zu schreiben, die benennt, warum Claude Code sich weigerte zu starten](/docs/de/agent-sdk/typescript#startup_failure_reason) für Startup-Fehler, die andernfalls nur mit stderr enden. Erfordert Claude Code v2.1.274 oder später |390| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Auf `1` setzen, um das Schreiben von Prompt-Verlauf und Sitzungstranskripten auf die Festplatte zu überspringen. Sitzungen, die mit gesetzter Variable gestartet wurden, erscheinen nicht in `--resume`, `--continue` oder im Verlauf über die Pfeil-nach-oben-Taste. Nützlich für kurzlebige, skriptgesteuerte Sitzungen |

391| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Maximale Anzahl aufeinanderfolgender Male, die ein [Stop](/docs/de/hooks#stop)- oder [SubagentStop](/docs/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 braucht, um sich zu lösen |391| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Überspringt die Google-Authentifizierung für Google Cloud's Agent Platform (zum Beispiel bei Verwendung eines LLM-Gateways) |

392| `CLAUDE_CODE_SUBAGENT_MODEL` | Das Standard-Modell für [Subagents](/docs/de/sub-agents#choose-a-model), [Agent Team](/docs/de/agent-teams#specify-teammates-and-models)-Teammates und [Workflow](/docs/de/workflows)-Agents, die nicht auf andere Weise ein Modell zugewiesen bekommen. Akzeptiert einen Alias wie `haiku` oder einen vollständigen Modell-Namen. Zwei Quellen haben Vorrang vor ihm: ein Modell, das Claude beim Spawnen des Agents übergibt, und ein `model`-Feld in der Agent-Definition, einschließlich `inherit`. Um das zu ändern, setzen Sie [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/de/sub-agents#run-every-subagent-on-one-model). Siehe [Modell wählen](/docs/de/sub-agents#choose-a-model) für die vollständige Reihenfolge. Das Setzen auf `inherit` ist das gleiche wie das Nicht-Setzen. Vor v2.1.251 überschrieb diese Variable sowohl das Pro-Invokation-Modell als auch das `model`-Feld der Definition |392| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Auf `1` setzen, damit eine mit `--output-format stream-json` gestartete Sitzung eine [Ergebnisnachricht mit dem Grund, warum Claude Code den Start verweigert hat](/docs/de/agent-sdk/typescript#startup_failure_reason), für Startfehler schreibt, die sonst nur mit einer Ausgabe auf stderr enden. Erfordert Claude Code v2.1.274 oder höher |

393| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Setzen Sie auf `1`, um ein Modell auf Subagents, Teammates und Workflow-Agents zu erzwingen. [Jeden Subagent auf einem Modell ausführen](/docs/de/sub-agents#run-every-subagent-on-one-model) sagt, welches Modell das ist. Erfordert Claude Code v2.1.257 oder später |393| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Maximale Anzahl aufeinanderfolgender Male, die ein [Stop](/docs/de/hooks#stop)- oder [SubagentStop](/docs/de/hooks#subagentstop)-Hook das Beenden des Turns blockieren darf, bevor Claude Code ihn überstimmt und den Turn trotzdem beendet (Standard: 8). Auf `0` setzen, um die Obergrenze zu deaktivieren. Erhöhen Sie den Wert, wenn Ihr Hook berechtigterweise mehr Iterationen zur Auflösung benötigt |

394| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Setzen Sie `5m` oder `1h`, die einzigen Werte, die Claude Code akzeptiert, um die [Prompt-Cache-TTL](/docs/de/prompt-caching#cache-lifetime) für Anfragen außerhalb der Hauptkonversation zu wählen, wie [Subagents](/docs/de/sub-agents), Workflows und Hintergrundarbeit. Hat Vorrang vor der `subagentPromptCacheTtl`-Einstellung und über `ENABLE_PROMPT_CACHING_1H`, und `FORCE_PROMPT_CACHING_5M` überschreibt es. Die API berechnet 1-Stunden-Cache-Schreibvorgänge mit einer höheren Rate. Erfordert Claude Code v2.1.242 oder später |394| `CLAUDE_CODE_SUBAGENT_MODEL` | Das Standardmodell für [Subagenten](/docs/de/sub-agents#choose-a-model), Teammitglieder eines [Agent-Teams](/docs/de/agent-teams#specify-teammates-and-models) und [Workflow](/docs/de/workflows)-Agenten, denen nicht auf andere Weise ein Modell zugewiesen ist. Akzeptiert einen Alias wie `haiku` oder einen vollständigen Modellnamen. Zwei Quellen haben Vorrang: ein Modell, das Claude beim Starten des Agenten übergibt, und ein `model`-Feld in der Definition des Agenten, einschließlich `inherit`. Um das zu ändern, setzen Sie [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/de/sub-agents#run-every-subagent-on-one-model). Die vollständige Reihenfolge finden Sie unter [Ein Modell auswählen](/docs/de/sub-agents#choose-a-model). Das Setzen auf `inherit` entspricht dem Nichtsetzen. Vor v2.1.251 überschrieb diese Variable sowohl das Modell pro Aufruf als auch das `model`-Feld der Definition |

395| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Setzen Sie auf `1`, um Credentials aus Subprocess-Umgebungen zu entfernen (Bash-Tool, Hooks, MCP-Stdio-Server): Anthropic- und Cloud-Provider-Credentials, jede andere Variable, die Claude Code als Credential erkennt, und Credentials, die in Package-Registry-URLs eingebettet sind. Der übergeordnete Claude-Prozess behält diese Credentials für API-Aufrufe, aber Child-Prozesse können sie nicht lesen, was die Exposition gegenüber Prompt-Injection-Angriffen reduziert, die versuchen, Secrets über Shell-Expansion zu exfiltrieren. Auf v2.1.251 oder später entfernt die Scrub auch Claude Code's eigene Konfigurationsspeicher-Pointer-Variablen (wie `CLAUDE_CONFIG_DIR`), daher kann ein Child-Prozess ein verlegtes Konfigurationsverzeichnis nicht lokalisieren. Lassen Sie die Scrub nicht gesetzt, wenn ein Subprocess diese Variablen braucht. Auf Linux führt dies auch Bash-Subprozesse in einem isolierten PID-Namespace aus, daher können sie Host-Prozess-Umgebungen über `/proc` nicht lesen; 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 |395| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Auf `1` setzen, um Subagenten, Teammitgliedern und Workflow-Agenten ein einziges Modell aufzuzwingen. Unter [Jeden Subagenten mit einem Modell ausführen](/docs/de/sub-agents#run-every-subagent-on-one-model) steht, welches Modell das ist. Erfordert Claude Code v2.1.257 oder höher |

396| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Setzen Sie auf `1` im nicht-interaktiven Modus (das `-p`-Flag), um auf die Fertigstellung der Plugin-Installation zu warten, bevor die erste Query. Ohne dies installieren sich Plugins im Hintergrund und sind möglicherweise nicht beim ersten Turn verfügbar. Kombinieren Sie mit `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS`, um das Warten zu begrenzen |396| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Setzen Sie `5m` oder `1h`, die einzigen Werte, die Claude Code akzeptiert, um die [Prompt-Cache-TTL](/docs/de/prompt-caching#cache-lifetime) für Anfragen außerhalb der Hauptkonversation festzulegen, etwa für [Subagenten](/docs/de/sub-agents), Workflows und Arbeit im Hintergrund. Hat Vorrang vor der Einstellung `subagentPromptCacheTtl` und vor `ENABLE_PROMPT_CACHING_1H`, und `FORCE_PROMPT_CACHING_5M` überschreibt sie. Die API berechnet einstündige Cache-Schreibvorgänge zu einem höheren Tarif. Erfordert Claude Code v2.1.242 oder höher |

397| `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 synchrone Installation bis zur Fertigstellung |397| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Auf `1` setzen, um Anmeldedaten aus den Umgebungen von Unterprozessen (Bash-Tool, Hooks, MCP-stdio-Server) zu entfernen: Anmeldedaten von Anthropic und Cloud-Anbietern, jede andere Variable, die Claude Code als Anmeldedaten erkennt, sowie in URLs von Paket-Registrys eingebettete Anmeldedaten. Der übergeordnete Claude-Prozess behält diese Anmeldedaten für API-Aufrufe, aber Kindprozesse können sie nicht lesen, was die Angriffsfläche für Prompt-Injection-Angriffe verringert, die versuchen, Geheimnisse über Shell-Expansion abzugreifen. Ab v2.1.251 entfernt die Bereinigung außerdem Claude Codes eigene Zeigervariablen für den Konfigurationsspeicher (etwa `CLAUDE_CONFIG_DIR`), sodass ein Kindprozess ein verlagertes Konfigurationsverzeichnis nicht finden kann. Lassen Sie die Bereinigung deaktiviert, wenn ein Unterprozess diese Variablen benötigt. Unter Linux werden Bash-Unterprozesse außerdem in einem isolierten PID-Namespace ausgeführt, sodass sie die Umgebungen von Host-Prozessen nicht über `/proc` lesen können; als Nebeneffekt können `ps`, `pgrep` und `kill` Host-Prozesse weder sehen noch ihnen Signale senden. `claude-code-action` setzt dies automatisch, wenn `allowed_non_write_users` konfiguriert ist |

398| `CLAUDE_CODE_SYNC_SKILLS` | Setzen Sie auf `1` im nicht-interaktiven Modus mit dem `-p`-Flag, um Claude Code die Skills herunterladen zu lassen, die für Ihr claude.ai-Konto in diesem Lauf aktiviert sind, und auf die Liste von ihnen zu warten, bis zu `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`, bevor es die erste Query ausführt. Die Downloads selbst beenden sich im Hintergrund, und Claude wartet auf den Download eines Skills, wenn er diesen Skill aufruft. Erfordert claude.ai-Authentifizierung. Terminal-Sitzungen, in denen Sie sich mit Ihrem claude.ai-Konto anmelden, [laden diese Skills](/docs/de/skills#where-synced-skills-load) in `~/.claude/skills/synced/` herunter und resynchronisieren etwa alle 10 Minuten ohne diese Variable, daher setzen Sie es nur, wenn ein `-p`-Lauf Ihre aktuellen Skills bei seiner ersten Query braucht. Vor v2.1.273 luden Terminal-Sitzungen sie nur in einem `-p`-Lauf mit dieser Variable gesetzt herunter. Der `synced`-Ordner-Name ist [für diesen Download reserviert](/docs/de/skills#where-skills-live). Vor v2.1.227 luden die Skills in `~/.claude/skills/` direkt herunter. Claude Code wendet [Extra-Regeln auf die heruntergeladenen Skills](/docs/de/skills#how-synced-skills-behave) an, wie das Nicht-Ausführen ihrer `!`-Befehle auf Ihrer Maschine |398| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Im nicht interaktiven Modus (Flag `-p`) auf `1` setzen, um vor der ersten Abfrage auf den Abschluss der Plugin-Installation zu warten. Ohne diese Variable werden Plugins im Hintergrund installiert und sind im ersten Turn möglicherweise nicht verfügbar. Kombinieren Sie dies mit `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS`, um die Wartezeit zu begrenzen |

399| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Timeout in Millisekunden für die Skills-Resynchronisierung, die mid-session läuft, wenn eine App, die auf dem [Agent SDK](/docs/de/agent-sdk/typescript#query-object) gebaut ist, Skills neu lädt (Standard: 30000). Wenn überschritten, fährt das Reload mit welchen Skills auch immer angekommen sind fort, und die verbleibenden Downloads beenden sich im Hintergrund |399| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Timeout in Millisekunden für die synchrone Plugin-Installation. Bei Überschreitung fährt Claude Code ohne Plugins fort und protokolliert einen Fehler. Kein Standard: Ohne diese Variable wartet die synchrone Installation bis zum Abschluss |

400| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout in Millisekunden für die erste Query zum Warten auf die anfängliche Skill-Liste, wenn `CLAUDE_CODE_SYNC_SKILLS` gesetzt ist (Standard: 5000). Wenn überschritten, läuft die erste Query mit welchen Skills auch immer angekommen sind. Die Downloads beenden sich im Hintergrund in jedem Fall, und Claude wartet auf den Download eines Skills, wenn er diesen Skill aufruft |400| `CLAUDE_CODE_SYNC_SKILLS` | Im nicht interaktiven Modus mit dem Flag `-p` auf `1` setzen, damit Claude Code in diesem Lauf die für Ihr claude.ai-Konto aktivierten Skills herunterlädt und auf deren Liste wartet, höchstens `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` lang, bevor es die erste Abfrage ausführt. Die Downloads selbst werden im Hintergrund abgeschlossen, und Claude wartet auf den Download eines Skills, wenn es diesen Skill aufruft. Erfordert die Authentifizierung über claude.ai. Terminal-Sitzungen, in denen Sie sich mit Ihrem claude.ai-Konto anmelden, [laden diese Skills](/docs/de/skills#where-synced-skills-load) auch ohne diese Variable nach `~/.claude/skills/synced/` herunter und synchronisieren sie etwa alle 10 Minuten erneut; setzen Sie sie daher nur, wenn ein `-p`-Lauf Ihre aktuellen Skills bereits bei der ersten Abfrage benötigt. Vor v2.1.273 luden Terminal-Sitzungen sie nur in einem `-p`-Lauf mit gesetzter Variable herunter. Der Ordnername `synced` ist [für diesen Download reserviert](/docs/de/skills#where-skills-live). Vor v2.1.227 wurden die Skills direkt nach `~/.claude/skills/` heruntergeladen. Claude Code wendet [zusätzliche Regeln auf die heruntergeladenen Skills](/docs/de/skills#how-synced-skills-behave) an, etwa dass ihre `!`-Befehle nicht auf Ihrem Rechner ausgeführt werden |

401| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Setzen Sie auf `false`, um Syntax-Highlighting in Diff-Ausgabe zu deaktivieren. Nützlich, wenn Farben Ihr Terminal-Setup stören. Um Highlighting auch in Code-Blöcken und Datei-Vorschauen zu deaktivieren, verwenden Sie die [`syntaxHighlightingDisabled`](/docs/de/settings-reference#syntaxhighlightingdisabled)-Einstellung |401| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Timeout in Millisekunden für die erneute Synchronisierung der Skills, die mitten in der Sitzung läuft, wenn eine auf dem [Agent SDK](/docs/de/agent-sdk/typescript#query-object) basierende App Skills neu lädt (Standard: 30000). Bei Überschreitung wird das Neuladen mit den bereits eingetroffenen Skills fortgesetzt, und die verbleibenden Downloads werden im Hintergrund abgeschlossen |

402| `CLAUDE_CODE_TASK_LIST_ID` | Teilen Sie eine Task-Liste über Sitzungen. Setzen Sie die gleiche ID in mehreren Claude Code-Instanzen, um an einer gemeinsamen Task-Liste zu koordinieren, in [Sitzungen, die die Task-Tools haben](/docs/de/tools-reference#task-tool-availability). Siehe [Task-Liste](/docs/de/interactive-mode#task-list) |402| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Timeout in Millisekunden, wie lange die erste Abfrage auf die anfängliche Skill-Liste wartet, wenn `CLAUDE_CODE_SYNC_SKILLS` gesetzt ist (Standard: 5000). Bei Überschreitung wird die erste Abfrage mit den bereits eingetroffenen Skills ausgeführt. Die Downloads werden in jedem Fall im Hintergrund abgeschlossen, und Claude wartet auf den Download eines Skills, wenn es diesen Skill aufruft |

403| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Überschreiben Sie in Millisekunden, wie lange eine nicht-interaktive Sitzung beim Exit auf ihr [Agent Team](/docs/de/agent-teams) wartet, um sich abzubauen. Akzeptiert 1000 bis 60000; ein Out-of-Range-Wert wird ignoriert und der Standard von 10000 gilt. Erfordert Claude Code v2.1.206 oder später |403| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Auf `false` setzen, um die Syntaxhervorhebung in der Diff-Ausgabe zu deaktivieren. Nützlich, wenn Farben Ihre Terminal-Einrichtung stören. Um die Hervorhebung auch in Codeblöcken und Dateivorschauen zu deaktivieren, verwenden Sie die Einstellung [`syntaxHighlightingDisabled`](/docs/de/settings-reference#syntaxhighlightingdisabled) |

404| `CLAUDE_CODE_TMPDIR` | Überschreiben Sie das Temp-Verzeichnis, das für interne Temp-Dateien verwendet wird. Claude Code hängt `/claude-{uid}/` auf Unix oder `/claude/` auf Windows an diesen Pfad an. Standard: `/tmp` auf macOS, `os.tmpdir()` auf Linux und Windows. Auf macOS und Linux erhalten [Sandboxed](/docs/de/sandboxing)-Bash-Subprozesse einen kurzen Fallback-`$TMPDIR` unter dem System-Standard, wenn Ihr Override ein langer Pfad ist, da einige Tools fehlschlagen, wenn Temp-Pfade zu lang werden. Nicht-Sandboxed-Bash-Befehle erben Ihren Shell's `$TMPDIR`, wenn es gesetzt ist. Claude Code's eigene Temp-Dateien verwenden immer Ihren Override. Setzen Sie es in Ihrer Shell, Benutzereinstellungen oder verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert |404| `CLAUDE_CODE_TASK_LIST_ID` | Teilt eine Aufgabenliste über Sitzungen hinweg. Setzen Sie in mehreren Claude-Code-Instanzen dieselbe ID, um sich über eine gemeinsame Aufgabenliste abzustimmen, in [Sitzungen, die die Task-Tools haben](/docs/de/tools-reference#task-tool-availability). Siehe [Aufgabenliste](/docs/de/interactive-mode#task-list) |

405| `CLAUDE_CODE_TMUX_TRUECOLOR` | Setzen Sie auf einen beliebigen nicht-leeren Wert, wie `1`, um 24-Bit-Truecolor-Ausgabe in tmux zu erlauben. **Das Setzen auf `0` oder `false` erlaubt immer noch Truecolor**, im Gegensatz zu den meisten Ein/Aus-Variablen; heben Sie die Variable auf, um die 256-Farben-Begrenzung wiederherzustellen. Standardmäßig begrenzt Claude Code auf 256 Farben, wenn `$TMUX` gesetzt ist, weil tmux Truecolor-Escape-Sequenzen nicht durchleitet, es sei denn, es ist konfiguriert. Setzen Sie dies nach dem Hinzufügen von `set -ga terminal-overrides ',*:Tc'` zu Ihrer `~/.tmux.conf`. Siehe [Terminal-Konfiguration](/docs/de/terminal-config) für andere tmux-Einstellungen |405| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Überschreibt in Millisekunden, wie lange eine nicht interaktive Sitzung beim Beenden darauf wartet, dass ihr [Agent-Team](/docs/de/agent-teams) vollständig heruntergefahren ist. Akzeptiert 1000 bis 60000; ein Wert außerhalb dieses Bereichs wird ignoriert und der Standard von 10000 gilt. Erfordert Claude Code v2.1.206 oder höher |

406| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | Auf Linux und WSL setzen Sie auf eine komma-getrennte Liste der Arten von Prozessen, die Claude Code [von der Tool-Memory-Obergrenze ausschließt](/docs/de/tools-reference#memory-limit-on-linux-and-wsl), wie `mcp` oder `lsp`. Setzen Sie `none`, um jeden Kind zu begrenzen, oder `all-new`, um nur Bash-, PowerShell- und Monitor-Tool-Befehle zu begrenzen. Claude Code hält Bash-, PowerShell- und Monitor-Tool-Befehle unter der Obergrenze, was auch immer Sie auflisten. Erfordert Claude Code v2.1.246 oder später |406| `CLAUDE_CODE_TMPDIR` | Überschreibt das temporäre Verzeichnis für interne temporäre Dateien. Claude Code hängt unter Unix `/claude-{uid}/` und unter Windows `/claude/` an diesen Pfad an. Standard: `/tmp` unter macOS, `os.tmpdir()` unter Linux und Windows. Unter macOS und Linux erhalten [in der Sandbox ausgeführte](/docs/de/sandboxing) Bash-Unterprozesse ein kurzes Fallback-`$TMPDIR` unterhalb des Systemstandards, wenn Ihre Überschreibung ein langer Pfad ist, da einige Tools fehlschlagen, wenn temporäre Pfade zu lang werden. Bash-Befehle außerhalb der Sandbox erben das `$TMPDIR` Ihrer Shell, wenn es gesetzt ist. Unter nativem Windows erhält ein Bash-Befehl, der auf `$TMPDIR` verweist, Ihre Überschreibung oder `%TEMP%`, wenn Sie keine gesetzt haben, sofern Ihre Shell `$TMPDIR` nicht setzt. Die eigenen temporären Dateien von Claude Code verwenden immer Ihre Überschreibung. Setzen Sie die Variable in Ihrer Shell, in den Benutzereinstellungen oder in den verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert |

407| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Auf Linux und WSL setzen Sie auf eine Größe wie `4G`, um [den Speicher zu begrenzen, den Bash- und PowerShell-Tool-Befehle verwenden können](/docs/de/tools-reference#memory-limit-on-linux-and-wsl), und Monitor-Tool-Befehle auf v2.1.246 oder später. Schreiben Sie die Größe in einfachen Ziffern, allein für eine Anzahl von Bytes oder mit einem `K`-, `M`-, `G`- oder `T`-Suffix. Setzen Sie `0` oder `off`, um die Obergrenze auszuschalten. Sobald der erste Prozess, den Claude Code startet, die Obergrenze ein- oder ausgeschaltet hat, tritt ein geänderter Wert in Kraft, wenn Sie `claude` nächstes Mal starten. Erfordert Claude Code v2.1.233 oder später |407| `CLAUDE_CODE_TMUX_TRUECOLOR` | Auf einen beliebigen nicht leeren Wert wie `1` setzen, um 24-Bit-Truecolor-Ausgabe innerhalb von tmux zu erlauben. **Das Setzen auf `0` oder `false` erlaubt Truecolor weiterhin**, anders als bei den meisten Ein/Aus-Variablen; entfernen Sie die Variable, um die Begrenzung auf 256 Farben wiederherzustellen. Standardmäßig begrenzt Claude Code auf 256 Farben, wenn `$TMUX` gesetzt ist, da tmux Truecolor-Escape-Sequenzen nur weiterleitet, wenn es entsprechend konfiguriert ist. Setzen Sie dies, nachdem Sie `set -ga terminal-overrides ',*:Tc'` zu Ihrer `~/.tmux.conf` hinzugefügt haben. Weitere tmux-Einstellungen finden Sie unter [Terminal-Konfiguration](/docs/de/terminal-config) |

408| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Deadline in Millisekunden, bevor Claude Code einen Dialog abbricht, den es an einen Remote-Client wie einen [Remote Control](/docs/de/remote-control) oder SDK-Host weiterleitet, oder den Genehmigungsdialog für eine [gehaltene Cross-Session-Nachricht](/docs/de/cross-session-messaging#control-inbound-messages); Permission-Prompts und `AskUserQuestion`-Fragen verwenden ihre eigenen Flows und werden nicht dadurch gesteuert. Auf Claude Code v2.1.236 oder später begrenzt es auch den Mid-Session-[Fable-Nutzungs-Credits-Zustimmungs-Prompt](/docs/de/model-config#fable-and-usage-credits) in einer Sitzung, die möglicherweise unbeaufsichtigt läuft. [Inbound-Nachrichten steuern](/docs/de/cross-session-messaging#control-inbound-messages) und [nicht-interaktive Sitzungen](/docs/de/cross-session-messaging#non-interactive-sessions) decken die vollständigen gehaltenen Nachricht-Ablauf-Regeln ab, einschließlich der Fälle, wo die Deadline nicht gilt. Überschreibt die [`dialogExpiry`](/docs/de/settings-reference#dialogexpiry)-Einstellung. `0` oder ein negativer Wert deaktiviert die Deadline |408| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | Unter Linux und WSL auf eine durch Kommas getrennte Liste der Prozessarten setzen, die Claude Code [von der Speicherobergrenze für Tools ausnimmt](/docs/de/tools-reference#memory-limit-on-linux-and-wsl), etwa `mcp` oder `lsp`. Setzen Sie `none`, um jede Art zu begrenzen, oder `all-new`, um nur Befehle des Bash-, PowerShell- und Monitor-Tools zu begrenzen. Claude Code hält Befehle des Bash-, PowerShell- und Monitor-Tools unabhängig von Ihrer Liste unter der Obergrenze. Erfordert Claude Code v2.1.246 oder höher |

409| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Verwenden Sie [Claude Platform on AWS](/docs/de/claude-platform-on-aws) |409| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Unter Linux und WSL auf eine Größe wie `4G` setzen, um [den Arbeitsspeicher zu begrenzen, den Befehle des Bash- und PowerShell-Tools verwenden können](/docs/de/tools-reference#memory-limit-on-linux-and-wsl), ab v2.1.246 auch Befehle des Monitor-Tools. Geben Sie die Größe als reine Ziffern an, allein für eine Anzahl von Bytes oder mit einem Suffix `K`, `M`, `G` oder `T`. Setzen Sie `0` oder `off`, um die Obergrenze zu deaktivieren. Sobald der erste von Claude Code gestartete Prozess die Obergrenze aktiviert oder deaktiviert hat, wird ein geänderter Wert erst beim nächsten Start von `claude` wirksam. Erfordert Claude Code v2.1.233 oder höher |

410| `CLAUDE_CODE_USE_BEDROCK` | Verwenden Sie [Amazon Bedrock](/docs/de/amazon-bedrock) |410| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Frist in Millisekunden, bevor Claude Code einen Dialog abbricht, den es an einen Remote-Client wie einen [Remote Control](/docs/de/remote-control)- oder SDK-Host weiterleitet, oder den Genehmigungsdialog für eine [zurückgehaltene sitzungsübergreifende Nachricht](/docs/de/cross-session-messaging#control-inbound-messages); Berechtigungsabfragen und `AskUserQuestion`-Fragen verwenden eigene Abläufe und unterliegen dieser Frist nicht. Ab Claude Code v2.1.236 begrenzt sie außerdem die mitten in der Sitzung erscheinende [Zustimmungsabfrage zum Fable-Nutzungsguthaben](/docs/de/model-config#fable-and-usage-credits) in einer Sitzung, die möglicherweise unbeaufsichtigt läuft. [Eingehende Nachrichten steuern](/docs/de/cross-session-messaging#control-inbound-messages) und [Nicht interaktive Sitzungen](/docs/de/cross-session-messaging#non-interactive-sessions) beschreiben die vollständigen Ablaufregeln für zurückgehaltene Nachrichten, einschließlich der Fälle, in denen die Frist nicht gilt. Überschreibt die Einstellung [`dialogExpiry`](/docs/de/settings-reference#dialogexpiry). `0` oder ein negativer Wert deaktiviert die Frist |

411| `CLAUDE_CODE_USE_FOUNDRY` | Verwenden Sie [Microsoft Foundry](/docs/de/microsoft-foundry) |411| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | [Claude Platform on AWS](/docs/de/claude-platform-on-aws) verwenden |

412| `CLAUDE_CODE_USE_MANTLE` | Verwenden Sie den Amazon Bedrock [Mantle-Endpunkt](/docs/de/amazon-bedrock#use-the-mantle-endpoint) |412| `CLAUDE_CODE_USE_BEDROCK` | [Amazon Bedrock](/docs/de/amazon-bedrock) verwenden |

413| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Setzen Sie auf `1`, um benutzerdefinierte Befehle, Subagents und Output-Stile mit Node.js-Datei-APIs statt ripgrep zu entdecken. Setzen Sie dies, wenn die gebündelte ripgrep-Binärdatei nicht verfügbar oder blockiert ist in Ihrer Umgebung. Betrifft nicht die Grep- oder Datei-Such-Tools |413| `CLAUDE_CODE_USE_FOUNDRY` | [Microsoft Foundry](/docs/de/microsoft-foundry) verwenden |

414| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Steuert das PowerShell-Tool. Auf Windows ohne Git Bash ist das Tool automatisch aktiviert; setzen Sie auf `0`, um es zu deaktivieren. Auf Windows mit Git Bash installiert ist das Tool standardmäßig für claude.ai und Console-Konten aktiviert; setzen Sie auf `1`, um es in Amazon Bedrock-, Google Cloud's Agent Platform- und Microsoft Foundry-Sitzungen zu aktivieren, oder `0`, um es auszuschalten. Auf Linux, macOS und WSL setzen Sie auf `1`, um es zu aktivieren, was `pwsh` auf Ihrem `PATH` erfordert. Wenn aktiviert auf Windows, kann Claude PowerShell-Befehle nativ ausführen, anstatt durch Git Bash zu routen. Siehe [PowerShell-Tool](/docs/de/tools-reference#powershell-tool) |414| `CLAUDE_CODE_USE_MANTLE` | Den Amazon Bedrock [Mantle-Endpunkt](/docs/de/amazon-bedrock#use-the-mantle-endpoint) verwenden |

415| `CLAUDE_CODE_USE_VERTEX` | Verwenden Sie [Google Cloud's Agent Platform](/docs/de/google-vertex-ai) |415| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Auf `1` setzen, um benutzerdefinierte Befehle, Subagenten und Ausgabestile mit den Datei-APIs von Node.js statt mit ripgrep zu ermitteln. Setzen Sie dies, wenn die mitgelieferte ripgrep-Binärdatei in Ihrer Umgebung nicht verfügbar oder blockiert ist. Wirkt sich nicht auf Grep oder die Dateisuch-Tools aus |

416| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Setzen Sie auf die Anzahl der Millisekunden, die [WebFetch](/docs/de/tools-reference#webfetch-tool-behavior) jede abgerufene URL's Antwort zwischenspeichert. Der Standard ist `900000`, was 15 Minuten ist. Akzeptiert nur einfache Ziffern; `0`, eine Dezimalzahl oder jede andere Schreibweise behält den Standard. Claude Code liest den Wert einmal pro Start, daher gilt eine Änderung in einem Einstellungs-`env`-Block, wenn Sie `claude` nächstes Mal starten. Erfordert Claude Code v2.1.233 oder später |416| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Steuert das PowerShell-Tool. Unter Windows ohne Git Bash ist das Tool automatisch aktiviert; auf `0` setzen, um es zu deaktivieren. Unter Windows mit installiertem Git Bash ist das Tool für claude.ai- und Console-Konten standardmäßig aktiviert; auf `1` setzen, um es in Sitzungen mit Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry zu aktivieren, oder auf `0`, um es zu deaktivieren. Unter Linux, macOS und WSL auf `1` setzen, um es zu aktivieren, was `pwsh` in Ihrem `PATH` erfordert. Wenn es unter Windows aktiviert ist, kann Claude PowerShell-Befehle nativ ausführen, statt sie über Git Bash zu leiten. Siehe [PowerShell-Tool](/docs/de/tools-reference#powershell-tool) |

417| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Obergrenze in Millisekunden, wie lange [WebFetch](/docs/de/tools-reference#webfetch-tool-behavior) auf das Herunterladen einer Seite wartet, einschließlich aller Umleitungen, die es folgt. Ein Download, der bis dahin nicht abgeschlossen ist, schlägt mit einem Deadline-Fehler fehl. Der Standard ist `300000`, was fünf Minuten ist. Setzen Sie auf `0`, um die Obergrenze zu entfernen. Akzeptiert nur einfache Ziffern; eine Dezimalzahl oder jede andere Schreibweise behält den Standard. Erfordert Claude Code v2.1.268 oder später |417| `CLAUDE_CODE_USE_VERTEX` | [Google Cloud's Agent Platform](/docs/de/google-vertex-ai) verwenden |

418| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Wie viele Agents ein einzelner [Workflow](/docs/de/workflows)-Lauf gleichzeitig ausführt, von `1` bis `256`. Standardmäßig führt ein Lauf bis zu 16 Agents gleichzeitig aus, weniger, wenn Claude Code weniger CPUs verfügbar hat; wartende `agent()`-Aufrufe warten auf einen freien Slot. Jeder laufende Agent's Transkript bleibt in Claude Code's Speicher, daher erhöhen höhere Werte die Speichernutzung. Akzeptiert nur einfache Ziffern; Out-of-Range-Werte und andere Schreibweisen behalten den Standard. Erfordert Claude Code v2.1.269 oder später |418| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Auf die Anzahl von Millisekunden setzen, die [WebFetch](/docs/de/tools-reference#webfetch-tool-behavior) die Antwort jeder abgerufenen URL im Cache behält. Der Standard ist `900000`, also 15 Minuten. Akzeptiert nur reine Ziffern; `0`, eine Dezimalzahl oder jede andere Schreibweise behält den Standard bei. Claude Code liest den Wert einmal pro Start, sodass eine Änderung in einem `env`-Block der Einstellungen beim nächsten Start von `claude` wirksam wird. Erfordert Claude Code v2.1.233 oder höher |

419| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Obergrenze in Millisekunden, wie lange ein [Workflow](/docs/de/workflows)-Agent auf die erste Antwort eines gleich-Präfix-Siblings wartet, bevor er seine eigene erste Anfrage sendet. Wenn ein Fan-Out mehrere Agents startet, die einen [Prompt-Cache-Präfix](/docs/de/workflows#prompt-caching-in-a-fan-out) teilen, hält Claude Code alle außer dem ersten Agent für bis zu diese lange, daher lesen die restlichen den zwischengespeicherten Präfix, anstatt ihn jeweils unkomprimiert zu verarbeiten. Standard `5000`. Setzen Sie auf `0`, um das Warten zu deaktivieren. Wenn `DISABLE_PROMPT_CACHING` gesetzt ist, warten Agents nie. Erfordert Claude Code v2.1.229 oder später |419| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Obergrenze in Millisekunden dafür, wie lange [WebFetch](/docs/de/tools-reference#webfetch-tool-behavior) auf das Herunterladen einer Seite wartet, einschließlich aller Weiterleitungen, denen es folgt. Ein Download, der bis dahin nicht abgeschlossen ist, schlägt mit einem Fristfehler fehl. Der Standard ist `300000`, also fünf Minuten. Auf `0` setzen, um das Limit aufzuheben. Akzeptiert nur reine Ziffern; eine Dezimalzahl oder jede andere Schreibweise behält den Standard bei. Erfordert Claude Code v2.1.268 oder höher |

420| `CLAUDE_CONFIG_DIR` | Überschreiben Sie das Konfigurationsverzeichnis (Standard: `~/.claude`). Alle Einstellungen, Sitzungs-Verlauf und Plugins werden unter diesem Pfad gespeichert. Für Credentials siehe [wo Claude Code Credentials speichert](/docs/de/authentication#credential-management). Nützlich zum Ausführen mehrerer Konten nebeneinander: zum Beispiel `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Setzen Sie es in Ihrer Shell, Benutzereinstellungen oder verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert |420| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Wie viele Agenten ein einzelner [Workflow](/docs/de/workflows)-Lauf gleichzeitig ausführt, von `1` bis `256`. Standardmäßig führt ein Lauf bis zu 16 Agenten gleichzeitig aus, weniger, wenn Claude Code weniger CPUs zur Verfügung stehen; `agent()`-Aufrufe in der Warteschlange warten auf einen freien Platz. Das Transkript jedes laufenden Agenten bleibt im Arbeitsspeicher von Claude Code, daher erhöhen höhere Werte den Speicherverbrauch. Akzeptiert nur reine Ziffern; Werte außerhalb des Bereichs und andere Schreibweisen behalten den Standardwert bei. Erfordert Claude Code v2.1.269 oder höher |

421| `CLAUDE_DISABLE_ADOPT` | Setzen Sie auf `1`, um laufende Hintergrundarbeit zu stoppen, anstatt sie zu tragen, wenn Sie eine Sitzung backgrounden, indem Sie `←` drücken oder [`/background`](/docs/de/agent-view#from-inside-a-session) verwenden. Claude Code fragt Sie zur Bestätigung auf, bevor Sie backgrounden, dann stoppt die Aufgaben, die andernfalls getragen würden. Erfordert Claude Code v2.1.195 oder später |421| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Obergrenze in Millisekunden dafür, wie lange ein [Workflow](/docs/de/workflows)-Agent darauf wartet, dass die erste Antwort eines parallelen Agenten mit demselben Präfix beginnt, bevor er seine eigene erste Anfrage sendet. Wenn ein Fan-out mehrere Agenten startet, die ein [Prompt-Cache-Präfix](/docs/de/workflows#prompt-caching-in-a-fan-out) gemeinsam nutzen, hält Claude Code alle Agenten außer dem ersten bis zu dieser Dauer zurück, sodass die übrigen das zwischengespeicherte Präfix lesen, anstatt es jeweils ohne Cache zu verarbeiten. Standardwert `5000`. Setzen Sie den Wert auf `0`, um das Warten zu deaktivieren. Wenn `DISABLE_PROMPT_CACHING` gesetzt ist, warten Agenten nie. Erfordert Claude Code v2.1.229 oder höher |

422| `CLAUDE_EFFORT` | Wird automatisch in Bash-Tool-Subprozessen und Hook-Befehlen auf die [Effort-Ebene](/docs/de/model-config#adjust-effort-level) gesetzt, die in Kraft ist, wenn der Subprocess startet: `low`, `medium`, `high`, `xhigh` oder `max`. Entspricht dem `effort.level`-Feld, das an [Hooks](/docs/de/hooks) übergeben wird. Wird nur gesetzt, wenn das aktuelle Modell den Effort-Parameter unterstützt |422| `CLAUDE_CONFIG_DIR` | Überschreibt das Konfigurationsverzeichnis (Standard: `~/.claude`). Alle Einstellungen, der Sitzungsverlauf und Plugins werden unter diesem Pfad gespeichert. Informationen zu Anmeldedaten finden Sie unter [Wo Claude Code Anmeldedaten speichert](/docs/de/authentication#credential-management). Nützlich, um mehrere Konten parallel zu betreiben, zum Beispiel `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Setzen Sie die Variable in Ihrer Shell, in den Benutzereinstellungen oder in verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert |

423| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Setzen Sie auf `1`, um den Byte-Level-Streaming-Idle-Watchdog zu erzwingen, oder setzen Sie auf `0`, um ihn zu erzwingen-deaktivieren. `0` schaltet auch die [First-Byte-Deadline](/docs/de/network-config#streaming-idle-watchdogs) auf den Verbindungen aus, wo diese Deadline läuft. Wenn nicht gesetzt, ist der Watchdog standardmäßig für direkte Anthropic API und [Claude Platform on AWS](/docs/de/claude-platform-on-aws)-Verbindungen aktiviert, und für Streaming-Antworten auf [Gateway](/docs/de/gateways)-Verbindungen, die durch `ANTHROPIC_BASE_URL` oder `ANTHROPIC_AWS_BASE_URL` erreicht werden; vor v2.1.222 lief er nicht auf diesen Gateway-Verbindungen, daher konnte der Event-Level-Watchdog einen Stall dort melden, auch während Keep-Alive-Pings ankamen. Für Timeouts und wie die Timer interagieren, siehe [Streaming-Idle-Watchdogs](/docs/de/network-config#streaming-idle-watchdogs) |423| `CLAUDE_DISABLE_ADOPT` | Setzen Sie den Wert auf `1`, um laufende Hintergrundarbeit zu beenden, anstatt sie zu übernehmen, wenn Sie eine Sitzung durch Drücken von `←` oder mit [`/background`](/docs/de/agent-view#from-inside-a-session) in den Hintergrund verschieben. Claude Code bittet Sie vor dem Verschieben in den Hintergrund um Bestätigung und beendet dann die Aufgaben, die sonst übernommen würden. Erfordert Claude Code v2.1.195 oder höher |

424| `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, was auch die [First-Byte-Deadline](/docs/de/network-config#streaming-idle-watchdogs) auf Bedrock-Streaming-Anfragen aktiviert. Standardmäßig aus. Konfigurieren Sie das Timeout mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |424| `CLAUDE_EFFORT` | Wird in Unterprozessen des Bash-Tools und in Hook-Befehlen automatisch auf die [Effort-Stufe](/docs/de/model-config#adjust-effort-level) gesetzt, die beim Start des Unterprozesses gilt: `low`, `medium`, `high`, `xhigh` oder `max`. Entspricht dem Feld `effort.level`, das an [Hooks](/docs/de/hooks) übergeben wird. Wird nur gesetzt, wenn das aktuelle Modell den Effort-Parameter unterstützt |

425| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Setzen Sie auf `0`, um den Event-Level-Streaming-Idle-Watchdog zu erzwingen-deaktivieren, oder setzen Sie auf `1`, um ihn zu erzwingen-aktivieren. Wenn nicht gesetzt, ist der Watchdog standardmäßig für alle Provider eingeschaltet. Vor v2.1.196 war der nicht gesetzte Standard Server-gesteuert auf der direkten Anthropic API und aus auf anderen Providern. Konfigurieren Sie das Timeout mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; für die anderen Stall-Timer, die neben diesem laufen, siehe [Streaming-Idle-Watchdogs](/docs/de/network-config#streaming-idle-watchdogs) |425| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Setzen Sie den Wert auf `1`, um den Streaming-Idle-Watchdog auf Byte-Ebene zwangsweise zu aktivieren, oder auf `0`, um ihn zwangsweise zu deaktivieren. `0` schaltet außerdem die [First-Byte-Frist](/docs/de/network-config#streaming-idle-watchdogs) auf den Verbindungen aus, auf denen diese Frist läuft. Wenn die Variable nicht gesetzt ist, ist der Watchdog standardmäßig für direkte Verbindungen zur Anthropic API und zu [Claude Platform on AWS](/docs/de/claude-platform-on-aws) aktiviert sowie für Streaming-Antworten auf [Gateway](/docs/de/gateways)-Verbindungen, die über `ANTHROPIC_BASE_URL` oder `ANTHROPIC_AWS_BASE_URL` erreicht werden; vor v2.1.222 lief er auf diesen Gateway-Verbindungen nicht, sodass der Watchdog auf Event-Ebene dort einen Stillstand melden konnte, selbst während Keep-alive-Pings eintrafen. Informationen zu Timeouts und zum Zusammenspiel der Timer finden Sie unter [Streaming-Idle-Watchdogs](/docs/de/network-config#streaming-idle-watchdogs) |

426| `CLAUDE_ENV_FILE` | Pfad zu einem Shell-Skript, dessen Inhalt Claude Code vor jedem Bash-Befehl im gleichen Shell-Prozess ausführt, daher sind Exports in der Datei für den Befehl sichtbar. Verwenden Sie, um virtualenv- oder Conda-Aktivierung über Befehle hinweg zu persistieren. Wird auch dynamisch von [SessionStart](/docs/de/hooks#persist-environment-variables), [Setup](/docs/de/hooks#setup), [CwdChanged](/docs/de/hooks#cwdchanged) und [FileChanged](/docs/de/hooks#filechanged)-Hooks gefüllt |426| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Setzen Sie den Wert auf `1`, um den Streaming-Idle-Watchdog auf Byte-Ebene für Amazon-Bedrock-Antworten vom Typ `vnd.amazon.eventstream` zu aktivieren, wodurch auch die [First-Byte-Frist](/docs/de/network-config#streaming-idle-watchdogs) für Bedrock-Streaming-Anfragen aktiviert wird. Standardmäßig deaktiviert. Konfigurieren Sie den Timeout mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

427| `CLAUDE_JOB_DIR` | Wird von Claude Code in jeder [Hintergrund-Sitzung](/docs/de/agent-view) auf das `~/.claude/jobs/<id>`-Verzeichnis dieser Sitzung gesetzt. Shell-Befehle, die die Sitzung ausführt, erben es. Schreiben Sie Scratch-Dateien zu [`$CLAUDE_JOB_DIR/tmp`](/docs/de/agent-view#where-state-is-stored). Claude's `Write`- und `Edit`-Aufrufe dort fordern keine Permission an, und das Verzeichnis wird entfernt, wenn die Sitzung gelöscht wird |427| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Setzen Sie den Wert auf `0`, um den Streaming-Idle-Watchdog auf Event-Ebene zwangsweise zu deaktivieren, oder auf `1`, um ihn zwangsweise zu aktivieren. Wenn die Variable nicht gesetzt ist, ist der Watchdog standardmäßig für alle Anbieter aktiviert. Vor v2.1.196 wurde der Standardwert bei nicht gesetzter Variable für die direkte Anthropic API serverseitig gesteuert und war bei anderen Anbietern deaktiviert. Konfigurieren Sie den Timeout mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; Informationen zu den anderen Stillstands-Timern, die parallel dazu laufen, finden Sie unter [Streaming-Idle-Watchdogs](/docs/de/network-config#streaming-idle-watchdogs) |

428| `CLAUDE_PID` | Claude Code setzt dies auf seine eigene Prozess-ID in den Subprozessen, die es spawnt: Bash- und PowerShell-Tool-Befehle und Hook-Befehle. Auf Linux verwendet die Bash-Tool's Shell-Integration es, um ein `pkill`-Muster zu verweigern, das den Claude Code-Prozess selbst entsprechen würde; siehe [die Fehler-Referenz](/docs/de/errors#pkill-pattern-matches-the-claude-code-process). Lesen Sie es aus Ihren eigenen Skripten, um den übergeordneten Claude Code-Prozess absichtlich zu identifizieren oder zu signalisieren. Erfordert Claude Code v2.1.214 oder später |428| `CLAUDE_ENV_FILE` | Pfad zu einem Shell-Skript, dessen Inhalt Claude Code vor jedem Bash-Befehl im selben Shell-Prozess ausführt, sodass Exporte in der Datei für den Befehl sichtbar sind. Verwenden Sie dies, um die Aktivierung von virtualenv oder conda über Befehle hinweg beizubehalten. Wird außerdem dynamisch durch die Hooks [SessionStart](/docs/de/hooks#persist-environment-variables), [Setup](/docs/de/hooks#setup), [CwdChanged](/docs/de/hooks#cwdchanged) und [FileChanged](/docs/de/hooks#filechanged) befüllt |

429| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Präfix für Auto-generierte [Remote Control](/docs/de/remote-control)-Sitzungs-Namen, wenn kein expliziter Name bereitgestellt wird. Standardmäßig der Hostname Ihrer Maschine, was Namen wie `myhost-graceful-unicorn` produziert. Das `--remote-control-session-name-prefix`-CLI-Flag setzt den gleichen Wert für einen einzelnen Aufruf |429| `CLAUDE_JOB_DIR` | Wird von Claude Code in jeder [Hintergrundsitzung](/docs/de/agent-view) auf das Verzeichnis `~/.claude/jobs/<id>` dieser Sitzung gesetzt. Shell-Befehle, die die Sitzung ausführt, erben die Variable. Schreiben Sie temporäre Dateien nach [`$CLAUDE_JOB_DIR/tmp`](/docs/de/agent-view#where-state-is-stored). Claudes `Write`- und `Edit`-Aufrufe dort lösen keine Berechtigungsabfrage aus, und das Verzeichnis wird entfernt, wenn die Sitzung gelöscht wird |

430| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Deadline in Millisekunden für das erste Response-Byte einer Streaming-Anfrage, auf den Verbindungen, wo die [First-Byte-Deadline](/docs/de/network-config#streaming-idle-watchdogs) läuft. Für wie Claude Code es begrenzt, die Extra-Zeit, die es für große Request-Bodies hinzufügt, und wie es die Deadline wählt, wenn Sie dies nicht gesetzt lassen, siehe [Keine Antwort von API](/docs/de/errors#no-response-from-api). Erfordert Claude Code v2.1.242 oder später |430| `CLAUDE_PID` | Claude Code setzt diese Variable in den von ihm gestarteten Unterprozessen auf seine eigene Prozess-ID: Befehle des Bash- und PowerShell-Tools sowie Hook-Befehle. Unter Linux verwendet die Shell-Integration des Bash-Tools sie, um ein `pkill`-Muster abzulehnen, das auf den Claude-Code-Prozess selbst zutreffen würde; siehe [die Fehlerreferenz](/docs/de/errors#pkill-pattern-matches-the-claude-code-process). Lesen Sie sie in Ihren eigenen Skripten aus, um den übergeordneten Claude-Code-Prozess gezielt zu identifizieren oder ihm ein Signal zu senden. Erfordert Claude Code v2.1.214 oder höher |

431| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Timeout in Millisekunden, bevor die Event- und Byte-Level-Streaming-Idle-Watchdogs eine steckengebliebene Verbindung schließen. Wenn Sie diese Variable explizit setzen, ist das Minimum `300000` (5 Minuten); niedrigere Werte werden stillschweigend auf die Obergrenze erhöht, um Extended-Thinking-Pausen und Proxy-Buffering zu absorbieren, und der Byte-Level-Watchdog begrenzt den Wert auf 30 Minuten. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` hat Vorrang über diese Variable für den Byte-Level-Watchdog. Für die Pro-Watchdog-nicht-gesetzten Standards siehe [Streaming-Idle-Watchdogs](/docs/de/network-config#streaming-idle-watchdogs) |431| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Präfix für automatisch generierte Namen von [Remote Control](/docs/de/remote-control)-Sitzungen, wenn kein expliziter Name angegeben wird. Standardmäßig der Hostname Ihres Rechners, was Namen wie `myhost-graceful-unicorn` ergibt. Das CLI-Flag `--remote-control-session-name-prefix` setzt denselben Wert für einen einzelnen Aufruf |

432| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Entfernt in v2.1.260 und jetzt ein No-Op. Begrenzte zuvor, wie lange ein [Hintergrund-Shell-Befehl](/docs/de/interactive-mode#background-bash-commands), den ein [Subagent](/docs/de/sub-agents) gestartet hat, in Millisekunden laufen konnte, mit einem 60-Minuten-Standard. Siehe [die Hintergrund-Befehl-Lebensdauer-Regeln](/docs/de/tools-reference#background-commands) |432| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Frist in Millisekunden für das erste Antwort-Byte einer Streaming-Anfrage auf den Verbindungen, auf denen die [First-Byte-Frist](/docs/de/network-config#streaming-idle-watchdogs) läuft. Wie Claude Code den Wert begrenzt, welche zusätzliche Zeit es für große Request-Bodys hinzufügt und wie es die Frist wählt, wenn Sie die Variable nicht setzen, erfahren Sie unter [No response from API](/docs/de/errors#no-response-from-api). Erfordert Claude Code v2.1.242 oder höher |

433| `DEBUG` | Setzen Sie auf `1`, um Debug-Modus zu aktivieren, äquivalent zum Starten mit [`--debug`](/docs/de/cli-reference#cli-flags). Debug-Logs werden zu `~/.claude/debug/<session-id>.txt` geschrieben, oder zum Pfad, der von `CLAUDE_CODE_DEBUG_LOGS_DIR` gesetzt ist. Nur die Truthy-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 |433| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Timeout in Millisekunden, bevor die Streaming-Idle-Watchdogs auf Event- und Byte-Ebene eine stillstehende Verbindung schließen. Wenn Sie diese Variable explizit setzen, beträgt das Minimum `300000` (5 Minuten); niedrigere Werte werden stillschweigend angehoben, um längere Thinking-Pausen und Proxy-Pufferung aufzufangen, und der Watchdog auf Byte-Ebene begrenzt den Wert auf 30 Minuten. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` hat für den Watchdog auf Byte-Ebene Vorrang vor dieser Variable. Die Standardwerte der einzelnen Watchdogs bei nicht gesetzter Variable finden Sie unter [Streaming-Idle-Watchdogs](/docs/de/network-config#streaming-idle-watchdogs) |

434| `DISABLE_AUTOUPDATER` | Setzen Sie auf `1`, um automatische Hintergrund-Updates zu deaktivieren. Manuelles `claude update` funktioniert immer noch. Verwenden Sie `DISABLE_UPDATES`, um beides zu blockieren |434| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | In v2.1.260 entfernt und jetzt ohne Wirkung. Begrenzte zuvor in Millisekunden, wie lange ein [Shell-Befehl im Hintergrund](/docs/de/interactive-mode#background-bash-commands), den ein [Subagent](/docs/de/sub-agents) gestartet hat, laufen durfte, mit einem Standardwert von 60 Minuten. Siehe [die Regeln zur Lebensdauer von Hintergrundbefehlen](/docs/de/tools-reference#background-commands) |

435| `DISABLE_AUTO_COMPACT` | Setzen Sie auf `1`, um automatische Compaction zu deaktivieren, wenn sich dem Kontext-Limit nähert. Der manuelle `/compact`-Befehl bleibt verfügbar. Verwenden Sie, wenn Sie explizite Kontrolle darüber möchten, wann Compaction auftritt. Überschreibt die [`autoCompactEnabled`](/docs/de/settings-reference#autocompactenabled)-Einstellung |435| `DEBUG` | Setzen Sie den Wert auf `1`, um den Debug-Modus zu aktivieren, gleichbedeutend mit dem Start mit [`--debug`](/docs/de/cli-reference#cli-flags). Debug-Logs werden nach `~/.claude/debug/<session-id>.txt` geschrieben oder in den durch `CLAUDE_CODE_DEBUG_LOGS_DIR` festgelegten Pfad. Nur die Wahrheitswerte `1`, `true`, `yes` und `on` aktivieren den Debug-Modus, sodass Namespace-Muster wie `DEBUG=express:*`, die für andere Tools gesetzt sind, ihn nicht auslösen |

436| `DISABLE_COMPACT` | Setzen Sie auf `1`, um alle Compaction zu deaktivieren: sowohl automatische Compaction als auch den manuellen `/compact`-Befehl |436| `DISABLE_AUTOUPDATER` | Setzen Sie den Wert auf `1`, um automatische Hintergrundaktualisierungen zu deaktivieren. Manuelles `claude update` funktioniert weiterhin. Verwenden Sie `DISABLE_UPDATES`, um beides zu blockieren |

437| `DISABLE_COST_WARNINGS` | Setzen Sie auf `1`, um Kosten-Warnungs-Nachrichten zu deaktivieren |437| `DISABLE_AUTO_COMPACT` | Setzen Sie den Wert auf `1`, um die automatische Komprimierung bei Annäherung an das Kontextlimit zu deaktivieren. Der manuelle Befehl `/compact` bleibt verfügbar. Verwenden Sie dies, wenn Sie explizit steuern möchten, wann die Komprimierung erfolgt. Überschreibt die Einstellung [`autoCompactEnabled`](/docs/de/settings-reference#autocompactenabled) |

438| `DISABLE_DOCTOR_COMMAND` | Setzen Sie auf `1`, um den [`/doctor`](/docs/de/commands#all-commands)-Setup-Checkup-Skill und seinen `/checkup`-Alias zu verbergen. Nützlich für verwaltete Deployments, wo Benutzer Setup-Diagnostiken nicht von einer Sitzung ausführen sollten. Betrifft nicht den `claude doctor`-Terminal-Befehl. Vor v2.1.205 verbarg diese Variable den `/doctor`-Diagnostik-Bildschirm-Befehl |438| `DISABLE_COMPACT` | Setzen Sie den Wert auf `1`, um jede Komprimierung zu deaktivieren: sowohl die automatische Komprimierung als auch den manuellen Befehl `/compact` |

439| `DISABLE_ERROR_REPORTING` | Setzen Sie auf einen beliebigen nicht-leeren Wert, wie `1`, um sich von Fehlerberichterstattung abzumelden. **Das Setzen auf `0` oder `false` meldet sich immer noch ab**, im Gegensatz zu den meisten Ein/Aus-Variablen; heben Sie die Variable auf, um Fehlerberichterstattung wieder einzuschalten |439| `DISABLE_COST_WARNINGS` | Setzen Sie den Wert auf `1`, um Kostenwarnungen zu deaktivieren |

440| `DISABLE_EXTRA_USAGE_COMMAND` | Setzen Sie auf `1`, um den `/usage-credits`-Befehl zu verbergen, der Benutzern ermöglicht, zusätzliche Nutzung über Rate Limits zu kaufen |440| `DISABLE_DOCTOR_COMMAND` | Setzen Sie den Wert auf `1`, um den Setup-Checkup-Skill [`/doctor`](/docs/de/commands#all-commands) und seinen Alias `/checkup` auszublenden. Nützlich für verwaltete Bereitstellungen, in denen Benutzer keine Setup-Diagnosen aus einer Sitzung heraus ausführen sollen. Wirkt sich nicht auf den Terminal-Befehl `claude doctor` aus. Vor v2.1.205 blendete diese Variable den Diagnosebildschirm-Befehl `/doctor` aus |

441| `DISABLE_FEEDBACK_COMMAND` | Setzen Sie auf `1`, um den `/feedback`-Befehl und [Claude-entworfenes Feedback](/docs/de/tools-reference#sendfeedback-tool-behavior) zu deaktivieren. Deaktiviert auch `/bug` und `/share`, die durch den gleichen Pfad berichten; vor v2.1.212 waren sie Aliase von `/feedback`, daher war der Befehl unter jedem Namen deaktiviert. Der ältere Name `DISABLE_BUG_COMMAND` wird auch akzeptiert |441| `DISABLE_ERROR_REPORTING` | Setzen Sie einen beliebigen nicht leeren Wert, etwa `1`, um die Fehlerberichterstattung abzulehnen. **Auch das Setzen auf `0` oder `false` lehnt sie ab**, anders als bei den meisten Ein/Aus-Variablen; entfernen Sie die Variable, um die Fehlerberichterstattung wieder einzuschalten |

442| `DISABLE_GROWTHBOOK` | Setzen Sie auf `1` oder `true`, um GrowthBook-Feature-Flag-Abrufe zu deaktivieren und Code-Standards für jedes Flag zu verwenden. Dies macht [Remote Control](/docs/de/remote-control#requirements) und die anderen [Features, die Feature-Flag-Abrufe benötigen](#features-that-need-feature-flag-fetching) nicht verfügbar. Das Setzen auf `0` oder `false` lässt Abrufe eingeschaltet. Telemetrie-Event-Protokollierung bleibt eingeschaltet, es sei denn, `DISABLE_TELEMETRY`ist auch gesetzt |442| `DISABLE_EXTRA_USAGE_COMMAND` | Setzen Sie den Wert auf `1`, um den Befehl `/usage-credits` auszublenden, mit dem Benutzer zusätzliche Nutzung über Rate-Limits hinaus erwerben können |

443| `DISABLE_INSTALLATION_CHECKS` | Setzen Sie auf `1`, um Installations-Warnungen zu deaktivieren. Verwenden Sie nur, wenn Sie den Installations-Ort manuell verwalten, da dies Probleme mit Standard-Installationen maskieren kann |443| `DISABLE_FEEDBACK_COMMAND` | Setzen Sie den Wert auf `1`, um den Befehl `/feedback` und [von Claude entworfenes Feedback](/docs/de/tools-reference#sendfeedback-tool-behavior) zu deaktivieren. Deaktiviert außerdem `/bug` und `/share`, die über denselben Weg melden; vor v2.1.212 waren sie Aliase von `/feedback`, sodass der Befehl unter jedem Namen deaktiviert war. Der ältere Name `DISABLE_BUG_COMMAND` wird ebenfalls akzeptiert |

444| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Setzen Sie auf `1`, um den `/install-github-app`-Befehl zu verbergen. Bereits verborgen bei Verwendung von Drittanbieter-Providern (Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry) |444| `DISABLE_GROWTHBOOK` | Setzen Sie den Wert auf `1` oder `true`, um das Abrufen von GrowthBook-Feature-Flags zu deaktivieren und für jedes Flag die Standardwerte im Code zu verwenden. Dadurch sind [Remote Control](/docs/de/remote-control#requirements) und die anderen [Funktionen, die das Abrufen von Feature-Flags benötigen](#features-that-need-feature-flag-fetching), nicht verfügbar. Das Setzen auf `0` oder `false` lässt das Abrufen eingeschaltet. Die Protokollierung von Telemetrie-Events bleibt aktiv, sofern nicht auch `DISABLE_TELEMETRY` gesetzt ist |

445| `DISABLE_INTERLEAVED_THINKING` | Setzen Sie auf `1`, um das Senden des Interleaved-Thinking-Beta-Headers zu verhindern. Nützlich, wenn Ihr LLM-Gateway oder Provider [Interleaved Thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) nicht unterstützt |445| `DISABLE_INSTALLATION_CHECKS` | Setzen Sie den Wert auf `1`, um Installationswarnungen zu deaktivieren. Verwenden Sie dies nur, wenn Sie den Installationsort manuell verwalten, da dies Probleme mit Standardinstallationen verdecken kann |

446| `DISABLE_LOGIN_COMMAND` | Setzen Sie auf `1`, um den `/login`-Befehl zu verbergen. Nützlich, wenn Authentifizierung extern über API-Schlüssel oder `apiKeyHelper` gehandhabt wird |446| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Setzen Sie den Wert auf `1`, um den Befehl `/install-github-app` auszublenden. Bei Verwendung von Drittanbietern (Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry) bereits ausgeblendet |

447| `DISABLE_LOGOUT_COMMAND` | Setzen Sie auf `1`, um den `/logout`-Befehl zu verbergen |447| `DISABLE_INTERLEAVED_THINKING` | Setzen Sie den Wert auf `1`, um das Senden des Beta-Headers für Interleaved Thinking zu verhindern. Nützlich, wenn Ihr LLM-Gateway oder Anbieter [Interleaved Thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) nicht unterstützt |

448| `DISABLE_PROMPT_CACHING` | Setzen Sie auf `1`, um [Prompt Caching](/docs/de/prompt-caching#disable-prompt-caching) für alle Modelle zu deaktivieren (hat Vorrang vor Pro-Modell-Einstellungen) |448| `DISABLE_LOGIN_COMMAND` | Setzen Sie den Wert auf `1`, um den Befehl `/login` auszublenden. Nützlich, wenn die Authentifizierung extern über API-Schlüssel oder `apiKeyHelper` erfolgt |

449| `DISABLE_PROMPT_CACHING_FABLE` | Setzen Sie auf `1`, um Prompt Caching für Fable-Modelle zu deaktivieren |449| `DISABLE_LOGOUT_COMMAND` | Setzen Sie den Wert auf `1`, um den Befehl `/logout` auszublenden |

450| `DISABLE_PROMPT_CACHING_HAIKU` | Setzen Sie auf `1`, um Prompt Caching für das [Standard-Haiku-Modell](/docs/de/prompt-caching#disable-prompt-caching) zu deaktivieren, überall wo es läuft |450| `DISABLE_PROMPT_CACHING` | Setzen Sie den Wert auf `1`, um [Prompt-Caching](/docs/de/prompt-caching#disable-prompt-caching) für alle Modelle zu deaktivieren (hat Vorrang vor modellspezifischen Einstellungen) |

451| `DISABLE_PROMPT_CACHING_OPUS` | Setzen Sie auf `1`, um Prompt Caching für das [Standard-Opus-Modell](/docs/de/prompt-caching#disable-prompt-caching) zu deaktivieren |451| `DISABLE_PROMPT_CACHING_FABLE` | Setzen Sie den Wert auf `1`, um Prompt-Caching für Fable-Modelle zu deaktivieren |

452| `DISABLE_PROMPT_CACHING_SONNET` | Setzen Sie auf `1`, um Prompt Caching für das [Standard-Sonnet-Modell](/docs/de/prompt-caching#disable-prompt-caching) zu deaktivieren |452| `DISABLE_PROMPT_CACHING_HAIKU` | Setzen Sie den Wert auf `1`, um Prompt-Caching für das [Standard-Haiku-Modell](/docs/de/prompt-caching#disable-prompt-caching) zu deaktivieren, unabhängig davon, wo es läuft |

453| `DISABLE_TELEMETRY` | Setzen Sie auf einen beliebigen nicht-leeren Wert, wie `1`, um sich von Telemetrie abzumelden. **Das Setzen auf `0` oder `false` meldet sich immer noch ab**, im Gegensatz zu den meisten Ein/Aus-Variablen; heben Sie die Variable auf, um Telemetrie wieder einzuschalten. Telemetrie-Events enthalten keine Benutzerdaten wie Code, Dateipfade oder Bash-Befehle. Deaktiviert auch [Feature-Flag-Abrufe](#features-that-need-feature-flag-fetching). Siehe [Telemetrie für Ihre Organisation ausschalten](/docs/de/managed-settings#turn-telemetry-off-for-your-organization) |453| `DISABLE_PROMPT_CACHING_OPUS` | Setzen Sie den Wert auf `1`, um Prompt-Caching für das [Standard-Opus-Modell](/docs/de/prompt-caching#disable-prompt-caching) zu deaktivieren |

454| `DISABLE_UPDATES` | Setzen Sie auf `1`, um alle Updates zu blockieren, einschließlich manuelles `claude update` und `claude install`. Stricter als `DISABLE_AUTOUPDATER`. Verwenden Sie, wenn Sie Claude Code über Ihre eigenen Kanäle verteilen und Benutzer sich nicht selbst aktualisieren sollten |454| `DISABLE_PROMPT_CACHING_SONNET` | Setzen Sie den Wert auf `1`, um Prompt-Caching für das [Standard-Sonnet-Modell](/docs/de/prompt-caching#disable-prompt-caching) zu deaktivieren |

455| `DISABLE_UPGRADE_COMMAND` | Setzen Sie auf `1`, um den `/upgrade`-Befehl zu verbergen |455| `DISABLE_TELEMETRY` | Setzen Sie einen beliebigen nicht leeren Wert, etwa `1`, um die Telemetrie abzulehnen. **Auch das Setzen auf `0` oder `false` lehnt sie ab**, anders als bei den meisten Ein/Aus-Variablen; entfernen Sie die Variable, um die Telemetrie wieder einzuschalten. Telemetrie-Events enthalten keine Benutzerdaten wie Code, Dateipfade oder Bash-Befehle. Deaktiviert außerdem das [Abrufen von Feature-Flags](#features-that-need-feature-flag-fetching). Siehe [Telemetrie für Ihre Organisation ausschalten](/docs/de/managed-settings#turn-telemetry-off-for-your-organization) |

456| `DO_NOT_TRACK` | Setzen Sie auf `1`, um sich von Telemetrie abzumelden, mit der gleichen Auswirkung wie `DISABLE_TELEMETRY`, einschließlich auf [Feature-Flag-Abrufe](#features-that-need-feature-flag-fetching). Claude Code liest diese Variable als Standard-Boolean, daher lässt `0` Telemetrie eingeschaltet, und ehrt sie als die Cross-Tool-Konvention, die von vielen Developer CLIs erkannt wird |456| `DISABLE_UPDATES` | Setzen Sie den Wert auf `1`, um alle Aktualisierungen zu blockieren, einschließlich manuellem `claude update` und `claude install`. Strenger als `DISABLE_AUTOUPDATER`. Verwenden Sie dies, wenn Sie Claude Code über eigene Kanäle verteilen und Benutzer nicht selbst aktualisieren sollen |

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

458| `ENABLE_CLAUDEAI_MCP_SERVERS` | Setzen Sie auf `false`, um Claude Code davon abzuhalten, [claude.ai MCP-Server](/docs/de/mcp#use-mcp-servers-from-claude-ai) zu fetchen. Standardmäßig für angemeldete Benutzer aktiviert. Um Pro-Projekt oder Pro-Org zu deaktivieren, setzen Sie stattdessen [`disableClaudeAiConnectors`](/docs/de/settings-reference#disableclaudeaiconnectors) in Einstellungen |458| `DO_NOT_TRACK` | Setzen Sie den Wert auf `1`, um die Telemetrie abzulehnen, mit derselben Wirkung wie `DISABLE_TELEMETRY`, auch in Bezug auf das [Abrufen von Feature-Flags](#features-that-need-feature-flag-fetching). Claude Code liest diese Variable als Standard-Boolean, sodass `0` die Telemetrie eingeschaltet lässt, und berücksichtigt sie als toolübergreifende Konvention, die von vielen Entwickler-CLIs anerkannt wird |

459| `ENABLE_PROMPT_CACHING_1H` | Setzen Sie auf `1`, um eine 1-Stunden-[Prompt-Cache-TTL](/docs/de/prompt-caching#cache-lifetime) anstelle der Standard-5-Minuten anzufordern. Gedacht für API-Schlüssel-, [Amazon Bedrock](/docs/de/amazon-bedrock)-, [Google Cloud's Agent Platform](/docs/de/google-vertex-ai)-, [Microsoft Foundry](/docs/de/microsoft-foundry)- und [Claude Platform on AWS](/docs/de/claude-platform-on-aws)-Benutzer. Abonnement-Benutzer innerhalb der enthaltenen Nutzung erhalten die 1-Stunden-TTL automatisch auf der [Hauptkonversation](/docs/de/prompt-caching#which-ttl-each-request-gets). Abonnement-Benutzer, die auf [Nutzungs-Credits](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) zeichnen, können es setzen, um die 1-Stunden-TTL zu behalten. 1-Stunden-Cache-Schreibvorgänge werden mit einer höheren Rate berechnet. Um die TTL stattdessen Pro-Request-Bucket zu wählen, verwenden Sie `CLAUDE_CODE_PROMPT_CACHE_TTL` und `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, die Vorrang vor dieser Variable haben |459| `ENABLE_BETA_TRACING_DETAILED` | Setzen Sie den Wert zusammen mit `BETA_TRACING_ENDPOINT` auf `1`, um [detailliertes Beta-Tracing](/docs/de/monitoring-usage#traces-beta) einzuschalten, das inhaltstragende Span-Attribute und den Span `claude_code.hook` hinzufügt. Interaktive CLI-Sitzungen erfordern zusätzlich, dass Ihre Organisation für die Beta freigeschaltet ist. Beide Variablen werden in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert |

460| `ENABLE_CLAUDEAI_MCP_SERVERS` | Setzen Sie den Wert auf `false`, damit Claude Code keine [claude.ai-MCP-Server](/docs/de/mcp#use-mcp-servers-from-claude-ai) abruft. Für angemeldete Benutzer standardmäßig aktiviert. Um dies pro Projekt oder pro Organisation zu deaktivieren, setzen Sie stattdessen [`disableClaudeAiConnectors`](/docs/de/settings-reference#disableclaudeaiconnectors) in den Einstellungen |

461| `ENABLE_PROMPT_CACHING_1H` | Setzen Sie den Wert auf `1`, um eine [Prompt-Cache-TTL](/docs/de/prompt-caching#cache-lifetime) von 1 Stunde anstelle der standardmäßigen 5 Minuten anzufordern. Gedacht für Benutzer mit API-Schlüssel, [Amazon Bedrock](/docs/de/amazon-bedrock), [Google Cloud's Agent Platform](/docs/de/google-vertex-ai), [Microsoft Foundry](/docs/de/microsoft-foundry) und [Claude Platform on AWS](/docs/de/claude-platform-on-aws). Abonnement-Benutzer innerhalb der enthaltenen Nutzung erhalten die 1-Stunden-TTL in der [Hauptkonversation](/docs/de/prompt-caching#which-ttl-each-request-gets) automatisch. Abonnement-Benutzer, die [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) in Anspruch nehmen, können die Variable setzen, um die 1-Stunden-TTL beizubehalten. 1-Stunden-Cache-Schreibvorgänge werden zu einem höheren Tarif abgerechnet. Um die TTL stattdessen pro Anfragekategorie festzulegen, verwenden Sie `CLAUDE_CODE_PROMPT_CACHE_TTL` und `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, die Vorrang vor dieser Variable haben |

460| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Veraltet. Verwenden Sie stattdessen `ENABLE_PROMPT_CACHING_1H` |462| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Veraltet. Verwenden Sie stattdessen `ENABLE_PROMPT_CACHING_1H` |

461| `ENABLE_TOOL_SEARCH` | Steuert [MCP-Toolsuche](/docs/de/mcp#scale-with-mcp-tool-search). Nicht gesetzt, Claude Code verschiebt alle MCP-Tools standardmäßig. Es lädt sie immer noch upfront auf Google Cloud's Agent Platform-Modellen früher als die Claude 4.5-Generation, auf einer Microsoft Foundry-Deployment auf Azure gehostet, und wenn `ANTHROPIC_BASE_URL` auf einen Nicht-First-Party-Host zeigt. `true` verschiebt immer und sendet den Beta-Header, außer auf diesen gleichen Agent Platform-Modellen und Microsoft Foundry-Deployments; Anfragen schlagen auf Proxies fehl, die `tool_reference` nicht unterstützen. `auto` lädt upfront, wenn Tool-Definitionen in 10% des Kontexts passen. `auto:N` setzt einen benutzerdefinierten Schwellenwert, wie `auto:5` für 5%. `false` lädt alle Tools upfront. Ein Wert, den Sie selbst setzen, wird ignoriert, wenn `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` gesetzt ist. Vor v2.1.221 deaktivierte Claude Code die Toolsuche für alle Modelle auf Google Cloud's Agent Platform, es sei denn, Sie setzen diese Variable auf `true` |463| `ENABLE_TOOL_SEARCH` | Steuert [MCP Tool Search](/docs/de/mcp#scale-with-mcp-tool-search). Ist die Variable nicht gesetzt, lädt Claude Code standardmäßig alle MCP-Tools verzögert. Vorab geladen werden sie weiterhin bei Modellen auf Google Cloud's Agent Platform, die älter als die Generation Claude 4.5 sind, bei einer auf Azure gehosteten Microsoft-Foundry-Bereitstellung und wenn `ANTHROPIC_BASE_URL` auf einen Host zeigt, der kein Erstanbieter-Host ist. `true` lädt immer verzögert und sendet den Beta-Header, außer bei denselben Agent-Platform-Modellen und Microsoft-Foundry-Bereitstellungen; Anfragen schlagen bei Proxys fehl, die `tool_reference` nicht unterstützen. `auto` lädt vorab, wenn die Tool-Definitionen in 10 % des Kontexts passen. `auto:N` legt einen benutzerdefinierten Schwellenwert fest, etwa `auto:5` für 5 %. `false` lädt alle Tools vorab. Ein selbst gesetzter Wert wird ignoriert, wenn `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` gesetzt ist. Vor v2.1.221 deaktivierte Claude Code die Tool-Suche für alle Modelle auf Google Cloud's Agent Platform, sofern Sie diese Variable nicht auf `true` setzten |

462| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Setzen Sie auf einen beliebigen nicht-leeren Wert, wie `1`, um Claude Code zu veranlassen, bei wiederholten Overload-Fehlern für jedes Modell zu stoppen, wenn kein Fallback-Modell konfiguriert ist. **Das Setzen auf `0` oder `false` aktiviert dies immer noch**, im Gegensatz zu den meisten Ein/Aus-Variablen; heben Sie die Variable auf, um das Standard-Retry-Verhalten wiederherzustellen. Ohne dies stoppt Claude Code das Retry auf diese Weise auf Modellen, die es als Opus-, Fable- oder Mythos-Modelle erkennt, wenn Sie sich mit einem API-Schlüssel oder einem [Drittanbieter-Provider](/docs/de/third-party-integrations) authentifizieren, anstelle eines Claude-Abonnements. Auf Claude Code v2.1.160 oder später wechselt Claude Code zu Ihrer konfigurierten [Fallback-Modell-Kette](/docs/de/model-config#fallback-model-chains) bei wiederholten Overload-Fehlern für jedes primäre Modell, daher betrifft diese Variable nicht den Wechsel zu einem Fallback-Modell |464| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Setzen Sie einen beliebigen nicht leeren Wert, etwa `1`, damit Claude Code bei wiederholten Überlastungsfehlern für jedes Modell keine weiteren Wiederholungsversuche unternimmt, wenn kein Fallback-Modell konfiguriert ist. **Auch das Setzen auf `0` oder `false` aktiviert dies**, anders als bei den meisten Ein/Aus-Variablen; entfernen Sie die Variable, um das Standardverhalten für Wiederholungsversuche wiederherzustellen. Ohne die Variable bricht Claude Code Wiederholungsversuche auf diese Weise bei Modellen ab, die es als Opus-, Fable- oder Mythos-Modelle erkennt, wenn Sie sich mit einem API-Schlüssel oder über einen [Drittanbieter](/docs/de/third-party-integrations) statt mit einem Claude-Abonnement authentifizieren. Ab Claude Code v2.1.160 wechselt Claude Code bei wiederholten Überlastungsfehlern für jedes primäre Modell zu Ihrer konfigurierten [Fallback-Modellkette](/docs/de/model-config#fallback-model-chains), sodass diese Variable den Wechsel zu einem Fallback-Modell nicht beeinflusst |

463| `FORCE_AUTOUPDATE_PLUGINS` | Setzen Sie auf `1`, um Plugin-Auto-Updates zu erzwingen, auch wenn der Haupt-Auto-Updater über `DISABLE_AUTOUPDATER` deaktiviert ist |465| `FORCE_AUTOUPDATE_PLUGINS` | Setzen Sie den Wert auf `1`, um automatische Plugin-Aktualisierungen zu erzwingen, selbst wenn der Haupt-Auto-Updater über `DISABLE_AUTOUPDATER` deaktiviert ist |

464| `FORCE_HYPERLINK` | Setzen Sie auf `1`, um klickbare OSC 8-Hyperlinks zu aktivieren, wenn Ihr Terminal sie unterstützt, aber nicht auto-erkannt wird, oder `0`, um sie zu deaktivieren. Wenn nicht gesetzt, aktiviert Claude Code Hyperlinks nur, wenn es Terminal-Unterstützung erkennt. Claude Code parst diesen Wert als Zahl, nicht als Boolean, daher aktiviert ein Wert wie `false`, `no` oder `off` Hyperlinks, anstatt sie zu deaktivieren. Der Footer [PR- oder Merge-Request-Badge](/docs/de/interactive-mode#pr-review-status) wird als Hyperlink gerendert, auch wenn Claude Code Terminal-Unterstützung nicht erkennen kann, wie über SSH. Setzen Sie `0`, um den Badge als einfachen Text zu rendern |466| `FORCE_HYPERLINK` | Setzen Sie den Wert auf `1`, um anklickbare OSC-8-Hyperlinks zu aktivieren, wenn Ihr Terminal sie unterstützt, dies aber nicht automatisch erkannt wird, oder auf `0`, um sie zu deaktivieren. Wenn die Variable nicht gesetzt ist, aktiviert Claude Code Hyperlinks nur, wenn es Terminal-Unterstützung erkennt. Claude Code wertet diesen Wert als Zahl und nicht als Boolean aus, sodass ein Wert wie `false`, `no` oder `off` Hyperlinks aktiviert, anstatt sie zu deaktivieren. Das [Badge für Pull Request oder Merge Request](/docs/de/interactive-mode#pr-review-status) in der Fußzeile wird als Hyperlink dargestellt, selbst wenn Claude Code keine Terminal-Unterstützung erkennen kann, etwa über SSH. Setzen Sie `0`, um das Badge als reinen Text darzustellen |

465| `FORCE_PROMPT_CACHING_5M` | Setzen Sie auf `1`, um die 5-Minuten-Prompt-Cache-TTL zu erzwingen, auch wenn 1-Stunden-TTL andernfalls gelten würde. Überschreibt `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H` und die `promptCacheTtl`- und `subagentPromptCacheTtl`-Einstellungen |467| `FORCE_PROMPT_CACHING_5M` | Setzen Sie den Wert auf `1`, um die 5-Minuten-Prompt-Cache-TTL zu erzwingen, selbst wenn sonst die 1-Stunden-TTL gelten würde. Überschreibt `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H` sowie die Einstellungen `promptCacheTtl` und `subagentPromptCacheTtl` |

466| `HTTP_PROXY` | Geben Sie HTTP-Proxy-Server für Netzwerk-Verbindungen an |468| `HTTP_PROXY` | Gibt den HTTP-Proxy-Server für Netzwerkverbindungen an |

467| `HTTPS_PROXY` | Geben Sie HTTPS-Proxy-Server für Netzwerk-Verbindungen an |469| `HTTPS_PROXY` | Gibt den HTTPS-Proxy-Server für Netzwerkverbindungen an |

468| `IS_DEMO` | Setzen Sie auf einen beliebigen nicht-leeren Wert, wie `1`, um Demo-Modus zu aktivieren: verbirgt Ihre E-Mail und Organisations-Namen aus dem Header und `/status`-Ausgabe, und überspringt Onboarding. **Das Setzen auf `0` oder `false` aktiviert immer noch Demo-Modus**, im Gegensatz zu den meisten Ein/Aus-Variablen; heben Sie die Variable auf, um es auszuschalten. Nützlich beim Streamen oder Aufzeichnen einer Sitzung |470| `IS_DEMO` | Setzen Sie einen beliebigen nicht leeren Wert, etwa `1`, um den Demo-Modus zu aktivieren: Blendet Ihre E-Mail-Adresse und den Namen Ihrer Organisation in der Kopfzeile und in der Ausgabe von `/status` aus und überspringt das Onboarding. **Auch das Setzen auf `0` oder `false` aktiviert den Demo-Modus**, anders als bei den meisten Ein/Aus-Variablen; entfernen Sie die Variable, um ihn auszuschalten. Nützlich beim Streamen oder Aufzeichnen einer Sitzung |

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

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

471| `MAX_THINKING_TOKENS` | Festes Token-Budget für [Extended Thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code begrenzt es auf ein Token unter den Max-Output-Tokens der Anfrage und nie unter 1.024. Siehe `CLAUDE_CODE_MAX_OUTPUT_TOKENS` für wie dieses Limit gesetzt wird. Wenn nicht gesetzt und Thinking aktiviert ist, wählen Modelle mit [Adaptive Reasoning](/docs/de/model-config#adjust-effort-level) ihre eigene Thinking-Tiefe, und andere Modelle verwenden die Obergrenze. Setzen Sie auf `0`, um Thinking auf der Anthropic API zu deaktivieren, außer auf Opus 5.5, Sonnet 5.5 und den Fable-Modellen, die Thinking nicht ausschalten können. Bei [Drittanbieter-Providern](/docs/de/third-party-integrations) lässt `0` den `thinking`-Parameter aus statt. Mit Thinking auf der Anthropic API ausgeschaltet sendet Claude Code Effort `high` statt einer höheren Ebene zu Modellen, die es weiß, [akzeptieren diese Kombination nicht](/docs/de/errors#effort-isnt-available-with-thinking-turned-off), wie Opus 5. Claude Code ignoriert nicht-Null-Werte auf Adaptive-Reasoning-Modellen, außer auf den Modellen, wo `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` Adaptive Reasoning ausschaltet |473| `MAX_THINKING_TOKENS` | Festes Token-Budget für [Extended Thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code begrenzt es auf ein Token unterhalb der maximalen Ausgabe-Token der Anfrage und nie unter 1.024. Wie dieses Limit festgelegt wird, erfahren Sie unter `CLAUDE_CODE_MAX_OUTPUT_TOKENS`. Wenn die Variable nicht gesetzt und Thinking aktiviert ist, wählen Modelle mit [adaptivem Reasoning](/docs/de/model-config#adjust-effort-level) ihre Denktiefe selbst, und andere Modelle verwenden die Obergrenze. Setzen Sie den Wert auf `0`, um Thinking auf der Anthropic API zu deaktivieren, außer bei Opus 5.5, Sonnet 5.5 und den Fable-Modellen, bei denen Thinking nicht ausgeschaltet werden kann. Bei [Drittanbietern](/docs/de/third-party-integrations) lässt `0` stattdessen den Parameter `thinking` weg. Bei ausgeschaltetem Thinking auf der Anthropic API sendet Claude Code an Modelle, von denen es weiß, dass sie [diese Kombination nicht akzeptieren](/docs/de/errors#effort-isnt-available-with-thinking-turned-off), etwa Opus 5, den Effort `high` anstelle einer höheren Stufe. Claude Code ignoriert Werte ungleich null bei Modellen mit adaptivem Reasoning, außer bei den Modellen, bei denen `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` das adaptive Reasoning ausschaltet |

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

473| `MCP_CONNECTION_NONBLOCKING` | Steuert, ob Startup auf MCP-Server wartet, um sich zu verbinden, bevor die erste Query. MCP-Startup ist standardmäßig nicht-blockierend: Server verbinden sich im Hintergrund und ihre Tools werden verfügbar, wenn sie fertig sind. Setzen Sie auf `0`, um Claude Code auf Server-Verbindung vor der ersten Query zu warten. Server, die mit [`alwaysLoad: true`](/docs/de/mcp#exempt-a-server-from-deferral) konfiguriert sind, machen Startup immer noch warten, außer wenn sie vom [Discovery-Cache](/docs/de/mcp#server-status-detail) serviert werden, da ihre Tools vorhanden sein müssen, wenn der erste Prompt gebaut wird. Im nicht-interaktiven Modus (`-p`) ohne `--input-format stream-json` wartet Claude Code auch auf noch ausstehende Server vor dem ersten Turn, unabhängig von dieser Variable. Wenn Sie [`--mcp-config`](/docs/de/cli-reference#cli-flags) explizit übergeben, hat das Warten eine längere Deadline; siehe diesen Flag's Eintrag für die Cached-Server-Ausnahme |475| `MCP_CONNECTION_NONBLOCKING` | Steuert, ob der Start vor der ersten Anfrage darauf wartet, dass MCP-Server verbunden sind. Der MCP-Start ist standardmäßig nicht blockierend: Server verbinden sich im Hintergrund, und ihre Tools werden verfügbar, sobald sie fertig sind. Setzen Sie den Wert auf `0`, damit Claude Code vor der ersten Anfrage auf die Verbindung der Server wartet. Server, die mit [`alwaysLoad: true`](/docs/de/mcp#exempt-a-server-from-deferral) konfiguriert sind, lassen den Start trotzdem warten, außer wenn sie aus dem [Discovery-Cache](/docs/de/mcp#server-status-detail) bedient werden, da ihre Tools vorhanden sein müssen, wenn der erste Prompt erstellt wird. Im nicht interaktiven Modus (`-p`) ohne `--input-format stream-json` wartet Claude Code unabhängig von dieser Variable ebenfalls vor dem ersten Turn auf noch ausstehende Server. Wenn Sie [`--mcp-config`](/docs/de/cli-reference#cli-flags) explizit übergeben, hat das Warten eine längere Frist; die Ausnahme für zwischengespeicherte Server finden Sie im Eintrag zu diesem Flag |

474| `MCP_CONNECT_TIMEOUT_MS` | Wie lange blockierendes MCP-Startup wartet, in Millisekunden, auf den Verbindungs-Batch, bevor die Tool-Liste snapshot wird (Standard: 5000). Gilt, wenn `MCP_CONNECTION_NONBLOCKING=0` oder für Server, die mit [`alwaysLoad: true`](/docs/de/mcp#exempt-a-server-from-deferral) markiert sind. Server, die immer noch ausstehend sind, wenn die Deadline erreicht wird, verbinden sich weiter im Hintergrund. Unterschiedlich von `MCP_TIMEOUT`, das einen einzelnen Server's Verbindungs-Versuch begrenzt |476| `MCP_CONNECT_TIMEOUT_MS` | Wie lange der blockierende MCP-Start in Millisekunden auf den Verbindungs-Batch wartet, bevor er einen Snapshot der Tool-Liste erstellt (Standard: 5000). Gilt bei `MCP_CONNECTION_NONBLOCKING=0` oder für Server, die mit [`alwaysLoad: true`](/docs/de/mcp#exempt-a-server-from-deferral) gekennzeichnet sind. Server, die bei Ablauf der Frist noch ausstehen, verbinden sich im Hintergrund weiter. Zu unterscheiden von `MCP_TIMEOUT`, das den Verbindungsversuch eines einzelnen Servers begrenzt |

475| `MCP_DISCOVERY_CACHE` | Schaltet den [MCP-Discovery-Cache](/docs/de/mcp#server-status-detail) ein oder aus. Mit dem Cache ein kann ein Remote-HTTP- oder SSE-Server, den Sie zuvor verwendet haben, den [`cached`-Status](/docs/de/mcp#server-status-detail) zeigen, und Claude Code verbindet ihn bei seinem ersten Tool-Aufruf, anstatt beim Startup. Der Cache ist standardmäßig aus, es sei denn, ein gradueller Rollout hat ihn für Ihr Konto aktiviert. Setzen Sie auf `1`, um ihn einzuschalten, oder `0`, um ihn ausgeschaltet zu halten, auch wenn der Rollout ihn aktiviert hat. Vor v2.1.238 war der Cache standardmäßig ein. Der `cached`-Status erfordert Claude Code v2.1.221 oder später |477| `MCP_DISCOVERY_CACHE` | Schaltet den [MCP-Discovery-Cache](/docs/de/mcp#server-status-detail) ein oder aus. Bei eingeschaltetem Cache kann ein Remote-HTTP- oder -SSE-Server, den Sie bereits verwendet haben, den [Status `cached`](/docs/de/mcp#server-status-detail) anzeigen, und Claude Code verbindet ihn beim ersten Tool-Aufruf statt beim Start. Der Cache ist standardmäßig ausgeschaltet, sofern ihn kein schrittweiser Rollout für Ihr Konto aktiviert hat. Setzen Sie den Wert auf `1`, um ihn einzuschalten, oder auf `0`, um ihn ausgeschaltet zu lassen, selbst wenn der Rollout ihn aktiviert hat. Vor v2.1.238 war der Cache standardmäßig eingeschaltet. Der Status `cached` erfordert Claude Code v2.1.221 oder höher |

476| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Maximales Alter in Sekunden eines [Discovery-Cache](/docs/de/mcp#server-status-detail)-Eintrags (Standard: 14400 oder 4 Stunden). Bei einem Start, wo der Eintrag älter als das ist, verwirft Claude Code ihn und verbindet den Server beim Startup, wie es mit dem Cache aus tut. Claude Code begrenzt den Wert auf 7 Tage. Vor v2.1.238 war der Standard 86400 oder 24 Stunden, und Claude Code begrenzte den Wert nicht |478| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Maximales Alter eines Eintrags im [Discovery-Cache](/docs/de/mcp#server-status-detail) in Sekunden (Standard: 14400, also 4 Stunden). Ist der Eintrag bei einem Start älter, verwirft Claude Code ihn und verbindet den Server beim Start, wie bei ausgeschaltetem Cache. Claude Code begrenzt den Wert auf 7 Tage. Vor v2.1.238 betrug der Standardwert 86400, also 24 Stunden, und Claude Code begrenzte den Wert nicht |

477| `MCP_DISCOVERY_CACHE_STRIKES` | Bei einem Start, wo ein [Discovery-Cache](/docs/de/mcp#server-status-detail)-Eintrag älter als `MCP_DISCOVERY_CACHE_TTL_S` ist, aktualisiert Claude Code ihn im Hintergrund. Diese Variable setzt, wie viele Aktualisierungen hintereinander fehlschlagen können, bevor Claude Code den Eintrag verwirft und den Server beim nächsten Start stattdessen verbindet (Standard: 1). Erhöhen Sie es, wenn Ihre Netzwerk-Verbindung gelegentlich ausfällt, daher verwirft eine fehlgeschlagene Aktualisierung nicht den Eintrag. Erfordert Claude Code v2.1.238 oder später |479| `MCP_DISCOVERY_CACHE_STRIKES` | Ist ein Eintrag im [Discovery-Cache](/docs/de/mcp#server-status-detail) bei einem Start älter als `MCP_DISCOVERY_CACHE_TTL_S`, aktualisiert Claude Code ihn im Hintergrund. Diese Variable legt fest, wie viele Aktualisierungen in Folge fehlschlagen dürfen, bevor Claude Code den Eintrag verwirft und den Server stattdessen beim nächsten Start verbindet (Standard: 1). Erhöhen Sie den Wert, wenn Ihre Netzwerkverbindung gelegentlich abbricht, damit eine einzelne fehlgeschlagene Aktualisierung den Eintrag nicht verwirft. Erfordert Claude Code v2.1.238 oder höher |

478| `MCP_DISCOVERY_CACHE_TTL_S` | Sekunden, für die Claude Code einen [Discovery-Cache](/docs/de/mcp#server-status-detail)-Eintrag verwendet, ohne ihn zu aktualisieren (Standard: 900). Bei einem Start, wo der Eintrag älter als das ist, verwendet Claude Code ihn immer noch, aktualisiert ihn aber im Hintergrund. Sobald der Eintrag älter als `MCP_DISCOVERY_CACHE_MAX_STALE_S` ist, verwirft Claude Code ihn stattdessen. Claude Code begrenzt den Wert auf `MCP_DISCOVERY_CACHE_MAX_STALE_S`, was 4 Stunden standardmäßig ist. Vor v2.1.238 begrenzte Claude Code den Wert nicht |480| `MCP_DISCOVERY_CACHE_TTL_S` | Sekunden, für die Claude Code einen Eintrag im [Discovery-Cache](/docs/de/mcp#server-status-detail) verwendet, ohne ihn zu aktualisieren (Standard: 900). Ist der Eintrag bei einem Start älter, verwendet Claude Code ihn weiterhin, aktualisiert ihn aber im Hintergrund. Sobald der Eintrag älter als `MCP_DISCOVERY_CACHE_MAX_STALE_S` ist, verwirft Claude Code ihn stattdessen. Claude Code begrenzt den Wert auf `MCP_DISCOVERY_CACHE_MAX_STALE_S`, standardmäßig 4 Stunden. Vor v2.1.238 begrenzte Claude Code den Wert nicht |

479| `MCP_OAUTH_CALLBACK_PORT` | Fester Port für den OAuth-Redirect-Callback, als Alternative zu `--callback-port`, wenn ein MCP-Server mit [vorkonfigurierten Credentials](/docs/de/mcp#use-pre-configured-oauth-credentials) hinzugefügt wird |481| `MCP_OAUTH_CALLBACK_PORT` | Fester Port für den OAuth-Redirect-Callback, als Alternative zu `--callback-port` beim Hinzufügen eines MCP-Servers mit [vorkonfigurierten Anmeldedaten](/docs/de/mcp#use-pre-configured-oauth-credentials) |

480| `MCP_PROTOCOL_NEGOTIATION` | Nur auf der [v2 MCP-Client-Runtime](/docs/de/mcp#mcp-client-runtimes), ob Claude Code Server für MCP-Protokoll-Revision 2026-07-28 prüft. Setzen Sie `auto`, um HTTP-, claude.ai-Connector- und Stdio-Server zu prüfen; ein Server, der nicht auf die Prüfung antwortet, verbindet sich auf dem früheren Protokoll statt, wie SSE- und WebSocket-Server immer tun. Setzen Sie `legacy`, um die Prüfung für jeden Server zu überspringen. Ohne die Variable prüft Claude Code HTTP-Server, und prüft auch claude.ai-Connector-Server in Sitzungen, wo es [Feature-Flags fetcht](#features-that-need-feature-flag-fetching). Jeder andere Wert wird mit einer Warnung im Debug-Log ignoriert. Erfordert Claude Code v2.1.221 oder später |482| `MCP_PROTOCOL_NEGOTIATION` | Nur bei der [v2-MCP-Client-Laufzeit](/docs/de/mcp#mcp-client-runtimes): ob Claude Code Server auf die MCP-Protokollrevision 2026-07-28 prüft. Setzen Sie `auto`, um HTTP-, claude.ai-Konnektor- und stdio-Server zu prüfen, oder `legacy`, um keine zu prüfen. Wenn die Variable nicht gesetzt ist, prüft Claude Code die unter [MCP-Client-Laufzeiten](/docs/de/mcp#mcp-client-runtimes) beschriebenen Server. Jeder andere Wert wird mit einer Warnung im Debug-Log ignoriert. Erfordert Claude Code v2.1.221 oder höher |

481| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Maximale Anzahl von Remote-MCP-Servern (HTTP/SSE), um parallel beim Startup zu verbinden (Standard: 20) |483| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Maximale Anzahl an Remote-MCP-Servern (HTTP/SSE), die während des Starts parallel verbunden werden (Standard: 20) |

482| `MCP_SDK_GENERATION` | Heften Sie an, welche [MCP-Client-Runtime](/docs/de/mcp#mcp-client-runtimes) dieser Prozess mit MCP-Servern verbindet: `v1`, gebaut auf MCP TypeScript SDK 1.x, oder `v2`, gebaut auf [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/). Ohne die Variable verwendet Claude Code v2, ab den Versionen, die in diesem Abschnitt aufgelistet sind. Auf Claude Code v2.1.221 oder später prüft die v2-Runtime den Issuer, den ein MCP-OAuth-Server in seiner Autorisierungs-Antwort zurückgibt, und schlägt die Anmeldung mit einem Fehler fehl, der mit `Issuer mismatch in authorization response` beginnt, wenn er nicht übereinstimmt. Die v1-Runtime führt diese Prüfung nicht aus. Wenn Sie einen nicht erkannten Wert setzen, ignoriert Claude Code ihn und schreibt eine Warnung zum Debug-Log. Claude Code liest den Wert einmal pro Prozess. Erfordert Claude Code v2.1.218 oder später |484| `MCP_SDK_GENERATION` | Legt fest, mit welcher [MCP-Client-Laufzeitumgebung](/docs/de/mcp#mcp-client-runtimes) dieser Prozess sich mit MCP-Servern verbindet: `v1`, basierend auf dem MCP TypeScript SDK 1.x, oder `v2`, basierend auf dem [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/). Ohne die Variable verwendet Claude Code v2, beginnend mit den in diesem Abschnitt aufgeführten Versionen. Ab Claude Code v2.1.221 prüft die v2-Laufzeitumgebung den Issuer, den ein MCP-OAuth-Server in seiner Autorisierungsantwort zurückgibt, und lässt die Anmeldung mit einem Fehler fehlschlagen, der mit `Issuer mismatch in authorization response` beginnt, wenn er nicht übereinstimmt. Die v1-Laufzeitumgebung führt diese Prüfung nicht durch. Wenn Sie einen nicht erkannten Wert setzen, ignoriert Claude Code ihn und schreibt eine Warnung in das Debug-Log. Claude Code liest den Wert einmal pro Prozess. Erfordert Claude Code v2.1.218 oder höher |

483| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Maximale Anzahl von lokalen MCP-Servern (Stdio), um parallel beim Startup zu verbinden (Standard: 3) |485| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Maximale Anzahl an lokalen MCP-Servern (stdio), die während des Starts parallel verbunden werden (Standard: 3) |

484| `MCP_TIMEOUT` | Timeout in Millisekunden für MCP-Server-Startup (Standard: 30000 oder 30 Sekunden) |486| `MCP_TIMEOUT` | Timeout in Millisekunden für den Start von MCP-Servern (Standard: 30000, also 30 Sekunden) |

485| `MCP_TOOL_TIMEOUT` | Timeout in Millisekunden für MCP-Tool-Ausführung (Standard: 100000000, etwa 28 Stunden). Für einen HTTP-, SSE- oder claude.ai-Connector-Server hat jede Anfrage auch ein Timeout von 60 Sekunden standardmäßig; setzen Sie diese Variable oder den Pro-Server-`timeout` über 60000, um dieses Pro-Request-Limit zu erhöhen. Ein niedrigerer Wert verkürzt immer noch das Gesamt-Tool-Ausführungs-Timeout, lässt aber das Pro-Request-Limit bei 60 Sekunden. Stdio- und WebSocket-Server haben keinen Pro-Request-Timer. Ein Pro-Server-`timeout`-Feld in `.mcp.json` überschreibt dies für diesen Server. Ein Pro-Server-`timeout` von mindestens 1000 setzt auch das Minimum-Idle-Fenster für die Tool-Aufrufe dieses Servers, daher bricht `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` sie nie früher ab; diese Untergrenze erfordert Claude Code v2.1.203 oder später. Für die Env-Variable werden Werte unter 1000 auf eine Sekunde begrenzt; für das Pro-Server-Feld werden Werte unter 1000 ignoriert |487| `MCP_TOOL_TIMEOUT` | Timeout in Millisekunden für die Ausführung von MCP-Tools (Standard: 100000000, etwa 28 Stunden). Bei einem HTTP-, SSE- oder claude.ai-Konnektor-Server läuft außerdem jede Anfrage standardmäßig nach 60 Sekunden ab; setzen Sie diese Variable oder den serverspezifischen `timeout` auf über 60000, um dieses Limit pro Anfrage anzuheben. Ein niedrigerer Wert verkürzt weiterhin den Gesamt-Timeout der Tool-Ausführung, belässt das Limit pro Anfrage aber bei 60 Sekunden. Stdio- und WebSocket-Server haben keinen Timer pro Anfrage. Ein serverspezifisches Feld `timeout` in `.mcp.json` überschreibt diesen Wert für den betreffenden Server. Ein serverspezifischer `timeout` von mindestens 1000 legt außerdem das minimale Leerlauffenster für die Tool-Aufrufe dieses Servers fest, sodass `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` sie nie früher abbricht; diese Untergrenze erfordert Claude Code v2.1.203 oder höher. Für die Umgebungsvariable werden Werte unter 1000 auf eine Sekunde angehoben; für das serverspezifische Feld werden Werte unter 1000 ignoriert |

486| `NO_PROXY` | Liste von Domains und IPs, an die Anfragen direkt ausgegeben werden, wobei der Proxy umgangen wird |488| `NO_PROXY` | Liste von Domains und IPs, an die Anfragen direkt unter Umgehung des Proxys gesendet werden |

487| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Standard-OpenTelemetry-SDK-Limit auf Attribut-Wert-Länge. Claude Code begrenzt Content-tragende Telemetrie-Attribute auf das kleinere von diesem und `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, daher bleibt der Kürzungs-Marker innerhalb des SDK-Limits. Claude Code liest die `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT`- und `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT`-Varianten auf die gleiche Weise, und der kleinste gesetzte Wert gilt für alle Signale. Erfordert Claude Code v2.1.214 oder später. Siehe [Monitoring](/docs/de/monitoring-usage#common-configuration-variables) |489| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Standardlimit des OpenTelemetry SDK für die Länge von Attributwerten. Claude Code begrenzt inhaltstragende Telemetrie-Attribute auf den kleineren Wert aus diesem und `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, sodass die Kürzungsmarkierung innerhalb des SDK-Limits bleibt. Claude Code liest die Varianten `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` und `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT` auf dieselbe Weise, und der kleinste gesetzte Wert gilt für alle Signale. Erfordert Claude Code v2.1.214 oder höher. Siehe [Monitoring](/docs/de/monitoring-usage#common-configuration-variables) |

488| `OTEL_LOG_ASSISTANT_RESPONSES` | Setzen Sie auf `1`, um den Text der Modell-Antwort auf `assistant_response`-OpenTelemetry-Log-Events einzubeziehen. Wenn nicht gesetzt, verwendet Claude Code den Wert von `OTEL_LOG_USER_PROMPTS` statt. Setzen Sie auf `0`, um Antworten redaktiert zu halten, auch wenn `OTEL_LOG_USER_PROMPTS` gesetzt ist. Setzen Sie es in Ihrer Shell, Benutzereinstellungen oder verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert. Erfordert Claude Code v2.1.193 oder später. Siehe [Monitoring](/docs/de/monitoring-usage#assistant-response-event) |490| `OTEL_LOG_ASSISTANT_RESPONSES` | Setzen Sie den Wert auf `1`, um den Antworttext des Modells in OpenTelemetry-Log-Events vom Typ `assistant_response` aufzunehmen. Wenn die Variable nicht gesetzt ist, verwendet Claude Code stattdessen den Wert von `OTEL_LOG_USER_PROMPTS`. Setzen Sie den Wert auf `0`, um Antworten geschwärzt zu lassen, selbst wenn `OTEL_LOG_USER_PROMPTS` gesetzt ist. Setzen Sie die Variable in Ihrer Shell, in den Benutzereinstellungen oder in verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert. Erfordert Claude Code v2.1.193 oder höher. Siehe [Monitoring](/docs/de/monitoring-usage#assistant-response-event) |

489| `OTEL_LOG_MANAGED_SETTINGS` | Setzen Sie auf `1`, um die redaktierten verwalteten Einstellungen und einen SHA-256-Digest der Einstellungen vor Redaktion zu `managed_settings_resolved`-OpenTelemetry-Log-Events hinzuzufügen. Standardmäßig deaktiviert. Setzen Sie es in Ihrer Shell, Benutzereinstellungen oder verwalteten Einstellungen; ein Wert in Projekt- oder lokalen Einstellungen schaltet es nicht ein. Erfordert Claude Code v2.1.274 oder später. Siehe [Monitoring](/docs/de/monitoring-usage#managed-settings-resolved-event) |491| `OTEL_LOG_MANAGED_SETTINGS` | Setzen Sie den Wert auf `1`, um die geschwärzten verwalteten Einstellungen sowie einen SHA-256-Digest der Einstellungen vor der Schwärzung zu OpenTelemetry-Log-Events vom Typ `managed_settings_resolved` hinzuzufügen. Standardmäßig deaktiviert. Setzen Sie die Variable in Ihrer Shell, in den Benutzereinstellungen oder in verwalteten Einstellungen; ein Wert in Projekt- oder lokalen Einstellungen schaltet sie nicht ein. Erfordert Claude Code v2.1.274 oder höher. Siehe [Monitoring](/docs/de/monitoring-usage#managed-settings-resolved-event) |

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

491| `OTEL_LOG_TOOL_CONTENT` | Setzen Sie auf `1`, um Tool-Inhalt in das `tool.output`-OpenTelemetry-Span-Event einzubeziehen. Span-Attribute tragen Tool-Inhalt unter [ihren eigenen Gates](/docs/de/monitoring-usage#new-context-gates). Erfordert [Tracing](/docs/de/monitoring-usage#traces-beta). Standardmäßig deaktiviert zum Schutz sensibler Daten. Setzen Sie es in Ihrer Shell, Benutzereinstellungen oder verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert, außer den Off-Werten, die dieser Abschnitt beschreibt. Siehe [Monitoring](/docs/de/monitoring-usage#tool-output-span-event) |493| `OTEL_LOG_TOOL_CONTENT` | Setzen Sie den Wert auf `1`, um Tool-Inhalte in das OpenTelemetry-Span-Event `tool.output` aufzunehmen. Span-Attribute enthalten Tool-Inhalte unter [eigenen Freigabebedingungen](/docs/de/monitoring-usage#new-context-gates). Erfordert [Tracing](/docs/de/monitoring-usage#traces-beta). Standardmäßig deaktiviert, um sensible Daten zu schützen. Setzen Sie die Variable in Ihrer Shell, in den Benutzereinstellungen oder in verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert, abgesehen von den Aus-Werten, die in diesem Abschnitt beschrieben sind. Siehe [Monitoring](/docs/de/monitoring-usage#tool-output-span-event) |

492| `OTEL_LOG_TOOL_DETAILS` | Setzen Sie auf `1`, um Tool-Input-Argumente, MCP-Server-Namen, Benutzer-erstellte Workflow-Namen, rohe Error-Strings bei Tool-Fehlern, die Refusal-`category` auf `api_refusal`-Events, reale Agent-, Skill-, Plugin- und MCP-Server-Namen auf [Cost- und Token-Metriken](/docs/de/monitoring-usage#cost-counter) und andere Tool-Details in OpenTelemetry-Traces und Logs einzubeziehen. Standardmäßig deaktiviert zum Schutz von PII. Setzen Sie es in Ihrer Shell, Benutzereinstellungen oder verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert, außer den Off-Werten, die dieser Abschnitt beschreibt. Siehe [Monitoring](/docs/de/monitoring-usage) |494| `OTEL_LOG_TOOL_DETAILS` | Setzen Sie den Wert auf `1`, um Folgendes in OpenTelemetry-Metriken, -Traces und -Logs aufzunehmen: Tool-Eingabeargumente, Namen von MCP-Servern, von Benutzern erstellte Workflow-Namen, unverarbeitete Fehlerzeichenfolgen bei Tool-Fehlern, die Ablehnungs-`category` bei `api_refusal`-Events, echte Namen von Agenten, Skills, Plugins und MCP-Servern in [Kosten- und Token-Metriken](/docs/de/monitoring-usage#cost-counter) sowie weitere Tool-Details. Standardmäßig deaktiviert, um personenbezogene Daten zu schützen. Setzen Sie die Variable in Ihrer Shell, in den Benutzereinstellungen oder in verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert, abgesehen von den Aus-Werten, die in diesem Abschnitt beschrieben sind. Siehe [Monitoring](/docs/de/monitoring-usage) |

493| `OTEL_LOG_USER_PROMPTS` | Setzen Sie auf `1`, um Benutzer-Prompt-Text in OpenTelemetry-Traces und Logs einzubeziehen. Standardmäßig deaktiviert (Prompts sind redaktiert). Setzen Sie es in Ihrer Shell, Benutzereinstellungen oder verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert, außer den Off-Werten, die dieser Abschnitt beschreibt. Siehe [Monitoring](/docs/de/monitoring-usage) |495| `OTEL_LOG_USER_PROMPTS` | Setzen Sie den Wert auf `1`, um den Text von Benutzer-Prompts in OpenTelemetry-Traces und -Logs aufzunehmen. Standardmäßig deaktiviert (Prompts werden geschwärzt). Setzen Sie die Variable in Ihrer Shell, in den Benutzereinstellungen oder in verwalteten Einstellungen. Wird in [Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env) ignoriert, abgesehen von den Aus-Werten, die in diesem Abschnitt beschrieben sind. Siehe [Monitoring](/docs/de/monitoring-usage) |

494| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Setzen Sie auf `false`, um Account-UUID aus Metrik-Attributen auszuschließen (Standard: enthalten). Siehe [Monitoring](/docs/de/monitoring-usage) |496| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Setzen Sie den Wert auf `false`, um die Konto-UUID aus den Metrik-Attributen auszuschließen (Standard: enthalten). Siehe [Monitoring](/docs/de/monitoring-usage) |

495| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Setzen Sie auf `true`, um den Sitzungs-Entrypoint in Metrik-Attributen einzubeziehen (Standard: ausgeschlossen). Hinzugefügt in v2.1.152. Siehe [Monitoring](/docs/de/monitoring-usage) |497| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Setzen Sie den Wert auf `true`, um den Einstiegspunkt der Sitzung in die Metrik-Attribute aufzunehmen (Standard: ausgeschlossen). Hinzugefügt in v2.1.152. Siehe [Monitoring](/docs/de/monitoring-usage) |

496| `OTEL_METRICS_INCLUDE_REPOSITORY` | Setzen Sie auf `true`, um OpenTelemetry-Metriken und Events mit `vcs.*`-Attributen zu taggen, die das Repository der Sitzung identifizieren (Standard: ausgeschlossen). Erfordert Claude Code v2.1.269 oder später. Siehe [Repository-Attribute](/docs/de/monitoring-usage#repository-attributes) |498| `OTEL_METRICS_INCLUDE_REPOSITORY` | Setzen Sie den Wert auf `true`, um OpenTelemetry-Metriken und -Events mit `vcs.*`-Attributen zu versehen, die das Repository der Sitzung identifizieren (Standard: ausgeschlossen). Erfordert Claude Code v2.1.269 oder höher. Siehe [Repository-Attribute](/docs/de/monitoring-usage#repository-attributes) |

497| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Ab v2.1.161 hängt Claude Code `OTEL_RESOURCE_ATTRIBUTES`-Schlüssel an Metrik-Datenpunkt-Labels an. Setzen Sie auf `false`, um sie auszuschließen (Standard: enthalten). Siehe [Monitoring](/docs/de/monitoring-usage#multi-team-organization-support) |499| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Ab v2.1.161 hängt Claude Code die Schlüssel aus `OTEL_RESOURCE_ATTRIBUTES` an die Labels von Metrik-Datenpunkten an. Setzen Sie den Wert auf `false`, um sie auszuschließen (Standard: enthalten). Siehe [Monitoring](/docs/de/monitoring-usage#multi-team-organization-support) |

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

499| `OTEL_METRICS_INCLUDE_VERSION` | Setzen Sie auf `true`, um Claude Code-Version in Metrik-Attributen einzubeziehen (Standard: ausgeschlossen). Siehe [Monitoring](/docs/de/monitoring-usage) |501| `OTEL_METRICS_INCLUDE_VERSION` | Setzen Sie den Wert auf `true`, um die Claude-Code-Version in die Metrik-Attribute aufzunehmen (Standard: ausgeschlossen). Siehe [Monitoring](/docs/de/monitoring-usage) |

500| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Überschreiben Sie das Zeichen-Budget für Skill-Metadaten, die dem [Skill-Tool](/docs/de/skills#control-who-invokes-a-skill) gezeigt werden. Das Budget skaliert dynamisch bei 1% des Kontext-Fensters, mit einem Fallback von 8.000 Zeichen. Legacy-Name behalten für Rückwärts-Kompatibilität |502| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Überschreibt das Zeichenbudget für Skill-Metadaten, die dem [Skill-Tool](/docs/de/skills#control-who-invokes-a-skill) angezeigt werden. Das Budget skaliert dynamisch mit 1 % des Kontextfensters, mit einem Fallback von 8.000 Zeichen. Der alte Name wird aus Gründen der Abwärtskompatibilität beibehalten |

501| `TASK_MAX_OUTPUT_LENGTH` | Entfernt in v2.1.277 und jetzt ein No-Op, zusammen mit dem `TaskOutput`-Tool, das es dimensioniert. Setzte zuvor die maximale Anzahl von Zeichen der [Hintergrund-Task](/docs/de/tools-reference#background-commands)-Ausgabe, die das `TaskOutput`-Tool behielt. Claude liest die Ausgabe einer Hintergrund-Task mit `Read` statt |503| `TASK_MAX_OUTPUT_LENGTH` | In v2.1.277 entfernt und jetzt ohne Wirkung, zusammen mit dem Tool `TaskOutput`, dessen Größe sie festlegte. Legte zuvor die maximale Anzahl an Zeichen der Ausgabe einer [Hintergrundaufgabe](/docs/de/tools-reference#background-commands) fest, die das Tool `TaskOutput` behielt. Claude liest die Ausgabedatei einer Hintergrundaufgabe stattdessen mit `Read` |

502| `USE_BUILTIN_RIPGREP` | Setzen Sie auf `0`, um System-installiertes `rg` anstelle von `rg`, das mit Claude Code enthalten ist, zu verwenden |504| `USE_BUILTIN_RIPGREP` | Setzen Sie den Wert auf `0`, um das systemweit installierte `rg` anstelle des mit Claude Code mitgelieferten `rg` zu verwenden |

503| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Überschreiben Sie die Region für Claude 3.5 Haiku bei Verwendung von Google Cloud's Agent Platform |505| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Überschreibt die Region für Claude 3.5 Haiku bei Verwendung von Google Cloud's Agent Platform |

504| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Überschreiben Sie die Region für Claude 3.5 Sonnet bei Verwendung von Google Cloud's Agent Platform |506| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Überschreibt die Region für Claude 3.5 Sonnet bei Verwendung von Google Cloud's Agent Platform |

505| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Überschreiben Sie die Region für Claude 3.7 Sonnet bei Verwendung von Google Cloud's Agent Platform |507| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Überschreibt die Region für Claude 3.7 Sonnet bei Verwendung von Google Cloud's Agent Platform |

506| `VERTEX_REGION_CLAUDE_4_0_OPUS` | Überschreiben Sie die Region für Claude 4.0 Opus bei Verwendung von Google Cloud's Agent Platform |508| `VERTEX_REGION_CLAUDE_4_0_OPUS` | Überschreibt die Region für Claude 4.0 Opus bei Verwendung von Google Cloud's Agent Platform |

507| `VERTEX_REGION_CLAUDE_4_0_SONNET` | Überschreiben Sie die Region für Claude 4.0 Sonnet bei Verwendung von Google Cloud's Agent Platform |509| `VERTEX_REGION_CLAUDE_4_0_SONNET` | Überschreibt die Region für Claude 4.0 Sonnet bei Verwendung von Google Cloud's Agent Platform |

508| `VERTEX_REGION_CLAUDE_4_1_OPUS` | Überschreiben Sie die Region für Claude 4.1 Opus bei Verwendung von Google Cloud's Agent Platform |510| `VERTEX_REGION_CLAUDE_4_1_OPUS` | Überschreibt die Region für Claude 4.1 Opus bei Verwendung von Google Cloud's Agent Platform |

509| `VERTEX_REGION_CLAUDE_4_5_OPUS` | Überschreiben Sie die Region für Claude Opus 4.5 bei Verwendung von Google Cloud's Agent Platform |511| `VERTEX_REGION_CLAUDE_4_5_OPUS` | Überschreibt die Region für Claude Opus 4.5 bei Verwendung von Google Cloud's Agent Platform |

510| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Überschreiben Sie die Region für Claude Sonnet 4.5 bei Verwendung von Google Cloud's Agent Platform |512| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Überschreibt die Region für Claude Sonnet 4.5 bei Verwendung von Google Cloud's Agent Platform |

511| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Überschreiben Sie die Region für Claude Opus 4.6 bei Verwendung von Google Cloud's Agent Platform |513| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Überschreibt die Region für Claude Opus 4.6 bei Verwendung von Google Cloud's Agent Platform |

512| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Überschreiben Sie die Region für Claude Sonnet 4.6 bei Verwendung von Google Cloud's Agent Platform |514| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Überschreibt die Region für Claude Sonnet 4.6 bei Verwendung von Google Cloud's Agent Platform |

513| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Überschreiben Sie die Region für Claude Opus 4.7 bei Verwendung von Google Cloud's Agent Platform |515| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Überschreibt die Region für Claude Opus 4.7 bei Verwendung von Google Cloud's Agent Platform |

514| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Überschreiben Sie die Region für Claude Opus 4.8 bei Verwendung von Google Cloud's Agent Platform |516| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Überschreibt die Region für Claude Opus 4.8 bei Verwendung von Google Cloud's Agent Platform |

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

516| `VERTEX_REGION_CLAUDE_5_5_SONNET` | Überschreiben Sie die Region für Claude Sonnet 5.5 bei Verwendung von Google Cloud's Agent Platform. Hinzugefügt in v2.1.284 |518| `VERTEX_REGION_CLAUDE_5_5_SONNET` | Überschreibt die Region für Claude Sonnet 5.5 bei Verwendung von Google Cloud's Agent Platform. Hinzugefügt in v2.1.284 |

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

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

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

520| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Überschreiben Sie die Region für Claude Fable 5.1 bei Verwendung von Google Cloud's Agent Platform. Hinzugefügt in v2.1.257 |522| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Überschreibt die Region für Claude Fable 5.1 bei Verwendung von Google Cloud's Agent Platform. Hinzugefügt in v2.1.257 |

521| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Überschreiben Sie die Region für Claude Haiku 4.5 bei Verwendung von Google Cloud's Agent Platform |523| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Überschreibt die Region für Claude Haiku 4.5 bei Verwendung von Google Cloud's Agent Platform |

522 524 

523Standard-OpenTelemetry-Exporter-Variablen (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES` und Signal-spezifische Varianten) werden auch unterstützt. Siehe [Monitoring](/docs/de/monitoring-usage) für Konfigurationsdetails.525Die Standard-Exporter-Variablen von OpenTelemetry (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES` sowie signalspezifische Varianten) werden ebenfalls unterstützt. Details zur Konfiguration finden Sie unter [Monitoring](/docs/de/monitoring-usage).

524 526 

525Setzen Sie `CLAUDE_CODE_ENABLE_TELEMETRY` und die OpenTelemetry-Variablen, die Export einschalten, sein Ziel wählen oder Inhalt erfassen, in Ihrer Shell, Benutzereinstellungen oder verwalteten Einstellungen. Claude Code [ignoriert sie in Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env), außer den Off-Werten, die dieser Abschnitt beschreibt. `OTEL_RESOURCE_ATTRIBUTES` und die Export-Intervall-, Timeout- und Kompressions-Variablen, wie `OTEL_METRIC_EXPORT_INTERVAL`, gelten immer noch aus Projekt- und lokalen Einstellungen.527Setzen Sie `CLAUDE_CODE_ENABLE_TELEMETRY` und die OpenTelemetry-Variablen, die den Export einschalten, sein Ziel festlegen oder Inhalte erfassen, in Ihrer Shell, in den Benutzereinstellungen oder in verwalteten Einstellungen. Claude Code [ignoriert sie in Projekt- und lokalen Einstellungen](/docs/de/settings-reference#variables-claude-code-ignores-in-env), abgesehen von den Aus-Werten, die in diesem Abschnitt beschrieben sind. `OTEL_RESOURCE_ATTRIBUTES` sowie die Variablen für Exportintervall, Timeout und Komprimierung, etwa `OTEL_METRIC_EXPORT_INTERVAL`, gelten weiterhin auch aus Projekt- und lokalen Einstellungen.

526 528 

527<h2 id="features-that-need-feature-flag-fetching">529<h2 id="features-that-need-feature-flag-fetching">

528 Funktionen, die das Abrufen von Feature-Flags erfordern530 Funktionen, die das Abrufen von Feature-Flags erfordern


545* [Das Advisor-Tool](/docs/de/advisor#requirements) verwenden547* [Das Advisor-Tool](/docs/de/advisor#requirements) verwenden

546* [Kommentare zu einem Artefakt](/docs/de/artifacts#collect-comments-on-an-artifact) lesen oder beantworten548* [Kommentare zu einem Artefakt](/docs/de/artifacts#collect-comments-on-an-artifact) lesen oder beantworten

547* Claude [das öffentliche Artefakt einer anderen Organisation](/docs/de/artifacts#read-an-artifact-shared-with-you) lesen lassen549* Claude [das öffentliche Artefakt einer anderen Organisation](/docs/de/artifacts#read-an-artifact-shared-with-you) lesen lassen

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

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

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

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

errors.md +45 −25

Details

187| `<model>'s safeguards flagged this message` | [Anfragefehler](#safety-measures-flagged-a-cybersecurity-topic) |187| `<model>'s safeguards flagged this message` | [Anfragefehler](#safety-measures-flagged-a-cybersecurity-topic) |

188| `<model>'s safeguards flagged this session` | [Anfragefehler](#safety-measures-flagged-a-cybersecurity-topic) |188| `<model>'s safeguards flagged this session` | [Anfragefehler](#safety-measures-flagged-a-cybersecurity-topic) |

189| `<model> has safety measures that flagged this message for a cybersecurity topic` | [Anfragefehler](#safety-measures-flagged-a-cybersecurity-topic) |189| `<model> has safety measures that flagged this message for a cybersecurity topic` | [Anfragefehler](#safety-measures-flagged-a-cybersecurity-topic) |

190| `API Error: Output blocked by content filtering policy` | [Anfragefehler](#output-blocked-by-content-filtering-policy) |

190| `Installation was killed before it could finish (exit code 137)` | [Installationsfehler](#installation-was-killed-before-it-could-finish) |191| `Installation was killed before it could finish (exit code 137)` | [Installationsfehler](#installation-was-killed-before-it-could-finish) |

191| `The connection dropped while downloading the update` | [Installationsfehler](#the-connection-dropped-while-downloading-the-update) |192| `The connection dropped while downloading the update` | [Installationsfehler](#the-connection-dropped-while-downloading-the-update) |

192| `Download timed out: exceeded the total deadline` | [Installationsfehler](#the-connection-dropped-while-downloading-the-update) |193| `Download timed out: exceeded the total deadline` | [Installationsfehler](#the-connection-dropped-while-downloading-the-update) |


402* Eine [Amazon Bedrock-Streaming-Antwort mit unerwartetem Content-Type](#bedrock-streaming-response-has-an-unexpected-content-type), da das Gateway oder der Proxy, der die Antwort umschreibt, den Wiederholungsversuch auf dieselbe Weise umschreiben würde. Erfordert Claude Code v2.1.208 oder höher.403* Eine [Amazon Bedrock-Streaming-Antwort mit unerwartetem Content-Type](#bedrock-streaming-response-has-an-unexpected-content-type), da das Gateway oder der Proxy, der die Antwort umschreibt, den Wiederholungsversuch auf dieselbe Weise umschreiben würde. Erfordert Claude Code v2.1.208 oder höher.

403* Einen Wiederholungsversuch ohne Streaming für eine fehlgeschlagene Streaming-Anfrage, der einen Erfolgsstatus, aber [keine Claude API-Nachricht im Body](#api-returned-an-empty-or-malformed-response) erhält. Claude Code beendet den Turn mit diesem Fehler.404* Einen Wiederholungsversuch ohne Streaming für eine fehlgeschlagene Streaming-Anfrage, der einen Erfolgsstatus, aber [keine Claude API-Nachricht im Body](#api-returned-an-empty-or-malformed-response) erhält. Claude Code beendet den Turn mit diesem Fehler.

404* Eine Anfrage, die von der Richtlinienprüfung Ihrer Organisation abgelehnt wurde; dies erscheint als `API Error:`-Zeile mit der Ablehnungsmeldung. Die Administratoren Ihrer Organisation richten die Prüfung mit [Inference hooks](https://platform.claude.com/docs/en/manage-claude/inference-hooks) ein, einer Funktion von Claude Enterprise, und die Meldung endet mit den von ihnen konfigurierten Anweisungen oder fordert Sie standardmäßig auf, sich an sie zu wenden. Claude Code sendet die abgelehnte Anfrage weder erneut an dasselbe Modell noch an ein [Fallback-Modell](/docs/de/model-config#fallback-model-chains), da sich die Ablehnung auf den Inhalt der Anfrage und nicht auf das Modell bezieht. Vor v2.1.239 konnte Claude Code eine abgelehnte Anfrage ohne Streaming oder an ein konfiguriertes Fallback-Modell erneut senden, bevor Ihnen die Ablehnung angezeigt wurde.405* Eine Anfrage, die von der Richtlinienprüfung Ihrer Organisation abgelehnt wurde; dies erscheint als `API Error:`-Zeile mit der Ablehnungsmeldung. Die Administratoren Ihrer Organisation richten die Prüfung mit [Inference hooks](https://platform.claude.com/docs/en/manage-claude/inference-hooks) ein, einer Funktion von Claude Enterprise, und die Meldung endet mit den von ihnen konfigurierten Anweisungen oder fordert Sie standardmäßig auf, sich an sie zu wenden. Claude Code sendet die abgelehnte Anfrage weder erneut an dasselbe Modell noch an ein [Fallback-Modell](/docs/de/model-config#fallback-model-chains), da sich die Ablehnung auf den Inhalt der Anfrage und nicht auf das Modell bezieht. Vor v2.1.239 konnte Claude Code eine abgelehnte Anfrage ohne Streaming oder an ein konfiguriertes Fallback-Modell erneut senden, bevor Ihnen die Ablehnung angezeigt wurde.

406* Eine Antwort, die vom Inhaltsfilter für die Ausgabe der API blockiert wurde. Claude Code zeigt sofort [Output blocked by content filtering policy](#output-blocked-by-content-filtering-policy) an und versucht diese Anfrage weder erneut noch sendet es sie erneut.

405 407 

406<h3 id="what-you-see-while-claude-code-retries-or-waits">408<h3 id="what-you-see-while-claude-code-retries-or-waits">

407 Was Sie sehen, während Claude Code es erneut versucht oder wartet409 Was Sie sehen, während Claude Code es erneut versucht oder wartet


432| [`CLAUDE_CODE_MAX_RETRIES`](/docs/de/env-vars) | 10 | Anzahl der Wiederholungsversuche. Ab v2.1.186 auf 15 begrenzt; ab v2.1.199 erhöht `CLAUDE_CODE_RETRY_WATCHDOG` den Standardwert und hebt die Begrenzung auf. Verringern Sie den Wert, damit Fehler in Skripten schneller sichtbar werden. |434| [`CLAUDE_CODE_MAX_RETRIES`](/docs/de/env-vars) | 10 | Anzahl der Wiederholungsversuche. Ab v2.1.186 auf 15 begrenzt; ab v2.1.199 erhöht `CLAUDE_CODE_RETRY_WATCHDOG` den Standardwert und hebt die Begrenzung auf. Verringern Sie den Wert, damit Fehler in Skripten schneller sichtbar werden. |

433| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/de/env-vars) | nicht gesetzt | Setzen Sie den Wert in unbeaufsichtigten Sitzungen wie CI-Jobs auf `1`, um `429`- und `529`-Kapazitätsfehler unbegrenzt erneut zu versuchen, statt nach `CLAUDE_CODE_MAX_RETRIES` Versuchen abzubrechen. Claude Code bricht sofort ab, wenn eine Anfrage mit Standardgeschwindigkeit eine `429` erhält, die ein Ausgabenlimit oder aufgebrauchtes Nutzungsguthaben meldet, auch wenn sie von einer [Ausgabenobergrenze eines Gateways](#spend-limit-reached) stammt, die nach einem Zeitplan zurückgesetzt wird. Vor v2.1.239 versuchte der Watchdog diese unbegrenzt erneut. Für Anfragen im Fast-Modus siehe [Rate-Limits handhaben](/docs/de/fast-mode#handle-rate-limits). Ab v2.1.199 erhöht sie außerdem die Standardanzahl der Wiederholungsversuche für andere vorübergehende Fehler wie Serverfehler, Timeouts und unterbrochene Verbindungen auf 300, was etwa drei Stunden Backoff entspricht, und hebt die Begrenzung von `CLAUDE_CODE_MAX_RETRIES` auf 15 auf, wenn Sie diese Variable explizit setzen. |435| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/de/env-vars) | nicht gesetzt | Setzen Sie den Wert in unbeaufsichtigten Sitzungen wie CI-Jobs auf `1`, um `429`- und `529`-Kapazitätsfehler unbegrenzt erneut zu versuchen, statt nach `CLAUDE_CODE_MAX_RETRIES` Versuchen abzubrechen. Claude Code bricht sofort ab, wenn eine Anfrage mit Standardgeschwindigkeit eine `429` erhält, die ein Ausgabenlimit oder aufgebrauchtes Nutzungsguthaben meldet, auch wenn sie von einer [Ausgabenobergrenze eines Gateways](#spend-limit-reached) stammt, die nach einem Zeitplan zurückgesetzt wird. Vor v2.1.239 versuchte der Watchdog diese unbegrenzt erneut. Für Anfragen im Fast-Modus siehe [Rate-Limits handhaben](/docs/de/fast-mode#handle-rate-limits). Ab v2.1.199 erhöht sie außerdem die Standardanzahl der Wiederholungsversuche für andere vorübergehende Fehler wie Serverfehler, Timeouts und unterbrochene Verbindungen auf 300, was etwa drei Stunden Backoff entspricht, und hebt die Begrenzung von `CLAUDE_CODE_MAX_RETRIES` auf 15 auf, wenn Sie diese Variable explizit setzen. |

434| [`API_TIMEOUT_MS`](/docs/de/env-vars) | 600000 | Timeout pro Anfrage in Millisekunden. Erhöhen Sie den Wert bei langsamen Netzwerken oder Proxys. Er begrenzt außerdem, wie lange Claude Code auf Response-Header wartet, wie unter [No response from API](#no-response-from-api) beschrieben. |436| [`API_TIMEOUT_MS`](/docs/de/env-vars) | 600000 | Timeout pro Anfrage in Millisekunden. Erhöhen Sie den Wert bei langsamen Netzwerken oder Proxys. Er begrenzt außerdem, wie lange Claude Code auf Response-Header wartet, wie unter [No response from API](#no-response-from-api) beschrieben. |

437| [`CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES`](/docs/de/env-vars) | nicht gesetzt | Begrenzung für das erneute Senden einer [Anfrage ohne Streaming](#streaming-response-ended-before-any-complete-data-was-received), bei der eine Zeitüberschreitung auftritt. Ist die Grenze erreicht, schlägt die Anfrage fehl. Eine Antwort von Claude, deren Generierung länger als der Timeout dauert, läuft bei jedem erneuten Senden wieder in eine Zeitüberschreitung; setzen Sie daher einen niedrigen Wert wie `0`, damit die Anfrage schneller fehlschlägt. Jeder Versuch ohne Streaming läuft in einer lokalen Sitzung nach 300 Sekunden in eine Zeitüberschreitung oder nach `API_TIMEOUT_MS`, wenn Sie einen positiven Wert setzen. Erfordert Claude Code v2.1.285 oder höher. |

435| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/de/env-vars) | nicht gesetzt | Deadline in Millisekunden für das erste Antwort-Byte einer Streaming-Anfrage. Erfordert Claude Code v2.1.242 oder höher. Wie Claude Code die Deadline wählt, wenn diese Variable nicht gesetzt ist, erfahren Sie unter [No response from API](#no-response-from-api). |438| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/de/env-vars) | nicht gesetzt | Deadline in Millisekunden für das erste Antwort-Byte einer Streaming-Anfrage. Erfordert Claude Code v2.1.242 oder höher. Wie Claude Code die Deadline wählt, wenn diese Variable nicht gesetzt ist, erfahren Sie unter [No response from API](#no-response-from-api). |

436 439 

437<h2 id="server-errors">440<h2 id="server-errors">


1904 1907 

1905`Socket is closed` bedeutet, dass die Verbindung, die eine Streaming-Antwort übertrug, geschlossen wurde, während die Antwort noch ankam. Die häufigste Ursache ist ein Unternehmens-Proxy unter Windows, der einen etablierten Tunnel mitten in der Antwort abbricht.1908`Socket is closed` bedeutet, dass die Verbindung, die eine Streaming-Antwort übertrug, geschlossen wurde, während die Antwort noch ankam. Die häufigste Ursache ist ein Unternehmens-Proxy unter Windows, der einen etablierten Tunnel mitten in der Antwort abbricht.

1906 1909 

1907Je nachdem, wie weit die Antwort fortgeschritten war, wiederholt Claude Code die Anfrage, behält das, was Claude produziert hat, oder beendet den Zug. Siehe [Automatische Wiederholungen](#automatic-retries).1910Je nachdem, wie weit die Antwort fortgeschritten war, wiederholt Claude Code die Anfrage, behält das, was Claude produziert hat, oder beendet den Turn. Siehe [Automatische Wiederholungen](#automatic-retries).

1908 1911 

1909Vor v2.1.214 wiederholte Claude Code diesen Fehler nicht, und der Zug stoppte mit einem Fehler, der `Socket is closed` enthielt.1912Vor v2.1.214 wiederholte Claude Code diesen Fehler nicht, und der Turn stoppte mit einem Fehler, der `Socket is closed` enthielt.

1910 1913 

1911**Was zu tun ist:**1914**Was zu tun ist:**

1912 1915 

1913* Wenn Sie diesen Fehler sehen, aktualisieren Sie mit `claude update` auf v2.1.214 oder später und senden Sie Ihre Nachricht erneut1916* Wenn Sie diesen Fehler sehen, aktualisieren Sie mit `claude update` auf v2.1.214 oder später und senden Sie Ihre Nachricht erneut

1914* Wenn Züge hinter demselben Proxy nach dem Update weiterhin fehlschlagen, arbeiten Sie [Unable to connect to API](#unable-to-connect-to-api) durch und überprüfen Sie die Proxy-Einrichtung in [Netzwerkkonfiguration](/docs/de/network-config)1917* Wenn Turns hinter demselben Proxy nach dem Update weiterhin fehlschlagen, arbeiten Sie [Unable to connect to API](#unable-to-connect-to-api) durch und überprüfen Sie die Proxy-Einrichtung in [Netzwerkkonfiguration](/docs/de/network-config)

1915 1918 

1916<h3 id="api-returned-an-empty-or-malformed-response">1919<h3 id="api-returned-an-empty-or-malformed-response">

1917 API returned an empty or malformed response1920 API returned an empty or malformed response

1918</h3>1921</h3>

1919 1922 

1920Claude Code zeigt diesen Fehler an, wenn sein Nicht-Streaming-Wiederholungsversuch einer fehlgeschlagenen Streaming-Anfrage einen HTTP-Erfolgsstatus erhält, aber der Text keine Claude-API-Nachricht ist: häufig eine HTML-Fehler- oder Anmeldungsseite, ein leerer Text oder JSON in einem anderen Format. Ein Proxy, Gateway oder eine Netzwerk-Anmeldungsseite, die an der Stelle der API antwortet, ist die übliche Quelle. Claude Code wiederholt die Anfrage nicht, und der Zug endet mit diesem Fehler.1923Claude Code zeigt diesen Fehler an, wenn sein Nicht-Streaming-Wiederholungsversuch einer fehlgeschlagenen Streaming-Anfrage einen HTTP-Erfolgsstatus erhält, aber der Text keine Claude-API-Nachricht ist: häufig eine HTML-Fehler- oder Anmeldungsseite, ein leerer Text oder JSON in einem anderen Format. Ein Proxy, Gateway oder eine Netzwerk-Anmeldungsseite, die an der Stelle der API antwortet, ist die übliche Quelle. Claude Code wiederholt die Anfrage nicht, und der Turn endet mit diesem Fehler.

1921 1924 

1922```text theme={null}1925```text theme={null}

1923API returned an empty or malformed response (HTTP 200) — check for a proxy or gateway intercepting the request.1926API returned an empty or malformed response (HTTP 200) — check for a proxy or gateway intercepting the request.


1926Nach dieser Eröffnung meldet die Nachricht, was zurückkam und welche Anfrage fehlgeschlagen ist:1929Nach dieser Eröffnung meldet die Nachricht, was zurückkam und welche Anfrage fehlgeschlagen ist:

1927 1930 

1928* Eine `Response:`-Klausel mit dem Inhaltstyp, der Art des Textes, wie z. B. `body is an HTML page` oder `empty body`, seiner Größe in Bytes und ob die Antwort eine Anthropic-Anfrage-ID trug. Wenn die Antwort einen erkennbaren Server benennt, wie z. B. `nginx` oder `cloudflare`, oder Zwischenkopfzeilen trägt, wie z. B. `cf-ray` oder `via`, listet die Klausel diese auch auf.1931* Eine `Response:`-Klausel mit dem Inhaltstyp, der Art des Textes, wie z. B. `body is an HTML page` oder `empty body`, seiner Größe in Bytes und ob die Antwort eine Anthropic-Anfrage-ID trug. Wenn die Antwort einen erkennbaren Server benennt, wie z. B. `nginx` oder `cloudflare`, oder Zwischenkopfzeilen trägt, wie z. B. `cf-ray` oder `via`, listet die Klausel diese auch auf.

1929* Ein Satz, der die ID der fehlgeschlagenen Streaming-Anfrage und den Fehler benennt, der die Wiederholung ausgelöst hat. Wenn ein Stream geöffnet wurde, bevor der Fehler auftrat, meldet er auch, wie viele Stream-Ereignisse ankamen und, falls vorhanden, wie lange der Stream stumm war, als der Versuch fehlschlug.1932* Ein Satz, der die ID der fehlgeschlagenen Streaming-Anfrage und den Fehler benennt, der den Wiederholungsversuch ausgelöst hat. Wenn ein Stream geöffnet wurde, bevor der Fehler auftrat, meldet er auch, wie viele Stream-Ereignisse ankamen und, falls vorhanden, wie lange der Stream stumm war, als der Versuch fehlschlug.

1930 1933 

1931Vor v2.1.234 endete die Nachricht nach `intercepting the request`.1934Vor v2.1.234 endete die Nachricht nach `intercepting the request`.

1932 1935 

1933Vor v2.1.271 endete auch eine Antwort, die eine gültige API-Nachricht unter einem nicht-JSON-Inhaltstyp wie `text/plain` trug, den Zug mit diesem Fehler. Einige LLM-Gateways verwenden diesen Inhaltstyp für die Nicht-Streaming-Antwort.1936Vor v2.1.271 beendete auch eine Antwort, die eine gültige API-Nachricht unter einem nicht-JSON-Inhaltstyp wie `text/plain` trug, den Turn mit diesem Fehler. Einige LLM-Gateways verwenden diesen Inhaltstyp für die Nicht-Streaming-Antwort.

1934 1937 

1935**Was zu tun ist:**1938**Was zu tun ist:**

1936 1939 


1943 Streaming response ended before any complete data was received1946 Streaming response ended before any complete data was received

1944</h3>1947</h3>

1945 1948 

1946Eine Streaming-Antwort von Ihrem Modell-Provider wurde abgeschlossen, ohne brauchbare Daten zu liefern, daher hat Claude Code die Anfrage ohne Streaming erneut gesendet, um den Zug zu beenden. Claude Code zeigt die Warnung einmal pro Sitzung, nur in interaktiven Sitzungen. Vor v2.1.239 wiederholte Claude Code stillschweigend ohne Streaming.1949Eine Streaming-Antwort von Ihrem Modell-Provider wurde abgeschlossen, ohne brauchbare Daten zu liefern, daher hat Claude Code die Anfrage ohne Streaming erneut gesendet, um den Turn zu beenden. Claude Code zeigt die Warnung einmal pro Sitzung, nur in interaktiven Sitzungen. Vor v2.1.239 wiederholte Claude Code stillschweigend ohne Streaming.

1947 1950 

1948```text theme={null}1951```text theme={null}

1949Streaming response ended before any complete data was received. Retrying without streaming. If this keeps happening, check any proxy or gateway between Claude Code and your model provider.1952Streaming response ended before any complete data was received. Retrying without streaming. If this keeps happening, check any proxy or gateway between Claude Code and your model provider.

1950```1953```

1951 1954 

1952Claude Code sendet jede betroffene Anfrage zweimal: den leeren Streaming-Versuch und die Wiederholung. Die übliche Ursache ist ein Proxy oder Gateway, das den Streaming-Antwort-Text auf dem Rückweg verbraucht oder transformiert.1955Claude Code sendet jede betroffene Anfrage zweimal: den leeren Streaming-Versuch und den Wiederholungsversuch. Die übliche Ursache ist ein Proxy oder Gateway, das den Streaming-Antwort-Text auf dem Rückweg verbraucht oder transformiert.

1953 1956 

1954**Was zu tun ist:**1957**Was zu tun ist:**

1955 1958 


1986 1989 

1987Vor v2.1.273 endeten beide Meldungen bei `Check your proxy or corporate SSL certificates`, ohne den OpenSSL-Code oder den `NODE_EXTRA_CA_CERTS`-Hinweis.1990Vor v2.1.273 endeten beide Meldungen bei `Check your proxy or corporate SSL certificates`, ohne den OpenSSL-Code oder den `NODE_EXTRA_CA_CERTS`-Hinweis.

1988 1991 

1989Ab 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 einige Minuten mit Wiederholungen, bevor sie ihn zeigten. Vorübergehende TLS-Bedingungen, wie z. B. ein Handshake-Timeout, werden immer noch wiederholt.1992Ab 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 einige Minuten mit Wiederholungsversuchen, bevor sie ihn zeigten. Vorübergehende TLS-Bedingungen, wie z. B. ein Handshake-Timeout, werden immer noch wiederholt.

1990 1993 

1991Während `/login` und der Startup-Konnektivitätsprüfung wird der gleiche Fehler mit einer anderen Nachricht gemeldet:1994Während `/login` und der Startup-Konnektivitätsprüfung wird der gleiche Fehler mit einer anderen Nachricht gemeldet:

1992 1995 


1994SSL 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 `claude doctor` for details.1997SSL 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 `claude doctor` for details.

1995```1998```

1996 1999 

1997Auf [Amazon Bedrock](/docs/de/amazon-bedrock) hängen die Anfragen, die Claude Code selbst an AWS sendet, wie z. B. die STS- und SSO-Rollenkredential-Aufrufe, Modellermittlung und die Überprüfungen des Setup-Assistenten, von der gleichen Zertifikatskonfiguration ab. Siehe [Zertifikatsfehler hinter einem TLS-inspizierenden Proxy](/docs/de/amazon-bedrock#certificate-errors-behind-a-tls-inspecting-proxy).2000Auf [Amazon Bedrock](/docs/de/amazon-bedrock) hängen die Anfragen, die Claude Code selbst an AWS sendet, wie z. B. die STS- und SSO-Rollen-Anmeldedaten-Aufrufe, Modellermittlung und die Überprüfungen des Setup-Assistenten, von der gleichen Zertifikatskonfiguration ab. Siehe [Zertifikatsfehler hinter einem TLS-inspizierenden Proxy](/docs/de/amazon-bedrock#certificate-errors-behind-a-tls-inspecting-proxy).

1998 2001 

1999**Was zu tun ist:**2002**Was zu tun ist:**

2000 2003 


2015 2018 

2016Sie können auch ein TLS-Zertifikat sehen, das nicht dem echten Zertifikat des Ziels entspricht. Cloud-Sitzungen leiten ausgehenden Datenverkehr durch einen Proxy weiter, der die Netzwerkrichtlinie durchsetzt, daher bedeutet ein nicht übereinstimmendes Zertifikat, dass der Proxy die Verbindung beendet hat, nicht das Ziel.2019Sie können auch ein TLS-Zertifikat sehen, das nicht dem echten Zertifikat des Ziels entspricht. Cloud-Sitzungen leiten ausgehenden Datenverkehr durch einen Proxy weiter, der die Netzwerkrichtlinie durchsetzt, daher bedeutet ein nicht übereinstimmendes Zertifikat, dass der Proxy die Verbindung beendet hat, nicht das Ziel.

2017 2020 

2018Dies ist kein clientseitiges Netzwerkproblem. Cloud-Sitzungen und [Routinen](/docs/de/routines) laufen in einer sandboxierten VM, deren ausgehender Datenverkehr durch das Netzwerk der Sitzung auf die [Zulassungsliste der Cloud-Umgebung](/docs/de/cloud-environments) gefiltert wird; [GitHub-Operationen](/docs/de/cloud-environments#github-proxy) und MCP-Connector-Datenverkehr verwenden separate Kanäle, weshalb sie weiterhin funktionieren können, während andere Hosts blockiert sind. Die **Standard**-Umgebung verwendet **Vertrauenswürdigen** Zugriff, der die [Standard-Zulassungsliste](/docs/de/cloud-environments#default-allowed-domains) von Paket-Registries, Cloud-Provider-APIs, Container-Registries und häufigen Entwicklungsdomänen zulässt und andere Domänen auf diesem Pfad blockiert.2021Dies ist kein clientseitiges Netzwerkproblem. Cloud-Sitzungen und [Routinen](/docs/de/routines) laufen in einer sandboxierten VM, deren ausgehender Datenverkehr durch das Netzwerk der Sitzung auf die [Allowlist der Cloud-Umgebung](/docs/de/cloud-environments) gefiltert wird; [GitHub-Operationen](/docs/de/cloud-environments#github-proxy) und MCP-Konnektor-Datenverkehr verwenden separate Kanäle, weshalb sie weiterhin funktionieren können, während andere Hosts blockiert sind. Die **Standard**-Umgebung verwendet **Vertrauenswürdigen** Zugriff, der die [Standard-Allowlist](/docs/de/cloud-environments#default-allowed-domains) von Paket-Registries, Cloud-Provider-APIs, Container-Registries und häufigen Entwicklungsdomänen zulässt und andere Domänen auf diesem Pfad blockiert.

2019 2022 

2020**Was zu tun ist:**2023**Was zu tun ist:**

2021 2024 

2022Diese Schritte ändern eine Ihrer eigenen Umgebungen. Eine [organisationsweit gemeinsame Umgebung](/docs/de/cloud-environments#organization-shared-environments) wird im Selector schreibgeschützt geöffnet, daher bitten Sie einen Besitzer, ihren Netzwerkzugriff von der Seite **Cloud-Umgebungen** in den [Admin-Einstellungen](https://claude.ai/admin-settings) zu ändern.2025Diese Schritte ändern eine Ihrer eigenen Umgebungen. Eine [organisationsweit gemeinsame Umgebung](/docs/de/cloud-environments#organization-shared-environments) wird im Selector schreibgeschützt geöffnet, daher bitten Sie einen Owner, ihren Netzwerkzugriff von der Seite **Cloud-Umgebungen** in den [Admin-Einstellungen](https://claude.ai/admin-settings) zu ändern.

2023 2026 

2024* Öffnen Sie Ihre Umgebung zum Bearbeiten, entweder aus dem [Formular der Routine](/docs/de/routines#environments-and-network-access) oder aus dem [Umgebungs-Selector](/docs/de/cloud-environments#configure-your-environment), wo Sie Cloud-Sitzungen starten.2027* Öffnen Sie Ihre Umgebung zum Bearbeiten, entweder aus dem [Formular der Routine](/docs/de/routines#environments-and-network-access) oder aus dem [Umgebungs-Selector](/docs/de/cloud-environments#configure-your-environment), wo Sie Cloud-Sitzungen starten.

2025* Im Dialog **Cloud-Umgebung bearbeiten** ändern Sie **Netzwerkzugriff** von **Vertrauenswürdig** zu **Benutzerdefiniert**, und fügen dann die blockierte Domäne zu **Zulässige Domänen** hinzu. Geben Sie eine Domäne pro Zeile ein. Aktivieren Sie **Auch Standard-Liste häufiger Paketmanager einschließen**, um die [Standard-Zulassungsliste](/docs/de/cloud-environments#default-allowed-domains) neben Ihren benutzerdefinierten Domänen zu behalten. Wählen Sie stattdessen **Vollständig**, wenn Sie uneingeschränkten Zugriff möchten.2028* Im Dialog **Cloud-Umgebung bearbeiten** ändern Sie **Netzwerkzugriff** von **Vertrauenswürdig** zu **Benutzerdefiniert**, und fügen dann die blockierte Domäne zu **Zulässige Domänen** hinzu. Geben Sie eine Domäne pro Zeile ein. Aktivieren Sie **Auch Standard-Liste häufiger Paketmanager einschließen**, um die [Standard-Allowlist](/docs/de/cloud-environments#default-allowed-domains) neben Ihren benutzerdefinierten Domänen zu behalten. Wählen Sie stattdessen **Vollständig**, wenn Sie uneingeschränkten Zugriff möchten.

2026* Klicken Sie auf **Änderungen speichern**. Die nächste Ausführung verwendet die aktualisierte Zulassungsliste. Für eine Cloud-Sitzung, die bereits offen ist, siehe [wann eine Netzwerkzugriffsänderung bestehende Sitzungen erreicht](/docs/de/cloud-environments#network-access).2029* Klicken Sie auf **Änderungen speichern**. Die nächste Ausführung verwendet die aktualisierte Allowlist. Für eine Cloud-Sitzung, die bereits offen ist, siehe [wann eine Netzwerkzugriffsänderung bestehende Sitzungen erreicht](/docs/de/cloud-environments#network-access).

2027 2030 

2028Siehe [Netzwerkzugriff](/docs/de/cloud-environments#network-access) für Zugriffsstufen und die Standard-Zulassungsliste. Lokale CLI-Sitzungen sind nicht von dieser Richtlinie betroffen.2031Siehe [Netzwerkzugriff](/docs/de/cloud-environments#network-access) für Zugriffsstufen und die Standard-Allowlist. Lokale CLI-Sitzungen sind nicht von dieser Richtlinie betroffen.

2029 2032 

2030<h3 id="the-proxy-refused-the-connection">2033<h3 id="the-proxy-refused-the-connection">

2031 The proxy refused the connection2034 The proxy refused the connection


2043 2046 

2044* `HTTP 407`: Der Proxy benötigt Anmeldedaten, die er nicht erhalten hat. Geben Sie diese in die Proxy-URL ein, wie [Basic-Authentifizierung](/docs/de/network-config#basic-authentication) zeigt.2047* `HTTP 407`: Der Proxy benötigt Anmeldedaten, die er nicht erhalten hat. Geben Sie diese in die Proxy-URL ein, wie [Basic-Authentifizierung](/docs/de/network-config#basic-authentication) zeigt.

2045* `HTTP 403`: Der Proxy weigert sich, zu `*.frame.claudeusercontent.com` zu tunneln. Bitten Sie denjenigen, der den Proxy betreibt, diesen Host zuzulassen, den [Netzwerkzugriffsanforderungen](/docs/de/network-config#network-access-requirements) auflistet.2048* `HTTP 403`: Der Proxy weigert sich, zu `*.frame.claudeusercontent.com` zu tunneln. Bitten Sie denjenigen, der den Proxy betreibt, diesen Host zuzulassen, den [Netzwerkzugriffsanforderungen](/docs/de/network-config#network-access-requirements) auflistet.

2046* Jeder andere Status, wie z. B. `HTTP 502`: Der Proxy hat den Tunnel aus eigenem Grund nicht geöffnet, wie z. B. Fehler beim Erreichen des Hosts. Schlagen Sie den Status in den Protokollen des Proxys nach.2049* Jeder andere Status, wie z. B. `HTTP 502`: Der Proxy hat den Tunnel aus eigenem Grund nicht geöffnet, wie z. B. Fehler beim Erreichen des Hosts. Schlagen Sie den Status in den Logs des Proxys nach.

2047* `unreadable reply` anstelle eines Status: Was sich unter der Proxy-Adresse befindet, hat nicht mit einer HTTP-Statuszeile geantwortet. Überprüfen Sie, dass die Adresse ein HTTP-Proxy ist.2050* `unreadable reply` anstelle eines Status: Was sich unter der Proxy-Adresse befindet, hat nicht mit einer HTTP-Statuszeile geantwortet. Überprüfen Sie, dass die Adresse ein HTTP-Proxy ist.

2048 2051 

2049**Was zu tun ist:**2052**Was zu tun ist:**

2050 2053 

2051* Überprüfen Sie die Adresse und Anmeldedaten in der Proxy-Variable, wie [Proxy-Konfiguration](/docs/de/network-config#proxy-configuration) beschreibt, und führen Sie dann `curl -x http://proxy.example.com:8080 -I https://api.anthropic.com` aus der Shell aus, in der Sie Claude Code starten, mit Ihrer eigenen Proxy-URL. Unter Windows PowerShell führen Sie `curl.exe` aus. Wenn diese Sonde auf die gleiche Weise fehlschlägt, beheben Sie zuerst die Proxy-Einrichtung. Wenn sie erfolgreich ist, ist die Weigerung spezifisch für den Artefakt-Host.2054* Überprüfen Sie die Adresse und Anmeldedaten in der Proxy-Variable, wie [Proxy-Konfiguration](/docs/de/network-config#proxy-configuration) beschreibt, und führen Sie dann `curl -x http://proxy.example.com:8080 -I https://api.anthropic.com` aus der Shell aus, in der Sie Claude Code starten, mit Ihrer eigenen Proxy-URL. Unter Windows PowerShell führen Sie `curl.exe` aus. Wenn diese Sonde auf die gleiche Weise fehlschlägt, beheben Sie zuerst die Proxy-Einrichtung. Wenn sie erfolgreich ist, ist die Weigerung spezifisch für den Artefakt-Host.

2052* Wenn Ihr Netzwerk Claude Code den direkten Zugriff auf den Artefakt-Host ermöglicht, fügen Sie `.frame.claudeusercontent.com` zu [`NO_PROXY`](/docs/de/network-config#environment-variables) hinzu. Halten Sie den Eintrag eng: Ein breiterer `.claudeusercontent.com`-Eintrag umgeht auch den Proxy für `bridge.claudeusercontent.com`, das Organisationen mit [IP-Zulassungslisten](/docs/de/network-config#organization-ip-allowlists-and-proxy-egress) auf dem Proxy behalten müssen.2055* Wenn Ihr Netzwerk Claude Code den direkten Zugriff auf den Artefakt-Host ermöglicht, fügen Sie `.frame.claudeusercontent.com` zu [`NO_PROXY`](/docs/de/network-config#environment-variables) hinzu. Halten Sie den Eintrag eng: Ein breiterer `.claudeusercontent.com`-Eintrag umgeht auch den Proxy für `bridge.claudeusercontent.com`, das Organisationen mit [IP-Allowlists](/docs/de/network-config#organization-ip-allowlists-and-proxy-egress) auf dem Proxy behalten müssen.

2053 2056 

2054Vor v2.1.238 meldete Claude Code einen abgelehnten Tunnel als generischen Netzwerkfehler.2057Vor v2.1.238 meldete Claude Code einen abgelehnten Tunnel als generischen Netzwerkfehler.

2055 2058 


2087**Was zu tun ist:**2090**Was zu tun ist:**

2088 2091 

2089* Führen Sie `/remote-control` aus, um die Verbindung erneut zu versuchen2092* Führen Sie `/remote-control` aus, um die Verbindung erneut zu versuchen

2090* Starten Sie eine neue Sitzung mit `claude --remote-control`, um eine neue Remote Control-Sitzung zu erstellen2093* Starten Sie eine neue Sitzung mit `claude --remote-control`, um eine neue Remote-Control-Sitzung zu erstellen

2091* Für andere Remote Control-Startup-Meldungen siehe [Remote Control beheben](/docs/de/remote-control#troubleshooting)2094* Für andere Remote-Control-Startup-Meldungen siehe [Remote Control beheben](/docs/de/remote-control#troubleshooting)

2092 2095 

2093Wenn der Server stattdessen meldet, dass die vorherige Sitzung weg ist, sehen Sie diese Nachricht nicht. Claude Code startet eine neue Sitzung an ihrer Stelle oder zeigt [`Previous session is unavailable — run /remote-control to start a new one`](/docs/de/remote-control#previous-session-is-unavailable).2096Wenn der Server stattdessen meldet, dass die vorherige Sitzung weg ist, sehen Sie diese Nachricht nicht. Claude Code startet eine neue Sitzung an ihrer Stelle oder zeigt [`Previous session is unavailable — run /remote-control to start a new one`](/docs/de/remote-control#previous-session-is-unavailable).

2094 2097 


2096 Sessions ended while this machine was offline2099 Sessions ended while this machine was offline

2097</h3>2100</h3>

2098 2101 

2099Claude Code zeigt diese Nachricht im Terminal, das [`claude remote-control`](/docs/de/remote-control#start-a-remote-control-session) ausführt, nachdem Ihr Computer lange genug offline war, dass der Server die Remote Control-Umgebung bereinigt hat, die Ihr Computer bediente. Die Sitzungen in dieser Umgebung endeten, und Sie können sie nicht fortsetzen. Die Anzahl ist die Anzahl der Sitzungen, die endeten.2102Claude Code zeigt diese Nachricht im Terminal, das [`claude remote-control`](/docs/de/remote-control#start-a-remote-control-session) ausführt, nachdem Ihr Computer lange genug offline war, dass der Server die Remote-Control-Umgebung bereinigt hat, die Ihr Computer bediente. Die Sitzungen in dieser Umgebung endeten, und Sie können sie nicht fortsetzen. Die Anzahl ist die Anzahl der Sitzungen, die endeten.

2100 2103 

2101```text theme={null}2104```text theme={null}

21022 sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.21052 sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.


2111 Couldn't share the transcript2114 Couldn't share the transcript

2112</h3>2115</h3>

2113 2116 

2114Nachdem Sie sich einigen, Ihr Sitzungs-Transkript aus einer Umfrage-Aufforderung zu teilen, wie z. B. der [Sitzungsqualitäts-Umfrage](/docs/de/data-usage#session-quality-surveys), lädt Claude Code es zu Anthropic hoch oder speichert stattdessen ein lokales Archiv bei Drittanbietern, bei [Claude-Apps-Gateway](/docs/de/claude-apps-gateway)-Sitzungen und wenn keine Anthropic-Anmeldedaten verfügbar sind. Diese Nachricht bedeutet, dass die Freigabe nicht abgeschlossen wurde.2117Nachdem Sie zugestimmt haben, Ihr Sitzungs-Transkript aus einer Umfrage-Abfrage zu teilen, wie z. B. der [Sitzungsqualitäts-Umfrage](/docs/de/data-usage#session-quality-surveys), lädt Claude Code es zu Anthropic hoch oder speichert stattdessen ein lokales Archiv bei Drittanbietern, bei [Claude-Apps-Gateway](/docs/de/claude-apps-gateway)-Sitzungen und wenn keine Anthropic-Anmeldedaten verfügbar sind. Diese Nachricht bedeutet, dass die Freigabe nicht abgeschlossen wurde.

2115 2118 

2116```text theme={null}2119```text theme={null}

2117Couldn't share the transcript.2120Couldn't share the transcript.

2118```2121```

2119 2122 

2120Der Upload muss in ein 8-MiB-Limit passen. Bei einer langen Sitzung löscht Claude Code progressiv Teile der Freigabe, zuerst die Modelleinstellungen der letzten Anfrage, dann die strukturierte Konversation und Subagent-Transkripte, und zeigt diese Nachricht nur an, wenn keine reduzierte Version gesendet werden kann oder ein Netzwerk- oder Serverfehler den Upload stoppt. Wenn Claude Code stattdessen ein lokales Archiv speichert, bedeutet die Nachricht, dass es das Archiv nicht schreiben konnte.2123Der Upload muss in ein 8-MiB-Limit passen. Bei einer langen Sitzung lässt Claude Code schrittweise Teile der Freigabe weg, zuerst die Modelleinstellungen der letzten Anfrage, dann die strukturierte Konversation und Subagenten-Transkripte, und zeigt diese Nachricht an, wenn keine reduzierte Version gesendet werden kann oder ein Netzwerk- oder Serverfehler den Upload stoppt. Wenn Claude Code stattdessen ein lokales Archiv speichert, bedeutet die Nachricht, dass es das Archiv nicht schreiben konnte.

2121 2124 

2122**Was zu tun ist:**2125**Was zu tun ist:**

2123 2126 


2139* **`: not signed in. Run /login, then retry.`**: Der Dialog lädt nur hoch, wenn Claude Code beim Öffnen Anthropic-Anmeldedaten gefunden hat, und keine waren zu dem Zeitpunkt, als Sie gesendet haben, nutzbar. Zum Beispiel haben Sie sich auf dieser Maschine in der Zwischenzeit abgemeldet, oder Ihre Anmeldung konnte nicht mehr aktualisiert werden.2142* **`: not signed in. Run /login, then retry.`**: Der Dialog lädt nur hoch, wenn Claude Code beim Öffnen Anthropic-Anmeldedaten gefunden hat, und keine waren zu dem Zeitpunkt, als Sie gesendet haben, nutzbar. Zum Beispiel haben Sie sich auf dieser Maschine in der Zwischenzeit abgemeldet, oder Ihre Anmeldung konnte nicht mehr aktualisiert werden.

2140* **Eine Klammer**: `(server returned <status>)` ist der Antwortcode des Dienstes; `(request timed out)` und `(couldn't reach the service)` sind Netzwerkfehler. Wenn Claude Code keinen Grund benennen kann, fehlt die Klammer.2143* **Eine Klammer**: `(server returned <status>)` ist der Antwortcode des Dienstes; `(request timed out)` und `(couldn't reach the service)` sind Netzwerkfehler. Wenn Claude Code keinen Grund benennen kann, fehlt die Klammer.

2141 2144 

2142In der [Feedback-Entwurfswarteschlange](/docs/de/tools-reference#sendfeedback-tool-behavior) endet der gleiche Fehler mit `The draft is still queued. Try again later.` statt, und der Entwurf bleibt in der Warteschlange für einen weiteren Versuch.2145In der [Feedback-Entwurfswarteschlange](/docs/de/tools-reference#sendfeedback-tool-behavior) endet der gleiche Fehler stattdessen mit `The draft is still queued. Try again later.`, und der Entwurf bleibt in der Warteschlange für einen weiteren Versuch.

2143 2146 

2144**Was zu tun ist:**2147**Was zu tun ist:**

2145 2148 


2865* Wenn Ihre Anfrage kein Cybersicherheitsthema betraf, führen Sie `/feedback` aus, um das falsch positive Ergebnis zu melden2868* Wenn Ihre Anfrage kein Cybersicherheitsthema betraf, führen Sie `/feedback` aus, um das falsch positive Ergebnis zu melden

2866* Um in derselben Sitzung weiterzuarbeiten, drücken Sie zweimal Esc oder führen Sie `/rewind` aus, um zu einem Checkpoint vor dem Turn zurückzugehen, der die Kennzeichnung ausgelöst hat, und wählen Sie dann einen anderen Ansatz. Siehe [Checkpointing](/docs/de/checkpointing).2869* Um in derselben Sitzung weiterzuarbeiten, drücken Sie zweimal Esc oder führen Sie `/rewind` aus, um zu einem Checkpoint vor dem Turn zurückzugehen, der die Kennzeichnung ausgelöst hat, und wählen Sie dann einen anderen Ansatz. Siehe [Checkpointing](/docs/de/checkpointing).

2867 2870 

2871<h3 id="output-blocked-by-content-filtering-policy">

2872 Ausgabe durch Inhaltsfilter-Richtlinie blockiert

2873</h3>

2874 

2875Der Ausgabe-Inhaltsfilter der API hat die Antwort gestoppt, die Claude gerade erzeugte. Der Nachrichtentext stammt von der API:

2876 

2877```text theme={null}

2878API Error: Output blocked by content filtering policy

2879```

2880 

2881Claude Code zeigt den Fehler an, sobald die Blockierung eintrifft, und beendet die Anfrage dort. Es versucht die Anfrage nicht erneut, sendet sie nicht ohne Streaming erneut und wechselt nicht zu einem [Fallback-Modell](/docs/de/model-config#fallback-model-chains). Vor v2.1.285 konnte Claude Code eine blockierte Anfrage erneut senden und erneut versuchen, manchmal minutenlang, bevor Ihnen der Fehler angezeigt wurde.

2882 

2883**Was zu tun ist:**

2884 

2885* Formulieren Sie Ihre letzte Nachricht um oder wählen Sie einen anderen Ansatz

2886* Um zu einem Checkpoint vor dem Turn zurückzugehen, der die Blockierung ausgelöst hat, drücken Sie zweimal Esc oder führen Sie `/rewind` aus. Siehe [Checkpointing](/docs/de/checkpointing)

2887 

2868<h2 id="installation-errors">2888<h2 id="installation-errors">

2869 Installationsfehler2889 Installationsfehler

2870</h2>2890</h2>


4414 Agent-Definition des Teamkollegen wurde nicht wiederhergestellt4434 Agent-Definition des Teamkollegen wurde nicht wiederhergestellt

4415</h3>4435</h3>

4416 4436 

4417Claude sendete einem gestoppten [Agent-Team](/docs/de/agent-teams)-Teamkollegen eine Nachricht, und Claude Code brachte ihn zurück, ohne die [Subagenten-Definition](/docs/de/agent-teams#use-subagent-definitions-for-teammates) erneut anzuwenden, aus der er erzeugt wurde, weil seine Definitionsdatei aus einem Ordner ohne gespeichertes Vertrauen stammte. Der Hinweis folgt dem Wiederaufnahmebericht im Tool-Ergebnis des sendenden Agenten:4437Claude sendete einem gestoppten [Agent-Team](/docs/de/agent-teams)-Teamkollegen eine Nachricht, und Claude Code brachte ihn zurück, ohne die [Subagenten-Definition](/docs/de/agent-teams#use-subagent-definitions-for-teammates) erneut anzuwenden, aus der er erzeugt wurde. Der Hinweis folgt dem Wiederaufnahmebericht im Tool-Ergebnis des sendenden Agenten und nennt den Grund. Wenn die Definitionsdatei aus einem Ordner ohne gespeichertes Vertrauen stammte, lautet er:

4418 4438 

4419```text wrap theme={null}4439```text wrap theme={null}

4420Its agent definition was not restored: the folder its definition file came from is not trusted (source: projectSettings), so the teammate is running with the team-essential tools and no custom instructions. To restore it, the user needs to run Claude Code in that folder once and accept the trust dialog (the --debug log names the folder); do not change trust settings on the user's behalf.4440Its agent definition was not restored: the folder its definition file came from is not trusted (source: projectSettings), so the teammate is running with the team-essential tools and no custom instructions. To restore it, the user needs to run Claude Code in that folder once and accept the trust dialog (the --debug log names the folder); do not change trust settings on the user's behalf.


4467 Sitzungsübergreifende Nachricht wurde am Posteingang der Empfänger-Sitzung verworfen4487 Sitzungsübergreifende Nachricht wurde am Posteingang der Empfänger-Sitzung verworfen

4468</h3>4488</h3>

4469 4489 

4470Claude sendete eine [sitzungsübergreifende Nachricht](/docs/de/cross-session-messaging) an eine andere Ihrer Sitzungen auf diesem Rechner, und der Posteingang dieser Sitzung verwarf sie, bevor Claude in dieser Sitzung sie las. Die Zeile nennt die Adresse des Empfängers und fügt, wenn der Empfänger einen Grund angab, den Grund nach einem Gedankenstrich hinzu:4490Claude sendete eine [sitzungsübergreifende Nachricht](/docs/de/cross-session-messaging) an eine andere Ihrer Sitzungen auf diesem Rechner, und der Posteingang dieser Sitzung verwarf sie, bevor Claude in dieser Sitzung sie las. Die Zeile nennt den Empfänger und fügt, wenn der Empfänger einen Grund angab, den Grund nach einem Gedankenstrich hinzu:

4471 4491 

4472```text wrap theme={null}4492```text wrap theme={null}

4473Cross-session message was dropped at the recipient session's inbox (recipient: uds:/tmp/cc-socks/13605.sock) and not delivered — its queue of undelivered peer messages was full. Claude was told not to resend right away.4493Cross-session message was dropped at the recipient session's inbox (recipient: uds:/tmp/cc-socks/13605.sock) and not delivered — its queue of undelivered peer messages was full. Claude was told not to resend right away.

hooks.md +588 −577

Details

40| :- | :- |40| :- | :- |

41| `SessionStart` | Wenn eine Sitzung beginnt oder fortgesetzt wird |41| `SessionStart` | Wenn eine Sitzung beginnt oder fortgesetzt wird |

42| `Setup` | Wenn Sie Claude Code mit `--init-only` starten oder mit `--init` oder `--maintenance` im `-p`-Modus. Für einmalige Vorbereitung in CI oder Skripten |42| `Setup` | Wenn Sie Claude Code mit `--init-only` starten oder mit `--init` oder `--maintenance` im `-p`-Modus. Für einmalige Vorbereitung in CI oder Skripten |

43| `UserPromptSubmit` | Wenn Sie eine Eingabeaufforderung absenden, bevor Claude sie verarbeitet |43| `UserPromptSubmit` | Wenn ein Prompt abgesendet wird, bevor Claude ihn verarbeitet. Wird auch bei [Turns ausgelöst, die Claude Code selbst startet](/docs/de/hooks#userpromptsubmit) |

44| `UserPromptExpansion` | Wenn ein von Ihnen eingegebener Befehl in eine Eingabeaufforderung erweitert wird, bevor sie Claude erreicht. Kann die Erweiterung blockieren |44| `UserPromptExpansion` | Wenn ein von Ihnen eingegebener Befehl in eine Eingabeaufforderung erweitert wird, bevor sie Claude erreicht. Kann die Erweiterung blockieren |

45| `PreToolUse` | Bevor ein Werkzeugaufruf ausgeführt wird. Kann ihn blockieren |45| `PreToolUse` | Bevor ein Werkzeugaufruf ausgeführt wird. Kann ihn blockieren |

46| `PermissionRequest` | Wenn ein Werkzeugaufruf eine Genehmigungsentscheidung benötigt |46| `PermissionRequest` | Wenn ein Werkzeugaufruf eine Genehmigungsentscheidung benötigt |


1159 Hook-Ereignisse1159 Hook-Ereignisse

1160</h2>1160</h2>

1161 1161 

1162Jedes Ereignis entspricht einem Punkt im Lebenszyklus von Claude Code, an dem Hooks ausgeführt werden können. Die folgenden Abschnitte sind in der Reihenfolge des Lebenszyklus angeordnet: von der Sitzungseinrichtung über die agentengesteuerte Schleife bis zum Sitzungsende. Jeder Abschnitt beschreibt, wann das Ereignis ausgelöst wird, welche Matcher es unterstützt, welche JSON-Eingabe es empfängt und wie das Verhalten durch die Ausgabe gesteuert wird.1162Jedes Ereignis entspricht einem Punkt im Lebenszyklus von Claude Code, an dem Hooks ausgeführt werden können. Die folgenden Abschnitte sind in der Reihenfolge des Lebenszyklus angeordnet: von der Einrichtung der Sitzung über die Agentenschleife bis zum Ende der Sitzung. Jeder Abschnitt beschreibt, wann das Ereignis ausgelöst wird, welche Matcher es unterstützt, welche JSON-Eingabe es erhält und wie Sie das Verhalten über die Ausgabe steuern.

1163 1163 

1164<h3 id="sessionstart">1164<h3 id="sessionstart">

1165 SessionStart1165 SessionStart

1166</h3>1166</h3>

1167 1167 

1168Wird ausgeführt, wenn Claude Code eine neue Sitzung startet oder eine vorhandene Sitzung fortsetzt. Nützlich zum Laden von Entwicklungskontext wie vorhandenen Problemen oder kürzlichen Änderungen an Ihrer Codebasis oder zum Einrichten von Umgebungsvariablen. Für statischen Kontext, der kein Skript erfordert, verwenden Sie stattdessen [CLAUDE.md](/docs/de/memory).1168Wird ausgeführt, wenn Claude Code eine neue Sitzung startet oder eine bestehende Sitzung fortsetzt. Nützlich, um Entwicklungskontext wie bestehende Issues oder kürzliche Änderungen an Ihrer Codebasis zu laden oder Umgebungsvariablen einzurichten. Für statischen Kontext, der kein Skript erfordert, verwenden Sie stattdessen [CLAUDE.md](/docs/de/memory).

1169 1169 

1170SessionStart wird bei jeder Sitzung ausgeführt, daher halten Sie diese Hooks schnell. Nur `type: "command"` und `type: "mcp_tool"` Hooks werden unterstützt. Siehe [MCP-Tool-Hook-Felder](#mcp-tool-hook-fields) für den Fall, dass `mcp_tool` Hooks ausgeführt werden.1170SessionStart wird bei jeder Sitzung ausgeführt, halten Sie diese Hooks daher schnell. Nur Hooks vom Typ `type: "command"` und `type: "mcp_tool"` werden unterstützt. Unter [MCP-Tool-Hook-Felder](#mcp-tool-hook-fields) erfahren Sie, wann `mcp_tool`-Hooks ausgeführt werden.

1171 1171 

1172Der Matcher-Wert entspricht der Art, wie die Sitzung initiiert wurde:1172Der Matcher-Wert entspricht der Art, wie die Sitzung gestartet wurde:

1173 1173 

1174| Matcher | Wann wird es ausgelöst |1174| Matcher | Wann er ausgelöst wird |

1175| :- | :- |1175| :- | :- |

1176| `startup` | Neue Sitzung |1176| `startup` | Neue Sitzung |

1177| `resume` | `--resume`, `--continue` oder `/resume` |1177| `resume` | `--resume`, `--continue` oder `/resume` |

1178| `clear` | `/clear` |1178| `clear` | `/clear` |

1179| `compact` | Automatische oder manuelle Komprimierung |1179| `compact` | Automatische oder manuelle Komprimierung |

1180| `fork` | Eine neue Sitzung, die aus einer vorhandenen abgezweigt wurde: `--fork-session` mit `--resume` oder `--continue`, die `/fork` Hintergrundkopie, `/branch` oder eine Konversation, die Sie [in den Hintergrund verschieben](/docs/de/agent-view#from-inside-a-session) |1180| `fork` | Eine neue Sitzung, die von einer bestehenden abgezweigt wurde: `--fork-session` mit `--resume` oder `--continue`, die Hintergrundkopie von `/fork`, `/branch` oder eine Konversation, die Sie [in den Hintergrund verschieben](/docs/de/agent-view#from-inside-a-session) |

1181 1181 

1182Vor v2.1.214 meldeten abgezweigte Sitzungen die Quelle `"resume"`.1182Vor v2.1.214 meldeten abgezweigte Sitzungen die Quelle `"resume"`.

1183 1183 

1184Wenn Sie eine interaktive Sitzung starten, eine Konversation beim Start mit `--continue` oder `--resume` fortsetzen oder `/clear` ausführen, werden SessionStart-Hooks im Hintergrund ausgeführt. Sie können sofort tippen, und eine Konversation, die Sie fortgesetzt haben, wird angezeigt, ohne auf die Hooks zu warten. Claudes erste Antwort wartet immer noch darauf, dass die Hooks fertig sind, damit ihr Kontext Claude erreicht.1184Wenn Sie eine interaktive Sitzung starten, beim Start eine Konversation mit `--continue` oder `--resume` fortsetzen oder `/clear` ausführen, laufen SessionStart-Hooks im Hintergrund. Sie können sofort tippen, und eine fortgesetzte Konversation erscheint, ohne auf die Hooks zu warten. Claudes erste Antwort wartet dennoch, bis die Hooks abgeschlossen sind, damit deren Kontext Claude erreicht.

1185 1185 

1186Wenn Sie Konversationen mit `/resume` innerhalb einer Sitzung wechseln, wartet der Wechsel darauf, dass die Hooks fertig sind. Wenn Sie `/clear` ausführen oder zu einer anderen Konversation wechseln, während Hintergrund-Hooks noch ausgeführt werden, gilt nichts, was sie zurückgeben, für die Sitzung.1186Wenn Sie innerhalb einer Sitzung mit `/resume` die Konversation wechseln, wartet der Wechsel stattdessen, bis die Hooks abgeschlossen sind. Wenn Sie `/clear` ausführen oder zu einer anderen Konversation wechseln, während Hintergrund-Hooks noch laufen, wird nichts von dem, was sie zurückgeben, auf die Sitzung angewendet.

1187 1187 

1188Die gleiche Wartezeit gilt beim Start, einschließlich einer fortgesetzten Sitzung: eine Eingabeaufforderung, die Sie senden, während SessionStart-Hooks noch ausgeführt werden, erreicht Claude erst, wenn sie fertig sind.1188Dieselbe Wartezeit gilt beim Start, auch für eine fortgesetzte Sitzung: Ein Prompt, den Sie senden, während SessionStart-Hooks noch laufen, erreicht Claude erst, wenn diese abgeschlossen sind.

1189 1189 

1190Während einer dieser Wartezeiten können Sie `Esc` drücken, um die Eingabeaufforderung ohne Senden zurück in die Eingabe zu nehmen. Die Hooks werden weiterhin ausgeführt.1190Drücken Sie während einer dieser Wartezeiten `Esc`, um den Prompt zurück in die Eingabe zu holen, ohne ihn zu senden. Die Hooks laufen weiter.

1191 1191 

1192<h4 id="sessionstart-input">1192<h4 id="sessionstart-input">

1193 SessionStart-Eingabe1193 SessionStart-Eingabe

1194</h4>1194</h4>

1195 1195 

1196Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten SessionStart-Hooks `source` und optional `model`, `agent_type` und `session_title`:1196Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten SessionStart-Hooks `source` und optional `model`, `agent_type` und `session_title`:

1197 1197 

1198| Feld | Beschreibung |1198| Feld | Beschreibung |

1199| :- | :- |1199| :- | :- |

1200| `source` | Wie die Sitzung gestartet wurde: `"startup"` für neue Sitzungen, `"resume"` für fortgesetzte Sitzungen, `"clear"` nach `/clear`, `"compact"` nach Komprimierung oder `"fork"` für eine neue Sitzung, die aus einer vorhandenen abgezweigt wurde |1200| `source` | Wie die Sitzung gestartet wurde: `"startup"` für neue Sitzungen, `"resume"` für fortgesetzte Sitzungen, `"clear"` nach `/clear`, `"compact"` nach einer Komprimierung oder `"fork"` für eine neue Sitzung, die von einer bestehenden abgezweigt wurde |

1201| `model` | Der aktive Modellbezeichner. Er kann weggelassen werden, z. B. nach `/clear` oder wenn eine Sitzung durch Konversationswiederherstellung wiederhergestellt wird, daher überprüfen Sie das Feld, bevor Sie es lesen |1201| `model` | Die aktive Modellkennung. Sie kann fehlen, zum Beispiel nach `/clear` oder wenn eine Sitzung über die Konversationswiederherstellung wiederhergestellt wird. Prüfen Sie daher, ob das Feld vorhanden ist, bevor Sie es lesen |

1202| `agent_type` | Der Agent-Name, vorhanden, wenn Sie Claude Code mit `claude --agent <name>` starten |1202| `agent_type` | Der Name des Agenten, vorhanden, wenn Sie Claude Code mit `claude --agent <name>` starten |

1203| `session_title` | Der aktuelle Sitzungstitel, falls bereits gesetzt, z. B. über `--name`, `/rename`, einen Hook-`sessionTitle` oder das Agent SDK `renameSession()`. 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 |1203| `session_title` | Der benutzerdefinierte Titel der Sitzung, vorhanden, wenn einer gesetzt ist, zum Beispiel mit `--name`, `/rename`, der `sessionTitle`-Ausgabe eines Hooks oder `renameSession()` des Agent SDK. Ein Hook, der `sessionTitle` ausgibt, kann zuerst dieses Feld prüfen, um einen bestehenden benutzerdefinierten Titel nicht zu überschreiben |

1204 1204 

1205Eine Sitzung, die Sie nicht benannt haben, kann immer noch einen [generierten Titel](/docs/de/sessions#name-your-sessions) haben. Dieser Titel ist kein benutzerdefinierter Titel und erscheint nicht in `session_title`.1205Eine Sitzung, die Sie nicht benannt haben, kann dennoch einen [generierten Titel](/docs/de/sessions#name-your-sessions) haben. Dieser Titel ist kein benutzerdefinierter Titel und erscheint nicht in `session_title`.

1206 1206 

1207Wenn `source` `"resume"` oder `"fork"` ist und das Transkript mindestens eine Antwort von Claude enthält, erhalten SessionStart-Hooks auch die vier folgenden Felder. Ihr Hook kann sie verwenden, um zu melden, welche Kosten das Fortsetzen einer veralteten Konversation vor der ersten Anfrage verursacht, z. B. in einer [`systemMessage`](#json-output). Diese Felder erfordern Claude Code v2.1.251 oder später.1207Wenn `source` den Wert `"resume"` oder `"fork"` hat und das Transkript mindestens eine Antwort von Claude enthält, erhalten SessionStart-Hooks zusätzlich die folgenden vier Felder. Ihr Hook kann damit vor der ersten Anfrage melden, was das Fortsetzen einer veralteten Konversation kostet, zum Beispiel in einer [`systemMessage`](#json-output). Diese Felder erfordern Claude Code v2.1.251 oder höher.

1208 1208 

1209| Feld | Beschreibung |1209| Feld | Beschreibung |

1210| :- | :- |1210| :- | :- |

1211| `seconds_since_last_response` | Echtzeit-Sekunden seit der letzten Antwort im fortgesetzten Transkript |1211| `seconds_since_last_response` | Echtzeit in Sekunden seit der letzten Antwort im fortgesetzten Transkript |

1212| `context_tokens` | Token, die die erste Anfrage der fortgesetzten Sitzung als ihre Eingabeaufforderung erneut sendet |1212| `context_tokens` | Token, die die erste Anfrage der fortgesetzten Sitzung erneut als Prompt sendet |

1213| `prompt_cache_likely_expired` | `true`, wenn die letzte Antwort älter ist als die [Prompt-Cache-Lebensdauer](/docs/de/prompt-caching#cache-lifetime) der Sitzung oder eine spätere Komprimierung die zwischengespeicherte Konversation ersetzt hat |1213| `prompt_cache_likely_expired` | `true`, wenn die letzte Antwort älter ist als die [Lebensdauer des Prompt-Cache](/docs/de/prompt-caching#cache-lifetime) der Sitzung oder eine spätere Komprimierung die zwischengespeicherte Konversation ersetzt hat |

1214| `estimated_cache_write_usd` | Geschätzte Kosten in US-Dollar für das Schreiben von `context_tokens` in den Prompt-Cache auf dem Modell der Sitzung, ohne die Antwort |1214| `estimated_cache_write_usd` | Geschätzte Kosten in US-Dollar für das Schreiben von `context_tokens` in den Prompt-Cache mit dem Modell der Sitzung, ohne die Antwort |

1215 1215 

1216Dieses Beispiel zeigt die Eingabe für eine Sitzung, die 90 Minuten nach ihrer letzten Antwort fortgesetzt wurde:1216Dieses Beispiel zeigt die Eingabe für eine Sitzung, die 90 Minuten nach ihrer letzten Antwort fortgesetzt wurde:

1217 1217 


1231```1231```

1232 1232 

1233<h4 id="sessionstart-decision-control">1233<h4 id="sessionstart-decision-control">

1234 SessionStart-Entscheidungskontrolle1234 SessionStart-Entscheidungssteuerung

1235</h4>1235</h4>

1236 1236 

1237Claude Code fügt stdout, das es [als Klartext behandelt](#exit-code-0), zu Claudes Kontext hinzu. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können Sie diese ereignisspezifischen Felder zurückgeben:1237Claude Code fügt stdout, das es [als reinen Text behandelt](#exit-code-0), zu Claudes Kontext hinzu. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die allen Hooks zur Verfügung stehen, können Sie diese ereignisspezifischen Felder zurückgeben:

1238 1238 

1239| Feld | Beschreibung |1239| Feld | Beschreibung |

1240| :- | :- |1240| :- | :- |

1241| `additionalContext` | String, der zu Claudes Kontext am Anfang der Konversation vor der ersten Eingabeaufforderung hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) für die Lieferweise und was Sie darin einfügen sollten |1241| `additionalContext` | Zeichenkette, die zu Beginn der Konversation vor dem ersten Prompt zu Claudes Kontext hinzugefügt wird. Unter [Kontext für Claude hinzufügen](#add-context-for-claude) erfahren Sie, wie der Text übermittelt wird und was hineingehört |

1242| `initialUserMessage` | String, der als erste Benutzernachricht der Sitzung verwendet wird. Gilt im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p` Flag, wo es zum ersten Zug wird, auch wenn keine Eingabeaufforderung bereitgestellt wird. Wenn eine Eingabeaufforderung bereitgestellt wird, folgt sie als nächster Zug. Im Gegensatz zu `additionalContext`, das an einen vorhandenen Zug angehängt wird, erstellt dies den Zug |1242| `initialUserMessage` | Zeichenkette, die als erste Benutzernachricht der Sitzung verwendet wird. Gilt im [nicht interaktiven Modus](/docs/de/headless) mit dem Flag `-p`, wo sie zum ersten Turn wird, auch wenn kein Prompt angegeben ist. Wird ein Prompt angegeben, folgt er als nächster Turn. Anders als `additionalContext`, das an einen bestehenden Turn angehängt wird, erzeugt dieses Feld den Turn |

1243| `sessionTitle` | Legt den Sitzungstitel fest, mit der gleichen Wirkung wie `/rename`. Verwenden Sie dies, um Sitzungen automatisch aus dem Start-Ordner, Git-Branch oder Worktree-Namen zu benennen. Gilt, wenn `source` `"startup"`, `"resume"` oder `"fork"` ist; wird bei `"clear"` und `"compact"` ignoriert |1243| `sessionTitle` | Setzt den Sitzungstitel, mit derselben Wirkung wie `/rename`. Verwenden Sie es, um Sitzungen automatisch nach dem Startordner, dem Git-Branch oder dem Worktree-Namen zu benennen. Gilt, wenn `source` den Wert `"startup"`, `"resume"` oder `"fork"` hat; wird bei `"clear"` und `"compact"` ignoriert |

1244| `watchPaths` | Array von absoluten Pfaden zum Überwachen von [FileChanged](#filechanged) Ereignissen während dieser Sitzung |1244| `watchPaths` | Array absoluter Pfade, die während dieser Sitzung auf [FileChanged](#filechanged)-Ereignisse überwacht werden |

1245| `reloadSkills` | Boolean. Wenn `true`, scannt Claude Code die [Skill](/docs/de/skills) und Befehlsverzeichnisse erneut, nachdem die SessionStart-Hooks abgeschlossen sind, damit Skills, die der Hook installiert hat, in der gleichen Sitzung verfügbar sind, beginnend mit der ersten Eingabeaufforderung |1245| `reloadSkills` | Boolescher Wert. Bei `true` durchsucht Claude Code die [Skill](/docs/de/skills)- und Befehlsverzeichnisse erneut, nachdem die SessionStart-Hooks abgeschlossen sind, sodass vom Hook installierte Skills in derselben Sitzung ab dem ersten Prompt verfügbar sind |

1246 1246 

1247```json theme={null}1247```json theme={null}

1248{1248{


1254}1254}

1255```1255```

1256 1256 

1257Da Klartext-stdout bereits dieses Ereignis für Claude erreicht, kann ein Hook, der nur Kontext lädt, direkt zu stdout drucken, ohne JSON zu erstellen. Verwenden Sie das JSON-Format, wenn Sie Kontext mit anderen Feldern wie `sessionTitle` kombinieren müssen.1257Da reines stdout bei diesem Ereignis Claude bereits erreicht, kann ein Hook, der nur Kontext lädt, direkt auf stdout ausgeben, ohne JSON zu erzeugen. Verwenden Sie die JSON-Form, wenn Sie Kontext mit anderen Feldern wie `sessionTitle` kombinieren müssen.

1258 1258 

1259Verwenden Sie `reloadSkills`, wenn ein SessionStart-Hook Skills installiert oder aktualisiert. Die Skill-Erkennung wird normalerweise ausgeführt, bevor SessionStart-Hooks fertig sind, daher würden Dateien, die der Hook in `~/.claude/skills/` oder `.claude/skills/` schreibt, sonst erst in der nächsten Sitzung angezeigt. Dieses Beispiel synchronisiert ein gemeinsames Skills-Repository und fordert die erneute Überprüfung an:1259Verwenden Sie `reloadSkills`, wenn ein SessionStart-Hook Skills installiert oder aktualisiert. Die Skill-Erkennung läuft normalerweise, bevor SessionStart-Hooks abgeschlossen sind, sodass Dateien, die der Hook in `~/.claude/skills/` oder `.claude/skills/` schreibt, sonst erst in der nächsten Sitzung erscheinen würden. Dieses Beispiel synchronisiert ein gemeinsames Skills-Repository und fordert die erneute Durchsuchung an:

1260 1260 

1261```bash theme={null}1261```bash theme={null}

1262#!/bin/bash1262#!/bin/bash


1267echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'1267echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'

1268```1268```

1269 1269 

1270Die Repository-URL ist ein Platzhalter; ersetzen Sie sie durch Ihr eigenes Skills-Repository. Mit dem Platzhalter schlägt der Klon fehl und druckt eine `fatal:` Nachricht zu stderr. Stderr von einem SessionStart-Hook, der mit 0 beendet wird, ist nur informativ, daher gilt die `reloadSkills` Anfrage immer noch.1270Die Repository-URL ist ein Platzhalter; ersetzen Sie sie durch Ihr eigenes Skills-Repository. Mit dem Platzhalter schlägt das Klonen fehl und gibt eine `fatal:`-Meldung auf stderr aus. Stderr eines SessionStart-Hooks, der mit 0 beendet wird, dient nur zur Information, daher gilt die `reloadSkills`-Anfrage trotzdem.

1271 1271 

1272<h4 id="persist-environment-variables">1272<h4 id="persist-environment-variables">

1273 Umgebungsvariablen beibehalten1273 Umgebungsvariablen dauerhaft speichern

1274</h4>1274</h4>

1275 1275 

1276SessionStart-Hooks haben Zugriff auf die `CLAUDE_ENV_FILE` Umgebungsvariable, die einen Dateipfad bereitstellt, in dem Sie Umgebungsvariablen für nachfolgende Bash-Befehle beibehalten können.1276SessionStart-Hooks haben Zugriff auf die Umgebungsvariable `CLAUDE_ENV_FILE`, die einen Dateipfad bereitstellt, unter dem Sie Umgebungsvariablen für nachfolgende Bash-Befehle dauerhaft speichern können.

1277 1277 

1278Um einzelne Umgebungsvariablen zu setzen, schreiben Sie `export` Anweisungen in `CLAUDE_ENV_FILE`. Verwenden Sie Anhängen (`>>`), um von anderen Hooks gesetzte Variablen zu bewahren:1278Um einzelne Umgebungsvariablen zu setzen, schreiben Sie `export`-Anweisungen in `CLAUDE_ENV_FILE`. Verwenden Sie Anhängen (`>>`), um von anderen Hooks gesetzte Variablen zu erhalten:

1279 1279 

1280```bash theme={null}1280```bash theme={null}

1281#!/bin/bash1281#!/bin/bash


1289exit 01289exit 0

1290```1290```

1291 1291 

1292Um alle Umgebungsänderungen von Setup-Befehlen zu erfassen, vergleichen Sie die exportierten Variablen vorher und nachher:1292Um alle Umgebungsänderungen durch Einrichtungsbefehle zu erfassen, vergleichen Sie die exportierten Variablen vorher und nachher:

1293 1293 

1294```bash theme={null}1294```bash theme={null}

1295#!/bin/bash1295#!/bin/bash


1309```1309```

1310 1310 

1311<Note>1311<Note>

1312 `CLAUDE_ENV_FILE` ist für SessionStart, [Setup](#setup), [CwdChanged](#cwdchanged) und [FileChanged](#filechanged) Hooks verfügbar. Andere Hook-Typen haben keinen Zugriff auf diese Variable.1312 `CLAUDE_ENV_FILE` ist für SessionStart-, [Setup](#setup)-, [CwdChanged](#cwdchanged)- und [FileChanged](#filechanged)-Hooks verfügbar. Andere Hook-Typen haben keinen Zugriff auf diese Variable.

1313</Note>1313</Note>

1314 1314 

1315<h3 id="setup">1315<h3 id="setup">

1316 Setup1316 Setup

1317</h3>1317</h3>

1318 1318 

1319Wird nur ausgeführt, wenn Sie Claude Code mit `--init-only` starten oder mit `--init` oder `--maintenance` im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p` Flag. Es wird nicht beim normalen Start ausgeführt. Verwenden Sie es für einmalige Abhängigkeitsinstallation oder geplante Bereinigung, die Sie explizit von CI oder Skripten aus auslösen, getrennt vom normalen Sitzungsstart. Für Initialisierung pro Sitzung verwenden Sie stattdessen [SessionStart](#sessionstart).1319Wird nur ausgelöst, wenn Sie Claude Code mit `--init-only` oder mit `--init` bzw. `--maintenance` im [nicht interaktiven Modus](/docs/de/headless) mit dem Flag `-p` starten. Beim normalen Start wird es nicht ausgelöst. Verwenden Sie es für die einmalige Installation von Abhängigkeiten oder für geplante Bereinigungen, die Sie explizit aus CI oder Skripten auslösen, getrennt vom normalen Sitzungsstart. Für die Initialisierung pro Sitzung verwenden Sie stattdessen [SessionStart](#sessionstart).

1320 1320 

1321Der Matcher-Wert entspricht dem CLI-Flag, das den Hook ausgelöst hat:1321Der Matcher-Wert entspricht dem CLI-Flag, das den Hook ausgelöst hat:

1322 1322 

1323| Matcher | Wann wird es ausgelöst |1323| Matcher | Wann er ausgelöst wird |

1324| :- | :- |1324| :- | :- |

1325| `init` | `claude --init-only` oder `claude -p --init` |1325| `init` | `claude --init-only` oder `claude -p --init` |

1326| `maintenance` | `claude -p --maintenance` |1326| `maintenance` | `claude -p --maintenance` |

1327 1327 

1328Wenn Sie `claude --init-only` ausführen, führt Claude Code Setup-Hooks und `SessionStart` Hooks mit dem `startup` Matcher aus und beendet sich dann, ohne eine Konversation zu starten.1328Wenn Sie `claude --init-only` ausführen, führt Claude Code Setup-Hooks und `SessionStart`-Hooks mit dem Matcher `startup` aus und beendet sich dann, ohne eine Konversation zu starten.

1329 1329 

1330Wenn Sie eine Konversation mit `-p` starten oder fortsetzen, müssen Sie auch eine Eingabeaufforderung bereitstellen, als Argument oder über stdin weitergeleitet. Sie können die Eingabeaufforderung überspringen, wenn ein `SessionStart` Hook [`initialUserMessage`](#sessionstart-decision-control) bereitstellt oder wenn Sie eine Sitzung mit einem [aufgeschobenen Tool-Aufruf](#defer-a-tool-call-for-later) fortsetzen.1330Wenn Sie eine Konversation mit `-p` starten oder fortsetzen, müssen Sie außerdem einen Prompt angeben, als Argument oder über stdin weitergeleitet. Sie können den Prompt weglassen, wenn ein `SessionStart`-Hook [`initialUserMessage`](#sessionstart-decision-control) liefert oder wenn Sie eine Sitzung mit einem [zurückgestellten Tool-Aufruf](#defer-a-tool-call-for-later) fortsetzen.

1331 1331 

1332Bei Erfolg druckt `--init-only` nichts auf das Terminal. Um zu bestätigen, dass die Hooks ausgeführt wurden, starten Sie mit `claude --debug-file <path> --init-only`, ersetzen Sie `<path>` durch einen Protokolldateispeicherort, und überprüfen Sie das Protokoll auf die Setup- und SessionStart-Hook-Einträge.1332Bei Erfolg gibt `--init-only` nichts im Terminal aus. Um zu bestätigen, dass die Hooks ausgeführt wurden, starten Sie mit `claude --debug-file <path> --init-only`, ersetzen `<path>` durch einen Speicherort für die Logdatei und prüfen das Log auf die Einträge der Setup- und SessionStart-Hooks.

1333 1333 

1334Da Setup nicht bei jedem Start ausgeführt wird, kann sich ein Plugin, das eine Abhängigkeit installiert haben muss, nicht nur auf Setup verlassen. Das praktische Muster ist, die Abhängigkeit bei der ersten Verwendung zu überprüfen und bei Fehlen zu installieren, z. B. ein Hook oder Skill, der auf `${CLAUDE_PLUGIN_DATA}/node_modules` testet und `npm install` ausführt, wenn nicht vorhanden. Siehe das [persistente Datenverzeichnis](/docs/de/plugins/components#path-variables-and-persistent-data) für den Speicherort installierter Abhängigkeiten. Wenn Sie Ihr Plugin über einen Marketplace verteilen, benötigen Sie möglicherweise dieses Muster nicht: Claude Code [installiert automatisch berechtigte Node.js-Paketabhängigkeiten](/docs/de/plugins/loading#node-js-package-dependencies), wenn es das Plugin zwischenspeichert.1334Da Setup nicht bei jedem Start ausgelöst wird, kann sich ein Plugin, das eine installierte Abhängigkeit benötigt, nicht allein auf Setup verlassen. Das praktikable Muster besteht darin, bei der ersten Verwendung auf die Abhängigkeit zu prüfen und sie bei Fehlen zu installieren, zum Beispiel mit einem Hook oder Skill, der auf `${CLAUDE_PLUGIN_DATA}/node_modules` prüft und `npm install` ausführt, wenn es fehlt. Unter [Persistentes Datenverzeichnis](/docs/de/plugins/components#path-variables-and-persistent-data) erfahren Sie, wo installierte Abhängigkeiten gespeichert werden. Wenn Sie Ihr Plugin über einen Marketplace verteilen, benötigen Sie dieses Muster möglicherweise nicht: Claude Code [installiert geeignete Node.js-Paketabhängigkeiten automatisch](/docs/de/plugins/loading#node-js-package-dependencies), wenn es das Plugin im Cache speichert.

1335 1335 

1336<h4 id="setup-input">1336<h4 id="setup-input">

1337 Setup-Eingabe1337 Setup-Eingabe

1338</h4>1338</h4>

1339 1339 

1340Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten Setup-Hooks ein `trigger` Feld, das auf `"init"` oder `"maintenance"` gesetzt ist:1340Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten Setup-Hooks ein Feld `trigger`, das entweder auf `"init"` oder `"maintenance"` gesetzt ist:

1341 1341 

1342```json theme={null}1342```json theme={null}

1343{1343{


1350```1350```

1351 1351 

1352<h4 id="setup-decision-control">1352<h4 id="setup-decision-control">

1353 Setup-Entscheidungskontrolle1353 Setup-Entscheidungssteuerung

1354</h4>1354</h4>

1355 1355 

1356Setup-Hooks können nicht blockieren; die Ausführung wird bei jedem Exit-Code fortgesetzt. Bei jedem Exit-Code verwirft Claude Code die [JSON-Ausgabefelder](#json-output) eines Setup-Hooks, wie `systemMessage`, `continue` und `hookSpecificOutput.additionalContext`. Mit `-p` erscheinen stdout, stderr und Exit-Code eines Setup-Hooks in der Ausgabe des Laufs nur als [`hook_response` Ereignisse](/docs/de/headless#read-session-metadata), wenn Sie mit `--output-format stream-json --verbose` starten.1356Setup-Hooks können nicht blockieren; die Ausführung wird bei jedem Exit-Code fortgesetzt. Bei jedem Exit-Code verwirft Claude Code die [JSON-Ausgabefelder](#json-output) eines Setup-Hooks, etwa `systemMessage`, `continue` und `hookSpecificOutput.additionalContext`. Mit `-p` erscheinen stdout, stderr und Exit-Code eines Setup-Hooks in der Ausgabe des Laufs nur als [`hook_response`-Ereignisse](/docs/de/headless#read-session-metadata), wenn Sie mit `--output-format stream-json --verbose` starten.

1357 1357 

1358Setup-Hooks haben Zugriff auf `CLAUDE_ENV_FILE`. Variablen, die in diese Datei geschrieben werden, bleiben für nachfolgende Bash-Befehle für die Sitzung bestehen, genau wie in [SessionStart-Hooks](#persist-environment-variables). Nur `type: "command"` Hooks werden auf `Setup` ausgeführt. Ein `type: "mcp_tool"` Hook auf `Setup` wird immer übersprungen, wie unter [MCP-Tool-Hook-Felder](#mcp-tool-hook-fields) beschrieben.1358Setup-Hooks haben Zugriff auf `CLAUDE_ENV_FILE`. In diese Datei geschriebene Variablen bleiben für nachfolgende Bash-Befehle der Sitzung erhalten, genau wie bei [SessionStart-Hooks](#persist-environment-variables). Bei `Setup` werden nur Hooks vom Typ `type: "command"` ausgeführt. Ein Hook vom Typ `type: "mcp_tool"` bei `Setup` wird immer übersprungen, wie unter [MCP-Tool-Hook-Felder](#mcp-tool-hook-fields) beschrieben.

1359 1359 

1360<h3 id="instructionsloaded">1360<h3 id="instructionsloaded">

1361 InstructionsLoaded1361 InstructionsLoaded

1362</h3>1362</h3>

1363 1363 

1364Wird ausgelöst, wenn eine `CLAUDE.md` oder `.claude/rules/*.md` Datei in den Kontext geladen wird. Dieses Ereignis wird beim Sitzungsstart für eifrig geladene Dateien ausgelöst und später erneut, wenn Dateien träge geladen werden, z. B. wenn Claude auf ein Unterverzeichnis zugreift, das eine verschachtelte `CLAUDE.md` enthält, oder wenn bedingte Regeln mit `paths:` Frontmatter übereinstimmen. Der Hook unterstützt keine Blockierung oder Entscheidungskontrolle. Er wird asynchron zu Beobachtungszwecken ausgeführt.1364Wird ausgelöst, wenn eine `CLAUDE.md`- oder `.claude/rules/*.md`-Datei in den Kontext geladen wird. Dieses Ereignis wird beim Sitzungsstart für sofort geladene Dateien ausgelöst und später erneut, wenn Dateien verzögert geladen werden, zum Beispiel wenn Claude auf ein Unterverzeichnis zugreift, das eine verschachtelte `CLAUDE.md` enthält, oder wenn bedingte Regeln mit `paths:`-Frontmatter zutreffen. Der Hook unterstützt weder Blockieren noch Entscheidungssteuerung. Er wird zu Beobachtungszwecken asynchron ausgeführt.

1365 1365 

1366Dieses Ereignis wird nicht ausgelöst, wenn Claude [direkt `AGENTS.md` liest](/docs/de/memory#agents-md) über die Einstellung **Projektanweisungen**. Es wird ausgelöst, wenn eine `CLAUDE.md` Ihre `AGENTS.md` importiert, mit `load_reason` auf `include` wie für jede andere importierte Datei, und wenn `CLAUDE.md` ein Symlink dazu ist, als normale `CLAUDE.md` Ladung.1366Dieses Ereignis wird nicht ausgelöst, wenn Claude über die Einstellung **Project instructions** [`AGENTS.md` direkt liest](/docs/de/memory#agents-md). Es wird ausgelöst, wenn eine `CLAUDE.md` Ihre `AGENTS.md` importiert, wobei `load_reason` wie bei jeder anderen importierten Datei auf `include` gesetzt ist, und wenn `CLAUDE.md` ein Symlink darauf ist, als normales Laden von `CLAUDE.md`.

1367 1367 

1368Der Matcher wird gegen `load_reason` ausgeführt. Verwenden Sie beispielsweise `"matcher": "session_start"`, um nur für Dateien zu aktivieren, die beim Sitzungsstart geladen werden, oder `"matcher": "path_glob_match|nested_traversal"`, um nur für träge Ladevorgänge zu aktivieren.1368Der Matcher wird gegen `load_reason` ausgewertet. Verwenden Sie zum Beispiel `"matcher": "session_start"`, um nur für beim Sitzungsstart geladene Dateien auszulösen, oder `"matcher": "path_glob_match|nested_traversal"`, um nur bei verzögertem Laden auszulösen.

1369 1369 

1370<h4 id="instructionsloaded-input">1370<h4 id="instructionsloaded-input">

1371 InstructionsLoaded-Eingabe1371 InstructionsLoaded-Eingabe

1372</h4>1372</h4>

1373 1373 

1374Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten InstructionsLoaded-Hooks diese Felder:1374Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten InstructionsLoaded-Hooks diese Felder:

1375 1375 

1376| Feld | Beschreibung |1376| Feld | Beschreibung |

1377| :- | :- |1377| :- | :- |

1378| `file_path` | Absoluter Pfad zur Anweisungsdatei, die geladen wurde |1378| `file_path` | Absoluter Pfad zur geladenen Anweisungsdatei |

1379| `memory_type` | Umfang der Datei: `"User"`, `"Project"`, `"Local"` oder `"Managed"` |1379| `memory_type` | Geltungsbereich der Datei: `"User"`, `"Project"`, `"Local"` oder `"Managed"` |

1380| `load_reason` | Warum die Datei geladen wurde: `"session_start"`, `"nested_traversal"`, `"path_glob_match"`, `"include"` oder `"compact"`. Der `"compact"` Wert wird ausgelöst, wenn Anweisungsdateien nach einem Komprimierungsereignis erneut geladen werden |1380| `load_reason` | Warum die Datei geladen wurde: `"session_start"`, `"nested_traversal"`, `"path_glob_match"`, `"include"` oder `"compact"`. Der Wert `"compact"` tritt auf, wenn Anweisungsdateien nach einem Komprimierungsereignis erneut geladen werden |

1381| `globs` | Pfad-Glob-Muster aus dem `paths:` Frontmatter der Datei, falls vorhanden. Nur für `path_glob_match` Ladevorgänge vorhanden |1381| `globs` | Pfad-Glob-Muster aus dem `paths:`-Frontmatter der Datei, falls vorhanden. Nur bei `path_glob_match`-Ladevorgängen vorhanden |

1382| `trigger_file_path` | Pfad zur Datei, deren Zugriff diesen Ladevorgang ausgelöst hat, für träge Ladevorgänge |1382| `trigger_file_path` | Pfad zu der Datei, deren Zugriff dieses Laden ausgelöst hat, bei verzögertem Laden |

1383| `parent_file_path` | Pfad zur übergeordneten Anweisungsdatei, die diese importiert hat, für `include` Ladevorgänge |1383| `parent_file_path` | Pfad zur übergeordneten Anweisungsdatei, die diese eingebunden hat, bei `include`-Ladevorgängen |

1384 1384 

1385```json theme={null}1385```json theme={null}

1386{1386{


1395```1395```

1396 1396 

1397<h4 id="instructionsloaded-decision-control">1397<h4 id="instructionsloaded-decision-control">

1398 InstructionsLoaded-Entscheidungskontrolle1398 InstructionsLoaded-Entscheidungssteuerung

1399</h4>1399</h4>

1400 1400 

1401InstructionsLoaded-Hooks haben keine Entscheidungskontrolle. Sie können das Laden von Anweisungen nicht blockieren oder ändern. Claude Code verwirft ihre [JSON-Ausgabefelder](#json-output), wie `systemMessage` und `continue`. Verwenden Sie dieses Ereignis für Audit-Protokollierung, Compliance-Verfolgung oder Beobachtbarkeit.1401InstructionsLoaded-Hooks haben keine Entscheidungssteuerung. Sie können das Laden von Anweisungen weder blockieren noch verändern. Claude Code verwirft ihre [JSON-Ausgabefelder](#json-output), etwa `systemMessage` und `continue`. Verwenden Sie dieses Ereignis für Audit-Logging, Compliance-Nachverfolgung oder Beobachtbarkeit.

1402 1402 

1403<h3 id="userpromptsubmit">1403<h3 id="userpromptsubmit">

1404 UserPromptSubmit1404 UserPromptSubmit

1405</h3>1405</h3>

1406 1406 

1407Wird ausgeführt, wenn der Benutzer eine Eingabeaufforderung einreicht, bevor Claude sie verarbeitet. Dies ermöglicht es Ihnen, zusätzlichen Kontext basierend auf der Eingabeaufforderung/Konversation hinzuzufügen, Eingabeaufforderungen zu validieren oder bestimmte Arten von Eingabeaufforderungen zu blockieren.1407Wird ausgeführt, wenn ein Prompt gesendet wird, bevor Claude ihn verarbeitet. Damit können Sie

1408zusätzlichen Kontext basierend auf dem Prompt bzw. der Konversation hinzufügen, Prompts validieren oder

1409bestimmte Arten von Prompts blockieren.

1408 1410 

1409`UserPromptSubmit` Hooks haben ein Standard-Timeout von 30 Sekunden für `command`, `http` und `mcp_tool` Typen, kürzer als das 600-Sekunden-Standard für diese Typen bei den meisten anderen Ereignissen. Da dieser Hook vor jeder Eingabeaufforderung ausgeführt wird und die Modellverarbeitung blockiert, bis er abgeschlossen ist, stellt ein feststeckender Hook die Sitzung still. Wenn Ihr Hook mehr Zeit benötigt, setzen Sie das `timeout` Feld im Hook-Eintrag.1411`UserPromptSubmit`-Hooks werden nicht nur bei Prompts ausgelöst, die Sie eintippen. Claude Code führt sie auch aus, wenn:

1410 1412 

1411Abgesehen von einem Command-Hook, den Sie mit [`async: true`](#run-hooks-in-the-background) ausführen, wird ein `UserPromptSubmit` Command-, HTTP- oder MCP-Tool-Hook, der sein Timeout erreicht, abgebrochen und seine Ausgabe, einschließlich `additionalContext`, wird verworfen. Die Eingabeaufforderung erreicht Claude immer noch ohne diesen Kontext. Das Transkript zeigt einen Hinweis, der den Hook, das ausgelöste Timeout und dass die Ausgabe verworfen wurde, benennt.1413* eine [geplante Aufgabe](/docs/de/scheduled-tasks) ausgelöst wird, einschließlich einer `/loop`-Iteration

1414* ein [Hintergrund-Subagent](/docs/de/sub-agents#run-subagents-in-foreground-or-background) an die Sitzung zurückmeldet, die ihn gestartet hat

1415* [eine andere Sitzung eine Nachricht](/docs/de/cross-session-messaging) an Ihre Hauptkonversation sendet

1412 1416 

1413Ein [Agent SDK Callback-Hook](/docs/de/agent-sdk/hooks) auf `UserPromptSubmit`, der sein Timeout erreicht, blockiert die Eingabeaufforderung mit einer Nachricht, die den Hook und das Timeout benennt, da ein Callback dort als Richtlinientor fungieren kann, das nicht offen fehlschlagen darf. Die Sitzung wird fortgesetzt. Vor v2.1.208 endete ein Callback-Timeout bei diesem Ereignis mit einem Ausführungsfehler.1417`UserPromptSubmit`-Hooks haben für die Typen `command`, `http` und `mcp_tool` einen Standard-Timeout von 30 Sekunden, kürzer als der Standard von 600 Sekunden für diese Typen bei den meisten anderen Ereignissen. Da dieser Hook vor jedem Prompt ausgeführt wird und die Verarbeitung durch das Modell blockiert, bis er abgeschlossen ist, legt ein hängender Hook die Sitzung lahm. Wenn Ihr Hook mehr Zeit benötigt, setzen Sie das Feld `timeout` im Hook-Eintrag.

1418 

1419Abgesehen von einem Befehls-Hook, den Sie mit [`async: true`](#run-hooks-in-the-background) ausführen, wird ein `UserPromptSubmit`-Befehls-, HTTP- oder MCP-Tool-Hook, der seinen Timeout erreicht, abgebrochen, und seine Ausgabe einschließlich eines etwaigen `additionalContext` wird verworfen. Der Prompt erreicht Claude trotzdem, aber ohne diesen Kontext. Das Transkript zeigt einen Hinweis mit dem Namen des Hooks, dem ausgelösten Timeout und der Angabe, dass die Ausgabe verworfen wurde.

1420 

1421Ein [Agent SDK-Callback-Hook](/docs/de/agent-sdk/hooks) bei `UserPromptSubmit`, der seinen Timeout erreicht, blockiert den Prompt mit einer Meldung, die den Hook und den Timeout nennt, da ein Callback an dieser Stelle als Richtlinien-Gate fungieren kann, das nicht offen fehlschlagen darf. Die Sitzung wird fortgesetzt. Vor v2.1.208 beendete ein Callback-Timeout bei diesem Ereignis den Turn mit einem Ausführungsfehler.

1414 1422 

1415<h4 id="userpromptsubmit-input">1423<h4 id="userpromptsubmit-input">

1416 UserPromptSubmit-Eingabe1424 UserPromptSubmit-Eingabe

1417</h4>1425</h4>

1418 1426 

1419Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten UserPromptSubmit-Hooks das `prompt` Feld mit dem Text, den der Benutzer eingereicht hat. Eingefügter Inhalt, der zu einem `[Pasted text #N]` Platzhalter zusammengefallen ist, kommt erweitert an Ort und Stelle an. In Sitzungen, in denen Claude Code [eingefügten Text für Claude markiert](/docs/de/terminal-config#how-claude-treats-pasted-text), sitzt dieser erweiterte Inhalt zwischen einer `<pasted_content id="…">` Zeile und einer `</pasted_content id="…">` Zeile, daher berücksichtigen Sie diese Zeilen, wenn Ihr Hook die Eingabeaufforderung analysiert.1427Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten UserPromptSubmit-Hooks das Feld `prompt` mit dem gesendeten Text. Eingefügter Inhalt, der zu einem Platzhalter `[Pasted text #N]` zusammengeklappt wurde, kommt an Ort und Stelle erweitert an. In Sitzungen, in denen Claude Code [eingefügten Text für Claude kennzeichnet](/docs/de/terminal-config#how-claude-treats-pasted-text), steht dieser erweiterte Inhalt zwischen einer Zeile `<pasted_content id="…">` und einer Zeile `</pasted_content id="…">`; berücksichtigen Sie diese Zeilen, wenn Ihr Hook den Prompt parst.

1420 1428 

1421UserPromptSubmit-Hooks erhalten auch `session_title`, wenn die Sitzung einen benutzerdefinierten Titel hat, mit der gleichen Bedeutung wie das [SessionStart `session_title` Feld](#sessionstart-input).1429UserPromptSubmit-Hooks erhalten außerdem `session_title`, wenn die Sitzung einen benutzerdefinierten Titel hat, mit derselben Bedeutung wie das [SessionStart-Feld `session_title`](#sessionstart-input).

1422 1430 

1423```json theme={null}1431```json theme={null}

1424{1432{


1432```1440```

1433 1441 

1434<h4 id="userpromptsubmit-decision-control">1442<h4 id="userpromptsubmit-decision-control">

1435 UserPromptSubmit-Entscheidungskontrolle1443 UserPromptSubmit-Entscheidungssteuerung

1436</h4>1444</h4>

1437 1445 

1438`UserPromptSubmit` Hooks können steuern, ob eine Benutzereingabeaufforderung verarbeitet wird und Kontext hinzufügen. Alle [JSON-Ausgabefelder](#json-output) sind verfügbar.1446`UserPromptSubmit`-Hooks können steuern, ob ein gesendeter Prompt verarbeitet wird, und Kontext hinzufügen. Alle [JSON-Ausgabefelder](#json-output) sind verfügbar.

1439 1447 

1440Es gibt zwei Möglichkeiten, Kontext zur Konversation beim Exit-Code 0 hinzuzufügen:1448Es gibt zwei Möglichkeiten, bei Exit-Code 0 Kontext zur Konversation hinzuzufügen:

1441 1449 

1442* **Klartext-stdout**: Claude Code fügt stdout, das es [als Klartext behandelt](#exit-code-0), zu Claudes Kontext hinzu1450* **Reiner Text auf stdout**: Claude Code fügt stdout, das es [als reinen Text behandelt](#exit-code-0), zu Claudes Kontext hinzu

1443* **JSON mit `additionalContext`**: Verwenden Sie das JSON-Format unten für mehr Kontrolle. Das `additionalContext` Feld wird als Kontext hinzugefügt1451* **JSON mit `additionalContext`**: Verwenden Sie das unten gezeigte JSON-Format für mehr Kontrolle. Das Feld `additionalContext` wird als Kontext hinzugefügt

1444 1452 

1445Keiner der Kanäle erzeugt einen sichtbaren Transkript-Eintrag. Klartext-stdout und der `additionalContext` Wert werden jeweils als Systemerinnerung eingefügt, die mit dem Namen des Hooks beginnt; Claude liest beide. Um die Lieferung zu bestätigen, überprüfen Sie das [Debug-Protokoll](#debug-hooks).1453Keiner der beiden Kanäle erzeugt einen sichtbaren Eintrag im Transkript. Reines stdout und der Wert von `additionalContext` werden jeweils als System-Erinnerung eingefügt, die mit dem Namen des Hooks beginnt; Claude liest beide. Um die Übermittlung zu bestätigen, prüfen Sie das [Debug-Log](#debug-hooks).

1446 1454 

1447Um eine Eingabeaufforderung zu blockieren, geben Sie ein JSON-Objekt mit `decision` auf `"block"` zurück:1455Um einen Prompt zu blockieren, geben Sie ein JSON-Objekt zurück, in dem `decision` auf `"block"` gesetzt ist:

1448 1456 

1449| Feld | Beschreibung |1457| Feld | Beschreibung |

1450| :- | :- |1458| :- | :- |

1451| `decision` | `"block"` verhindert, dass die Eingabeaufforderung verarbeitet wird. Weglassen, um die Eingabeaufforderung fortzufahren |1459| `decision` | `"block"` hält den Prompt auf, bevor er Claude erreicht. Weglassen, damit der Prompt fortgesetzt wird |

1452| `reason` | Wird dem Benutzer angezeigt, wenn `decision` `"block"` ist. Nicht zum Kontext hinzugefügt |1460| `reason` | Wird dem Benutzer angezeigt, wenn `decision` den Wert `"block"` hat. Wird nicht zum Kontext hinzugefügt |

1453| `additionalContext` | String, der zu Claudes Kontext neben der eingereichten Eingabeaufforderung hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |1461| `additionalContext` | Zeichenkette, die neben dem abgesendeten Prompt zu Claudes Kontext hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

1454| `sessionTitle` | Legt den Sitzungstitel fest. Verwenden Sie dies, um Sitzungen automatisch basierend auf dem Inhalt der Eingabeaufforderung zu benennen |1462| `sessionTitle` | Setzt den Sitzungstitel. Verwenden Sie es, um Sitzungen automatisch anhand des Prompt-Inhalts zu benennen |

1455| `suppressOriginalPrompt` | Wenn `true`, wenn der Hook die Eingabeaufforderung blockiert, wird der ursprüngliche Eingabeaufforderungstext aus der Blockierungsmeldung weggelassen. Siehe [Was eine blockierte Eingabeaufforderung hinterlässt](#what-a-blocked-prompt-leaves-behind) |1463| `suppressOriginalPrompt` | Bei `true` lässt es den Prompt-Text aus der Blockierungsmeldung weg, wenn der Hook den Prompt blockiert. Siehe [Was ein blockierter Prompt hinterlässt](#what-a-blocked-prompt-leaves-behind) |

1456 1464 

1457Ein Hook, der durch Beendigung mit 2 blockiert, leitet auf die gleiche Weise wie `reason` weiter: Die Blockierungsmeldung zeigt dem Benutzer den stderr-Text an und wird nicht zum Kontext hinzugefügt.1465Ein Hook, der durch Beenden mit 2 blockiert, wird genauso behandelt wie `reason`: Die Blockierungsmeldung zeigt dem Benutzer den stderr-Text, und dieser wird nicht zum Kontext hinzugefügt.

1458 1466 

1459```json theme={null}1467```json theme={null}

1460{1468{


1470```1478```

1471 1479 

1472<h4 id="what-a-blocked-prompt-leaves-behind">1480<h4 id="what-a-blocked-prompt-leaves-behind">

1473 Was eine blockierte Eingabeaufforderung hinterlässt1481 Was ein blockierter Prompt hinterlässt

1474</h4>1482</h4>

1475 1483 

1476Eine blockierte Eingabeaufforderung erreicht Claude nie, aber ihr Text wird nicht überall entfernt. Standardmäßig endet die Blockierungsmeldung, die dem Benutzer angezeigt wird, mit `Original prompt:` gefolgt vom eingereichten Text, und Claude Code schreibt diese Nachricht in die Transkript-Datei der Sitzung auf der Festplatte. Um den Text aus der Nachricht wegzulassen, drucken Sie JSON mit `"suppressOriginalPrompt": true` in `hookSpecificOutput`. Dies funktioniert, ob der Hook mit `decision: "block"` oder durch Beendigung mit 2 blockiert. Ein Exit-2-Hook, der kein JSON druckt, erhält immer den Eingabeaufforderungstext in seiner Blockierungsmeldung.1484Ein blockierter Prompt erreicht Claude nie, aber sein Text wird nicht überall entfernt. Standardmäßig endet die dem Benutzer angezeigte Blockierungsmeldung mit `Original prompt:` gefolgt vom abgesendeten Text, und Claude Code schreibt diese Meldung in die Transkriptdatei der Sitzung auf der Festplatte. Um den Text aus der Meldung herauszulassen, geben Sie JSON mit `"suppressOriginalPrompt": true` innerhalb von `hookSpecificOutput` aus. Das funktioniert unabhängig davon, ob der Hook mit `decision: "block"` oder durch Beenden mit 2 blockiert. Ein Hook mit Exit-Code 2, der kein JSON ausgibt, enthält in seiner Blockierungsmeldung immer den Prompt-Text.

1477 1485 

1478`suppressOriginalPrompt` ändert nur die Blockierungsmeldung. Der eingereichte Text kann immer noch in lokalen Dateien wie der Sitzungs-Transkript und Ihrer Eingabeaufforderungs-Historie angezeigt werden, daher ist ein blockierender Hook keine Möglichkeit, ein Geheimnis von der Festplatte zu halten. Um diese Dateien zu begrenzen oder zu entfernen, siehe [Klartext-Speicherung](/docs/de/claude-directory#plaintext-storage) und [Lokale Daten löschen](/docs/de/claude-directory#clear-local-data).1486`suppressOriginalPrompt` ändert nur die Blockierungsmeldung. Der abgesendete Text kann weiterhin in lokalen Dateien wie dem Sitzungstranskript und Ihrem Prompt-Verlauf erscheinen, ein blockierender Hook ist also kein Mittel, um ein Geheimnis von der Festplatte fernzuhalten. Informationen zum Begrenzen oder Entfernen dieser Dateien finden Sie unter [Klartextspeicherung](/docs/de/claude-directory#plaintext-storage) und [Lokale Daten löschen](/docs/de/claude-directory#clear-local-data).

1479 1487 

1480<h3 id="userpromptexpansion">1488<h3 id="userpromptexpansion">

1481 UserPromptExpansion1489 UserPromptExpansion

1482</h3>1490</h3>

1483 1491 

1484Wird ausgeführt, wenn ein vom Benutzer eingegebener Befehl vor dem Erreichen von Claude in eine Eingabeaufforderung erweitert wird. Verwenden Sie dies, um bestimmte Befehle von direkter Aufrufen zu blockieren, Kontext für einen bestimmten Skill einzufügen oder zu protokollieren, welche Befehle Benutzer aufrufen. Beispielsweise kann ein Hook, der `deploy` abgleicht, `/deploy` blockieren, es sei denn, eine Genehmigungsdatei ist vorhanden, oder ein Hook, der einen Review-Skill abgleicht, kann die Review-Checkliste des Teams als `additionalContext` anhängen.1492Wird ausgeführt, wenn ein vom Benutzer eingegebener Befehl zu einem Prompt expandiert wird, bevor er Claude erreicht. Verwenden Sie dies, um bestimmte Befehle am direkten Aufruf zu hindern, Kontext für einen bestimmten Skill einzufügen oder zu protokollieren, welche Befehle Benutzer aufrufen. Zum Beispiel kann ein Hook, der auf `deploy` matcht, `/deploy` blockieren, sofern keine Genehmigungsdatei vorhanden ist, oder ein Hook, der auf einen Review-Skill matcht, die Review-Checkliste des Teams als `additionalContext` anhängen.

1485 1493 

1486Dieses Ereignis deckt den Pfad ab, den `PreToolUse` nicht abdeckt: Ein `PreToolUse` Hook, der das `Skill` Tool abgleicht, 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.1494Dieses Ereignis deckt den Weg ab, den `PreToolUse` nicht abdeckt: Ein `PreToolUse`-Hook, der auf das Tool `Skill` matcht, wird nur ausgelöst, wenn Claude das Tool aufruft, aber die direkte Eingabe von `/skillname` umgeht `PreToolUse`. `UserPromptExpansion` wird auf diesem direkten Weg ausgelöst.

1487 1495 

1488Gleicht `command_name` ab. Lassen Sie den Matcher leer, um bei jeder Eingabeaufforderungs-Typ-Befehl ausgelöst zu werden.1496Matcht auf `command_name`. Lassen Sie den Matcher leer, um bei jedem Befehl vom Typ Prompt auszulösen.

1489 1497 

1490<h4 id="userpromptexpansion-input">1498<h4 id="userpromptexpansion-input">

1491 UserPromptExpansion-Eingabe1499 UserPromptExpansion-Eingabe

1492</h4>1500</h4>

1493 1501 

1494Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten UserPromptExpansion-Hooks `expansion_type`, `command_name`, `command_args`, `command_source` und die ursprüngliche `prompt` Zeichenkette. Das `expansion_type` Feld ist `slash_command` für Skill- und benutzerdefinierte Befehle oder `mcp_prompt` für MCP-Server-Eingabeaufforderungen.1502Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten UserPromptExpansion-Hooks `expansion_type`, `command_name`, `command_args`, `command_source` und die ursprüngliche Zeichenkette `prompt`. Das Feld `expansion_type` ist `slash_command` für Skills und benutzerdefinierte Befehle oder `mcp_prompt` für Prompts von MCP-Servern.

1495 1503 

1496```json theme={null}1504```json theme={null}

1497{1505{


1509```1517```

1510 1518 

1511<h4 id="userpromptexpansion-decision-control">1519<h4 id="userpromptexpansion-decision-control">

1512 UserPromptExpansion-Entscheidungskontrolle1520 UserPromptExpansion-Entscheidungssteuerung

1513</h4>1521</h4>

1514 1522 

1515`UserPromptExpansion` Hooks können die Erweiterung blockieren oder Kontext hinzufügen. Alle [JSON-Ausgabefelder](#json-output) sind verfügbar.1523`UserPromptExpansion`-Hooks können die Expansion blockieren oder Kontext hinzufügen. Alle [JSON-Ausgabefelder](#json-output) sind verfügbar.

1516 1524 

1517| Feld | Beschreibung |1525| Feld | Beschreibung |

1518| :- | :- |1526| :- | :- |

1519| `decision` | `"block"` verhindert, dass der Befehl erweitert wird. Weglassen, um ihn fortzufahren |1527| `decision` | `"block"` verhindert die Expansion des Befehls. Weglassen, damit er fortgesetzt wird |

1520| `reason` | Wird dem Benutzer angezeigt, wenn `decision` `"block"` ist |1528| `reason` | Wird dem Benutzer angezeigt, wenn `decision` den Wert `"block"` hat |

1521| `additionalContext` | String, der zu Claudes Kontext neben der erweiterten Eingabeaufforderung hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |1529| `additionalContext` | Zeichenkette, die neben dem expandierten Prompt zu Claudes Kontext hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

1522 1530 

1523Ein Hook, der durch Beendigung mit 2 blockiert, leitet auf die gleiche Weise wie `reason` weiter: Die Blockierungsmeldung zeigt dem Benutzer den stderr-Text an.1531Ein Hook, der durch Beenden mit 2 blockiert, wird genauso behandelt wie `reason`: Die Blockierungsmeldung zeigt dem Benutzer den stderr-Text.

1524 1532 

1525```json theme={null}1533```json theme={null}

1526{1534{


1537 MessageDisplay1545 MessageDisplay

1538</h3>1546</h3>

1539 1547 

1540Wird ausgeführt, während eine Assistenten-Nachricht auf den Bildschirm gestreamt wird. Claude Code zeigt die Nachricht in Inkrementen an: Jedes Mal, wenn ein Batch neu abgeschlossener Zeilen zum Rendern bereit ist, wird der Hook einmal mit diesen Zeilen ausgeführt und Claude Code rendert den Ersatztext des Hooks an ihrer Stelle. Eine lange Nachricht erzeugt mehrere Aufrufe; eine kurze Nachricht kann nur einen erzeugen.1548Wird ausgeführt, während eine Assistentennachricht auf den Bildschirm gestreamt wird. Claude Code zeigt die Nachricht in Schritten an: Jedes Mal, wenn ein Stapel neu abgeschlossener Zeilen zur Darstellung bereit ist, wird der Hook einmal mit diesen Zeilen ausgeführt, und Claude Code stellt an ihrer Stelle den Ersatztext des Hooks dar. Eine lange Nachricht erzeugt mehrere Aufrufe; eine kurze Nachricht möglicherweise nur einen.

1541 1549 

1542Verwenden Sie MessageDisplay für:1550Verwenden Sie MessageDisplay, um:

1543 1551 

1544* Markdown für eine minimale Anzeige entfernen1552* Markdown für eine minimale Anzeige zu entfernen

1545* Den Text transformieren, den eine Agent SDK Anwendung ihren Benutzern zeigt1553* den Text umzuwandeln, den eine Agent SDK-Anwendung ihren Benutzern anzeigt

1546* API-Schlüssel oder interne Hostnamen aus Claudes Antworten redigieren1554* API-Schlüssel oder interne Hostnamen aus Claudes Antworten zu schwärzen

1547 1555 

1548Claude Code hält jeden Batch, bis Ihr Hook zurückkehrt, daher halten Sie den Hook schnell. Wenn der Hook fehlschlägt oder das Timeout überschreitet, zeigt Claude Code den ursprünglichen Text an. Das Standard-Timeout für dieses Ereignis beträgt 10 Sekunden; wenn Ihr Hook mehr Zeit benötigt, setzen Sie das `timeout` Feld im Hook-Eintrag.1556Claude Code hält jeden Stapel zurück, bis Ihr Hook zurückkehrt, halten Sie den Hook daher schnell. Wenn der Hook fehlschlägt oder eine Zeitüberschreitung auftritt, zeigt Claude Code den ursprünglichen Text an. Der Standard-Timeout für dieses Ereignis beträgt 10 Sekunden; wenn Ihr Hook mehr Zeit benötigt, setzen Sie das Feld `timeout` im Hook-Eintrag.

1549 1557 

1550MessageDisplay ist nur für die Anzeige: Der Ersatztext ändert nur das, was auf dem Bildschirm gerendert wird. Das Transkript und was Claude sieht, behalten den ursprünglichen Text, daher sieht Claude den Ersatz nie, und der ausführliche Modus zeigt das Original. Der Hook empfängt nur Assistenten-Nachrichtentext, daher werden Tool-Ergebnisse und der Text, den Sie eingeben, unverändert gerendert.1558MessageDisplay dient nur der Anzeige: Der Ersatztext ändert nur, was auf dem Bildschirm dargestellt wird. Das Transkript und das, was Claude sieht, behalten den ursprünglichen Text, Claude sieht den Ersatz also nie, und der ausführliche Modus zeigt das Original. Der Hook erhält nur den Text von Assistentennachrichten, sodass Tool-Ergebnisse und der von Ihnen eingegebene Text unverändert dargestellt werden.

1551 1559 

1552MessageDisplay unterstützt keine Matcher und wird für jede Assistenten-Nachricht ausgelöst, die Text streamt; Nachrichten ohne Text, wie nur Tool-Aufruf-Antworten, lösen es nicht aus.1560MessageDisplay unterstützt keine Matcher und wird für jede Assistentennachricht ausgelöst, die Text streamt; Nachrichten ohne Text, etwa Antworten, die nur aus Tool-Aufrufen bestehen, lösen es nicht aus.

1553 1561 

1554In nicht-interaktiven Läufen, einschließlich Agent SDK Abfragen und `claude -p`, wird MessageDisplay einmal pro Assistenten-Nachricht statt einmal pro Batch von Zeilen ausgeführt. Der einzelne Aufruf kommt nach Abschluss der Nachricht und trägt den vollständigen Nachrichtentext: `index` ist `0`, `final` ist `true` und `delta` enthält die gesamte Nachricht. Ein Hook, der den `delta` Text für jede Nachricht sammelt, empfängt den gleichen Gesamttext in beiden Modi.1562In nicht interaktiven Läufen, einschließlich Agent SDK-Abfragen und `claude -p`, wird MessageDisplay einmal pro Assistentennachricht statt einmal pro Zeilenstapel ausgeführt. Der einzelne Aufruf erfolgt nach Abschluss der Nachricht und enthält den vollständigen Nachrichtentext: `index` ist `0`, `final` ist `true`, und `delta` enthält die gesamte Nachricht. Ein Hook, der den `delta`-Text jeder Nachricht sammelt, erhält in beiden Modi denselben Gesamttext.

1555 1563 

1556<h4 id="messagedisplay-input">1564<h4 id="messagedisplay-input">

1557 MessageDisplay-Eingabe1565 MessageDisplay-Eingabe

1558</h4>1566</h4>

1559 1567 

1560Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten MessageDisplay-Hooks Bezeichner für den Zug und die Nachricht, die Position dieses Aufrufs innerhalb der Nachricht und den neuen Text in `delta`. Batch-Grenzen hängen davon ab, wie der Text streamt, daher verwenden Sie `index` und `final`, um den Fortschritt durch eine Nachricht zu verfolgen, anstatt zu erwarten, dass Zeilen auf eine bestimmte Weise gruppiert werden.1568Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten MessageDisplay-Hooks Kennungen für den Turn und die Nachricht, die Position dieses Aufrufs innerhalb der Nachricht und den neuen Text in `delta`. Die Stapelgrenzen hängen davon ab, wie der Text gestreamt wird. Verwenden Sie daher `index` und `final`, um den Fortschritt durch eine Nachricht zu verfolgen, statt zu erwarten, dass Zeilen auf eine bestimmte Weise gruppiert sind.

1561 1569 

1562| Feld | Beschreibung |1570| Feld | Beschreibung |

1563| :- | :- |1571| :- | :- |

1564| `turn_id` | UUID des aktuellen Zugs |1572| `turn_id` | UUID des aktuellen Turns |

1565| `message_id` | UUID der Assistenten-Nachricht, die angezeigt wird. Stabil über jeden Batch der gleichen Nachricht. Dies ist nicht die API `msg_…` ID, daher kann sie nicht mit Transkript-Nachrichten-IDs korreliert werden |1573| `message_id` | UUID der angezeigten Assistentennachricht. Über alle Stapel derselben Nachricht hinweg stabil. Dies ist nicht die API-ID `msg_…`, daher kann sie nicht mit den Nachrichten-IDs im Transkript abgeglichen werden |

1566| `index` | Nullbasierter Index dieses Batches innerhalb der Nachricht |1574| `index` | Nullbasierter Index dieses Stapels innerhalb der Nachricht |

1567| `final` | `true` beim letzten Batch der Nachricht. Jede Nachricht hat genau einen finalen Batch |1575| `final` | `true` beim letzten Stapel der Nachricht. Jede Nachricht hat genau einen letzten Stapel |

1568| `delta` | Die neu abgeschlossenen Zeilen seit dem vorherigen Batch, einschließlich Zeilenumbrüchen. Immer ganze Zeilen, außer dem finalen Batch, der möglicherweise mitten in einer Zeile endet. In interaktiven Läufen ist das Delta des finalen Batches leer, wenn die Nachricht mit einem Zeilenumbruch endet, daher behandeln Sie `final`, nicht ein nicht-leeres Delta, als das End-of-Message-Signal. In Agent SDK und `claude -p` Läufen trägt der einzelne Aufruf die gesamte Nachricht |1576| `delta` | Die seit dem vorherigen Stapel neu abgeschlossenen Zeilen, einschließlich abschließender Zeilenumbrüche. Immer ganze Zeilen, außer beim letzten Stapel, der mitten in einer Zeile enden kann. In interaktiven Läufen ist das Delta des letzten Stapels leer, wenn die Nachricht mit einem Zeilenumbruch endet. Behandeln Sie daher `final` und nicht ein nicht leeres Delta als Signal für das Nachrichtenende. In Agent SDK- und `claude -p`-Läufen enthält der einzelne Aufruf die gesamte Nachricht |

1569 1577 

1570```json theme={null}1578```json theme={null}

1571{1579{


1585 MessageDisplay-Ausgabe1593 MessageDisplay-Ausgabe

1586</h4>1594</h4>

1587 1595 

1588Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können MessageDisplay-Hooks `displayContent` zurückgeben, um das Delta auf dem Bildschirm zu ersetzen:1596Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die allen Hooks zur Verfügung stehen, können MessageDisplay-Hooks `displayContent` zurückgeben, um das Delta auf dem Bildschirm zu ersetzen:

1589 1597 

1590| Feld | Beschreibung |1598| Feld | Beschreibung |

1591| :- | :- |1599| :- | :- |

1592| `displayContent` | Text, der anstelle des Delta angezeigt wird. Weglassen, um das Original anzuzeigen |1600| `displayContent` | Text, der anstelle des Deltas angezeigt wird. Weglassen, um das Original anzuzeigen |

1593 1601 

1594MessageDisplay-Hooks haben keine Entscheidungskontrolle. Sie können die Nachricht nicht blockieren oder ändern, was im Transkript gespeichert oder an Claude gesendet wird. Claude Code handelt auf `displayContent` aus ihrer JSON-Ausgabe und verwirft `systemMessage` und `continue`.1602MessageDisplay-Hooks haben keine Entscheidungssteuerung. Sie können die Nachricht weder blockieren noch ändern, was im Transkript gespeichert oder an Claude gesendet wird. Claude Code verarbeitet `displayContent` aus ihrer JSON-Ausgabe und verwirft `systemMessage` und `continue`.

1595 1603 

1596Dieses Beispiel entfernt Markdown-Formatierung aus Claudes Antworten für eine Klartext-Anzeige. Das Skript liest jeden Batch von stdin, entfernt fette Marker und Inline-Code-Backticks aus `delta` und gibt das Ergebnis als `displayContent` zurück.1604Dieses Beispiel entfernt Markdown-Formatierung aus Claudes Antworten für eine reine Textanzeige. Das Skript liest jeden Stapel von stdin, entfernt Fettdruck-Markierungen und Backticks für Inline-Code aus `delta` und gibt das Ergebnis als `displayContent` zurück.

1597 1605 

1598<Tabs>1606<Tabs>

1599 <Tab title="macOS/Linux">1607 <Tab title="macOS/Linux">

1600 Registrieren Sie einen Command-Hook für das Ereignis in Ihrer Einstellungsdatei:1608 Registrieren Sie in Ihrer Einstellungsdatei einen Befehls-Hook für das Ereignis:

1601 1609 

1602 ```json theme={null}1610 ```json theme={null}

1603 {1611 {


1626 </Tab>1634 </Tab>

1627 1635 

1628 <Tab title="Windows (PowerShell)">1636 <Tab title="Windows (PowerShell)">

1629 Registrieren Sie einen Command-Hook, der das Skript durch PowerShell ausführt:1637 Registrieren Sie einen Befehls-Hook, der das Skript über PowerShell ausführt:

1630 1638 

1631 ```json theme={null}1639 ```json theme={null}

1632 {1640 {


1652 }1660 }

1653 ```1661 ```

1654 1662 

1655 Das `-NoProfile` Flag überspringt das Laden Ihres PowerShell-Profils, damit der Hook schnell startet, und `-ExecutionPolicy Bypass` ermöglicht PowerShell, die lokale Skriptdatei auszuführen.1663 Das Flag `-NoProfile` überspringt das Laden Ihres PowerShell-Profils, damit der Hook schnell startet, und `-ExecutionPolicy Bypass` erlaubt PowerShell, die lokale Skriptdatei auszuführen.

1656 1664 

1657 Speichern Sie dieses Skript unter `.claude/hooks/plain-display.ps1` in Ihrem Projekt:1665 Speichern Sie dieses Skript unter `.claude/hooks/plain-display.ps1` in Ihrem Projekt:

1658 1666 


1669 </Tab>1677 </Tab>

1670</Tabs>1678</Tabs>

1671 1679 

1672Batches ohne Markdown werden unverändert durchgelassen. Wenn das Skript fehlschlägt, z. B. weil `jq` fehlt, zeigt Claude Code den ursprünglichen Text an und notiert den Fehler nur in der [Debug-Ausgabe](#debug-hooks), nicht in der Sitzung.1680Stapel ohne Markdown werden unverändert durchgereicht. Wenn das Skript fehlschlägt, zum Beispiel weil `jq` fehlt, zeigt Claude Code den ursprünglichen Text an und vermerkt den Fehler nur in der [Debug-Ausgabe](#debug-hooks), nicht in der Sitzung.

1673 1681 

1674<h3 id="pretooluse">1682<h3 id="pretooluse">

1675 PreToolUse1683 PreToolUse

1676</h3>1684</h3>

1677 1685 

1678Wird ausgeführt, nachdem Claude Tool-Parameter erstellt hat und bevor der Tool-Aufruf verarbeitet wird. Gleicht jeden Tool-Namen außer `EndConversation` ab: integrierte Tools wie `Bash`, `PowerShell`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `Workflow`, `WebFetch`, `WebSearch`, `AskUserQuestion` und `ExitPlanMode`, und alle [MCP-Tool-Namen](#match-mcp-tools).1686Wird ausgeführt, nachdem Claude Tool-Parameter erstellt hat und bevor der Tool-Aufruf verarbeitet wird. Matcht auf jeden Tool-Namen außer `EndConversation`: integrierte Tools wie `Bash`, `PowerShell`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `Workflow`, `WebFetch`, `WebSearch`, `AskUserQuestion` und `ExitPlanMode` sowie beliebige [MCP-Tool-Namen](#match-mcp-tools).

1679 1687 

1680Um einen Hook auszuführen, wenn sich eine bestimmte Datei auf der Festplatte ändert, verwenden Sie stattdessen [FileChanged](#filechanged), unabhängig davon, was sie geschrieben hat. Im Gegensatz zu PreToolUse führt Claude Code FileChanged-Hooks nach der Änderung aus und sie haben keine Entscheidungskontrolle, daher können sie den Schreibvorgang nicht blockieren.1688Um einen Hook auszuführen, wenn sich eine bestimmte Datei auf der Festplatte ändert, unabhängig davon, was sie geschrieben hat, verwenden Sie [FileChanged](#filechanged), statt dateibearbeitende Tools nach Namen zu matchen. Anders als PreToolUse führt Claude Code FileChanged-Hooks nach der Änderung aus, und sie haben keine Entscheidungssteuerung, können den Schreibvorgang also nicht blockieren.

1681 1689 

1682<Warning>1690<Warning>

1683 PreToolUse wird nur ausgeführt, wenn Claude ein Tool aufruft. Dateien, die Sie [mit `@` in Ihrer Eingabeaufforderung referenzieren](/docs/de/common-workflows#reference-files-and-directories), werden hinzugefügt, ohne dass ein Tool-Aufruf erfolgt: Claude Code fügt ihren Inhalt beim Erstellen der Eingabeaufforderung ein, daher wird kein PreToolUse-Hook für sie ausgelöst, einschließlich Hooks, die `Read` abgleichen. Um bestimmte Pfade von `@` Referenzen zu blockieren, verwenden Sie stattdessen eine [`Read` Ablehnungsregel](/docs/de/permissions#read-and-edit).1691 PreToolUse wird nur ausgeführt, wenn Claude ein Tool aufruft. Dateien, die Sie [mit `@` in Ihrem Prompt referenzieren](/docs/de/common-workflows#reference-files-and-directories), werden ohne Tool-Aufruf hinzugefügt: Claude Code fügt ihren Inhalt beim Aufbau des Prompts ein, sodass für sie kein PreToolUse-Hook ausgelöst wird, auch keine Hooks, die auf `Read` matchen. Um bestimmte Pfade für `@`-Referenzen zu sperren, verwenden Sie stattdessen eine [`Read`-deny-Regel](/docs/de/permissions#read-and-edit).

1684 1692 

1685 PreToolUse wird auch nicht für [`EndConversation`](/docs/de/tools-reference#endconversation-tool-behavior) ausgelöst.1693 PreToolUse wird außerdem nicht für [`EndConversation`](/docs/de/tools-reference#endconversation-tool-behavior) ausgelöst.

1686</Warning>1694</Warning>

1687 1695 

1688Verwenden Sie [PreToolUse-Entscheidungskontrolle](#pretooluse-decision-control), um den Tool-Aufruf zuzulassen, zu verweigern, zu fragen oder aufzuschieben.1696Verwenden Sie die [PreToolUse-Entscheidungssteuerung](#pretooluse-decision-control), um den Tool-Aufruf zuzulassen, abzulehnen, nachzufragen oder zurückzustellen.

1689 1697 

1690Ein [Agent SDK Callback-Hook](/docs/de/agent-sdk/hooks) auf `PreToolUse`, der sein Timeout überschreitet, blockiert den Tool-Aufruf und Claude erhält ein Fehlerergebnis, das das Timeout benennt. Eine explizite Ablehnung, die von einem anderen Hook zurückgegeben wird, hat immer noch Vorrang.1698Ein [Agent SDK-Callback-Hook](/docs/de/agent-sdk/hooks) bei `PreToolUse`, der seinen Timeout überschreitet, blockiert den Tool-Aufruf, und Claude erhält ein Fehlerergebnis, das den Timeout nennt. Eine explizite Ablehnung durch einen anderen Hook hat weiterhin Vorrang.

1691 1699 

1692<h4 id="pretooluse-input">1700<h4 id="pretooluse-input">

1693 PreToolUse-Eingabe1701 PreToolUse-Eingabe

1694</h4>1702</h4>

1695 1703 

1696Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten PreToolUse-Hooks `tool_name`, `tool_input` und `tool_use_id`.1704Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten PreToolUse-Hooks `tool_name`, `tool_input` und `tool_use_id`.

1697 1705 

1698Für ein [MCP-Tool](#match-mcp-tools) trägt die Eingabe auch `mcp_server`, ein Objekt mit dem Namen des Servers und einer `source`, die angibt, woher die Definition des Servers stammt. Die `source` Werte umfassen `plugin`, `sdk` und Konfigurationsbereiche wie `user` und `project`. [`McpServerProvenance`](/docs/de/agent-sdk/typescript#mcpserverprovenance) in der Agent SDK Referenz listet sie alle auf und sagt, wie man eine behandelt, die man nicht erkennt. Treffen Sie Vertrauensentscheidungen basierend auf `source` statt auf `name` oder dem `mcp__<server>__` Tool-Namen-Präfix. Das `mcp_server` Feld erfordert Claude Code v2.1.274 oder später.1706Bei einem [MCP-Tool](#match-mcp-tools) enthält die Eingabe zusätzlich `mcp_server`, ein Objekt mit dem `name` des Servers und einer `source`, die angibt, woher die Definition des Servers stammt. Zu den `source`-Werten gehören `plugin`, `sdk` und Konfigurations-Geltungsbereiche wie `user` und `project`. [`McpServerProvenance`](/docs/de/agent-sdk/typescript#mcpserverprovenance) in der Agent SDK-Referenz listet alle auf und erklärt, wie Sie mit einem Wert umgehen, den Sie nicht kennen. Stützen Sie Vertrauensentscheidungen auf `source` statt auf `name` oder das Tool-Namenspräfix `mcp__<server>__`. Das Feld `mcp_server` erfordert Claude Code v2.1.274 oder höher.

1699 1707 

1700Für die Datei-Tools `Write`, `Edit` und `Read` ist `tool_input.file_path` immer absolut:1708Für die Datei-Tools `Write`, `Edit` und `Read` ist `tool_input.file_path` immer absolut:

1701 1709 

1702* Claude Code erweitert `~` und relative Pfade, bevor Hooks ausgeführt werden, daher kann ein Hook, der auf Pfade abgleicht, nicht durch `~` oder eine relative Schreibweise des gleichen Pfads umgangen werden1710* Claude Code expandiert `~` und relative Pfade, bevor Hooks ausgeführt werden, sodass ein Hook, der auf Pfade matcht, nicht über `~` oder eine relative Schreibweise desselben Pfads umgangen werden kann

1703* Unter Windows kommt der Pfad mit Backslash-Trennzeichen an, auch wenn Ihr Hook unter Git Bash ausgeführt wird, wo `$PWD` wie `/c/project` aussieht1711* Unter Windows kommt der Pfad mit Backslash-Trennzeichen an, auch wenn Ihr Hook unter Git Bash läuft, wo `$PWD` wie `/c/project` aussieht

1704* Ein Vergleich mit Schrägstrichen, wie eine `/src/` Überprüfung, gleicht niemals einen Backslash-Pfad ab, und der Tool-Aufruf wird fortgesetzt, als hätte der Hook nichts zu blockieren1712* Ein Vergleich mit Schrägstrichen, etwa eine Prüfung auf `/src/`, matcht nie einen Backslash-Pfad, und der Tool-Aufruf wird fortgesetzt, als hätte der Hook nichts zu blockieren

1705* Normalisieren Sie Trennzeichen vor dem Vergleich: `FILE_PATH="${FILE_PATH//\\//}"` in Bash oder `file_path.replace("\\", "/")` in Python, dann gleichen Sie ein Pfad-Segment wie `/src/` ab, anstatt mit `^` zu verankern, da der Pfad absolut ist1713* Normalisieren Sie die Trennzeichen vor dem Vergleich: `FILE_PATH="${FILE_PATH//\\//}"` in Bash oder `file_path.replace("\\", "/")` in Python, und matchen Sie dann ein Pfadsegment wie `/src/`, statt mit `^` zu verankern, da der Pfad absolut ist

1706 1714 

1707Ein `Write` Aufruf unter Windows liefert:1715Ein `Write`-Aufruf unter Windows liefert:

1708 1716 

1709```json theme={null}1717```json theme={null}

1710{1718{


1718}1726}

1719```1727```

1720 1728 

1721Die `tool_input` Felder hängen vom Tool ab:1729Die Felder von `tool_input` hängen vom Tool ab:

1722 1730 

1723<a id="bash" />1731<a id="bash" />

1724 1732 


1731| Feld | Typ | Beispiel | Beschreibung |1739| Feld | Typ | Beispiel | Beschreibung |

1732| :- | :- | :- | :- |1740| :- | :- | :- | :- |

1733| `command` | string | `"npm test"` | Der auszuführende Shell-Befehl |1741| `command` | string | `"npm test"` | Der auszuführende Shell-Befehl |

1734| `description` | string | `"Run test suite"` | Optionale Beschreibung, was der Befehl tut |1742| `description` | string | `"Run test suite"` | Optionale Beschreibung dessen, was der Befehl tut |

1735| `timeout` | number | `120000` | Optionales Timeout in Millisekunden. Werte über dem [Maximum](/docs/de/tools-reference#bash-tool-behavior) werden auf das Maximum reduziert, anstatt abgelehnt zu werden |1743| `timeout` | number | `120000` | Optionaler Timeout in Millisekunden. Werte über dem [Maximum](/docs/de/tools-reference#bash-tool-behavior) werden auf das Maximum reduziert statt abgelehnt |

1736| `run_in_background` | boolean | `false` | Ob der Befehl im Hintergrund ausgeführt werden soll |1744| `run_in_background` | boolean | `false` | Ob der Befehl im Hintergrund ausgeführt werden soll |

1737 1745 

1738Wenn ein Bash-Befehl Dateien in einem Git-Repository ändert, kann Claude Code aufzeichnen, was sich geändert hat. Es zeichnet die Änderungen in jedem Berechtigungsmodus auf, wenn die [`bashEditDiffEnabled`](/docs/de/settings-reference#basheditdiffenabled) Einstellung die Aufzeichnung aktiviert; der Eintrag dieser Einstellung sagt, welche Dateien sie setzen können. Andernfalls zeichnet es sie nur im Auto-Modus und `bypassPermissions` Modus auf und nur, wenn Claude Code Claude anweist, Dateien über Bash zu bearbeiten. Hintergrund-Befehle und schreibgeschützte Befehle tragen keinen Diff.1746Wenn ein Bash-Befehl Dateien in einem Git-Repository ändert, kann Claude Code aufzeichnen, was sich geändert hat. Es zeichnet die Änderungen in jedem Berechtigungsmodus auf, wenn die Einstellung [`bashEditDiffEnabled`](/docs/de/settings-reference#basheditdiffenabled) die Aufzeichnung aktiviert; der Eintrag dieser Einstellung gibt an, welche Dateien sie setzen können. Andernfalls zeichnet es sie nur im Auto-Modus und im Modus `bypassPermissions` auf, und nur dann, wenn Claude Code Claude anweist, Dateien über Bash zu bearbeiten. Setzen Sie `bashEditDiffEnabled` auf `false`, um die Aufzeichnung auszuschalten. Hintergrundbefehle und nur lesende Befehle enthalten keinen Diff.

1739 1747 

1740Ihr [PostToolUse-Hook](#posttooluse) empfängt dann die geänderten Dateien in `tool_response.bashEditDiff`. Die Liste deckt ab, was sich im Repository geändert hat, während der Befehl ausgeführt wurde. Dateien, die Git ignoriert, und Dateien in Submodulen werden nicht aufgelistet. Erfordert Claude Code v2.1.269 oder später.1748Ihr [PostToolUse-Hook](#posttooluse) erhält die geänderten Dateien dann in `tool_response.bashEditDiff`. Die Liste umfasst, was sich im Repository geändert hat, während der Befehl lief. Dateien, die Git ignoriert, und Dateien in Submodulen werden nicht aufgeführt. Erfordert Claude Code v2.1.269 oder höher.

1741 1749 

1742<Note>1750<Note>

1743 Die Liste ist Best-Effort und in öffentlicher Beta. Claude Code kann eine Änderung verpassen, eine Datei einschließen, die ein anderer Prozess gleichzeitig geändert hat, oder bei seinen Größenlimits stoppen. Die Feldform kann sich ändern. Verwenden Sie die Liste, um zu finden, was zu überprüfen ist, nicht um eine Richtlinie durchzusetzen.1751 Die Liste wird nach bestem Bemühen erstellt und befindet sich in der öffentlichen Beta. Claude Code kann eine Änderung übersehen, eine Datei aufnehmen, die ein anderer Prozess gleichzeitig geändert hat, oder an seinen Größenlimits abbrechen. Die Struktur des Felds kann sich ändern. Verwenden Sie die Liste, um herauszufinden, was überprüft werden sollte, nicht um eine Richtlinie durchzusetzen.

1744</Note>1752</Note>

1745 1753 

1746`changedFiles` und `files` listen auf, was der Befehl geändert hat; die verbleibenden Felder sagen, wie vollständig und wie zuverlässig diese Liste ist.1754`changedFiles` und `files` listen auf, was der Befehl geändert hat; die übrigen Felder geben an, wie vollständig und wie zuverlässig diese Liste ist.

1747 1755 

1748| Feld | Typ | Beispiel | Beschreibung |1756| Feld | Typ | Beispiel | Beschreibung |

1749| :- | :- | :- | :- |1757| :- | :- | :- | :- |

1750| `changedFiles` | array | `["/path/to/src/app.ts"]` | Absolute Pfade der Dateien, die der Befehl geändert hat, maximal 200. Vorhanden, wenn `files` einen Diff enthält oder `moreFiles` über Null liegt |1758| `changedFiles` | array | `["/path/to/src/app.ts"]` | Absolute Pfade der Dateien, die der Befehl geändert hat, höchstens 200. Vorhanden, sobald `files` einen Diff enthält oder `moreFiles` größer als null ist |

1751| `files` | array | `[{"filePath": "/path/to/src/app.ts", "hunks": [...]}]` | Diffs von bis zu 5 geänderten Dateien zur Anzeige. `created` oder `deleted` ist `true` für eine Datei, die der Befehl hinzugefügt oder entfernt hat |1759| `files` | array | `[{"filePath": "/path/to/src/app.ts", "hunks": [...]}]` | Diffs von bis zu 5 geänderten Dateien, zur Anzeige. `created` oder `deleted` ist `true` für eine Datei, die der Befehl hinzugefügt oder entfernt hat |

1752| `moreFiles` | number | `2` | Anzahl der geänderten Dateien ohne Diff in `files` |1760| `moreFiles` | number | `2` | Anzahl geänderter Dateien ohne Diff in `files` |

1753| `unavailable` | boolean | `true` | Gesetzt, wenn der Diff unvollständig ist oder nicht genommen werden konnte |1761| `unavailable` | boolean | `true` | Gesetzt, wenn der Diff unvollständig ist oder nicht erstellt werden konnte |

1754| `skipped` | boolean | `true` | Gesetzt für einen Git-Befehl, der den Arbeitsbaum verschiebt, wie `git checkout` oder `git stash`, daher nimmt Claude Code keinen Diff |1762| `skipped` | boolean | `true` | Gesetzt für einen Git-Befehl, der den Arbeitsbaum verschiebt, etwa `git checkout` oder `git stash`, sodass Claude Code keinen Diff erstellt |

1755| `shared` | boolean | `true` | Gesetzt, wenn ein anderer Bash-Tool-Aufruf, wie der eines Subagenten, im gleichen Repository zur gleichen Zeit ausgeführt wurde, daher können einige aufgelistete Änderungen von diesem Befehl sein |1763| `shared` | boolean | `true` | Gesetzt, wenn ein anderer Bash-Tool-Aufruf, etwa der eines Subagenten, gleichzeitig im selben Repository lief, sodass einige aufgeführte Änderungen von diesem Befehl stammen können |

1756 1764 

1757<a id="powershell" />1765<a id="powershell" />

1758 1766 


1760 PowerShell1768 PowerShell

1761</h5>1769</h5>

1762 1770 

1763Führt PowerShell-Befehle aus. Siehe das [PowerShell-Tool](/docs/de/tools-reference#powershell-tool) für Verfügbarkeit nach Plattform.1771Führt PowerShell-Befehle aus. Informationen zur Verfügbarkeit je nach Plattform finden Sie unter [PowerShell-Tool](/docs/de/tools-reference#powershell-tool).

1764 1772 

1765Die Felder entsprechen dem Bash-Tool, mit der Befehlszeichenkette in `command`:1773Die Felder entsprechen denen des Bash-Tools, mit der Befehlszeichenkette in `command`:

1766 1774 

1767| Feld | Typ | Beispiel | Beschreibung |1775| Feld | Typ | Beispiel | Beschreibung |

1768| :- | :- | :- | :- |1776| :- | :- | :- | :- |

1769| `command` | string | `"Get-ChildItem -Recurse"` | Der auszuführende PowerShell-Befehl |1777| `command` | string | `"Get-ChildItem -Recurse"` | Der auszuführende PowerShell-Befehl |

1770| `description` | string | `"List files recursively"` | Optionale Beschreibung, was der Befehl tut |1778| `description` | string | `"List files recursively"` | Optionale Beschreibung dessen, was der Befehl tut |

1771| `timeout` | number | `120000` | Optionales Timeout in Millisekunden |1779| `timeout` | number | `120000` | Optionaler Timeout in Millisekunden |

1772| `run_in_background` | boolean | `false` | Ob der Befehl im Hintergrund ausgeführt werden soll |1780| `run_in_background` | boolean | `false` | Ob der Befehl im Hintergrund ausgeführt werden soll |

1773 1781 

1774Gleichen Sie `Bash|PowerShell` in Hooks ab, die Shell-Befehle überprüfen, damit sie beide Tools abdecken:1782Matchen Sie in Hooks, die Shell-Befehle prüfen, auf `Bash|PowerShell`, damit sie beide Tools abdecken:

1775 1783 

1776* Unter Windows, überall dort, wo das PowerShell-Tool aktiviert ist, behandelt Claude PowerShell als die primäre Shell und leitet Shell-Befehle durch sie.1784* Unter Windows behandelt Claude PowerShell überall dort, wo das PowerShell-Tool aktiviert ist, als primäre Shell und leitet Shell-Befehle darüber.

1777* Unter Windows ohne Git Bash ist das Tool automatisch aktiviert und Claude Code registriert das Bash-Tool überhaupt nicht.1785* Unter Windows ohne Git Bash wird das Tool automatisch aktiviert, und Claude Code registriert das Bash-Tool überhaupt nicht.

1778* Ein Hook, der nur `Bash` abgleicht, wird dort nie ausgelöst.1786* Ein Hook, der nur auf `Bash` matcht, wird dort nie ausgelöst.

1779 1787 

1780<h5 id="write">1788<h5 id="write">

1781 Write1789 Write


1786| Feld | Typ | Beispiel | Beschreibung |1794| Feld | Typ | Beispiel | Beschreibung |

1787| :- | :- | :- | :- |1795| :- | :- | :- | :- |

1788| `file_path` | string | `"/path/to/file.txt"` | Absoluter Pfad zur zu schreibenden Datei |1796| `file_path` | string | `"/path/to/file.txt"` | Absoluter Pfad zur zu schreibenden Datei |

1789| `content` | string | `"file content"` | Inhalt zum Schreiben in die Datei |1797| `content` | string | `"file content"` | In die Datei zu schreibender Inhalt |

1790 1798 

1791<h5 id="edit">1799<h5 id="edit">

1792 Edit1800 Edit

1793</h5>1801</h5>

1794 1802 

1795Ersetzt eine Zeichenkette in einer vorhandenen Datei.1803Ersetzt eine Zeichenkette in einer bestehenden Datei.

1796 1804 

1797| Feld | Typ | Beispiel | Beschreibung |1805| Feld | Typ | Beispiel | Beschreibung |

1798| :- | :- | :- | :- |1806| :- | :- | :- | :- |

1799| `file_path` | string | `"/path/to/file.txt"` | Absoluter Pfad zur zu bearbeitenden Datei |1807| `file_path` | string | `"/path/to/file.txt"` | Absoluter Pfad zur zu bearbeitenden Datei |

1800| `old_string` | string | `"original text"` | Text zum Suchen und Ersetzen |1808| `old_string` | string | `"original text"` | Zu suchender und zu ersetzender Text |

1801| `new_string` | string | `"replacement text"` | Ersatztext |1809| `new_string` | string | `"replacement text"` | Ersatztext |

1802| `replace_all` | boolean | `false` | Ob alle Vorkommen ersetzt werden sollen |1810| `replace_all` | boolean | `false` | Ob alle Vorkommen ersetzt werden sollen |

1803 1811 


1810| Feld | Typ | Beispiel | Beschreibung |1818| Feld | Typ | Beispiel | Beschreibung |

1811| :- | :- | :- | :- |1819| :- | :- | :- | :- |

1812| `file_path` | string | `"/path/to/file.txt"` | Absoluter Pfad zur zu lesenden Datei |1820| `file_path` | string | `"/path/to/file.txt"` | Absoluter Pfad zur zu lesenden Datei |

1813| `offset` | number | `10` | Optionale Zeilennummer zum Starten des Lesens |1821| `offset` | number | `10` | Optionale Zeilennummer, ab der gelesen wird |

1814| `limit` | number | `50` | Optionale Anzahl der zu lesenden Zeilen |1822| `limit` | number | `50` | Optionale Anzahl zu lesender Zeilen |

1815 1823 

1816<h5 id="glob">1824<h5 id="glob">

1817 Glob1825 Glob


1821 1829 

1822| Feld | Typ | Beispiel | Beschreibung |1830| Feld | Typ | Beispiel | Beschreibung |

1823| :- | :- | :- | :- |1831| :- | :- | :- | :- |

1824| `pattern` | string | `"**/*.ts"` | Glob-Muster zum Abgleich von Dateien |1832| `pattern` | string | `"**/*.ts"` | Glob-Muster, gegen das Dateien abgeglichen werden |

1825| `path` | string | `"/path/to/dir"` | Optionales Verzeichnis zum Durchsuchen. Standardmäßig das aktuelle Arbeitsverzeichnis |1833| `path` | string | `"/path/to/dir"` | Optionales Verzeichnis, in dem gesucht wird. Standardmäßig das aktuelle Arbeitsverzeichnis |

1826 1834 

1827<h5 id="grep">1835<h5 id="grep">

1828 Grep1836 Grep


1832 1840 

1833| Feld | Typ | Beispiel | Beschreibung |1841| Feld | Typ | Beispiel | Beschreibung |

1834| :- | :- | :- | :- |1842| :- | :- | :- | :- |

1835| `pattern` | string | `"TODO.*fix"` | Muster für reguläre Ausdrücke zum Suchen |1843| `pattern` | string | `"TODO.*fix"` | Zu suchendes Muster als regulärer Ausdruck |

1836| `path` | string | `"/path/to/dir"` | Optionale Datei oder Verzeichnis zum Durchsuchen |1844| `path` | string | `"/path/to/dir"` | Optionale Datei oder optionales Verzeichnis, in dem gesucht wird |

1837| `glob` | string | `"*.ts"` | Optionales Glob-Muster zum Filtern von Dateien |1845| `glob` | string | `"*.ts"` | Optionales Glob-Muster zum Filtern von Dateien |

1838| `output_mode` | string | `"content"` | `"content"`, `"files_with_matches"` oder `"count"`. Standardmäßig `"files_with_matches"` |1846| `output_mode` | string | `"content"` | `"content"`, `"files_with_matches"` oder `"count"`. Standardmäßig `"files_with_matches"` |

1839| `-i` | boolean | `true` | Groß-/Kleinschreibung ignorieren |1847| `-i` | boolean | `true` | Suche ohne Berücksichtigung der Groß-/Kleinschreibung |

1840| `multiline` | boolean | `false` | Mehrzeilige Übereinstimmung aktivieren |1848| `multiline` | boolean | `false` | Mehrzeiliges Matching aktivieren |

1841 1849 

1842<h5 id="webfetch">1850<h5 id="webfetch">

1843 WebFetch1851 WebFetch

1844</h5>1852</h5>

1845 1853 

1846Ruft Web-Inhalte ab und verarbeitet sie.1854Ruft Webinhalte ab und verarbeitet sie.

1847 1855 

1848| Feld | Typ | Beispiel | Beschreibung |1856| Feld | Typ | Beispiel | Beschreibung |

1849| :- | :- | :- | :- |1857| :- | :- | :- | :- |

1850| `url` | string | `"https://example.com/api"` | URL zum Abrufen von Inhalten |1858| `url` | string | `"https://example.com/api"` | URL, von der Inhalte abgerufen werden |

1851| `prompt` | string | `"Extract the API endpoints"` | Eingabeaufforderung zum Ausführen auf dem abgerufenen Inhalt |1859| `prompt` | string | `"Extract the API endpoints"` | Prompt, der auf den abgerufenen Inhalt angewendet wird |

1852 1860 

1853<h5 id="websearch">1861<h5 id="websearch">

1854 WebSearch1862 WebSearch


1859| Feld | Typ | Beispiel | Beschreibung |1867| Feld | Typ | Beispiel | Beschreibung |

1860| :- | :- | :- | :- |1868| :- | :- | :- | :- |

1861| `query` | string | `"react hooks best practices"` | Suchanfrage |1869| `query` | string | `"react hooks best practices"` | Suchanfrage |

1862| `allowed_domains` | array | `["docs.example.com"]` | Optional: Nur Ergebnisse von diesen Domains einschließen |1870| `allowed_domains` | array | `["docs.example.com"]` | Optional: nur Ergebnisse von diesen Domains einschließen |

1863| `blocked_domains` | array | `["spam.example.com"]` | Optional: Ergebnisse von diesen Domains ausschließen |1871| `blocked_domains` | array | `["spam.example.com"]` | Optional: Ergebnisse von diesen Domains ausschließen |

1864 1872 

1865<h5 id="agent">1873<h5 id="agent">

1866 Agent1874 Agent

1867</h5>1875</h5>

1868 1876 

1869Erzeugt einen [Subagenten](/docs/de/sub-agents).1877Startet einen [Subagenten](/docs/de/sub-agents).

1870 1878 

1871| Feld | Typ | Beispiel | Beschreibung |1879| Feld | Typ | Beispiel | Beschreibung |

1872| :- | :- | :- | :- |1880| :- | :- | :- | :- |

1873| `prompt` | string | `"Find all API endpoints"` | Die Aufgabe für den Agenten |1881| `prompt` | string | `"Find all API endpoints"` | Die Aufgabe, die der Agent ausführen soll |

1874| `description` | string | `"Find API endpoints"` | Kurze Beschreibung der Aufgabe |1882| `description` | string | `"Find API endpoints"` | Kurze Beschreibung der Aufgabe |

1875| `subagent_type` | string | `"Explore"` | Typ des zu verwendenden spezialisierten Agenten |1883| `subagent_type` | string | `"Explore"` | Typ des zu verwendenden spezialisierten Agenten |

1876| `model` | string | `"sonnet"` | Optionaler Modellalias zum Überschreiben des Standards |1884| `model` | string | `"sonnet"` | Optionaler Modell-Alias, um den Standard zu überschreiben |

1877 1885 

1878Wenn ein Vordergrund-Agent-Aufruf abgeschlossen ist, empfängt Ihr [PostToolUse-Hook](#posttooluse) das Ergebnis des Subagenten und die Telemetrie des Laufs in `tool_response`. Lesen Sie diese Felder, um den Lauf zu überprüfen; für Token- und Kostenrollups über Subagenten verwenden Sie die [Token- und Kostenzähler](/docs/de/monitoring-usage#token-counter), gefiltert nach `query_source` `"subagent"`, da `totalTokens` und `usage` nur die letzte Anfrage abdecken:1886Wenn ein Agent-Aufruf im Vordergrund abgeschlossen ist, erhält Ihr [PostToolUse-Hook](#posttooluse) das Ergebnis des Subagenten und die Telemetrie des Laufs in `tool_response`. Lesen Sie diese Felder, um den Lauf zu untersuchen; für Token- und Kostenzusammenfassungen über Subagenten hinweg verwenden Sie die [Token- und Kostenzähler](/docs/de/monitoring-usage#token-counter), gefiltert auf `query_source` `"subagent"`, da `totalTokens` und `usage` nur die letzte Anfrage abdecken:

1879 1887 

1880| Feld | Typ | Beispiel | Beschreibung |1888| Feld | Typ | Beispiel | Beschreibung |

1881| :- | :- | :- | :- |1889| :- | :- | :- | :- |

1882| `status` | string | `"completed"` | `"completed"` für Subagenten im Vordergrund, `"async_launched"` für Subagenten im Hintergrund. Subagenten laufen standardmäßig im Hintergrund, sodass ein Agent-Aufruf, der `run_in_background` weglässt, ebenfalls `"async_launched"` ergibt |1890| `status` | string | `"completed"` | `"completed"` für Subagenten im Vordergrund, `"async_launched"` für Subagenten im Hintergrund. Subagenten laufen standardmäßig im Hintergrund, daher erzeugt auch ein Agent-Aufruf ohne `run_in_background` den Wert `"async_launched"` |

1883| `agentId` | string | `"a4d2c8f1e0b3a297"` | Bezeichner für den Subagenten-Lauf |1891| `agentId` | string | `"a4d2c8f1e0b3a297"` | Kennung des Subagenten-Laufs |

1884| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Die finalen Textblöcke des Subagenten oder, für einen Subagenten, dessen Bericht durch `SubagentHandback` geht, eine kurze Notiz über diesen Handback an ihrer Stelle |1892| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Die abschließenden Textblöcke des Subagenten oder, bei einem Subagenten, dessen Bericht über `SubagentHandback` läuft, an ihrer Stelle ein kurzer Hinweis auf diese Übergabe |

1885| `resolvedModel` | string | `"claude-sonnet-4-5"` | Modell, auf dem der Subagent gestartet wurde, das sich vom angeforderten Modell unterscheiden kann |1893| `resolvedModel` | string | `"claude-sonnet-4-5"` | Modell, mit dem der Subagent gestartet ist, das vom angeforderten Modell abweichen kann |

1886| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | Verwendete Modelle in Reihenfolge, mit aufeinanderfolgenden Wiederholungen zusammengefasst; nur gesetzt, wenn das Modell während des Laufs gewechselt wurde. Erfordert Claude Code v2.1.212 oder später |1894| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | Verwendete Modelle in Reihenfolge, wobei aufeinanderfolgende Wiederholungen zusammengefasst werden; nur gesetzt, wenn das Modell während des Laufs gewechselt wurde. Erfordert Claude Code v2.1.212 oder höher |

1887| `totalTokens` | number | `12450` | Token-Anzahl aus der letzten API-Anfrage des Subagenten: Eingabe-, Ausgabe- und Cache-Token kombiniert. Dies ist keine Gesamtsumme über den gesamten Lauf |1895| `totalTokens` | number | `12450` | Token-Anzahl aus der letzten API-Anfrage des Subagenten: Eingabe-, Ausgabe- und Cache-Token zusammen. Dies ist keine Summe über den gesamten Lauf |

1888| `totalDurationMs` | number | `48211` | Echtzeit-Dauer des Subagenten-Laufs |1896| `totalDurationMs` | number | `48211` | Echtzeitdauer des Subagenten-Laufs |

1889| `totalToolUseCount` | number | `7` | Anzahl der Tool-Aufrufe, die der Subagent gemacht hat |1897| `totalToolUseCount` | number | `7` | Anzahl der Tool-Aufrufe, die der Subagent durchgeführt hat |

1890| `usage` | object | `{"input_tokens": 8320, ...}` | Pro-Typ Token-Aufschlüsselung der letzten API-Anfrage: `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |1898| `usage` | object | `{"input_tokens": 8320, ...}` | Token-Aufschlüsselung nach Typ für die letzte API-Anfrage: `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |

1891 1899 

1892Auf Claude Code v2.1.271 oder später liefert ein Subagent, der mit dem [`SubagentHandback`](/docs/de/tools-reference) Tool läuft, das Claude Code im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) bereitstellt, seinen Bericht über dieses Tool statt ihn als Text zurückzugeben. Das `content` Feld seines `completed` Ergebnisses trägt dann eine kurze Notiz über diesen Handback statt des Berichts selbst. Um den Bericht zu lesen, gleichen Sie einen `PreToolUse` oder `PostToolUse` Hook auf `SubagentHandback` ab und lesen Sie `tool_input.message`.1900Ab Claude Code v2.1.271 liefert ein Subagent, der mit dem Tool [`SubagentHandback`](/docs/de/tools-reference) läuft, das Claude Code im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) bereitstellt, seinen Bericht über dieses Tool, statt ihn als Text zurückzugeben. Das Feld `content` seines `completed`-Ergebnisses enthält dann einen kurzen Hinweis auf diese Übergabe statt des Berichts selbst. Um den Bericht zu lesen, lassen Sie einen `PreToolUse`- oder `PostToolUse`-Hook auf `SubagentHandback` matchen und lesen `tool_input.message`.

1893 1901 

1894Für Hintergrund-Subagenten gibt das Tool zurück, wenn die Aufgabe in den Hintergrund geht, daher trägt `tool_response` keine Nutzungsfelder: Ein Hintergrund-Start gibt sofort zurück und eine Vordergrund-Aufgabe, die Claude Code während des Laufs in den Hintergrund verschiebt, gibt an diesem Übergang zurück. Es hat `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` und `resolvedModel`.1902Bei Subagenten im Hintergrund kehrt das Tool zurück, wenn die Aufgabe in den Hintergrund wechselt, daher enthält `tool_response` keine Nutzungsfelder: Ein Start im Hintergrund kehrt sofort zurück, und eine Vordergrundaufgabe, die Claude Code während des Laufs in den Hintergrund verschiebt, kehrt bei diesem Übergang zurück. Sie hat `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` und `resolvedModel`.

1895 1903 

1896Bei einem `completed` Ergebnis benennt `resolvedModel` das Modell, auf dem der Subagent gestartet wurde, das sich vom `model` Wert in `tool_input` unterscheiden kann, wie wenn `availableModels` oder eine andere Überschreibung gilt. Bei einem `async_launched` Ergebnis benennt `resolvedModel` das Modell in Verwendung, wenn der Agent in den Hintergrund geht, daher wird ein Wechsel, der vor dem Hintergrund-Verschieben stattfand, dort widergespiegelt. `modelsUsed` und das Hintergrund-Verschiebungs-Zeit-`resolvedModel` Verhalten erfordern Claude Code v2.1.212 oder später.1904Bei einer `completed`-Antwort nennt `resolvedModel` das Modell, mit dem der Subagent gestartet ist, das vom `model`-Wert in `tool_input` abweichen kann, etwa wenn `availableModels` oder eine andere Überschreibung greift. Bei einer `async_launched`-Antwort nennt `resolvedModel` das Modell, das verwendet wurde, als der Agent in den Hintergrund wechselte, sodass ein Wechsel vor dem Verschieben in den Hintergrund dort berücksichtigt ist. `modelsUsed` und das Verhalten von `resolvedModel` zum Zeitpunkt des Verschiebens in den Hintergrund erfordern Claude Code v2.1.212 oder höher.

1897 1905 

1898<a id="askuserquestion" />1906<a id="askuserquestion" />

1899 1907 


1901 AskUserQuestion1909 AskUserQuestion

1902</h5>1910</h5>

1903 1911 

1904Stellt dem Benutzer eine bis vier Multiple-Choice-Fragen.1912Stellt dem Benutzer ein bis vier Multiple-Choice-Fragen.

1905 1913 

1906| Feld | Typ | Beispiel | Beschreibung |1914| Feld | Typ | Beispiel | Beschreibung |

1907| :- | :- | :- | :- |1915| :- | :- | :- | :- |

1908| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | Zu präsentierende Fragen, jeweils mit einer `question` Zeichenkette, kurzem `header`, `options` Array und optionalem `multiSelect` Flag |1916| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | Anzuzeigende Fragen, jeweils mit einer `question`-Zeichenkette, einem kurzen `header`, einem `options`-Array und einem optionalen `multiSelect`-Flag |

1909| `answers` | object | `{"Which framework?": "React"}` | Optional. Ordnet Fragetext der ausgewählten Optionsbeschriftung zu. Multi-Select-Antworten verbinden Beschriftungen mit Kommas. Claude setzt dieses Feld nicht; liefern Sie es über `updatedInput`, um programmatisch zu antworten |1917| `answers` | object | `{"Which framework?": "React"}` | Optional. Ordnet den Fragetext dem ausgewählten Optionslabel zu. Antworten mit Mehrfachauswahl verbinden Labels mit Kommas. Claude setzt dieses Feld nicht; liefern Sie es über `updatedInput`, um programmatisch zu antworten |

1910 1918 

1911<h5 id="exitplanmode">1919<h5 id="exitplanmode">

1912 ExitPlanMode1920 ExitPlanMode

1913</h5>1921</h5>

1914 1922 

1915Präsentiert einen Plan und fragt den Benutzer, ihn zu genehmigen, bevor Claude den [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) verlässt. Claude schreibt den Plan vor dem Aufrufen des Tools in eine Datei auf der Festplatte, daher ist die wörtliche `tool_input` vom Modell typischerweise leer. Claude Code injiziert den Plan-Inhalt und Dateipfad, bevor die Eingabe an Hooks übergeben wird.1923Präsentiert einen Plan und bittet den Benutzer um Genehmigung, bevor Claude den [Plan-Modus](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) verlässt. Claude schreibt den Plan vor dem Aufruf des Tools in eine Datei auf der Festplatte, daher ist das wörtliche `tool_input` des Modells in der Regel leer. Claude Code fügt den Planinhalt und den Dateipfad ein, bevor die Eingabe an Hooks übergeben wird.

1916 1924 

1917| Feld | Typ | Beispiel | Beschreibung |1925| Feld | Typ | Beispiel | Beschreibung |

1918| :- | :- | :- | :- |1926| :- | :- | :- | :- |

1919| `plan` | string | `"## Refactor auth\n1. Extract..."` | Plan-Inhalt in Markdown. Injiziert aus der Plan-Datei auf der Festplatte |1927| `plan` | string | `"## Refactor auth\n1. Extract..."` | Planinhalt in Markdown. Aus der Plandatei auf der Festplatte eingefügt |

1920| `planFilePath` | string | `"/Users/.../plans/refactor-auth.md"` | Pfad zur Plan-Datei. Injiziert |1928| `planFilePath` | string | `"/Users/.../plans/refactor-auth.md"` | Pfad zur Plandatei. Eingefügt |

1921| `allowedPrompts` | array | `[{"tool": "Bash", "prompt": "run tests"}]` | Veraltet. Claude Code akzeptiert das Feld, ignoriert es aber. Vor v2.1.205 trug es prompt-basierte Berechtigungen, die Claude anforderte, um den Plan zu implementieren |1929| `allowedPrompts` | array | `[{"tool": "Bash", "prompt": "run tests"}]` | Veraltet. Claude Code akzeptiert das Feld, ignoriert es aber. Vor v2.1.205 enthielt es promptbasierte Berechtigungen, die Claude zur Umsetzung des Plans angefordert hat |

1922 1930 

1923In `PostToolUse` ist `tool_response` ein Objekt mit `plan` und `filePath` Feldern, die den genehmigten Plan enthalten, plus interne Status-Flags. Lesen Sie `tool_response.plan` für den Plan-Inhalt, anstatt die Datei von der Festplatte erneut zu lesen.1931In `PostToolUse` ist `tool_response` ein Objekt mit den Feldern `plan` und `filePath`, die den genehmigten Plan enthalten, sowie internen Status-Flags. Lesen Sie `tool_response.plan` für den Planinhalt, statt die Datei erneut von der Festplatte zu lesen.

1924 1932 

1925<h4 id="pretooluse-decision-control">1933<h4 id="pretooluse-decision-control">

1926 PreToolUse-Entscheidungskontrolle1934 PreToolUse-Entscheidungssteuerung

1927</h4>1935</h4>

1928 1936 

1929`PreToolUse` Hooks können steuern, ob ein Tool-Aufruf fortgesetzt wird. Im Gegensatz zu anderen Hooks, die ein Top-Level-`decision` Feld verwenden, gibt PreToolUse seine Entscheidung in einem `hookSpecificOutput` Objekt zurück. Dies gibt ihm reichere Kontrolle: vier Ergebnisse (zulassen, verweigern, fragen oder aufschieben) plus die Möglichkeit, Tool-Eingabe vor der Ausführung zu ändern.1937`PreToolUse`-Hooks können steuern, ob ein Tool-Aufruf fortgesetzt wird. Anders als andere Hooks, die ein `decision`-Feld auf oberster Ebene verwenden, gibt PreToolUse seine Entscheidung innerhalb eines `hookSpecificOutput`-Objekts zurück. Das ermöglicht eine umfassendere Steuerung: vier Ergebnisse (allow, deny, ask oder defer) sowie die Möglichkeit, die Tool-Eingabe vor der Ausführung zu ändern.

1930 1938 

1931| Feld | Beschreibung |1939| Feld | Beschreibung |

1932| :- | :- |1940| :- | :- |

1933| `permissionDecision` | `"allow"` überspringt die Berechtigungsaufforderung, außer für die [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes#actions-no-mode-auto-approves) und für `AskUserQuestion` und `ExitPlanMode`, die [`updatedInput` gepaart damit benötigen](#allow-with-updatedinput). `"deny"` verhindert den Tool-Aufruf. `"ask"` fordert den Benutzer zur Bestätigung auf. `"defer"` beendet ordnungsgemäß, damit das Tool später fortgesetzt werden kann. [Ablehnungs- und Frage-Regeln](/docs/de/permissions#manage-permissions) werden immer noch ausgewertet, unabhängig davon, was der Hook zurückgibt |1941| `permissionDecision` | `"allow"` überspringt die Berechtigungsabfrage, außer bei den [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes#actions-no-mode-auto-approves), sowie bei `AskUserQuestion` und `ExitPlanMode`, die [`updatedInput` zusammen damit](#allow-with-updatedinput) benötigen. `"deny"` verhindert den Tool-Aufruf. `"ask"` bittet den Benutzer um Bestätigung. `"defer"` beendet sauber, sodass das Tool später fortgesetzt werden kann. [Deny- und ask-Regeln](/docs/de/permissions#manage-permissions) werden unabhängig davon ausgewertet, was der Hook zurückgibt |

1934| `permissionDecisionReason` | Für `"ask"`, dem Benutzer angezeigt, aber nicht Claude. Für `"deny"`, Claude angezeigt. Für `"allow"` und `"defer"`, nur ins [Debug-Protokoll](#debug-hooks) geschrieben |1942| `permissionDecisionReason` | Bei `"ask"` wird er dem Benutzer in der Berechtigungsabfrage angezeigt. Wenn Claude Code [den Aufruf ablehnt](/docs/de/headless#turn-off-permission-prompts-in-unattended-runs), in einem `-p`-Lauf, in dem niemand diese Abfrage beantworten kann, liest Claude den Grund stattdessen im Tool-Ergebnis. Bei `"deny"` wird er Claude angezeigt. Bei `"allow"` und `"defer"` wird er nur in das [Debug-Log](#debug-hooks) geschrieben |

1935| `updatedInput` | Ändert die Tool-Eingabeparameter vor der Ausführung. Ersetzt das gesamte Eingabeobjekt, daher schließen Sie unveränderte Felder neben geänderten ein. Claude Code wertet Berechtigungsregeln und die [Auto-Hintergrund-Berechtigung](/docs/de/tools-reference#background-commands) eines Bash-Befehls gegen die Eingabe aus, die Ihr Hook zurückgibt, nicht die Eingabe, die Claude gesendet hat. Kombinieren Sie mit `"allow"`, um automatisch zu genehmigen, oder `"ask"`, um die geänderte Eingabe dem Benutzer zu zeigen. Für `"defer"`, ignoriert |1943| `updatedInput` | Ändert die Eingabeparameter des Tools vor der Ausführung. Ersetzt das gesamte Eingabeobjekt, nehmen Sie daher unveränderte Felder zusammen mit den geänderten auf. Claude Code wertet Berechtigungsregeln und die [Eignung eines Bash-Befehls für das automatische Verschieben in den Hintergrund](/docs/de/tools-reference#foreground-commands-that-move-to-the-background) anhand der Eingabe aus, die Ihr Hook zurückgibt, nicht anhand der Eingabe, die Claude gesendet hat. Kombinieren Sie es mit `"allow"` für automatische Genehmigung oder mit `"ask"`, um dem Benutzer die geänderte Eingabe anzuzeigen. Bei `"defer"` wird es ignoriert |

1936| `additionalContext` | String, der zu Claudes Kontext neben dem Tool-Ergebnis hinzugefügt wird. Ignoriert, wenn `permissionDecision` `"defer"` ist. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |1944| `additionalContext` | Zeichenkette, die neben dem Tool-Ergebnis zu Claudes Kontext hinzugefügt wird. Wird ignoriert, wenn `permissionDecision` den Wert `"defer"` hat. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

1937 1945 

1938Wenn mehrere PreToolUse-Hooks unterschiedliche Entscheidungen zurückgeben, ist die Priorität `deny` > `defer` > `ask` > `allow`.1946Wenn mehrere PreToolUse-Hooks unterschiedliche Entscheidungen zurückgeben, gilt die Rangfolge `deny` > `defer` > `ask` > `allow`.

1939 1947 

1940Ein Hook, der durch Beendigung mit 2 blockiert, leitet auf die gleiche Weise wie `"deny"` weiter: Claude sieht die stderr-Nachricht als Ablehnungsgrund.1948Ein Hook, der durch Beenden mit 2 blockiert, wird genauso behandelt wie `"deny"`: Claude sieht die stderr-Meldung als Ablehnungsgrund.

1941 1949 

1942Wenn ein Hook `"ask"` zurückgibt, enthält die dem Benutzer angezeigte Berechtigungsaufforderung ein Label, das angibt, woher der Hook stammt: `[settings]` für einen Hook aus einer beliebigen Einstellungsdatei oder Agent-Frontmatter, `[plugin:<name>]` für einen Plugin-Hook oder `[skill]` für einen Hook aus Skill-Frontmatter. Dies hilft Benutzern zu verstehen, welche Konfigurationsquelle eine Bestätigung anfordert.1950Wenn ein Hook `"ask"` zurückgibt, enthält die dem Benutzer angezeigte Berechtigungsabfrage ein Label, das angibt, woher der Hook stammt: `[settings]` für einen Hook aus einer beliebigen Einstellungsdatei oder aus Agenten-Frontmatter, `[plugin:<name>]` für den Hook eines Plugins oder `[skill]` für einen Hook aus Skill-Frontmatter. So können Benutzer nachvollziehen, welche Konfigurationsquelle die Bestätigung anfordert.

1943 1951 

1944Ein Hook-`"ask"` erzwingt auch eine Berechtigungsaufforderung im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode): Der Klassifizierer kann den Tool-Aufruf immer noch verweigern, kann ihn aber nicht stillschweigend genehmigen. Vor v2.1.211 konnte der Klassifizierer einen Bash-Befehl, der außerhalb der [Sandbox](/docs/de/sandboxing) läuft, ohne die Aufforderung zu zeigen, die der Hook anforderte, genehmigen; der Klassifizierer wendete immer noch seine eigenen Sicherheitsregeln auf diesen Befehl an, und ein Hook `"deny"` wurde immer berücksichtigt.1952Ein `"ask"` eines Hooks erzwingt auch im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) eine Berechtigungsabfrage: Der Klassifikator kann den Tool-Aufruf weiterhin ablehnen, ihn aber nicht stillschweigend genehmigen. Vor v2.1.211 konnte der Klassifikator einen Bash-Befehl, der außerhalb der [Sandbox](/docs/de/sandboxing) lief, genehmigen, ohne die vom Hook angeforderte Abfrage anzuzeigen; der Klassifikator wendete dabei weiterhin seine eigenen Sicherheitsregeln auf diesen Befehl an, und ein `"deny"` eines Hooks wurde immer beachtet.

1945 1953 

1946```json theme={null}1954```json theme={null}

1947{1955{


1959 1967 

1960<span id="allow-with-updatedinput" />1968<span id="allow-with-updatedinput" />

1961 1969 

1962Im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p` Flag bietet Claude Code `AskUserQuestion` und `ExitPlanMode` nur an, wenn der Lauf einen [Berechtigungshost](/docs/de/headless#turn-off-permission-prompts-in-unattended-runs) hat, um die Aufforderung zu empfangen, wie einen Agent SDK `canUseTool` Callback. Diese Tools erfordern Benutzerinteraktion. Das Zurückgeben von `permissionDecision: "allow"` zusammen mit `updatedInput` erfüllt diese Anforderung: Der Hook liest die Tool-Eingabe von stdin, sammelt die Antwort über Ihre eigene Benutzeroberfläche und gibt sie in `updatedInput` zurück, damit das Tool ohne Aufforderung ausgeführt wird. Das Zurückgeben von `"allow"` allein ist nicht ausreichend für diese Tools. Für `AskUserQuestion` geben Sie das ursprüngliche `questions` Array zurück und fügen Sie ein [`answers`](#askuserquestion) Objekt hinzu, das jede Frage auf die gewählte Antwort abbildet.1970Im [nicht interaktiven Modus](/docs/de/headless) mit dem Flag `-p` bietet Claude Code `AskUserQuestion` und `ExitPlanMode` nur an, wenn der Lauf einen [Berechtigungs-Host](/docs/de/headless#turn-off-permission-prompts-in-unattended-runs) hat, der die Abfrage entgegennimmt, etwa einen `canUseTool`-Callback des Agent SDK. Diese Tools erfordern Benutzerinteraktion. Die Rückgabe von `permissionDecision: "allow"` zusammen mit `updatedInput` erfüllt diese Anforderung: Der Hook liest die Eingabe des Tools von stdin, erfasst die Antwort über Ihre eigene Oberfläche und gibt sie in `updatedInput` zurück, sodass das Tool ohne Abfrage ausgeführt wird. Die Rückgabe von `"allow"` allein reicht für diese Tools nicht aus. Für `AskUserQuestion` geben Sie das ursprüngliche `questions`-Array zurück und fügen ein [`answers`](#askuserquestion)-Objekt hinzu, das den Text jeder Frage der gewählten Antwort zuordnet.

1963 1971 

1964Ab v2.1.199 ist ein MCP-Tool, dessen Server es mit [`_meta["anthropic/requiresUserInteraction"]`](/docs/de/mcp#require-approval-for-a-specific-tool) markiert, strenger: Ein Hook kann seine Genehmigungsaufforderung nicht mit `"allow"` überspringen, mit oder ohne `updatedInput`, da Claude Code nicht bestätigen kann, dass der Hook die Interaktion gesammelt hat, die das Tool benötigt.1972Ein MCP-Tool, das sein Server mit [`_meta["anthropic/requiresUserInteraction"]`](/docs/de/mcp#require-approval-for-a-specific-tool) kennzeichnet, ist strenger: Ein Hook kann dessen Genehmigungsabfrage mit `"allow"` nicht überspringen, weder mit noch ohne `updatedInput`, da Claude Code nicht bestätigen kann, dass der Hook die vom Tool benötigte Interaktion erfasst hat.

1965 1973 

1966<Note>1974<Note>

1967 PreToolUse verwendete zuvor Top-Level-`decision` und `reason` Felder, aber diese sind für dieses Ereignis veraltet. Verwenden Sie stattdessen `hookSpecificOutput.permissionDecision` und `hookSpecificOutput.permissionDecisionReason`. Die veralteten Werte `"approve"` und `"block"` werden auf `"allow"` und `"deny"` abgebildet. Andere Ereignisse wie PostToolUse und Stop verwenden weiterhin Top-Level-`decision` und `reason` als ihr aktuelles Format.1975 PreToolUse verwendete früher die Felder `decision` und `reason` auf oberster Ebene, diese sind für dieses Ereignis jedoch veraltet. Verwenden Sie stattdessen `hookSpecificOutput.permissionDecision` und `hookSpecificOutput.permissionDecisionReason`. Die veralteten Werte `"approve"` und `"block"` entsprechen `"allow"` bzw. `"deny"`. Andere Ereignisse wie PostToolUse und Stop verwenden weiterhin `decision` und `reason` auf oberster Ebene als aktuelles Format.

1968</Note>1976</Note>

1969 1977 

1970<h4 id="defer-a-tool-call-for-later">1978<h4 id="defer-a-tool-call-for-later">

1971 Einen Tool-Aufruf für später aufschieben1979 Einen Tool-Aufruf für später zurückstellen

1972</h4>1980</h4>

1973 1981 

1974`"defer"` ist für Integrationen, die `claude -p` als Unterprozess ausführen und seine JSON-Ausgabe lesen, wie eine Agent SDK App oder eine benutzerdefinierte Benutzeroberfläche auf Claude Code. Es ermöglicht diesem aufrufenden Prozess, Claude bei einem Tool-Aufruf zu pausieren, Eingabe über seine eigene Schnittstelle zu sammeln und dort fortzufahren, wo er aufgehört hat. Claude Code berücksichtigt diesen Wert nur im [nicht-interaktiven Modus](/docs/de/headless) mit dem `-p` Flag. In interaktiven Sitzungen protokolliert es eine Warnung und ignoriert das Hook-Ergebnis.1982`"defer"` ist für Integrationen gedacht, die `claude -p` als Subprozess ausführen und dessen JSON-Ausgabe lesen, etwa eine Agent SDK-App oder eine auf Claude Code aufbauende benutzerdefinierte Oberfläche. Damit kann der aufrufende Prozess Claude bei einem Tool-Aufruf anhalten, Eingaben über seine eigene Oberfläche erfassen und dort weitermachen, wo er aufgehört hat. Claude Code berücksichtigt diesen Wert nur im [nicht interaktiven Modus](/docs/de/headless) mit dem Flag `-p`. In interaktiven Sitzungen protokolliert es eine Warnung und ignoriert das Hook-Ergebnis.

1975 1983 

1976Das `AskUserQuestion` Tool ist der typische Fall: Claude möchte den Benutzer etwas fragen, aber es gibt kein Terminal zum Antworten. Ein `-p` Lauf bietet `AskUserQuestion` nur an, wenn er einen [Berechtigungshost](/docs/de/headless#turn-off-permission-prompts-in-unattended-runs) hat, wie ein MCP-Tool, das Sie mit `--permission-prompt-tool` übergeben, daher starten Sie den Lauf mit einem. Der Roundtrip funktioniert so:1984Das Tool `AskUserQuestion` ist der typische Fall: Claude möchte dem Benutzer eine Frage stellen, aber es gibt kein Terminal, in dem geantwortet werden kann. Ein `-p`-Lauf bietet `AskUserQuestion` nur an, wenn er einen [Berechtigungs-Host](/docs/de/headless#turn-off-permission-prompts-in-unattended-runs) hat, etwa ein MCP-Tool, das Sie mit `--permission-prompt-tool` übergeben. Starten Sie den Lauf daher mit einem solchen. Der Ablauf funktioniert so:

1977 1985 

19781. Claude ruft `AskUserQuestion` auf. Der `PreToolUse` Hook wird ausgelöst.19861. Claude ruft `AskUserQuestion` auf. Der `PreToolUse`-Hook wird ausgelöst.

19792. Der Hook gibt `permissionDecision: "defer"` zurück. Das Tool wird nicht ausgeführt. Der Prozess beendet sich mit `stop_reason: "tool_deferred"` und dem ausstehenden Tool-Aufruf, der im Transkript erhalten bleibt.19872. Der Hook gibt `permissionDecision: "defer"` zurück. Das Tool wird nicht ausgeführt. Der Prozess wird mit `stop_reason: "tool_deferred"` beendet, und der ausstehende Tool-Aufruf bleibt im Transkript erhalten.

19803. Der aufrufende Prozess liest `deferred_tool_use` aus dem SDK-Ergebnis, zeigt die Frage in seiner eigenen Benutzeroberfläche an und wartet auf eine Antwort.19883. Der aufrufende Prozess liest `deferred_tool_use` aus dem SDK-Ergebnis, zeigt die Frage in seiner eigenen Oberfläche an und wartet auf eine Antwort.

19814. Der aufrufende Prozess führt `claude -p --resume <session-id>` mit dem gleichen Berechtigungshost aus. Der gleiche Tool-Aufruf löst `PreToolUse` erneut aus.19894. Der aufrufende Prozess führt `claude -p --resume <session-id>` mit demselben Berechtigungs-Host aus. Derselbe Tool-Aufruf löst `PreToolUse` erneut aus.

19825. Der Hook gibt `permissionDecision: "allow"` mit der Antwort in `updatedInput` zurück. Das Tool wird ausgeführt und Claude setzt fort.19905. Der Hook gibt `permissionDecision: "allow"` mit der Antwort in `updatedInput` zurück. Das Tool wird ausgeführt, und Claude fährt fort.

1983 1991 

1984Das `deferred_tool_use` Feld trägt die `id`, den `name` und die `input` des Tools. Die `input` sind die Parameter, die Claude für den Tool-Aufruf generiert hat, erfasst vor der Ausführung:1992Das Feld `deferred_tool_use` enthält `id`, `name` und `input` des Tools. `input` sind die Parameter, die Claude für den Tool-Aufruf erzeugt hat, erfasst vor der Ausführung:

1985 1993 

1986```json theme={null}1994```json theme={null}

1987{1995{


1997}2005}

1998```2006```

1999 2007 

2000Es gibt kein Timeout oder Wiederholungslimit. Die Sitzung bleibt auf der Festplatte, bis Sie sie fortsetzen, unterliegt aber der [`cleanupPeriodDays`](/docs/de/settings-reference#cleanupperioddays) Aufbewahrungssweep, die Sitzungsdateien nach 30 Tagen standardmäßig löscht, nach den [Aufbewahrungssweep-Regeln](/docs/de/claude-directory#cleaned-up-automatically). Wenn die Antwort nicht bereit ist, wenn Sie fortsetzen, kann der Hook erneut `"defer"` zurückgeben und der Prozess beendet sich auf die gleiche Weise. Der aufrufende Prozess steuert, wann die Schleife unterbrochen wird, indem er schließlich `"allow"` oder `"deny"` vom Hook zurückgibt.2008Es gibt weder einen Timeout noch ein Limit für Wiederholungsversuche. Die Sitzung bleibt auf der Festplatte, bis Sie sie fortsetzen, vorbehaltlich der Aufbewahrungsbereinigung durch [`cleanupPeriodDays`](/docs/de/settings-reference#cleanupperioddays), die Sitzungsdateien standardmäßig nach 30 Tagen löscht, gemäß den [Regeln der Aufbewahrungsbereinigung](/docs/de/claude-directory#cleaned-up-automatically). Wenn die Antwort beim Fortsetzen noch nicht bereit ist, kann der Hook erneut `"defer"` zurückgeben, und der Prozess wird auf dieselbe Weise beendet. Der aufrufende Prozess bestimmt, wann die Schleife endet, indem er schließlich `"allow"` oder `"deny"` aus dem Hook zurückgibt.

2001 2009 

2002`"defer"` funktioniert nur, wenn Claude einen einzelnen Tool-Aufruf im Zug macht. Wenn Claude mehrere Tool-Aufrufe gleichzeitig macht, wird `"defer"` mit einer Warnung ignoriert und das Tool geht durch den normalen Berechtigungsfluss. Die Einschränkung existiert, weil Resume nur ein Tool erneut ausführen kann: Es gibt keine Möglichkeit, einen Aufruf aus einem Batch aufzuschieben, ohne die anderen ungelöst zu lassen.2010`"defer"` funktioniert nur, wenn Claude im Turn einen einzigen Tool-Aufruf durchführt. Wenn Claude mehrere Tool-Aufrufe gleichzeitig durchführt, wird `"defer"` mit einer Warnung ignoriert, und das Tool durchläuft den normalen Berechtigungsablauf. Diese Einschränkung besteht, weil beim Fortsetzen nur ein Tool erneut ausgeführt werden kann: Es gibt keine Möglichkeit, einen Aufruf aus einem Stapel zurückzustellen, ohne die anderen ungeklärt zu lassen.

2003 2011 

2004Wenn das aufgeschobene Tool nicht mehr verfügbar ist, wenn Sie fortsetzen, beendet sich der Prozess mit `stop_reason: "tool_deferred_unavailable"` und `is_error: true` bevor der Hook ausgelöst wird. Dies geschieht, wenn ein MCP-Server, der das Tool bereitgestellt hat, für die fortgesetzte Sitzung nicht verbunden ist. Die `deferred_tool_use` Nutzlast ist immer noch enthalten, damit Sie identifizieren können, welches Tool fehlte.2012Wenn das zurückgestellte Tool beim Fortsetzen nicht mehr verfügbar ist, wird der Prozess mit `stop_reason: "tool_deferred_unavailable"` und `is_error: true` beendet, bevor der Hook ausgelöst wird. Das passiert, wenn ein MCP-Server, der das Tool bereitgestellt hat, für die fortgesetzte Sitzung nicht verbunden ist. Die Payload `deferred_tool_use` ist trotzdem enthalten, sodass Sie erkennen können, welches Tool fehlt.

2005 2013 

2006<Note>2014<Note>

2007 Um eine aufgeschobene Sitzung im Plan-Modus fortzusetzen, übergeben Sie [`--permission-prompt-tool`](/docs/de/cli-reference#cli-flags) zusammen mit `--resume`, damit Claude Code den Plan zur Genehmigung präsentieren kann. Wenn Sie bestimmte andere Start-Flags übergeben, kehrt der fortgesetzte Lauf nicht zum Plan-Modus zurück; siehe [Im Plan-Modus mit `-p` fortsetzen](/docs/de/sessions#resume-in-plan-mode-with-p). Erfordert Claude Code v2.1.246 oder später.2015 Um eine zurückgestellte Sitzung im Plan-Modus fortzusetzen, übergeben Sie [`--permission-prompt-tool`](/docs/de/cli-reference#cli-flags) zusammen mit `--resume`, damit Claude Code den Plan zur Genehmigung vorlegen kann. Wenn Sie bestimmte andere Start-Flags übergeben, kehrt der fortgesetzte Lauf nicht in den Plan-Modus zurück; siehe [Im Plan-Modus mit `-p` fortsetzen](/docs/de/sessions#resume-in-plan-mode-with-p). Erfordert Claude Code v2.1.246 oder höher.

2008 2016 

2009 Wenn Sie mit `-p` fortsetzen, stellt Claude Code keinen anderen gespeicherten Berechtigungsmodus wieder her. Es startet den Lauf im Berechtigungsmodus, den ein neuer `claude -p` Lauf starten würde, daher übergeben Sie `--permission-mode` oder `--dangerously-skip-permissions` erneut, wenn die aufgeschobene Sitzung einen verwendet hat. Wenn Sie mit `claude --resume <session-id>` ohne `-p` fortsetzen, stellt Claude Code den gespeicherten Berechtigungsmodus wieder her, mit den Ausnahmen, die in [Berechtigungsmodus beim Fortsetzen](/docs/de/sessions#permission-mode-on-resume) aufgelistet sind.2017 Wenn Sie mit `-p` fortsetzen, stellt Claude Code keinen anderen gespeicherten Berechtigungsmodus wieder her. Es startet den Lauf in dem Berechtigungsmodus, in dem ein neuer `claude -p`-Lauf starten würde. Übergeben Sie daher `--permission-mode` oder `--dangerously-skip-permissions` erneut, wenn die zurückgestellte Sitzung eines davon verwendet hat. Wenn Sie mit `claude --resume <session-id>` ohne `-p` fortsetzen, stellt Claude Code den gespeicherten Berechtigungsmodus wieder her, mit den unter [Berechtigungsmodus beim Fortsetzen](/docs/de/sessions#permission-mode-on-resume) aufgeführten Ausnahmen.

2010</Note>2018</Note>

2011 2019 

2012<h3 id="permissionrequest">2020<h3 id="permissionrequest">

2013 PermissionRequest2021 PermissionRequest

2014</h3>2022</h3>

2015 2023 

2016Wird ausgeführt, wenn Claude Code Sie gleich um Erlaubnis zur Verwendung eines Tools bitten will. In Sitzungen, die keine Abfrage anzeigen können, etwa Subagenten im Hintergrund im [nicht interaktiven Modus](/docs/de/headless), führt Claude Code diese Hooks trotzdem aus, und wenn kein Hook eine Entscheidung zurückgibt, verweigert es den Tool-Aufruf. Bei einem Aufruf, der ein `--permission-prompt-tool` oder den [`canUseTool`-Callback](/docs/de/agent-sdk/permissions) des Agent SDK erreicht, laufen die Hooks parallel zu Ihrem Host, und es gilt, wer zuerst entscheidet.2024Wird ausgeführt, wenn Claude Code Sie gleich um Erlaubnis zur Verwendung eines Tools bitten wird. In Sitzungen, die keine Abfrage anzeigen können, etwa bei Subagenten im Hintergrund im [nicht interaktiven Modus](/docs/de/headless), führt Claude Code diese Hooks trotzdem aus, und wenn kein Hook eine Entscheidung zurückgibt, lehnt es den Tool-Aufruf ab. Bei einem Aufruf, der ein `--permission-prompt-tool` oder den [`canUseTool`-Callback](/docs/de/agent-sdk/permissions) des Agent SDK erreicht, laufen die Hooks parallel zu Ihrem Host, und es gilt, wer zuerst entscheidet.

2017Verwenden Sie die [PermissionRequest-Entscheidungssteuerung](#permissionrequest-decision-control), um im Namen des Benutzers zu erlauben oder zu verweigern.2025Verwenden Sie die [PermissionRequest-Entscheidungssteuerung](#permissionrequest-decision-control), um im Namen des Benutzers zuzulassen oder abzulehnen.

2018 2026 

2019Verwenden Sie dieses Ereignis, wenn Sie ein Signal benötigen, in dem Moment, in dem Claude um Genehmigung zur Verwendung eines Tools bittet. Claude Code führt einen [Notification](#notification) Hook mit dem `permission_prompt` Typ nur aus, nachdem die Aufforderung etwa sechs Sekunden gewartet hat.2027Verwenden Sie dieses Ereignis, wenn Sie ein Signal in dem Moment benötigen, in dem Claude um Erlaubnis zur Verwendung eines Tools bittet. Claude Code führt einen [Notification](#notification)-Hook mit dem Typ `permission_prompt` erst aus, nachdem die Abfrage etwa sechs Sekunden gewartet hat.

2020 2028 

2021Claude Code führt PermissionRequest-Hooks nicht für eine Sandbox-Anfrage einer [Netzwerkanfrage](/docs/de/sandboxing#network-isolation) aus. Um ein Signal für diese Aufforderung zu erhalten, verwenden Sie den `permission_prompt` Benachrichtigungstyp.2029Claude Code führt keine PermissionRequest-Hooks für die [Netzwerkanfrage](/docs/de/sandboxing#network-isolation) eines in einer Sandbox ausgeführten Befehls aus. Um für diese Abfrage ein Signal zu erhalten, verwenden Sie den Benachrichtigungstyp `permission_prompt`.

2022 2030 

2023Gleicht Tool-Namen ab, gleiche Werte wie PreToolUse.2031Matcht auf den Tool-Namen, mit denselben Werten wie PreToolUse.

2024 2032 

2025<h4 id="permissionrequest-input">2033<h4 id="permissionrequest-input">

2026 PermissionRequest-Eingabe2034 PermissionRequest-Eingabe

2027</h4>2035</h4>

2028 2036 

2029PermissionRequest-Hooks erhalten `tool_name` und `tool_input` Felder wie PreToolUse-Hooks, aber ohne `tool_use_id`. Für ein MCP-Tool erhalten sie auch das [`mcp_server`](#pretooluse-input) Objekt. Ein optionales `permission_suggestions` Array enthält die [Berechtigungsaktualisierungen](#permission-update-entries), die Claude Code für diese Anfrage vorschlägt, wie das Hinzufügen einer Zulassungsregel oder das Ändern des Berechtigungsmodus.2037PermissionRequest-Hooks erhalten wie PreToolUse-Hooks die Felder `tool_name` und `tool_input`, jedoch ohne `tool_use_id`. Bei einem MCP-Tool erhalten sie außerdem das Objekt [`mcp_server`](#pretooluse-input). Ein optionales Array `permission_suggestions` enthält die [Berechtigungsaktualisierungen](#permission-update-entries), die Claude Code für diese Anfrage vorschlägt, etwa das Hinzufügen einer allow-Regel oder das Ändern des Berechtigungsmodus.

2030 2038 

2031Das `permission_suggestions` Array ist keine genaue Liste der Optionen, die Sie sehen, da jeder Berechtigungsdialog seine eigenen Optionen erstellt. Einige Dialoge, wie der für Dateibearbeitungen, lesen das Array überhaupt nicht und leiten ihre Optionen aus der Anfrage selbst ab. Ein Dialog, der es liest, kann immer noch eine Option zurückhalten, deren Vorschlag im Array bleibt, z. B. wenn [`allowManagedPermissionRulesOnly`](/docs/de/settings-reference#allowmanagedpermissionrulesonly) Regel-Speicheroptionen verbirgt. Es kann auch Optionen anbieten, die keinen Vorschlagseintrag haben, wie [**Ja, und zum Auto-Modus wechseln**](/docs/de/permission-modes#switch-permission-modes), das den Berechtigungsmodus direkt ändert, anstatt durch eine Berechtigungsaktualisierung.2039Das Array `permission_suggestions` ist keine exakte Liste der angezeigten Optionen, da jeder Berechtigungsdialog seine eigenen Optionen aufbaut. Manche Dialoge, etwa der für Dateibearbeitungen, lesen das Array überhaupt nicht und leiten ihre Optionen aus der Anfrage selbst ab. Ein Dialog, der es liest, kann dennoch eine Option zurückhalten, deren Vorschlag im Array verbleibt, zum Beispiel wenn [`allowManagedPermissionRulesOnly`](/docs/de/settings-reference#allowmanagedpermissionrulesonly) Optionen zum Speichern von Regeln ausblendet. Er kann auch Optionen anbieten, für die es keinen Vorschlagseintrag gibt, etwa [**Yes, and switch to auto mode**](/docs/de/permission-modes#switch-permission-modes), das den Berechtigungsmodus direkt ändert statt über eine Berechtigungsaktualisierung.

2032 2040 

2033PreToolUse-Hooks werden vor jedem Tool-Aufruf ausgeführt, unabhängig davon, ob er Genehmigung benötigt. PermissionRequest-Hooks werden nur ausgeführt, wenn Claude Code Sie um Genehmigung bitten möchte, oder wenn es sonst einen Aufruf automatisch verweigern würde, der nicht auffordern kann. Keines der Ereignisse wird für [`EndConversation`](/docs/de/tools-reference#endconversation-tool-behavior) ausgelöst.2041PreToolUse-Hooks werden vor jedem Tool-Aufruf ausgeführt, unabhängig davon, ob er eine Berechtigung benötigt. PermissionRequest-Hooks werden nur ausgeführt, wenn Claude Code Sie gleich um Erlaubnis bitten wird oder wenn es andernfalls einen Aufruf, der keine Abfrage anzeigen kann, automatisch ablehnen würde. Keines der beiden Ereignisse wird für [`EndConversation`](/docs/de/tools-reference#endconversation-tool-behavior) ausgelöst.

2034 2042 

2035```json theme={null}2043```json theme={null}

2036{2044{


2056```2064```

2057 2065 

2058<h4 id="permissionrequest-decision-control">2066<h4 id="permissionrequest-decision-control">

2059 PermissionRequest-Entscheidungskontrolle2067 PermissionRequest-Entscheidungssteuerung

2060</h4>2068</h4>

2061 2069 

2062`PermissionRequest` Hooks können Berechtigungsanfragen zulassen oder verweigern. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, kann Ihr Hook-Skript ein `decision` Objekt mit diesen ereignisspezifischen Feldern zurückgeben:2070`PermissionRequest`-Hooks können Berechtigungsanfragen zulassen oder ablehnen. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die allen Hooks zur Verfügung stehen, kann Ihr Hook-Skript ein `decision`-Objekt mit diesen ereignisspezifischen Feldern zurückgeben:

2063 2071 

2064| Feld | Beschreibung |2072| Feld | Beschreibung |

2065| :- | :- |2073| :- | :- |

2066| `behavior` | `"allow"` gewährt die Genehmigung, `"deny"` verweigert sie. [Ablehnungs- und Frage-Regeln](/docs/de/permissions#manage-permissions) werden immer noch ausgewertet, daher überschreibt ein Hook, der `"allow"` zurückgibt, keine übereinstimmende Ablehnungsregel |2074| `behavior` | `"allow"` erteilt die Berechtigung, `"deny"` lehnt sie ab. [Deny- und ask-Regeln](/docs/de/permissions#manage-permissions) werden weiterhin ausgewertet, sodass ein Hook, der `"allow"` zurückgibt, eine passende deny-Regel nicht überschreibt |

2067| `updatedInput` | Für `"allow"` nur: ändert die Tool-Eingabeparameter vor der Ausführung. Ersetzt das gesamte Eingabeobjekt, daher schließen Sie unveränderte Felder neben geänderten ein. Die geänderte Eingabe wird erneut gegen Ablehnungs- und Frage-Regeln ausgewertet |2075| `updatedInput` | Nur für `"allow"`: ändert die Eingabeparameter des Tools vor der Ausführung. Ersetzt das gesamte Eingabeobjekt, nehmen Sie daher unveränderte Felder zusammen mit den geänderten auf. Die geänderte Eingabe wird erneut gegen deny- und ask-Regeln ausgewertet |

2068| `updatedPermissions` | Für `"allow"` nur: Array von [Berechtigungsaktualisierungseinträgen](#permission-update-entries) zum Anwenden, wie das Hinzufügen einer Zulassungsregel oder das Ändern des Sitzungsberechtigungsmodus |2076| `updatedPermissions` | Nur für `"allow"`: Array von anzuwendenden [Einträgen für Berechtigungsaktualisierungen](#permission-update-entries), etwa zum Hinzufügen einer allow-Regel oder zum Ändern des Berechtigungsmodus der Sitzung |

2069| `message` | Für `"deny"` nur: sagt Claude, warum die Genehmigung verweigert wurde |2077| `message` | Nur für `"deny"`: teilt Claude mit, warum die Berechtigung abgelehnt wurde |

2070| `interrupt` | Für `"deny"` nur: wenn `true`, stoppt Claude |2078| `interrupt` | Nur für `"deny"`: bei `true` wird Claude gestoppt |

2071 2079 

2072Ein Hook, der mit 2 beendet wird, ohne ein `decision` Objekt zu hinterlassen, lässt den Berechtigungsfluss unverändert, und sein stderr wird verworfen. Nur das `decision` Objekt kann die Anfrage gewähren oder verweigern.2080Ein Hook, der ohne `decision`-Objekt mit 2 beendet wird, lässt den Berechtigungsablauf unverändert, und sein stderr wird verworfen. Nur das `decision`-Objekt kann die Anfrage genehmigen oder ablehnen.

2073 2081 

2074```json theme={null}2082```json theme={null}

2075{2083{


2086```2094```

2087 2095 

2088<h4 id="permission-update-entries">2096<h4 id="permission-update-entries">

2089 Berechtigungsaktualisierungseinträge2097 Einträge für Berechtigungsaktualisierungen

2090</h4>2098</h4>

2091 2099 

2092Das `updatedPermissions` Ausgabefeld und das [`permission_suggestions` Eingabefeld](#permissionrequest-input) verwenden beide das gleiche Array von Einträgen. Jeder Eintrag hat einen `type`, der seine anderen Felder bestimmt, und ein `destination`, das steuert, wo die Änderung geschrieben wird.2100Das Ausgabefeld `updatedPermissions` und das [Eingabefeld `permission_suggestions`](#permissionrequest-input) verwenden beide dasselbe Array von Eintragsobjekten. Jeder Eintrag hat einen `type`, der seine übrigen Felder bestimmt, und eine `destination`, die steuert, wohin die Änderung geschrieben wird.

2093 2101 

2094| `type` | Felder | Effekt |2102| `type` | Felder | Wirkung |

2095| :- | :- | :- |2103| :- | :- | :- |

2096| `addRules` | `rules`, `behavior`, `destination` | Fügt Berechtigungsregeln hinzu. `rules` ist ein Array von `{toolName, ruleContent?}` Objekten. Weglassen Sie `ruleContent`, um das gesamte Tool abzugleichen. `behavior` ist `"allow"`, `"deny"` oder `"ask"` |2104| `addRules` | `rules`, `behavior`, `destination` | Fügt Berechtigungsregeln hinzu. `rules` ist ein Array von `{toolName, ruleContent?}`-Objekten. Lassen Sie `ruleContent` weg, um das gesamte Tool zu matchen. `behavior` ist `"allow"`, `"deny"` oder `"ask"` |

2097| `replaceRules` | `rules`, `behavior`, `destination` | Ersetzt alle Regeln des angegebenen `behavior` am `destination` mit den bereitgestellten `rules` |2105| `replaceRules` | `rules`, `behavior`, `destination` | Ersetzt alle Regeln des angegebenen `behavior` in der `destination` durch die bereitgestellten `rules` |

2098| `removeRules` | `rules`, `behavior`, `destination` | Entfernt übereinstimmende Regeln des angegebenen `behavior` |2106| `removeRules` | `rules`, `behavior`, `destination` | Entfernt passende Regeln des angegebenen `behavior` |

2099| `setMode` | `mode`, `destination` | Ändert den Berechtigungsmodus. Gültige Modi sind `default`, `auto`, `acceptEdits`, `dontAsk`, `bypassPermissions`, `plan` und `manual` als Alias für `default`. Der `manual` Alias erfordert Claude Code v2.1.200 oder später |2107| `setMode` | `mode`, `destination` | Ändert den Berechtigungsmodus. Gültige Modi sind `default`, `auto`, `acceptEdits`, `dontAsk`, `bypassPermissions`, `plan` und `manual` als Alias für `default`. Der Alias `manual` erfordert Claude Code v2.1.200 oder höher |

2100| `addDirectories` | `directories`, `destination` | Fügt Arbeitsverzeichnisse hinzu. `directories` ist ein Array von Pfad-Zeichenketten |2108| `addDirectories` | `directories`, `destination` | Fügt Arbeitsverzeichnisse hinzu. `directories` ist ein Array von Pfadzeichenketten |

2101| `removeDirectories` | `directories`, `destination` | Entfernt Arbeitsverzeichnisse |2109| `removeDirectories` | `directories`, `destination` | Entfernt Arbeitsverzeichnisse |

2102 2110 

2103<Note>2111<Note>

2104 `setMode` mit `bypassPermissions` tritt nur in Kraft, wenn Sie die Sitzung mit Bypass-Modus bereits verfügbar gestartet haben: `--dangerously-skip-permissions`, `--permission-mode bypassPermissions`, `--allow-dangerously-skip-permissions` oder `permissions.defaultMode: "bypassPermissions"` in [Benutzer-, `--settings` oder verwalteten Einstellungen](/docs/de/settings-reference#permissions-defaultmode). Andernfalls ist die Aktualisierung ein No-Op. Die Aktualisierung ist auch ein No-Op, wenn [`permissions.disableBypassPermissionsMode`](/docs/de/permissions#managed-settings) den Modus deaktiviert oder wenn die Sitzung im [eingeschränkten Modus](/docs/de/cli-reference#cli-flags) startet.2112 `setMode` mit `bypassPermissions` wird nur wirksam, wenn Sie die Sitzung mit bereits verfügbarem Bypass-Modus gestartet haben: `--dangerously-skip-permissions`, `--permission-mode bypassPermissions`, `--allow-dangerously-skip-permissions` oder `permissions.defaultMode: "bypassPermissions"` in [Benutzereinstellungen, `--settings` oder verwalteten Einstellungen](/docs/de/settings-reference#permissions-defaultmode). Andernfalls hat die Aktualisierung keine Wirkung. Die Aktualisierung hat ebenfalls keine Wirkung, wenn [`permissions.disableBypassPermissionsMode`](/docs/de/permissions#managed-settings) den Modus deaktiviert oder wenn die Sitzung im [eingeschränkten Modus](/docs/de/cli-reference#cli-flags) startet.

2105 2113 

2106 `bypassPermissions` wird niemals als `defaultMode` beibehalten, unabhängig von `destination`.2114 `bypassPermissions` wird unabhängig von `destination` niemals als `defaultMode` gespeichert.

2107</Note>2115</Note>

2108 2116 

2109Das `destination` Feld auf jedem Eintrag bestimmt, ob die Änderung im Speicher bleibt oder in einer Einstellungsdatei beibehalten wird.2117Das Feld `destination` jedes Eintrags bestimmt, ob die Änderung nur im Arbeitsspeicher bleibt oder in eine Einstellungsdatei geschrieben wird.

2110 2118 

2111| `destination` | Schreibt zu |2119| `destination` | Schreibt in |

2112| :- | :- |2120| :- | :- |

2113| `session` | Nur im Speicher, verworfen, wenn die Sitzung endet |2121| `session` | nur im Arbeitsspeicher, wird beim Ende der Sitzung verworfen |

2114| `localSettings` | `.claude/settings.local.json` |2122| `localSettings` | `.claude/settings.local.json` |

2115| `projectSettings` | `.claude/settings.json` |2123| `projectSettings` | `.claude/settings.json` |

2116| `userSettings` | `~/.claude/settings.json` |2124| `userSettings` | `~/.claude/settings.json` |

2117 2125 

2118Ein Hook kann eines der `permission_suggestions` widerspiegeln, die er als seine eigene `updatedPermissions` Ausgabe erhalten hat.2126Ein Hook kann einen der empfangenen `permission_suggestions` als eigene `updatedPermissions`-Ausgabe zurückgeben.

2119 2127 

2120<h3 id="posttooluse">2128<h3 id="posttooluse">

2121 PostToolUse2129 PostToolUse

2122</h3>2130</h3>

2123 2131 

2124Wird unmittelbar nach erfolgreichem Abschluss eines Tools ausgeführt.2132Wird unmittelbar ausgeführt, nachdem ein Tool erfolgreich abgeschlossen wurde.

2125 2133 

2126Gleicht Tool-Namen ab, gleiche Werte wie PreToolUse.2134Matcht auf den Tool-Namen, mit denselben Werten wie PreToolUse.

2127 2135 

2128Gleichen Sie breiter ab, wenn der Tool-Name nicht der richtige Filter ist:2136Matchen Sie breiter, wenn der Tool-Name nicht der richtige Filter ist:

2129 2137 

2130* Um einen Hook nach erfolgreichem Abschluss eines beliebigen Tools auszuführen, weglassen Sie den `matcher` oder setzen Sie ihn auf `"*"`. Ihr Hook kann dann selbst entdecken, was sich geändert hat, z. B. durch Ausführung von `git status --porcelain`, das auch nicht verfolgte Dateien auflistet, die `git diff` verpasst. Für Tool-Aufrufe, die fehlschlagen, fügen Sie den gleichen Hook unter [PostToolUseFailure](#posttoolusefailure) hinzu.2138* Um einen Hook nach jedem erfolgreich abgeschlossenen Tool auszuführen, lassen Sie den `matcher` weg oder setzen Sie ihn auf `"*"`. Ihr Hook kann dann selbst ermitteln, was sich geändert hat, beispielsweise durch Ausführen von `git status --porcelain`, das auch nicht verfolgte Dateien auflistet, die `git diff` übersieht. Für fehlgeschlagene Tool-Aufrufe fügen Sie denselben Hook unter [PostToolUseFailure](#posttoolusefailure) hinzu.

2131* Um einen Hook auszuführen, wenn sich eine bestimmte Datei auf der Festplatte ändert, verwenden Sie [FileChanged](#filechanged). Claude Code führt keinen `PostToolUse` Hook aus, der `Edit|Write` abgleicht, wenn ein `Bash` Befehl oder ein Prozess außerhalb von Claude Code die gleiche Datei umschreibt.2139* Um einen Hook auszuführen, wenn sich eine bestimmte Datei auf der Festplatte ändert, unabhängig davon, wer sie geschrieben hat, verwenden Sie [FileChanged](#filechanged). Claude Code führt keinen `PostToolUse`-Hook mit dem Matcher `Edit|Write` aus, wenn ein `Bash`-Befehl oder ein Prozess außerhalb von Claude Code dieselbe Datei neu schreibt.

2132 2140 

2133<h4 id="posttooluse-input">2141<h4 id="posttooluse-input">

2134 PostToolUse-Eingabe2142 PostToolUse-Eingabe

2135</h4>2143</h4>

2136 2144 

2137`PostToolUse` Hooks werden ausgelöst, nachdem ein Tool bereits erfolgreich ausgeführt wurde. Die Eingabe umfasst sowohl `tool_input`, die an das Tool gesendeten Argumente, als auch `tool_response`, das Ergebnis, das es zurückgegeben hat. Das genaue Schema für beide hängt vom Tool ab. Datei-Tool-`tool_input` Pfade kommen im gleichen Format wie für [PreToolUse](#pretooluse-input) an: immer absolut, mit den nativen Trennzeichen der Plattform, daher Backslashes unter Windows. Für ein MCP-Tool trägt die Eingabe auch das [`mcp_server`](#pretooluse-input) Objekt.2145`PostToolUse`-Hooks werden ausgelöst, nachdem ein Tool bereits erfolgreich ausgeführt wurde. Die Eingabe enthält sowohl `tool_input`, die an das Tool gesendeten Argumente, als auch `tool_response`, das vom Tool zurückgegebene Ergebnis. Das genaue Schema beider Felder hängt vom Tool ab. Pfade in `tool_input` von Datei-Tools kommen im selben Format wie bei [PreToolUse](#pretooluse-input) an: immer absolut, mit den nativen Trennzeichen der Plattform, unter Windows also mit Backslashes. Bei einem MCP-Tool enthält die Eingabe außerdem das Objekt [`mcp_server`](#pretooluse-input).

2138 2146 

2139```json theme={null}2147```json theme={null}

2140{2148{


2159 2167 

2160| Feld | Beschreibung |2168| Feld | Beschreibung |

2161| :- | :- |2169| :- | :- |

2162| `duration_ms` | Optional. Tool-Ausführungszeit in Millisekunden. Schließt Zeit aus, die in Berechtigungsaufforderungen und PreToolUse-Hooks verbracht wird |2170| `duration_ms` | Optional. Ausführungszeit des Tools in Millisekunden. Schließt die Zeit in Berechtigungsabfragen und PreToolUse-Hooks aus |

2163 2171 

2164<h4 id="posttooluse-decision-control">2172<h4 id="posttooluse-decision-control">

2165 PostToolUse-Entscheidungskontrolle2173 PostToolUse-Entscheidungssteuerung

2166</h4>2174</h4>

2167 2175 

2168`PostToolUse` Hooks können Claude nach der Tool-Ausführung Feedback geben. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, kann Ihr Hook-Skript diese ereignisspezifischen Felder zurückgeben:2176`PostToolUse`-Hooks können Claude nach der Tool-Ausführung Feedback geben. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die allen Hooks zur Verfügung stehen, kann Ihr Hook-Skript diese ereignisspezifischen Felder zurückgeben:

2169 2177 

2170| Feld | Beschreibung |2178| Feld | Beschreibung |

2171| :- | :- |2179| :- | :- |

2172| `decision` | `"block"` fügt den `reason` neben dem Tool-Ergebnis hinzu. Claude sieht immer noch die ursprüngliche Ausgabe; um sie zu ersetzen, verwenden Sie `updatedToolOutput` |2180| `decision` | `"block"` fügt den `reason` neben dem Tool-Ergebnis hinzu. Claude sieht weiterhin die ursprüngliche Ausgabe; um sie zu ersetzen, verwenden Sie `updatedToolOutput` |

2173| `reason` | Erklärung, die Claude angezeigt wird, wenn `decision` `"block"` ist |2181| `reason` | Erklärung, die Claude angezeigt wird, wenn `decision` den Wert `"block"` hat |

2174| `additionalContext` | String, der zu Claudes Kontext neben dem Tool-Ergebnis hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |2182| `additionalContext` | Zeichenfolge, die Claudes Kontext zusammen mit dem Tool-Ergebnis hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

2175| `classifierContext` | Kurze Notiz über das Ergebnis dieses Aufrufs für den [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) Klassifizierer statt für Claude. Siehe [Ein Ergebnis für den Auto-Modus Klassifizierer kommentieren](#annotate-a-result-for-the-auto-mode-classifier). Erfordert Claude Code v2.1.236 oder später |2183| `classifierContext` | Kurze Notiz zum Ergebnis dieses Aufrufs, die für den Klassifikator des [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) statt für Claude bestimmt ist. Siehe [Ein Ergebnis für den Klassifikator des Auto-Modus annotieren](#annotate-a-result-for-the-auto-mode-classifier). Erfordert Claude Code v2.1.236 oder höher |

2176| `updatedToolOutput` | Ersetzt die Ausgabe des Tools mit dem bereitgestellten Wert, bevor er an Claude gesendet wird. Der Wert muss der Ausgabeform des Tools entsprechen |2184| `updatedToolOutput` | Ersetzt die Ausgabe des Tools durch den angegebenen Wert, bevor sie an Claude gesendet wird. Der Wert muss der Ausgabestruktur des Tools entsprechen |

2177| `updatedMCPToolOutput` | Ersetzt die Ausgabe für [MCP-Tools](#match-mcp-tools) nur. Bevorzugen Sie `updatedToolOutput`, das für alle Tools funktioniert |2185| `updatedMCPToolOutput` | Ersetzt die Ausgabe nur für [MCP-Tools](#match-mcp-tools). Verwenden Sie vorzugsweise `updatedToolOutput`, das für alle Tools funktioniert |

2178 2186 

2179Das Beispiel unten ersetzt die Ausgabe eines `Bash` Aufrufs. Der Ersatzwert entspricht der Ausgabeform des `Bash` Tools:2187Das folgende Beispiel ersetzt die Ausgabe eines `Bash`-Aufrufs. Der Ersatzwert entspricht der Ausgabestruktur des `Bash`-Tools:

2180 2188 

2181```json theme={null}2189```json theme={null}

2182{2190{


2194```2202```

2195 2203 

2196<Warning>2204<Warning>

2197 `updatedToolOutput` ändert nur das, was Claude sieht. Das Tool hat bereits ausgeführt, wenn der Hook ausgelöst wird, daher haben alle geschriebenen Dateien, ausgeführten Befehle oder gesendeten Netzwerkanfragen bereits Auswirkungen. Telemetrie wie OpenTelemetry-Tool-Spans und Analyseereignisse erfassen auch die ursprüngliche Ausgabe, bevor der Hook ausgeführt wird. Um einen Tool-Aufruf vor der Ausführung zu verhindern oder zu ändern, verwenden Sie stattdessen einen [PreToolUse](#pretooluse) Hook.2205 `updatedToolOutput` ändert nur, was Claude sieht. Das Tool wurde bereits ausgeführt, wenn der Hook ausgelöst wird, sodass geschriebene Dateien, ausgeführte Befehle oder gesendete Netzwerkanfragen bereits wirksam sind. Telemetrie wie OpenTelemetry-Tool-Spans und Analyseereignisse erfasst ebenfalls die ursprüngliche Ausgabe, bevor der Hook ausgeführt wird. Um einen Tool-Aufruf vor seiner Ausführung zu verhindern oder zu ändern, verwenden Sie stattdessen einen [PreToolUse](#pretooluse)-Hook.

2198 2206 

2199 Der Ersatzwert muss der Ausgabeform des Tools entsprechen. Integrierte Tools geben strukturierte Objekte statt Klartext zurück. Beispielsweise gibt `Bash` ein Objekt mit `stdout`, `stderr`, `interrupted` und `isImage` Feldern zurück. Für integrierte Tools wird ein Wert, der nicht dem Ausgabeschema des Tools entspricht, ignoriert und die ursprüngliche Ausgabe wird verwendet. MCP-Tool-Ausgabe wird ohne Schema-Validierung durchgelassen. Das Entfernen von Fehlerdetails, die Claude benötigt, kann dazu führen, dass er unter einer falschen Annahme fortfährt.2207 Der Ersatzwert muss der Ausgabestruktur des Tools entsprechen. Integrierte Tools geben strukturierte Objekte statt einfacher Zeichenfolgen zurück. Beispielsweise gibt `Bash` ein Objekt mit den Feldern `stdout`, `stderr`, `interrupted` und `isImage` zurück. Bei integrierten Tools wird ein Wert, der nicht dem Ausgabeschema des Tools entspricht, ignoriert und die ursprüngliche Ausgabe verwendet. Die Ausgabe von MCP-Tools wird ohne Schemavalidierung durchgereicht. Das Entfernen von Fehlerdetails, die Claude benötigt, kann dazu führen, dass Claude auf Basis einer falschen Annahme weiterarbeitet.

2200</Warning>2208</Warning>

2201 2209 

2202<h4 id="annotate-a-result-for-the-auto-mode-classifier">2210<h4 id="annotate-a-result-for-the-auto-mode-classifier">

2203 Ein Ergebnis für den Auto-Modus Klassifizierer kommentieren2211 Ein Ergebnis für den Klassifikator des Auto-Modus annotieren

2204</h4>2212</h4>

2205 2213 

2206Geben Sie `classifierContext` zurück, um eine kurze Notiz über das Ergebnis des Tool-Aufrufs an den [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) Klassifizierer zu senden, anstatt an Claude. Der Klassifizierer [empfängt niemals Tool-Ergebnisse selbst](/docs/de/permission-modes#how-the-classifier-evaluates-actions), daher ist dieses Feld die unterstützte Methode, um ihm etwas über das, was ein Aufruf zurückgegeben hat, zu sagen, bevor er spätere Aktionen überprüft. Das Feld erfordert Claude Code v2.1.236 oder später.2214Geben Sie `classifierContext` zurück, um eine kurze Notiz zum Ergebnis des Tool-Aufrufs an den Klassifikator des [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) statt an Claude zu senden. Der Klassifikator [erhält niemals die Tool-Ergebnisse selbst](/docs/de/permission-modes#how-the-classifier-evaluates-actions), daher ist dieses Feld der unterstützte Weg, ihm etwas darüber mitzuteilen, was ein Aufruf zurückgegeben hat, bevor er spätere Aktionen prüft. Das Feld erfordert Claude Code v2.1.236 oder höher.

2207 2215 

2208Das Beispiel unten sagt dem Klassifizierer, woher die Ausgabe einer Abfrage stammt:2216Das folgende Beispiel teilt dem Klassifikator mit, woher die Ausgabe einer Abfrage stammt:

2209 2217 

2210```json theme={null}2218```json theme={null}

2211{2219{


2216}2224}

2217```2225```

2218 2226 

2219Wie viel Gewicht der Klassifizierer der Notiz gibt, hängt davon ab, wo Sie den Hook konfiguriert haben:2227Wie stark der Klassifikator die Notiz gewichtet, hängt davon ab, wo Sie den Hook konfiguriert haben:

2220 2228 

2221* **Hooks, die in Claude Code konfiguriert sind**: Für Hooks aus Einstellungsdateien, Plugins, Skills und Agent-Frontmatter behandelt der Klassifizierer die Notiz als nicht verifizierten, anwendungsbereitgestellten Kontext. Die Notiz stellt niemals Benutzerabsicht fest, und wenn sie behauptet, Sie hätten etwas genehmigt oder angefordert, überprüft der Klassifizierer diese Behauptung gegen Ihre eigenen Nachrichten in der Konversation2229* **In Claude Code konfigurierte Hooks**: Bei Hooks aus Einstellungsdateien, Plugins, Skills und Agenten-Frontmatter behandelt der Klassifikator die Notiz als nicht verifizierten, von der Anwendung bereitgestellten Kontext. Die Notiz begründet niemals eine Benutzerabsicht, und wenn sie behauptet, Sie hätten etwas genehmigt oder angefordert, prüft der Klassifikator diese Behauptung anhand Ihrer eigenen Nachrichten in der Konversation

2222* **In-Process Agent SDK Callbacks**: Wenn eine Anwendung, die Claude Code einbettet, den Hook als [TypeScript SDK Callback](/docs/de/agent-sdk/hooks) registriert und die Notiz während der Live-Sitzung zurückgibt, kann der Klassifizierer eine Benutzeraussage, die in der Notiz weitergeleitet wird, als Benutzerabsicht gewichten. Eine solche Aussage kann eine Zustimmungsanforderung erfüllen, die der Klassifizierer von einer Nachricht akzeptieren würde, die Sie senden, aber sie hebt niemals eine Blockierung auf, die Ihre eigene Nachricht auch nicht aufheben könnte. Nach einer Sitzungswiederaufnahme behandelt Claude Code wiederhergestellte Notizen als nicht verifizierten Kontext. Wenn Hooks aus beiden Gruppen den gleichen Aufruf kommentieren, behandelt der Klassifizierer die kombinierte Notiz als nicht verifizierten Kontext2230* **In-Process-Callbacks des Agent SDK**: Wenn eine Anwendung, die Claude Code einbettet, den Hook als [TypeScript-SDK-Callback](/docs/de/agent-sdk/hooks) registriert und die Notiz während der laufenden Sitzung zurückgibt, kann der Klassifikator eine in der Notiz weitergegebene Benutzeraussage als Benutzerabsicht werten. Eine solche Aussage kann eine Zustimmungsanforderung erfüllen, die der Klassifikator auch von einer von Ihnen gesendeten Nachricht akzeptieren würde, hebt aber niemals eine Blockierung auf, die auch Ihre eigene Nachricht nicht aufheben könnte. Nach dem Fortsetzen einer Sitzung behandelt Claude Code wiederhergestellte Notizen als nicht verifizierten Kontext. Wenn Hooks aus beiden Gruppen denselben Aufruf annotieren, behandelt der Klassifikator die kombinierte Notiz als nicht verifiziert

2223 2231 

2224Claude Code wendet diese Grenzen an, wenn die Notiz geliefert wird:2232Claude Code wendet beim Zustellen der Notiz diese Grenzen an:

2225 2233 

2226* **Länge**: Claude Code begrenzt die Notizen für einen Tool-Aufruf auf 2.000 Zeichen und schneidet den Rest ab. Die Grenze wird über jeden Hook geteilt, der auf diesen Aufruf antwortet2234* **Länge**: Claude Code begrenzt die Notizen für einen Tool-Aufruf auf 2.000 Zeichen und schneidet den Rest ab. Die Grenze gilt gemeinsam für alle Hooks, die auf diesen Aufruf antworten

2227* **Nur synchrone Antworten**: Claude Code ignoriert das Feld in der Antwort eines Hooks, der [im Hintergrund ausgeführt wird](#run-hooks-in-the-background), da diese Antwort nach der Aufzeichnung des Tool-Ergebnisses ankommt2235* **Nur synchrone Antworten**: Claude Code ignoriert das Feld in der Antwort eines Hooks, der [im Hintergrund ausgeführt wird](#run-hooks-in-the-background), da diese Antwort eintrifft, nachdem Claude Code das Tool-Ergebnis aufgezeichnet hat

2228* **Aufrufe, die der Klassifizierer nicht aufzeichnet**: Das Transkript des Klassifizierers lässt schreibgeschützte Lookups wie Dateilesevorgänge und Suchen aus. Claude Code verwirft eine Notiz, die an einen dieser Aufrufe angehängt ist2236* **Aufrufe, die der Klassifikator nicht aufzeichnet**: Das Transkript des Klassifikators lässt nur lesende Abfragen wie Dateilesevorgänge und Suchen aus. Claude Code verwirft eine Notiz, die an einen dieser Aufrufe angehängt ist

2229* **Interaktion mit Umschreibungen**: Wenn die Notiz Ausgabe beschreibt, die Sie mit `updatedToolOutput` ersetzen, geben Sie beide Felder in der gleichen Hook-Antwort zurück. Claude Code verwirft die Notiz, wenn diese Umschreibung abgelehnt wird oder eine andere Hook-Umschreibung sie ersetzt. Claude Code liefert eine Notiz, die Sie ohne Umschreibung zurückgeben, auch wenn ein anderer Hook die Ausgabe umschreibt2237* **Zusammenspiel mit Umschreibungen**: Wenn die Notiz eine Ausgabe beschreibt, die Sie mit `updatedToolOutput` ersetzen, geben Sie beide Felder in derselben Hook-Antwort zurück. Claude Code verwirft die Notiz, wenn diese Umschreibung abgelehnt wird oder die Umschreibung eines anderen Hooks sie ersetzt. Eine Notiz, die Sie ohne Umschreibung zurückgeben, stellt Claude Code auch dann zu, wenn ein anderer Hook die Ausgabe umschreibt

2230 2238 

2231<Warning>2239<Warning>

2232 Der Klassifizierer liest Inhalte, die Sie in `classifierContext` einfügen, als Informationen von der Anwendung, die die Sitzung hostet, daher kopieren Sie nicht vertrauenswürdige Tool-Ausgabe oder Text von Drittanbietern darin. Halten Sie die Notiz auf eine kurze Aussage über diesen einen Aufruf, wie eine Tatsache über seinen Ursprung oder eine Benutzeraussage darüber; verwenden Sie das Feld nicht, um nicht verwandte Nachrichten oder einen Strom von Ereignissen zu liefern.2240 Der Klassifikator liest Inhalte, die Sie in `classifierContext` ablegen, als Informationen der Anwendung, die die Sitzung hostet. Kopieren Sie daher keine nicht vertrauenswürdige Tool-Ausgabe oder Texte von Drittanbietern hinein. Beschränken Sie die Notiz auf eine kurze Aussage zu diesem einen Aufruf, etwa eine Tatsache über seine Herkunft oder eine Benutzeraussage dazu; verwenden Sie das Feld nicht, um unzusammenhängende Nachrichten oder einen Strom von Ereignissen zu übermitteln.

2233</Warning>2241</Warning>

2234 2242 

2235<h3 id="posttoolusefailure">2243<h3 id="posttoolusefailure">

2236 PostToolUseFailure2244 PostToolUseFailure

2237</h3>2245</h3>

2238 2246 

2239Wird ausgeführt, wenn ein Tool, das mit der Ausführung begonnen hat, fehlschlägt: Das Tool warf einen Fehler oder ein MCP-Tool gab ein Fehlerergebnis zurück. Verwenden Sie dies, um Fehler zu protokollieren, Warnungen zu senden oder korrektes Feedback an Claude zu geben.2247Wird ausgeführt, wenn ein Tool, dessen Ausführung begonnen hat, fehlschlägt: Das Tool hat einen Fehler ausgelöst, oder ein MCP-Tool hat ein Fehlerergebnis zurückgegeben. Verwenden Sie dies, um Fehler zu protokollieren, Warnungen zu senden oder Claude korrigierendes Feedback zu geben.

2240 2248 

2241Gleicht Tool-Namen ab, gleiche Werte wie PreToolUse.2249Matcht auf den Tool-Namen, mit denselben Werten wie PreToolUse.

2242 2250 

2243<Note>2251<Note>

2244 Dieses Ereignis wird nicht für Tool-Aufrufe ausgelöst, die vor der Ausführung abgelehnt werden: Ein unbekannter Tool-Name, Eingabe, die Schema oder Tool-spezifische Validierung nicht besteht, oder eine Berechtigungsverweigerung. Validierungsablehnungen werden als `tool_use_error` Ergebnisse zurückgegeben und treten auf, bevor Hooks ausgeführt werden, daher lösen sie weder `PreToolUse` noch dieses Ereignis aus. Berechtigungsverweigerungen lösen `PreToolUse` aus, aber nicht dieses Ereignis; siehe [PermissionDenied](#permissiondenied).2252 Dieses Ereignis wird nicht für Tool-Aufrufe ausgelöst, die vor der Ausführung abgelehnt werden: ein unbekannter Tool-Name, eine Eingabe, die die Schema- oder tool-spezifische Validierung nicht besteht, oder eine verweigerte Berechtigung. Validierungsablehnungen werden als `tool_use_error`-Ergebnisse zurückgegeben und erfolgen, bevor Hooks ausgeführt werden, sodass sie weder `PreToolUse` noch `PostToolUseFailure` auslösen. Verweigerte Berechtigungen lösen `PreToolUse` aus, nicht aber dieses Ereignis; siehe [PermissionDenied](#permissiondenied).

2245</Note>2253</Note>

2246 2254 

2247<h4 id="posttoolusefailure-input">2255<h4 id="posttoolusefailure-input">

2248 PostToolUseFailure-Eingabe2256 PostToolUseFailure-Eingabe

2249</h4>2257</h4>

2250 2258 

2251PostToolUseFailure-Hooks erhalten die gleichen `tool_name` und `tool_input` Felder wie PostToolUse, zusammen mit Fehlerinformationen als Top-Level-Felder. Für ein MCP-Tool erhalten sie auch das [`mcp_server`](#pretooluse-input) Objekt. Beispielsweise könnte ein fehlgeschlagener `npm test` Befehl liefern:2259PostToolUseFailure-Hooks erhalten dieselben Felder `tool_name` und `tool_input` wie PostToolUse, zusammen mit Fehlerinformationen als Felder der obersten Ebene. Bei einem MCP-Tool erhalten sie außerdem das Objekt [`mcp_server`](#pretooluse-input). Ein fehlgeschlagener `npm test`-Befehl könnte beispielsweise Folgendes liefern:

2252 2260 

2253```json theme={null}2261```json theme={null}

2254{2262{


2271 2279 

2272| Feld | Beschreibung |2280| Feld | Beschreibung |

2273| :- | :- |2281| :- | :- |

2274| `error` | String, der beschreibt, was schief gelaufen ist. Das Format hängt vom Tool ab, das fehlgeschlagen ist |2282| `error` | Zeichenfolge, die beschreibt, was schiefgelaufen ist. Das Format hängt vom fehlgeschlagenen Tool ab |

2275| `is_interrupt` | Optionaler Boolean. True, wenn der Fehler Claude Code als Abbruch erreichte, anstatt als Fehler, den das Tool meldete. Das Abbrechen eines laufenden Tools löst diesen Hook nicht aus; das Tool-Ergebnis trägt die Abbruchmeldung statt |2283| `is_interrupt` | Optionaler Boolean. True, wenn der Fehler Claude Code als Abbruch erreicht hat und nicht als vom Tool gemeldeter Fehler. Das Abbrechen eines laufenden Tools löst diesen Hook nicht aus; stattdessen enthält das Tool-Ergebnis die Unterbrechungsmeldung |

2276| `duration_ms` | Optional. Tool-Ausführungszeit in Millisekunden. Schließt Zeit aus, die in Berechtigungsaufforderungen und PreToolUse-Hooks verbracht wird |2284| `duration_ms` | Optional. Ausführungszeit des Tools in Millisekunden. Schließt die Zeit in Berechtigungsabfragen und PreToolUse-Hooks aus |

2277 2285 

2278Die `error` Zeichenkette ist im Allgemeinen der gleiche Text, den Claude als Ergebnis des fehlgeschlagenen Tools empfängt. Sein Format variiert je nach Tool und Fehler. Schlüsseln Sie Ihren Hook auf `tool_name`, `is_interrupt` und die erste Zeile `Exit code N`; behandeln Sie den Rest der Zeichenkette als Anzeigetext, nicht als stabiles Format.2286Die Zeichenfolge `error` ist im Allgemeinen derselbe Text, den Claude als Ergebnis des fehlgeschlagenen Tools erhält. Ihr Format variiert je nach Tool und Fehler. Richten Sie Ihren Hook an `tool_name`, `is_interrupt` und der ersten Zeile `Exit code N` aus; behandeln Sie den Rest der Zeichenfolge als Anzeigetext, nicht als stabiles Format.

2279 2287 

2280* Für Bash und PowerShell erzeugt ein Befehl, der ausgeführt wurde und beendet wurde, eine erste Zeile `Exit code N`, dann jede Ausgabe, die der Befehl als einen Block mit stdout und stderr vermischt erzeugte2288* Bei Bash und PowerShell erzeugt ein Befehl, der ausgeführt und beendet wurde, eine erste Zeile `Exit code N`, gefolgt von der gesamten Ausgabe des Befehls als ein Block, in dem stdout und stderr verschachtelt sind

2281* Eine Nutzlast kann auch eine bloße Fehlermeldung ohne Exit-Code-Zeile tragen, wenn Claude Code den Shell-Prozess selbst nicht starten konnte2289* Eine Payload kann auch eine reine Fehlermeldung ohne Exit-Code-Zeile enthalten, wenn Claude Code den Shell-Prozess selbst nicht starten konnte

2282* Claude Code schneidet lange Zeichenketten in der Mitte um einen `... [N characters truncated] ...` Marker ab und kann Zeilen einfügen, wie `Command timed out after 2m 0s`2290* Claude Code kürzt lange Zeichenfolgen in der Mitte um eine Markierung `... [N characters truncated] ...` und kann eigene Zeilen einfügen, etwa `Command timed out after 2m 0s`

2283 2291 

2284<h4 id="posttoolusefailure-decision-control">2292<h4 id="posttoolusefailure-decision-control">

2285 PostToolUseFailure-Entscheidungskontrolle2293 PostToolUseFailure-Entscheidungssteuerung

2286</h4>2294</h4>

2287 2295 

2288`PostToolUseFailure` Hooks können Claude nach einem Tool-Fehler Kontext geben. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, kann Ihr Hook-Skript diese ereignisspezifischen Felder zurückgeben:2296`PostToolUseFailure`-Hooks können Claude nach einem Tool-Fehler Kontext liefern. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die allen Hooks zur Verfügung stehen, kann Ihr Hook-Skript diese ereignisspezifischen Felder zurückgeben:

2289 2297 

2290| Feld | Beschreibung |2298| Feld | Beschreibung |

2291| :- | :- |2299| :- | :- |

2292| `additionalContext` | String, der zu Claudes Kontext neben dem Fehler hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |2300| `additionalContext` | Zeichenfolge, die Claudes Kontext zusammen mit dem Fehler hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

2293 2301 

2294```json theme={null}2302```json theme={null}

2295{2303{


2304 PostToolBatch2312 PostToolBatch

2305</h3>2313</h3>

2306 2314 

2307Wird einmal ausgeführt, nachdem jeder Tool-Aufruf in einem Batch aufgelöst wurde, bevor Claude Code die nächste Anfrage an das Modell sendet. `PostToolUse` wird einmal pro Tool ausgeführt, was bedeutet, dass es gleichzeitig ausgeführt wird, wenn Claude parallele Tool-Aufrufe macht. `PostToolBatch` wird genau einmal mit dem vollständigen Batch ausgeführt, daher ist es der richtige Ort, um Kontext einzufügen, der von der Menge der Tools abhängt, die ausgeführt wurden, anstatt von einem einzelnen Tool. Es gibt keinen Matcher für dieses Ereignis.2315Wird einmal ausgeführt, nachdem alle Tool-Aufrufe in einem Batch abgeschlossen sind, bevor Claude Code die nächste Anfrage an das Modell sendet. `PostToolUse` wird einmal pro Tool ausgelöst, was bedeutet, dass es parallel ausgelöst wird, wenn Claude parallele Tool-Aufrufe durchführt. `PostToolBatch` wird genau einmal mit dem vollständigen Batch ausgelöst und ist daher der richtige Ort, um Kontext einzufügen, der von der Gesamtheit der ausgeführten Tools abhängt und nicht von einem einzelnen Tool. Für dieses Ereignis gibt es keinen Matcher.

2308 2316 

2309<h4 id="posttoolbatch-input">2317<h4 id="posttoolbatch-input">

2310 PostToolBatch-Eingabe2318 PostToolBatch-Eingabe

2311</h4>2319</h4>

2312 2320 

2313Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten PostToolBatch-Hooks `tool_calls`, ein Array, das jeden Tool-Aufruf im Batch beschreibt:2321Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten PostToolBatch-Hooks `tool_calls`, ein Array, das jeden Tool-Aufruf im Batch beschreibt:

2314 2322 

2315```json theme={null}2323```json theme={null}

2316{2324{


2336}2344}

2337```2345```

2338 2346 

2339`tool_response` enthält den gleichen Inhalt, den das Modell im entsprechenden `tool_result` Block empfängt. Der Wert ist eine serialisierte Zeichenkette oder ein Content-Block-Array, genau wie das Tool es ausgegeben hat. Für `Read` bedeutet das Zeilennummern-Präfix-Text statt rohe Dateiinhalte. Antworten können groß sein, daher analysieren Sie nur die Felder, die Sie benötigen.2347`tool_response` enthält denselben Inhalt, den das Modell im entsprechenden `tool_result`-Block erhält. Der Wert ist eine serialisierte Zeichenfolge oder ein Content-Block-Array, genau so, wie das Tool ihn ausgegeben hat. Für `Read` bedeutet das Text mit vorangestellten Zeilennummern statt des rohen Dateiinhalts. Antworten können groß sein, parsen Sie daher nur die Felder, die Sie benötigen.

2340 2348 

2341<Note>2349<Note>

2342 Die `tool_response` Form unterscheidet sich von der von `PostToolUse`. `PostToolUse` übergibt das strukturierte `Output` Objekt des Tools, wie `{filePath: "...", type: "create"}` für `Write`; `PostToolBatch` übergibt den serialisierten `tool_result` Inhalt, den das Modell sieht.2350 Die Struktur von `tool_response` unterscheidet sich von der in `PostToolUse`. `PostToolUse` übergibt das strukturierte `Output`-Objekt des Tools, etwa `{filePath: "...", type: "create"}` für `Write`; `PostToolBatch` übergibt den serialisierten `tool_result`-Inhalt, den das Modell sieht.

2343</Note>2351</Note>

2344 2352 

2345<h4 id="posttoolbatch-decision-control">2353<h4 id="posttoolbatch-decision-control">

2346 PostToolBatch-Entscheidungskontrolle2354 PostToolBatch-Entscheidungssteuerung

2347</h4>2355</h4>

2348 2356 

2349`PostToolBatch` Hooks können Kontext für Claude einfügen. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, kann Ihr Hook-Skript diese ereignisspezifischen Felder zurückgeben:2357`PostToolBatch`-Hooks können Kontext für Claude einfügen. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die allen Hooks zur Verfügung stehen, kann Ihr Hook-Skript diese ereignisspezifischen Felder zurückgeben:

2350 2358 

2351| Feld | Beschreibung |2359| Feld | Beschreibung |

2352| :- | :- |2360| :- | :- |

2353| `additionalContext` | Kontext-String, der einmal vor dem nächsten Modell-Aufruf eingefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) für Lieferdetails, was Sie darin einfügen sollten und wie fortgesetzte Sitzungen vergangene Werte handhaben |2361| `additionalContext` | Kontext-Zeichenfolge, die einmal vor dem nächsten Modellaufruf eingefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) für Details zur Zustellung, zum geeigneten Inhalt und dazu, wie fortgesetzte Sitzungen frühere Werte behandeln |

2354 2362 

2355```json theme={null}2363```json theme={null}

2356{2364{


2361}2369}

2362```2370```

2363 2371 

2364Das Zurückgeben von `decision: "block"` oder `continue: false` stoppt die agentengesteuerte Schleife vor dem nächsten Modell-Aufruf. Die Blockierungsmeldung kommt aus dem JSON `reason` oder `stopReason` oder aus stderr bei Exit 2. Sie sehen sie als Warnung im Transkript und sie bleibt in der Konversation, daher sieht Claude sie, wenn die Konversation fortgesetzt wird.2372Die Rückgabe von `decision: "block"` oder `continue: false` stoppt die Agentenschleife vor dem nächsten Modellaufruf. Die Blockierungsmeldung stammt aus dem JSON-Feld `reason` oder `stopReason` oder bei Exit-Code 2 aus stderr. Sie sehen sie als Warnung im Transkript, und sie bleibt in der Konversation, sodass Claude sie sieht, wenn die Konversation fortgesetzt wird.

2365 2373 

2366<h3 id="permissiondenied">2374<h3 id="permissiondenied">

2367 PermissionDenied2375 PermissionDenied

2368</h3>2376</h3>

2369 2377 

2370Wird ausgeführt, wenn [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) einen Tool-Aufruf verweigert, einschließlich wenn er ihn verweigert, ohne ein Klassifizierer-Urteil zu haben, weil [eine Sicherheitsprüfung, die vom Auto-Modus getrennt ist, die Anfrage des Klassifizierers selbst verweigerte](/docs/de/errors#auto-mode-cannot-determine-the-safety-of-an-action) oder seine Antwort nicht analysiert wurde. Dieser Hook wird nur im Auto-Modus ausgeführt: Er wird nicht ausgeführt, wenn Sie einen Berechtigungsdialog manuell verweigern, wenn ein `PreToolUse` Hook einen Aufruf blockiert oder wenn eine `deny` Regel übereinstimmt. Verwenden Sie ihn, um Verweigerungen zu protokollieren, die Konfiguration anzupassen oder dem Modell zu sagen, dass es den Tool-Aufruf möglicherweise erneut versuchen kann.2378Wird ausgeführt, wenn der [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) einen Tool-Aufruf ablehnt, auch wenn er ohne Urteil des Klassifikators ablehnt, weil [eine vom Auto-Modus unabhängige Sicherheitsprüfung die Anfrage des Klassifikators selbst abgelehnt hat](/docs/de/errors#auto-mode-cannot-determine-the-safety-of-an-action) oder seine Antwort nicht geparst werden konnte. Dieser Hook wird nur im Auto-Modus ausgelöst: Er wird nicht ausgeführt, wenn Sie einen Berechtigungsdialog manuell ablehnen, wenn ein `PreToolUse`-Hook einen Aufruf blockiert oder wenn eine `deny`-Regel zutrifft. Verwenden Sie ihn, um Ablehnungen zu protokollieren, die Konfiguration anzupassen oder dem Modell mitzuteilen, dass es den Tool-Aufruf erneut versuchen darf.

2371 2379 

2372Gleicht Tool-Namen ab, gleiche Werte wie PreToolUse.2380Matcht auf den Tool-Namen, mit denselben Werten wie PreToolUse.

2373 2381 

2374<h4 id="permissiondenied-input">2382<h4 id="permissiondenied-input">

2375 PermissionDenied-Eingabe2383 PermissionDenied-Eingabe

2376</h4>2384</h4>

2377 2385 

2378Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten PermissionDenied-Hooks `tool_name`, `tool_input`, `tool_use_id` und `reason`. Für ein MCP-Tool erhalten sie auch das [`mcp_server`](#pretooluse-input) Objekt.2386Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten PermissionDenied-Hooks `tool_name`, `tool_input`, `tool_use_id` und `reason`. Bei einem MCP-Tool erhalten sie außerdem das Objekt [`mcp_server`](#pretooluse-input).

2379 2387 

2380```json theme={null}2388```json theme={null}

2381{2389{


2396 2404 

2397| Feld | Beschreibung |2405| Feld | Beschreibung |

2398| :- | :- |2406| :- | :- |

2399| `reason` | Der Ablehnungsgrund. Für ein Klassifizierer-Urteil benennt es in den meisten Sitzungen die übereinstimmende Regel in eckigen Klammern, wie `[Data Exfiltration]`; siehe [Verweigerungen überprüfen](/docs/de/auto-mode-config#review-denials) für die anderen Formen. Für eine [Verweigerung ohne Urteil](#permissiondenied-decision-control) beginnt sie mit `Auto mode could not evaluate this action and is blocking it for safety`. Für eine Verweigerung, weil das Klassifizierer-Modell nicht verfügbar war, ist es der feste Text `Classifier unavailable` |2407| `reason` | Der Ablehnungsgrund. Bei einem Urteil des Klassifikators nennt er in den meisten Sitzungen die zutreffende Regel in eckigen Klammern, etwa `[Data Exfiltration]`; siehe [Ablehnungen prüfen](/docs/de/auto-mode-config#review-denials) für die anderen Formen. Bei einer [Ablehnung ohne Urteil](#permissiondenied-decision-control) beginnt er mit `Auto mode could not evaluate this action and is blocking it for safety`. Bei einer Ablehnung, weil das Klassifikatormodell nicht verfügbar war, ist er der feste Text `Classifier unavailable` |

2400 2408 

2401<h4 id="permissiondenied-decision-control">2409<h4 id="permissiondenied-decision-control">

2402 PermissionDenied-Entscheidungskontrolle2410 PermissionDenied-Entscheidungssteuerung

2403</h4>2411</h4>

2404 2412 

2405PermissionDenied-Hooks können dem Modell sagen, dass es den verweigerten Tool-Aufruf möglicherweise erneut versuchen kann. Geben Sie ein JSON-Objekt mit `hookSpecificOutput.retry` auf `true` zurück:2413PermissionDenied-Hooks können dem Modell mitteilen, dass es den abgelehnten Tool-Aufruf erneut versuchen darf. Geben Sie ein JSON-Objekt zurück, in dem `hookSpecificOutput.retry` auf `true` gesetzt ist:

2406 2414 

2407```json theme={null}2415```json theme={null}

2408{2416{


2413}2421}

2414```2422```

2415 2423 

2416Wenn `retry` `true` ist, fügt Claude Code eine Nachricht zur Konversation hinzu, die dem Modell sagt, dass es den Tool-Aufruf möglicherweise erneut versuchen kann. Claude Code kehrt die Verweigerung selbst nicht um. Wenn Ihr Hook kein JSON zurückgibt oder `retry: false` zurückgibt, bleibt die Verweigerung bestehen und das Modell empfängt die ursprüngliche Ablehnungsmeldung.2424Wenn `retry` den Wert `true` hat, fügt Claude Code der Konversation eine Nachricht hinzu, die dem Modell mitteilt, dass es den Tool-Aufruf erneut versuchen darf. Claude Code hebt die Ablehnung selbst nicht auf. Wenn Ihr Hook kein JSON oder `retry: false` zurückgibt, bleibt die Ablehnung bestehen und das Modell erhält die ursprüngliche Ablehnungsnachricht.

2417 2425 

2418Claude Code ignoriert `retry: true`, wenn der Klassifizierer [kein Urteil über die Aktion erzeugt hat](/docs/de/errors#auto-mode-cannot-determine-the-safety-of-an-action): Seine Antwort analysierte nicht oder eine Sicherheitsprüfung, die vom Auto-Modus getrennt ist, verweigerte die Anfrage des Klassifizierers. Für diese Verweigerungen sagt Claude Code dem Modell in der Ablehnungsmeldung bereits, ob es später erneut versuchen soll oder weitermachen soll.2426Claude Code ignoriert `retry: true`, wenn der Klassifikator [kein Urteil über die Aktion](/docs/de/errors#auto-mode-cannot-determine-the-safety-of-an-action) gefällt hat: Seine Antwort konnte nicht geparst werden, oder eine vom Auto-Modus unabhängige Sicherheitsprüfung hat die Anfrage des Klassifikators selbst abgelehnt. Bei diesen Ablehnungen teilt Claude Code dem Modell bereits in der Ablehnungsnachricht mit, ob es später erneut versuchen oder weitermachen soll.

2419 2427 

2420<h3 id="notification">2428<h3 id="notification">

2421 Notification2429 Notification

2422</h3>2430</h3>

2423 2431 

2424Wird ausgeführt, wenn Claude Code Benachrichtigungen sendet. Gleicht Benachrichtigungstyp ab. Weglassen Sie den Matcher, um Hooks für alle Benachrichtigungstypen auszuführen.2432Wird ausgeführt, wenn Claude Code Benachrichtigungen sendet. Matcht auf den Benachrichtigungstyp. Lassen Sie den Matcher weg, um Hooks für alle Benachrichtigungstypen auszuführen.

2425 2433 

2426Sie erhalten diese Hook-Ereignisse auch mit ausgeschalteten Desktop-Benachrichtigungen: Die `preferredNotifChannel` Einstellung, einschließlich `notifications_disabled`, ändert nur, wie Sie benachrichtigt werden, nicht ob Ihr Hook ausgeführt wird.2434Sie erhalten diese Hook-Ereignisse auch bei deaktivierten Desktop-Benachrichtigungen: Die Einstellung `preferredNotifChannel`, einschließlich `notifications_disabled`, ändert nur, wie Sie benachrichtigt werden, nicht, ob Ihr Hook ausgeführt wird.

2427 2435 

2428| Matcher | Wann wird es ausgelöst |2436| Matcher | Wann er ausgelöst wird |

2429| :- | :- |2437| :- | :- |

2430| `permission_prompt` | Claude benötigt Ihre Genehmigung zur Verwendung eines Tools oder einer Sandbox-Anfrage einer [Netzwerkanfrage](/docs/de/sandboxing#network-isolation), und die Aufforderung hat etwa sechs Sekunden gewartet |2438| `permission_prompt` | Claude benötigt Ihre Genehmigung für eine Tool-Nutzung oder die [Netzwerkanfrage](/docs/de/sandboxing#network-isolation) eines in einer Sandbox ausgeführten Befehls, und die Abfrage wartet seit etwa sechs Sekunden |

2431| `idle_prompt` | Claude hat vor etwa 60 Sekunden geantwortet und Sie haben seitdem nicht eingegeben |2439| `idle_prompt` | Claude hat vor etwa 60 Sekunden die Antwort beendet, und Sie haben seitdem nichts eingegeben |

2432| `auth_success` | Authentifizierung wird abgeschlossen |2440| `auth_success` | Die Authentifizierung ist abgeschlossen |

2433| `elicitation_dialog` | Ein MCP-Server öffnet ein Elicitierungsformular und Sie haben etwa sechs Sekunden nicht eingegeben |2441| `elicitation_dialog` | Ein MCP-Server öffnet ein Elicitation-Formular, und Sie haben seit etwa sechs Sekunden nichts eingegeben |

2434| `elicitation_url_dialog` | Ein MCP-Server fordert Sie auf, eine Browser-URL zu öffnen und Sie haben etwa sechs Sekunden nicht eingegeben |2442| `elicitation_url_dialog` | Ein MCP-Server fordert Sie auf, eine Browser-URL zu öffnen, und Sie haben seit etwa sechs Sekunden nichts eingegeben |

2435| `elicitation_complete` | Ein MCP-Server meldet, dass eine [URL-Modus-Elicitierung](#elicitation-input) abgeschlossen ist |2443| `elicitation_complete` | Ein MCP-Server meldet, dass eine [Elicitation im URL-Modus](#elicitation-input) abgeschlossen ist |

2436| `elicitation_response` | Eine MCP-Elicitierungs-Antwort wird an den Server zurückgesendet |2444| `elicitation_response` | Eine MCP-Elicitation-Antwort wird an den Server zurückgesendet |

2437| `agent_needs_input` | Eine Hintergrund-Sitzung beginnt, auf Ihre Eingabe zu warten, während [Agent-Ansicht](/docs/de/agent-view) in einem Terminal offen ist. Wird auch ausgelöst, wenn eine Terminal-Sitzung Ihnen eine [Agent-Team-Teamkollegen-Terminal-Setup-Frage](/docs/de/agent-teams#choose-a-display-mode) oder eine Auto-Modus-Notiz über [Klassifizierer-Anfrage-Gebühren](/docs/de/auto-mode-classifier-billing) zeigt und Sie etwa sechs Sekunden nicht eingegeben haben |2445| `agent_needs_input` | Eine Hintergrundsitzung beginnt, auf Ihre Eingabe zu warten, während die [Agentenansicht](/docs/de/agent-view) in einem Terminal geöffnet ist. Wird auch ausgelöst, wenn eine Terminal-Sitzung Ihnen die [Frage eines Agent-Team-Teammitglieds zur Terminal-Einrichtung](/docs/de/agent-teams#choose-a-display-mode) oder den Hinweis des Auto-Modus zu [Gebühren für Klassifikatoranfragen](/docs/de/auto-mode-classifier-billing) anzeigt und Sie seit etwa sechs Sekunden nichts eingegeben haben |

2438| `agent_completed` | Eine Hintergrund-Sitzung wird abgeschlossen oder schlägt fehl. Wird nur ausgelöst, während [Agent-Ansicht](/docs/de/agent-view) in einem Terminal offen ist |2446| `agent_completed` | Eine Hintergrundsitzung wird beendet oder schlägt fehl. Wird nur ausgelöst, während die [Agentenansicht](/docs/de/agent-view) in einem Terminal geöffnet ist |

2439| `quota_auto_resume_fired` | Claude Code setzt Ihre Aufgabe fort, nachdem ein claude.ai Nutzungslimit sie pausiert hat: beim Reset oder früher, wenn Sie etwas in Claude Code tun, während Sie warten, wie das Hinzufügen von Nutzungsguthaben, das Upgrade Ihres Plans oder das Wechseln von Modellen, was Nutzung wieder verfügbar macht, mit der [Modell-Einstellung Ausnahme](/docs/de/interactive-mode#wait-for-a-usage-limit-to-reset) |2447| `quota_auto_resume_fired` | Claude Code setzt Ihre Aufgabe fort, nachdem ein claude.ai-Nutzungslimit sie pausiert hat: beim Zurücksetzen oder früher, wenn etwas, das Sie während der Wartezeit in Claude Code tun, etwa das Hinzufügen von Nutzungsguthaben, ein Upgrade Ihres Plans oder ein Modellwechsel, die Nutzung wieder verfügbar macht, mit der [Ausnahme für die Modelleinstellung](/docs/de/interactive-mode#wait-for-a-usage-limit-to-reset) |

2440| `quota_auto_resume_stale` | Ein claude.ai Nutzungslimit wurde zurückgesetzt, während Ihr Computer für mehr als etwa 30 Minuten schlief. Claude Code wartet darauf, dass Sie `Enter` drücken, anstatt fortzufahren. Nach einem kürzeren Schlaf wird es fortgesetzt und löst stattdessen `quota_auto_resume_fired` aus |2448| `quota_auto_resume_stale` | Ein claude.ai-Nutzungslimit wurde zurückgesetzt, während Ihr Computer länger als etwa 30 Minuten im Ruhezustand war. Claude Code wartet, bis Sie `Enter` drücken, anstatt fortzufahren. Nach einem kürzeren Ruhezustand fährt es fort und löst stattdessen `quota_auto_resume_fired` aus |

2441| `quota_auto_resume_disabled` | Claude Code beendet sein Warten auf ein claude.ai Nutzungslimit, ohne Ihre Aufgabe fortzusetzen: [`autoContinueAtUsageLimit`](/docs/de/settings-reference#autocontinueatusagelimit) wurde ausgeschaltet oder der Reset rückte während eines Wartens, das Claude Code selbst gestartet hat, mehr als 24 Stunden in die Zukunft, die fortgesetzte Aufgabe traf immer wieder das Limit oder die Fortsetzung wurde blockiert, bevor sie das Modell erreichte. Wird nicht ausgelöst, wenn Sie `Esc` oder `Ctrl+C` drücken oder **Nicht automatisch fortsetzen** wählen |2449| `quota_auto_resume_disabled` | Claude Code beendet seine Wartezeit auf ein claude.ai-Nutzungslimit, ohne Ihre Aufgabe fortzusetzen: [`autoContinueAtUsageLimit`](/docs/de/settings-reference#autocontinueatusagelimit) wurde ausgeschaltet oder das Zurücksetzen wurde während einer Wartezeit, die Claude Code selbst begonnen hat, um mehr als 24 Stunden verschoben, die fortgesetzte Aufgabe stieß wiederholt an das Limit, oder die Fortsetzung wurde blockiert, bevor sie das Modell erreichte. Wird nicht ausgelöst, wenn Sie `Esc` oder `Ctrl+C` drücken oder **Don't continue automatically** wählen |

2442 2450 

2443Die `quota_auto_resume_fired`, `quota_auto_resume_stale` und `quota_auto_resume_disabled` Typen erfordern Claude Code v2.1.234 oder später.2451Die Typen `quota_auto_resume_fired`, `quota_auto_resume_stale` und `quota_auto_resume_disabled` erfordern Claude Code v2.1.234 oder höher.

2444 2452 

2445In Terminal-Sitzungen erfordert `permission_prompt` für eine Sandbox-Anfrage einer Netzwerkanfrage Claude Code v2.1.246 oder später.2453In Terminal-Sitzungen erfordert `permission_prompt` für die Netzwerkanfrage eines in einer Sandbox ausgeführten Befehls Claude Code v2.1.246 oder höher.

2446 2454 

2447`agent_needs_input` für eine Teamkollegen-Terminal-Setup-Frage erfordert Claude Code v2.1.248 oder später.2455`agent_needs_input` für die Frage eines Teammitglieds zur Terminal-Einrichtung erfordert Claude Code v2.1.248 oder höher.

2448 2456 

2449<Note>2457<Note>

2450 Die `permission_prompt`, `idle_prompt`, `elicitation_dialog` und `elicitation_url_dialog` Typen teilen ihr Timing mit Desktop-Benachrichtigungen, daher sehen Sie sie in Terminal-Sitzungen nur, wenn Sie vom Terminal entfernt zu sein scheinen:2458 Die Typen `permission_prompt`, `idle_prompt`, `elicitation_dialog` und `elicitation_url_dialog` teilen ihr Timing mit Desktop-Benachrichtigungen, sodass Sie sie in Terminal-Sitzungen nur sehen, wenn Sie scheinbar nicht am Terminal sind:

2451 2459 

2452 * Erwarten Sie `permission_prompt`, sobald Sie etwa sechs Sekunden nicht eingegeben haben. Der Timer startet, wenn die Berechtigungsaufforderung erscheint, und jeder Tastendruck verschiebt ihn. Um einen Hook sofort auszuführen, wenn Claude um Genehmigung zur Verwendung eines Tools bittet, verwenden Sie stattdessen [PermissionRequest](#permissionrequest).2460 * Rechnen Sie mit `permission_prompt`, sobald Sie etwa sechs Sekunden lang nichts eingegeben haben. Der Timer startet, wenn die Berechtigungsabfrage erscheint, und jeder Tastendruck verzögert ihn. Um einen Hook sofort auszuführen, wenn Claude um Erlaubnis zur Nutzung eines Tools bittet, verwenden Sie stattdessen [PermissionRequest](#permissionrequest).

2453 * Erwarten Sie `idle_prompt` etwa 60 Sekunden, nachdem Claude geantwortet hat, und nur wenn Sie seitdem nicht eingegeben haben. Claude Code sendet `idle_prompt` nicht, während es auf einen claude.ai Nutzungslimit-Reset wartet. Wenn das Warten auf eigene Faust endet, wird stattdessen einer der `quota_auto_resume_*` Typen ausgelöst.2461 * Rechnen Sie mit `idle_prompt` etwa 60 Sekunden, nachdem Claude die Antwort beendet hat, und nur, wenn Sie seitdem nichts eingegeben haben und kein Hintergrundagent, etwa ein [Subagent](/docs/de/sub-agents) im Hintergrund, noch läuft. Claude Code sendet `idle_prompt` nicht, während es auf das Zurücksetzen eines claude.ai-Nutzungslimits wartet. Wenn die Wartezeit von selbst endet, wird stattdessen einer der Typen `quota_auto_resume_*` ausgelöst.

2454 * Erwarten Sie `elicitation_dialog` für ein Elicitierungsformular oder `elicitation_url_dialog` für eine Browser-URL-Anfrage, sobald Sie etwa sechs Sekunden nicht eingegeben haben. Beide teilen das gleiche Sechs-Sekunden-Gate wie `permission_prompt`: Der Timer startet, wenn der Dialog erscheint, und jeder Tastendruck verschiebt ihn.2462 * Rechnen Sie mit `elicitation_dialog` für ein Elicitation-Formular oder `elicitation_url_dialog` für eine Browser-URL-Anfrage, sobald Sie etwa sechs Sekunden lang nichts eingegeben haben. Beide teilen dieselbe Sechs-Sekunden-Schwelle wie `permission_prompt`: Der Timer startet, wenn der Dialog erscheint, und jeder Tastendruck verzögert ihn.

2455 2463 

2456 Eine Berechtigungsanfrage oder Elicitierung, die ankommt, während ein anderer Dialog auf dem Bildschirm ist, behält das gleiche Sechs-Sekunden-Gate, zeitlich vom Ankommen der Anfrage. Seine Benachrichtigung kann Sie erreichen, während die Anfrage immer noch hinter dem offenen Dialog wartet.2464 Eine Berechtigungsanfrage oder Elicitation, die eintrifft, während ein anderer Dialog angezeigt wird, behält dieselbe Sechs-Sekunden-Schwelle, gemessen ab dem Eintreffen der Anfrage. Ihre Benachrichtigung kann Sie erreichen, während die Anfrage noch hinter dem geöffneten Dialog wartet.

2457</Note>2465</Note>

2458 2466 

2459Claude Code zeitlich `permission_prompt` unterschiedlich in Sitzungen, in denen es Berechtigungsanfragen an den Agent SDK [`canUseTool` Callback](/docs/de/agent-sdk/user-input) sendet, was ist, wie Claude Desktop und die VS Code Erweiterung Claude Code hosten:2467Claude Code steuert das Timing von `permission_prompt` anders in Sitzungen, in denen es Berechtigungsanfragen an den [`canUseTool`-Callback](/docs/de/agent-sdk/user-input) des Agent SDK sendet. Auf diese Weise hosten Claude Desktop und die VS Code-Erweiterung Claude Code:

2460 2468 

2461* Erwarten Sie `permission_prompt` etwa sechs Sekunden, nachdem Claude um Genehmigung bittet. Claude Code verschiebt es nicht, während Sie eingeben.2469* Rechnen Sie mit `permission_prompt` etwa sechs Sekunden, nachdem Claude um Erlaubnis bittet. Claude Code verzögert es nicht, während Sie tippen.

2462* Wenn Sie oder ein [PermissionRequest](#permissionrequest) Hook früher antworten, führt Claude Code `permission_prompt` nicht aus.2470* Wenn Sie oder ein [PermissionRequest](#permissionrequest)-Hook früher antworten, führt Claude Code `permission_prompt` nicht aus.

2463* Setzen Sie [`CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS`](/docs/de/env-vars) auf `1`, um `permission_prompt` in diesen Sitzungen auszuschalten.2471* Setzen Sie [`CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS`](/docs/de/env-vars) auf `1`, um `permission_prompt` in diesen Sitzungen auszuschalten.

2464 2472 

2465Vor v2.1.233 wurde `permission_prompt` in diesen Sitzungen nicht ausgelöst.2473Vor v2.1.233 wurde `permission_prompt` in diesen Sitzungen nicht ausgelöst.

2466 2474 

2467Verwenden Sie separate Matcher, um verschiedene Handler je nach Benachrichtigungstyp auszuführen. Diese Konfiguration löst ein Berechtigungs-spezifisches Warnungsskript aus, wenn Claude Genehmigung benötigt und eine andere Benachrichtigung, wenn Claude untätig war:2475Verwenden Sie separate Matcher, um je nach Benachrichtigungstyp unterschiedliche Handler auszuführen. Diese Konfiguration löst ein berechtigungsspezifisches Warnskript aus, wenn Claude eine Berechtigungsgenehmigung benötigt, und eine andere Benachrichtigung, wenn Claude untätig war:

2468 2476 

2469```json theme={null}2477```json theme={null}

2470{2478{


2497 Notification-Eingabe2505 Notification-Eingabe

2498</h4>2506</h4>

2499 2507 

2500Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten Notification-Hooks `message` mit dem Benachrichtigungstext, ein optionaler `title` und `notification_type`, der angibt, welcher Typ ausgelöst wurde.2508Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten Notification-Hooks `message` mit dem Benachrichtigungstext, ein optionales `title` und `notification_type`, das angibt, welcher Typ ausgelöst wurde.

2501 2509 

2502```json theme={null}2510```json theme={null}

2503{2511{


2511}2519}

2512```2520```

2513 2521 

2514Notification-Hooks können Benachrichtigungen nicht blockieren oder ändern. Claude Code verwirft ihre `systemMessage` und `continue` Felder, gibt aber immer noch [`terminalSequence`](#emit-terminal-notifications) aus, auf das sich das Desktop-Benachrichtigungs-Beispiel verlässt. Notification-Hooks sind für Nebenwirkungen wie das Weiterleiten der Benachrichtigung an einen externen Service gedacht.2522Notification-Hooks können Benachrichtigungen weder blockieren noch ändern. Claude Code verwirft ihre Felder `systemMessage` und `continue`, gibt aber weiterhin [`terminalSequence`](#emit-terminal-notifications) aus, worauf das Beispiel für Desktop-Benachrichtigungen beruht. Notification-Hooks sind für Nebeneffekte gedacht, etwa die Weiterleitung der Benachrichtigung an einen externen Dienst.

2515 2523 

2516<h3 id="subagentstart">2524<h3 id="subagentstart">

2517 SubagentStart2525 SubagentStart

2518</h3>2526</h3>

2519 2527 

2520Wird ausgeführt, wenn Claude einen Subagenten mit dem Agent-Tool erzeugt, wenn Claude [einen Subagenten fortsetzt](/docs/de/sub-agents#resume-subagents) und jedes Mal, wenn ein In-Process [Agent-Team](/docs/de/agent-teams) Teamkollege eine neue Nachricht verarbeitet. Unterstützt Matcher zum Filtern nach Agent-Typ-Name. Für integrierte Agenten ist dies der Agent-Name wie `general-purpose`, `Explore` oder `Plan`. Für [benutzerdefinierte Subagenten](/docs/de/sub-agents) ist dies das `name` Feld aus dem Agent-Frontmatter, nicht der Dateiname.2528Wird ausgeführt, wenn Claude mit dem Agent-Tool einen Subagenten startet, wenn Claude [einen Subagenten fortsetzt](/docs/de/sub-agents#resume-subagents) und jedes Mal, wenn ein In-Process-Teammitglied eines [Agent-Teams](/docs/de/agent-teams) eine neue Nachricht verarbeitet. Unterstützt Matcher zum Filtern nach dem Namen des Agententyps. Bei integrierten Agenten ist dies der Agentenname wie `general-purpose`, `Explore` oder `Plan`. Bei [benutzerdefinierten Subagenten](/docs/de/sub-agents) ist dies das Feld `name` aus dem Frontmatter des Agenten, nicht der Dateiname.

2521 2529 

2522Für Subagenten, die von einem [Plugin](/docs/de/plugins/overview) versendet werden, ist der Agent-Typ der Plugin-scoped Bezeichner wie `my-plugin:reviewer`, nicht der bloße Frontmatter-Name. Der Doppelpunkt platziert einen Plugin-scoped Namen auf dem regulären Ausdruckspfad, daher verankern Sie den Matcher mit `^` und `$` für eine genaue Übereinstimmung: `^my-plugin:reviewer$`.2530Bei Subagenten, die von einem [Plugin](/docs/de/plugins/overview) bereitgestellt werden, ist der Agententyp der plugin-bezogene Bezeichner wie `my-plugin:reviewer`, nicht der reine Frontmatter-Name. Der Doppelpunkt führt dazu, dass ein plugin-bezogener Name als regulärer Ausdruck ausgewertet wird. Verankern Sie den Matcher daher für eine exakte Übereinstimmung mit `^` und `$`: `^my-plugin:reviewer$`.

2523 2531 

2524<h4 id="subagentstart-input">2532<h4 id="subagentstart-input">

2525 SubagentStart-Eingabe2533 SubagentStart-Eingabe

2526</h4>2534</h4>

2527 2535 

2528Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten SubagentStart-Hooks `agent_id` mit dem eindeutigen Bezeichner für den Subagenten und `agent_type` mit dem Agent-Namen, den der Matcher filtert.2536Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten SubagentStart-Hooks `agent_id` mit dem eindeutigen Bezeichner des Subagenten und `agent_type` mit dem Agentennamen, auf den der Matcher filtert.

2529 2537 

2530```json theme={null}2538```json theme={null}

2531{2539{


2538}2546}

2539```2547```

2540 2548 

2541SubagentStart-Hooks können die Subagenten-Erstellung nicht blockieren, aber sie können Kontext in den Subagenten einfügen. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können Sie zurückgeben:2549SubagentStart-Hooks können die Erstellung eines Subagenten nicht blockieren, aber Kontext in den Subagenten einfügen. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die allen Hooks zur Verfügung stehen, können Sie Folgendes zurückgeben:

2542 2550 

2543| Feld | Beschreibung |2551| Feld | Beschreibung |

2544| :- | :- |2552| :- | :- |

2545| `additionalContext` | String, der zu Claudes Kontext am Anfang der Subagenten-Konversation hinzugefügt wird, bevor seine erste Eingabeaufforderung. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |2553| `additionalContext` | Zeichenfolge, die dem Kontext des Subagenten zu Beginn seiner Konversation vor seinem ersten Prompt hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

2546 2554 

2547```json theme={null}2555```json theme={null}

2548{2556{


2553}2561}

2554```2562```

2555 2563 

2556Wenn der Hook erneut für den gleichen Subagenten ausgeführt wird, injiziert Claude Code den zurückgegebenen Kontext nur, wenn der Kontext des Subagenten nicht bereits die Kopie aus einem früheren Lauf enthält. Die beim Start injizierte Kopie bleibt an Ort und Stelle, wobei der [Prompt-Cache](/docs/de/prompt-caching#subagents-and-the-cache) des Subagenten intakt bleibt. Nach [Auto-Komprimierung](/docs/de/sub-agents#auto-compaction), die diese Kopie verwirft, injiziert Claude Code den Kontext des nächsten Laufs erneut.2564Wenn der Hook für denselben Subagenten erneut ausgeführt wird, fügt Claude Code den zurückgegebenen Kontext nur ein, wenn der Kontext des Subagenten die Kopie aus einem früheren Durchlauf noch nicht enthält. Die beim Start eingefügte Kopie bleibt bestehen, sodass der [Prompt-Cache](/docs/de/prompt-caching#subagents-and-the-cache) des Subagenten intakt bleibt. Nachdem die [automatische Komprimierung](/docs/de/sub-agents#auto-compaction) diese Kopie verworfen hat, fügt Claude Code den Kontext des nächsten Durchlaufs erneut ein.

2557 2565 

2558<h3 id="subagentstop">2566<h3 id="subagentstop">

2559 SubagentStop2567 SubagentStop

2560</h3>2568</h3>

2561 2569 

2562Wird ausgeführt, wenn ein Claude Code Subagent mit dem Antworten fertig ist. Gleicht Agent-Typ ab, gleiche Werte wie SubagentStart.2570Wird ausgeführt, wenn ein Claude Code-Subagent seine Antwort beendet hat. Matcht auf den Agententyp, mit denselben Werten wie SubagentStart.

2563 2571 

2564<h4 id="subagentstop-input">2572<h4 id="subagentstop-input">

2565 SubagentStop-Eingabe2573 SubagentStop-Eingabe

2566</h4>2574</h4>

2567 2575 

2568Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten SubagentStop-Hooks `stop_hook_active`, `agent_id`, `agent_type`, `agent_transcript_path` und `last_assistant_message`. Das `agent_type` Feld ist der Wert, der zum Filtern des Matchers verwendet wird. Der `transcript_path` ist das Transkript der Hauptsitzung, während `agent_transcript_path` das Transkript des Subagenten selbst ist, das in einem verschachtelten `subagents/` Ordner gespeichert ist. Das `last_assistant_message` Feld enthält den Textinhalt der letzten Antwort des Subagenten, daher können Hooks darauf zugreifen, ohne die Transkript-Datei zu analysieren.2576Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten SubagentStop-Hooks `stop_hook_active`, `agent_id`, `agent_type`, `agent_transcript_path` und `last_assistant_message`. Das Feld `agent_type` ist der Wert, der für die Matcher-Filterung verwendet wird. `transcript_path` ist das Transkript der Hauptsitzung, während `agent_transcript_path` das eigene Transkript des Subagenten ist, das in einem verschachtelten Ordner `subagents/` gespeichert wird. Das Feld `last_assistant_message` enthält den Textinhalt der letzten Antwort des Subagenten, sodass Hooks darauf zugreifen können, ohne die Transkriptdatei zu parsen.

2569 2577 

2570Nicht jedes SubagentStop-Ereignis kommt von einem Subagenten, den Claude erzeugt hat. Claude Code führt auch interne Agenten für einige seiner eigenen Funktionen aus, wie [Eingabeaufforderungs-Vorschläge](/docs/de/interactive-mode#prompt-suggestions) und [`/btw` Seitenfragen](/docs/de/interactive-mode#side-questions-with-%2Fbtw), und SubagentStop wird ausgelöst, wenn einer davon fertig ist. Für diese Ereignisse ist `agent_type` der Agent-Name, den die Sitzung selbst ausführt, wie einer, der mit [`--agent`](/docs/de/cli-reference#cli-flags) oder der [`agent` Einstellung](/docs/de/settings-reference#agent) gesetzt ist, und eine leere Zeichenkette, wenn die Sitzung ohne einen ausgeführt wird.2578Nicht jedes SubagentStop-Ereignis stammt von einem Subagenten, den Claude gestartet hat. Claude Code führt für einige seiner eigenen Funktionen auch interne Agenten aus, etwa für [Prompt-Vorschläge](/docs/de/interactive-mode#prompt-suggestions) und [`/btw`-Nebenfragen](/docs/de/interactive-mode#side-questions-with-%2Fbtw), und SubagentStop wird auch ausgelöst, wenn einer davon beendet wird. Bei diesen Ereignissen ist `agent_type` der Agentenname, unter dem die Sitzung selbst läuft, etwa einer, der mit [`--agent`](/docs/de/cli-reference#cli-flags) oder der [Einstellung `agent`](/docs/de/settings-reference#agent) festgelegt wurde, und eine leere Zeichenfolge, wenn die Sitzung ohne einen solchen läuft.

2571 2579 

2572Ein `matcher`, der Agent-Typen benennt, gleicht kein leeres `agent_type` ab. Ein Hook, dessen Matcher weggelassen, `""` oder `"*"` ist oder ein regulärer Ausdruck, der eine leere Zeichenkette abgleicht, wird auch für Ereignisse mit einem leeren `agent_type` ausgeführt.2580Ein `matcher`, der Agententypen benennt, matcht keinen leeren `agent_type`. Ein Hook, dessen Matcher weggelassen, `""` oder `"*"` ist oder ein regulärer Ausdruck ist, der eine leere Zeichenfolge matcht, wird auch für Ereignisse mit leerem `agent_type` ausgeführt.

2573 2581 

2574Auf Claude Code v2.1.271 oder später liefert ein Subagent, der mit dem [`SubagentHandback`](/docs/de/tools-reference) Tool läuft, seinen Bericht über dieses Tool, bevor er stoppt. Das `last_assistant_message` Feld enthält dann den Schließungstext des Subagenten, falls vorhanden, das ist nicht der gelieferte Bericht. Der Bericht ist die `message` Eingabe dieses Aufrufs, die ein `PreToolUse` oder `PostToolUse` Hook, der auf `SubagentHandback` abgleicht, als `tool_input.message` empfängt.2582Ab Claude Code v2.1.271 übermittelt ein Subagent, der mit dem Tool [`SubagentHandback`](/docs/de/tools-reference) läuft, seinen Bericht über dieses Tool, bevor er stoppt. Das Feld `last_assistant_message` enthält dann den abschließenden Text des Subagenten, falls vorhanden, der nicht der übermittelte Bericht ist. Der Bericht ist die `message`-Eingabe dieses Aufrufs, die ein `PreToolUse`- oder `PostToolUse`-Hook mit dem Matcher `SubagentHandback` als `tool_input.message` erhält.

2575 2583 

2576SubagentStop-Hooks erhalten auch die `background_tasks` und `session_crons` Arrays, die unter [Stop-Eingabe](#stop-input) beschrieben sind. Beide Arrays sind auf die übergeordnete Sitzung begrenzt, nicht auf den Subagenten.2584SubagentStop-Hooks erhalten außerdem die Arrays `background_tasks` und `session_crons`, die unter [Stop-Eingabe](#stop-input) beschrieben sind. Beide Arrays beziehen sich auf die übergeordnete Sitzung, nicht auf den Subagenten.

2577 2585 

2578```json theme={null}2586```json theme={null}

2579{2587{


2592}2600}

2593```2601```

2594 2602 

2595SubagentStop-Hooks verwenden das gleiche Entscheidungskontroll-Format wie [Stop-Hooks](#stop-decision-control), einschließlich `hookSpecificOutput.additionalContext` mit `hookEventName` auf `"SubagentStop"` gesetzt, für Fehler-freies Feedback, das den Subagenten laufen lässt. Das Zurückgeben von `decision: "block"` mit einem `reason` lässt den Subagenten laufen und liefert `reason` an den Subagenten als seine nächste Anweisung. Ein Hook, der durch Beendigung mit 2 blockiert, liefert seine stderr-Nachricht auf die gleiche Weise. Um Kontext in die übergeordnete Sitzung nach der Rückkehr eines Subagenten einzufügen, verwenden Sie stattdessen einen [`PostToolUse`](#posttooluse) Hook auf dem `Agent` Tool.2603SubagentStop-Hooks verwenden dasselbe Format zur Entscheidungssteuerung wie [Stop-Hooks](#stop-decision-control), einschließlich `hookSpecificOutput.additionalContext` mit `hookEventName` auf `"SubagentStop"` gesetzt, für Feedback ohne Fehlercharakter, das den Subagenten weiterlaufen lässt. Die Rückgabe von `decision: "block"` mit einem `reason` lässt den Subagenten weiterlaufen und übermittelt `reason` an den Subagenten als seine nächste Anweisung. Ein Hook, der durch Exit-Code 2 blockiert, übermittelt seine stderr-Meldung auf dieselbe Weise. Um Kontext in die übergeordnete Sitzung einzufügen, nachdem ein Subagent zurückgekehrt ist, verwenden Sie stattdessen einen [`PostToolUse`](#posttooluse)-Hook für das `Agent`-Tool.

2596 2604 

2597<h3 id="taskcreated">2605<h3 id="taskcreated">

2598 TaskCreated2606 TaskCreated

2599</h3>2607</h3>

2600 2608 

2601Wird ausgeführt, wenn eine Aufgabe über das `TaskCreate` Tool erstellt wird. Verwenden Sie dies, um Benennungskonventionen durchzusetzen, Aufgabenbeschreibungen zu erfordern oder zu verhindern, dass bestimmte Aufgaben erstellt werden. In einer [Sitzung ohne die Task-Tools](/docs/de/tools-reference#task-tool-availability) wird dieses Ereignis nicht ausgelöst.2609Wird ausgeführt, wenn eine Aufgabe über das Tool `TaskCreate` erstellt wird. Verwenden Sie dies, um Namenskonventionen durchzusetzen, Aufgabenbeschreibungen zu verlangen oder die Erstellung bestimmter Aufgaben zu verhindern. In einer [Sitzung ohne die Task-Tools](/docs/de/tools-reference#task-tool-availability) wird dieses Ereignis nicht ausgelöst.

2602 2610 

2603TaskCreated-Hooks unterstützen keine Matcher und werden bei jedem Vorkommen ausgelöst.2611TaskCreated-Hooks unterstützen keine Matcher und werden bei jedem Vorkommen ausgelöst.

2604 2612 


2606 TaskCreated-Eingabe2614 TaskCreated-Eingabe

2607</h4>2615</h4>

2608 2616 

2609Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten TaskCreated-Hooks `task_id`, `task_subject` und optional `task_description`, `teammate_name` und `team_name`.2617Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten TaskCreated-Hooks `task_id`, `task_subject` und optional `task_description`, `teammate_name` und `team_name`.

2610 2618 

2611```json theme={null}2619```json theme={null}

2612{2620{


2626| :- | :- |2634| :- | :- |

2627| `task_id` | Bezeichner der zu erstellenden Aufgabe |2635| `task_id` | Bezeichner der zu erstellenden Aufgabe |

2628| `task_subject` | Titel der Aufgabe |2636| `task_subject` | Titel der Aufgabe |

2629| `task_description` | Detaillierte Beschreibung der Aufgabe. Kann fehlen |2637| `task_description` | Ausführliche Beschreibung der Aufgabe. Kann fehlen |

2630| `teammate_name` | Name des Teamkollegen, der die Aufgabe erstellt. Kann fehlen |2638| `teammate_name` | Name des Teammitglieds, das die Aufgabe erstellt. Kann fehlen |

2631| `team_name` | Veraltet. Sitzungs-abgeleiteter Team-Name; wird in einer zukünftigen Version entfernt |2639| `team_name` | Veraltet. Aus der Sitzung abgeleiteter Teamname; wird in einer zukünftigen Version entfernt |

2632 2640 

2633<h4 id="taskcreated-decision-control">2641<h4 id="taskcreated-decision-control">

2634 TaskCreated-Entscheidungskontrolle2642 TaskCreated-Entscheidungssteuerung

2635</h4>2643</h4>

2636 2644 

2637Ein TaskCreated-Hook kann die Erstellung auf zwei Wegen blockieren. In beiden Fällen löscht Claude Code die Aufgabe und gibt Ihre Nachricht an Claude als Fehler des Tools zurück. Claude Code ignoriert `continue: false` aus diesem Ereignis und Claude arbeitet weiter.2645Ein TaskCreated-Hook kann die Erstellung auf zwei Arten blockieren. In beiden Fällen löscht Claude Code die Aufgabe und gibt Ihre Nachricht als Fehler des Tools an Claude zurück. Claude Code ignoriert `continue: false` bei diesem Ereignis, und Claude arbeitet weiter.

2638 2646 

2639* **Exit-Code 2**: Claude Code gibt den stderr-Text als die Nachricht zurück.2647* **Exit-Code 2**: Claude Code gibt den stderr-Text als Nachricht zurück.

2640* **JSON `{"decision": "block", "reason": "..."}`**: Claude Code gibt `reason` als die Nachricht zurück.2648* **JSON `{"decision": "block", "reason": "..."}`**: Claude Code gibt `reason` als Nachricht zurück.

2641 2649 

2642Dieses Beispiel blockiert Aufgaben, deren Betreff nicht dem erforderlichen Format folgt:2650Dieses Beispiel blockiert Aufgaben, deren Betreff nicht dem erforderlichen Format entspricht:

2643 2651 

2644```bash theme={null}2652```bash theme={null}

2645#!/bin/bash2653#!/bin/bash


2658 TaskCompleted2666 TaskCompleted

2659</h3>2667</h3>

2660 2668 

2661Wird ausgeführt, wenn eine Aufgabe als abgeschlossen markiert wird. Dies wird in zwei Situationen ausgelöst: wenn ein Agent eine Aufgabe explizit über das TaskUpdate-Tool als abgeschlossen markiert oder wenn ein [Agent-Team](/docs/de/agent-teams) Teamkollege seinen Zug mit laufenden Aufgaben beendet. Verwenden Sie dies, um Abschluss-Kriterien wie bestandene Tests oder Lint-Überprüfungen durchzusetzen, bevor eine Aufgabe geschlossen werden kann.2669Wird ausgeführt, wenn eine Aufgabe als abgeschlossen markiert wird. Dies wird in zwei Situationen ausgelöst: wenn ein beliebiger Agent eine Aufgabe über das Tool TaskUpdate ausdrücklich als abgeschlossen markiert oder wenn ein Teammitglied eines [Agent-Teams](/docs/de/agent-teams) seinen Turn mit laufenden Aufgaben beendet. Verwenden Sie dies, um Abschlusskriterien wie bestandene Tests oder Lint-Prüfungen durchzusetzen, bevor eine Aufgabe geschlossen werden kann.

2662 2670 

2663TaskCompleted-Hooks unterstützen keine Matcher und werden bei jedem Vorkommen ausgelöst.2671TaskCompleted-Hooks unterstützen keine Matcher und werden bei jedem Vorkommen ausgelöst.

2664 2672 


2666 TaskCompleted-Eingabe2674 TaskCompleted-Eingabe

2667</h4>2675</h4>

2668 2676 

2669Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten TaskCompleted-Hooks `task_id`, `task_subject` und optional `task_description`, `teammate_name` und `team_name`.2677Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten TaskCompleted-Hooks `task_id`, `task_subject` und optional `task_description`, `teammate_name` und `team_name`.

2670 2678 

2671```json theme={null}2679```json theme={null}

2672{2680{


2685 2693 

2686| Feld | Beschreibung |2694| Feld | Beschreibung |

2687| :- | :- |2695| :- | :- |

2688| `task_id` | Bezeichner der zu abschließenden Aufgabe |2696| `task_id` | Bezeichner der abzuschließenden Aufgabe |

2689| `task_subject` | Titel der Aufgabe |2697| `task_subject` | Titel der Aufgabe |

2690| `task_description` | Detaillierte Beschreibung der Aufgabe. Kann fehlen |2698| `task_description` | Ausführliche Beschreibung der Aufgabe. Kann fehlen |

2691| `teammate_name` | Name des Teamkollegen, der die Aufgabe abschließt. Kann fehlen |2699| `teammate_name` | Name des Teammitglieds, das die Aufgabe abschließt. Kann fehlen |

2692| `team_name` | Veraltet. Sitzungs-abgeleiteter Team-Name; wird in einer zukünftigen Version entfernt |2700| `team_name` | Veraltet. Aus der Sitzung abgeleiteter Teamname; wird in einer zukünftigen Version entfernt |

2693 2701 

2694<h4 id="taskcompleted-decision-control">2702<h4 id="taskcompleted-decision-control">

2695 TaskCompleted-Entscheidungskontrolle2703 TaskCompleted-Entscheidungssteuerung

2696</h4>2704</h4>

2697 2705 

2698TaskCompleted-Hooks unterstützen zwei Wege zur Steuerung des Aufgaben-Abschlusses:2706TaskCompleted-Hooks unterstützen zwei Möglichkeiten, den Aufgabenabschluss zu steuern:

2699 2707 

2700* **Exit-Code 2**: Die Aufgabe wird nicht als abgeschlossen markiert und die stderr-Nachricht wird an das Modell als Feedback zurückgesendet.2708* **Exit-Code 2**: Die Aufgabe wird nicht als abgeschlossen markiert, und die stderr-Meldung wird dem Modell als Feedback zurückgegeben.

2701* **JSON `{"continue": false, "stopReason": "..."}`**: Wenn ein Teamkollege, der seinen Zug beendet, das Ereignis ausgelöst hat, stoppt den Teamkollegen vollständig, was dem `Stop` Hook-Verhalten entspricht. Der `stopReason` wird dem Benutzer angezeigt. Wenn das `TaskUpdate` Tool das Ereignis ausgelöst hat, ignoriert Claude Code `continue: false`; Exit-Code 2 blockiert immer noch den Abschluss.2709* **JSON `{"continue": false, "stopReason": "..."}`**: Wenn ein Teammitglied, das seinen Turn beendet, das Ereignis ausgelöst hat, wird das Teammitglied vollständig gestoppt, entsprechend dem Verhalten des `Stop`-Hooks. Der `stopReason` wird dem Benutzer angezeigt. Wenn das Tool `TaskUpdate` das Ereignis ausgelöst hat, ignoriert Claude Code `continue: false`; Exit-Code 2 blockiert den Abschluss weiterhin.

2702 2710 

2703Dieses Beispiel führt Tests aus und blockiert den Aufgaben-Abschluss, wenn sie fehlschlagen:2711Dieses Beispiel führt Tests aus und blockiert den Aufgabenabschluss, wenn sie fehlschlagen:

2704 2712 

2705```bash theme={null}2713```bash theme={null}

2706#!/bin/bash2714#!/bin/bash


2720 Stop2728 Stop

2721</h3>2729</h3>

2722 2730 

2723Wird ausgeführt, wenn der Haupt-Claude Code Agent mit dem Antworten fertig ist. Wird nicht ausgeführt, wenn der Stopp aufgrund einer Benutzerunterbrechung auftrat. API-Fehler lösen stattdessen [StopFailure](#stopfailure) aus.2731Wird ausgeführt, wenn der Haupt-Agent von Claude Code seine Antwort beendet hat. Wird nicht ausgeführt, wenn

2732das Stoppen durch eine Unterbrechung des Benutzers verursacht wurde. API-Fehler lösen

2733stattdessen [StopFailure](#stopfailure) aus.

2724 2734 

2725<Tip>2735<Tip>

2726 Der [`/goal`](/docs/de/goal) Befehl ist eine integrierte Verknüpfung für einen Sitzungs-scoped Eingabeaufforderungs-basierten Stop-Hook. Verwenden Sie ihn, wenn Sie möchten, dass Claude auf eine Bedingung hinarbeitet, ohne Hook-Konfiguration zu schreiben.2736 Der Befehl [`/goal`](/docs/de/goal) ist eine integrierte Abkürzung für einen sitzungsbezogenen, prompt-basierten Stop-Hook. Verwenden Sie ihn, wenn Claude auf eine Bedingung hinarbeiten soll, ohne dass Sie eine Hook-Konfiguration schreiben.

2727</Tip>2737</Tip>

2728 2738 

2729<h4 id="stop-input">2739<h4 id="stop-input">

2730 Stop-Eingabe2740 Stop-Eingabe

2731</h4>2741</h4>

2732 2742 

2733Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten Stop-Hooks `stop_hook_active`, `last_assistant_message`, `background_tasks` und `session_crons`. Das `stop_hook_active` Feld ist `true`, wenn Claude Code bereits als Ergebnis eines Stop-Hooks fortgesetzt wird. Überprüfen Sie diesen Wert oder verarbeiten Sie das Transkript, um zu vermeiden, auf einer Bedingung zu blockieren, die sich niemals auflöst. Claude Code wendet eine 8-aufeinanderfolgende-Fortsetzungs-Grenze an: Nach Stop-Hooks, die den Zug achtmal hintereinander fortgesetzt haben, überschreibt Claude Code den nächsten Block und beendet den Zug. Um die Grenze zu erhöhen, setzen Sie [`CLAUDE_CODE_STOP_HOOK_BLOCK_CAP`](/docs/de/env-vars).2743Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten Stop-Hooks `stop_hook_active`, `last_assistant_message`, `background_tasks` und `session_crons`. Das Feld `stop_hook_active` ist `true`, wenn Claude Code bereits aufgrund eines Stop-Hooks weiterarbeitet. Prüfen Sie diesen Wert oder verarbeiten Sie das Transkript, um zu vermeiden, dass auf eine Bedingung blockiert wird, die sich nie auflöst. Claude Code wendet eine Obergrenze von 8 aufeinanderfolgenden Fortsetzungen an: Nachdem Stop-Hooks den Turn achtmal in Folge fortgesetzt haben, überschreibt Claude Code die nächste Blockierung und beendet den Turn. Um die Obergrenze anzuheben, setzen Sie [`CLAUDE_CODE_STOP_HOOK_BLOCK_CAP`](/docs/de/env-vars).

2734 2744 

2735Das `last_assistant_message` Feld enthält den Textinhalt von Claudes letzter Antwort, daher können Hooks darauf zugreifen, ohne die Transkript-Datei zu analysieren. Für Hooks, die auf den gerade abgeschlossenen Zug einwirken, wie Vorlese- oder Benachrichtigungs-Hooks, verwenden Sie dieses Feld statt `transcript_path` zu lesen: Die Transkript-Datei ist nicht garantiert, die letzte Nachricht zum Stop-Zeitpunkt auf allen Versionen einzuschließen.2745Das Feld `last_assistant_message` enthält den Textinhalt von Claudes letzter Antwort, sodass Hooks darauf zugreifen können, ohne die Transkriptdatei zu parsen. Für Hooks, die auf den gerade abgeschlossenen Turn reagieren, etwa Vorlese- oder Benachrichtigungs-Hooks, verwenden Sie dieses Feld, anstatt `transcript_path` zu lesen: Es ist nicht in allen Versionen garantiert, dass die Transkriptdatei zum Stop-Zeitpunkt die letzte Nachricht enthält.

2736 2746 

2737Die `background_tasks` und `session_crons` Arrays ermöglichen es Hooks, "Sitzung ist fertig" von "Sitzung ist pausiert und wartet auf Hintergrund-Arbeit, um sie aufzuwecken" zu unterscheiden. Beide Arrays sind vorhanden, wenn die Task-Registry erreichbar ist und sind leer, wenn nichts in Flug oder geplant ist.2747Mit den Arrays `background_tasks` und `session_crons` können Hooks unterscheiden zwischen „Sitzung ist beendet" und „Sitzung ist pausiert und wartet darauf, dass Hintergrundarbeit sie wieder aufweckt". Beide Arrays sind vorhanden, wenn die Aufgabenregistrierung erreichbar ist, und leer, wenn nichts läuft oder geplant ist.

2738 2748 

2739Jeder Eintrag in `background_tasks` beschreibt eine laufende Aufgabe und verwendet diese Felder:2749Jeder Eintrag in `background_tasks` beschreibt eine laufende Aufgabe und verwendet diese Felder:

2740 2750 

2741| Feld | Beschreibung |2751| Feld | Beschreibung |

2742| :- | :- |2752| :- | :- |

2743| `id` | Aufgaben-Bezeichner |2753| `id` | Aufgabenbezeichner |

2744| `type` | Freundlicher Aufgaben-Typ-Label wie `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session` oder `MCP task`. Jedes Label identifiziert, welche Claude Code Funktion die Aufgabe erstellt hat. Fällt auf den rohen Diskriminanten für unbekannte Typen zurück |2754| `type` | Lesbare Bezeichnung des Aufgabentyps wie `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session` oder `MCP task`. Jede Bezeichnung gibt an, welche Claude Code-Funktion die Aufgabe erstellt hat. Fällt bei nicht erkannten Typen auf den rohen Diskriminator zurück |

2745| `status` | Aktueller Aufgaben-Status |2755| `status` | Aktueller Aufgabenstatus |

2746| `description` | Freitext-Beschreibung, begrenzt auf 1000 Zeichen mit einem In-String-`… [+N chars]` Marker, wenn gekürzt |2756| `description` | Freitextbeschreibung, begrenzt auf 1000 Zeichen, mit einer Markierung `… [+N chars]` in der Zeichenfolge bei Kürzung |

2747| `command` | Shell-Befehlszeile, begrenzt auf 1000 Zeichen. Nur für `shell` Aufgaben vorhanden |2757| `command` | Shell-Befehlszeile, begrenzt auf 1000 Zeichen. Nur bei `shell`-Aufgaben vorhanden |

2748| `agent_type` | Subagenten-Typ-Name. Nur für `subagent` Aufgaben vorhanden |2758| `agent_type` | Name des Subagententyps. Nur bei `subagent`-Aufgaben vorhanden |

2749| `server` | MCP-Server-Name. Nur für `monitor` und `MCP task` Aufgaben vorhanden |2759| `server` | Name des MCP-Servers. Nur bei `monitor`- und `MCP task`-Aufgaben vorhanden |

2750| `tool` | MCP-Tool-Name. Nur für `monitor` und `MCP task` Aufgaben vorhanden |2760| `tool` | Name des MCP-Tools. Nur bei `monitor`- und `MCP task`-Aufgaben vorhanden |

2751| `name` | Workflow-Name. Nur für `workflow` Aufgaben vorhanden |2761| `name` | Name des Workflows. Nur bei `workflow`-Aufgaben vorhanden |

2752 2762 

2753Jeder Eintrag in `session_crons` beschreibt einen Sitzungs-scoped geplanten Aufwach-Aufruf, stammt von `CronCreate`, `ScheduleWakeup` und `/loop`:2763Jeder Eintrag in `session_crons` beschreibt ein sitzungsbezogenes geplantes Aufwecken, das aus `CronCreate`, `ScheduleWakeup` und `/loop` stammt:

2754 2764 

2755| Feld | Beschreibung |2765| Feld | Beschreibung |

2756| :- | :- |2766| :- | :- |

2757| `id` | Cron-Aufgaben-Bezeichner |2767| `id` | Bezeichner der Cron-Aufgabe |

2758| `schedule` | Cron-Ausdruck, z. B. `0 9 * * 1-5` |2768| `schedule` | Cron-Ausdruck, zum Beispiel `0 9 * * 1-5` |

2759| `recurring` | `false` für einmalige Aufwach-Aufrufe, deren Zeitplan eine einzelne Feuerzeit kodiert, `true` für Aufgaben, die bei jedem Match erneut feuern |2769| `recurring` | `false` für einmalige Aufweckvorgänge, deren Zeitplan einen einzigen Auslösezeitpunkt codiert, `true` für Aufgaben, die bei jeder Übereinstimmung erneut ausgelöst werden |

2760| `prompt` | Eingabeaufforderung, die eingereicht wird, wenn der Cron feuert, begrenzt auf 1000 Zeichen mit dem gleichen `… [+N chars]` Marker |2770| `prompt` | Prompt, der beim Auslösen des Cron-Jobs übermittelt wird, begrenzt auf 1000 Zeichen mit derselben Markierung `… [+N chars]` |

2761 2771 

2762Dieses Beispiel zeigt eine Stop-Eingabe mit einer laufenden Shell-Aufgabe und einem wiederkehrenden Cron:2772Dieses Beispiel zeigt eine Stop-Eingabe mit einer laufenden Shell-Aufgabe und einem wiederkehrenden Cron-Job:

2763 2773 

2764```json theme={null}2774```json theme={null}

2765{2775{


2791```2801```

2792 2802 

2793<h4 id="stop-decision-control">2803<h4 id="stop-decision-control">

2794 Stop-Entscheidungskontrolle2804 Stop-Entscheidungssteuerung

2795</h4>2805</h4>

2796 2806 

2797`Stop` und `SubagentStop` Hooks können steuern, ob Claude fortgesetzt wird. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, kann Ihr Hook-Skript diese ereignisspezifischen Felder zurückgeben:2807`Stop`- und `SubagentStop`-Hooks können steuern, ob Claude fortfährt. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die allen Hooks zur Verfügung stehen, kann Ihr Hook-Skript diese ereignisspezifischen Felder zurückgeben:

2798 2808 

2799| Feld | Beschreibung |2809| Feld | Beschreibung |

2800| :- | :- |2810| :- | :- |

2801| `decision` | `"block"` verhindert, dass Claude stoppt. Weglassen, um Claude zu stoppen |2811| `decision` | `"block"` verhindert, dass Claude stoppt. Weglassen, um Claude das Stoppen zu erlauben |

2802| `reason` | Erforderlich, wenn `decision` `"block"` ist. Sagt Claude, warum es fortgesetzt werden sollte |2812| `reason` | Erforderlich, wenn `decision` den Wert `"block"` hat. Teilt Claude mit, warum es fortfahren soll |

2803| `hookSpecificOutput.additionalContext` | Fehler-freies Feedback für Claude. Die Konversation wird fortgesetzt, damit Claude darauf einwirken kann, aber im Gegensatz zu `decision: "block"` wird es im Transkript als Hook-Feedback statt als Hook-Fehler angezeigt |2813| `hookSpecificOutput.additionalContext` | Feedback für Claude ohne Fehlercharakter. Die Konversation wird fortgesetzt, damit Claude darauf reagieren kann, aber anders als bei `decision: "block"` wird es im Transkript als Hook-Feedback und nicht als Hook-Fehler angezeigt |

2804 2814 

2805Ein Hook, der durch Beendigung mit 2 blockiert, leitet auf die gleiche Weise wie `reason` weiter: Claude empfängt die stderr-Nachricht als Erklärung, warum es fortgesetzt werden sollte.2815Ein Hook, der durch Exit-Code 2 blockiert, wird genauso weitergeleitet wie `reason`: Claude erhält die stderr-Meldung als Erklärung, warum es fortfahren soll.

2806 2816 

2807```json theme={null}2817```json theme={null}

2808{2818{


2811}2821}

2812```2822```

2813 2823 

2814Verwenden Sie `additionalContext`, wenn der Hook wie beabsichtigt funktioniert und Claude Anleitung gibt, wie "Führen Sie die Test-Suite aus, bevor Sie fertig sind". Es hält die Konversation durch die gleichen Loop-Schutzmaßnahmen wie `decision: "block"` laufen, nämlich die `stop_hook_active` Eingabe und die 8-aufeinanderfolgende-Fortsetzungs-Grenze, aber das Transkript kennzeichnet es als `Stop hook feedback` und es wird keine Hook-Fehler-Benachrichtigung angezeigt:2824Verwenden Sie `additionalContext`, wenn der Hook wie vorgesehen funktioniert und Claude Orientierung gibt, etwa „führe die Testsuite vor dem Abschluss aus". Es hält die Konversation über dieselben Schleifenschutzmechanismen wie `decision: "block"` am Laufen, nämlich die Eingabe `stop_hook_active` und die Obergrenze von 8 aufeinanderfolgenden Fortsetzungen, aber das Transkript kennzeichnet es als `Stop hook feedback`, und es wird keine Hook-Fehlerbenachrichtigung angezeigt:

2815 2825 

2816```json theme={null}2826```json theme={null}

2817{2827{


2826 StopFailure2836 StopFailure

2827</h3>2837</h3>

2828 2838 

2829Wird stattdessen von [Stop](#stop) ausgeführt, wenn der Zug aufgrund eines API-Fehlers endet. Claude Code ignoriert die Ausgabe und den Exit-Code des Hooks, abgesehen von [`terminalSequence`](#emit-terminal-notifications). Verwenden Sie dies, um Fehler zu protokollieren, Warnungen zu senden oder Wiederherstellungsmaßnahmen zu ergreifen, wenn Claude aufgrund von Ratenlimits, Authentifizierungsproblemen oder anderen API-Fehlern keine Antwort abschließen kann.2839Wird anstelle von [Stop](#stop) ausgeführt, wenn der Turn aufgrund eines API-Fehlers endet. Claude Code ignoriert die Ausgabe und den Exit-Code des Hooks, abgesehen von [`terminalSequence`](#emit-terminal-notifications). Verwenden Sie dies, um Fehler zu protokollieren, Warnungen zu senden oder Wiederherstellungsmaßnahmen zu ergreifen, wenn Claude eine Antwort aufgrund von Rate-Limits, Authentifizierungsproblemen oder anderen API-Fehlern nicht abschließen kann.

2830 2840 

2831<h4 id="stopfailure-input">2841<h4 id="stopfailure-input">

2832 StopFailure-Eingabe2842 StopFailure-Eingabe

2833</h4>2843</h4>

2834 2844 

2835Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten StopFailure-Hooks `error`, optional `error_details` und optional `last_assistant_message`. Das `error` Feld identifiziert den Fehlertyp und wird zum Filtern des Matchers verwendet.2845Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten StopFailure-Hooks `error`, optional `error_details` und optional `last_assistant_message`. Das Feld `error` gibt den Fehlertyp an und wird für die Matcher-Filterung verwendet.

2836 2846 

2837| Feld | Beschreibung |2847| Feld | Beschreibung |

2838| :- | :- |2848| :- | :- |

2839| `error` | Fehlertyp: `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error` oder `unknown` |2849| `error` | Fehlertyp: `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error` oder `unknown` |

2840| `error_details` | Zusätzliche Details zum Fehler, wenn verfügbar |2850| `error_details` | Zusätzliche Details zum Fehler, sofern verfügbar |

2841| `last_assistant_message` | Der gerenderte Fehlertext, der in der Konversation angezeigt wird. Im Gegensatz zu `Stop` und `SubagentStop`, wo dieses Feld Claudes Konversations-Ausgabe enthält, enthält es für `StopFailure` die API-Fehler-Zeichenkette selbst, wie `"API Error: Rate limit reached"` |2851| `last_assistant_message` | Der gerenderte Fehlertext, der in der Konversation angezeigt wird. Anders als bei `Stop` und `SubagentStop`, wo dieses Feld Claudes Konversationsausgabe enthält, enthält es bei `StopFailure` die API-Fehlerzeichenfolge selbst, etwa `"API Error: Rate limit reached"` |

2842 2852 

2843```json theme={null}2853```json theme={null}

2844{2854{


2852}2862}

2853```2863```

2854 2864 

2855StopFailure-Hooks haben keine Entscheidungskontrolle. Sie werden nur zu Benachrichtigungs- und Protokollierungszwecken ausgeführt.2865StopFailure-Hooks haben keine Entscheidungssteuerung. Sie dienen ausschließlich Benachrichtigungs- und Protokollierungszwecken.

2856 2866 

2857<h3 id="teammateidle">2867<h3 id="teammateidle">

2858 TeammateIdle2868 TeammateIdle

2859</h3>2869</h3>

2860 2870 

2861Wird ausgeführt, wenn ein [Agent-Team](/docs/de/agent-teams) Teamkollege nach Abschluss seines Zugs untätig werden soll. Verwenden Sie dies, um Qualitäts-Gates durchzusetzen, bevor ein Teamkollege die Arbeit einstellt, wie das Erfordern bestandener Lint-Überprüfungen oder das Überprüfen, dass Ausgabe-Dateien existieren.2871Wird ausgeführt, wenn ein Teammitglied eines [Agent-Teams](/docs/de/agent-teams) nach dem Beenden seines Turns kurz davor ist, untätig zu werden. Verwenden Sie dies, um Qualitätsschranken durchzusetzen, bevor ein Teammitglied die Arbeit einstellt, etwa durch das Verlangen bestandener Lint-Prüfungen oder die Überprüfung, ob Ausgabedateien existieren.

2862 2872 

2863TeammateIdle-Hooks unterstützen keine Matcher und werden bei jedem Vorkommen ausgelöst.2873TeammateIdle-Hooks unterstützen keine Matcher und werden bei jedem Vorkommen ausgelöst.

2864 2874 


2866 TeammateIdle-Eingabe2876 TeammateIdle-Eingabe

2867</h4>2877</h4>

2868 2878 

2869Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten TeammateIdle-Hooks `teammate_name` und `team_name`.2879Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten TeammateIdle-Hooks `teammate_name` und `team_name`.

2870 2880 

2871```json theme={null}2881```json theme={null}

2872{2882{


2882 2892 

2883| Feld | Beschreibung |2893| Feld | Beschreibung |

2884| :- | :- |2894| :- | :- |

2885| `teammate_name` | Name des Teamkollegen, der untätig werden soll |2895| `teammate_name` | Name des Teammitglieds, das kurz davor ist, untätig zu werden |

2886| `team_name` | Veraltet. Sitzungs-abgeleiteter Team-Name; wird in einer zukünftigen Version entfernt |2896| `team_name` | Veraltet. Aus der Sitzung abgeleiteter Teamname; wird in einer zukünftigen Version entfernt |

2887 2897 

2888<h4 id="teammateidle-decision-control">2898<h4 id="teammateidle-decision-control">

2889 TeammateIdle-Entscheidungskontrolle2899 TeammateIdle-Entscheidungssteuerung

2890</h4>2900</h4>

2891 2901 

2892TeammateIdle-Hooks unterstützen zwei Wege zur Steuerung des Teamkollegen-Verhaltens:2902TeammateIdle-Hooks unterstützen zwei Möglichkeiten, das Verhalten von Teammitgliedern zu steuern:

2893 2903 

2894* **Exit-Code 2**: Der Teamkollege empfängt die stderr-Nachricht als Feedback und arbeitet weiter, anstatt untätig zu werden.2904* **Exit-Code 2**: Das Teammitglied erhält die stderr-Meldung als Feedback und arbeitet weiter, anstatt untätig zu werden.

2895* **JSON `{"continue": false, "stopReason": "..."}`**: Stoppt den Teamkollegen vollständig, was dem `Stop` Hook-Verhalten entspricht. Der `stopReason` wird dem Benutzer angezeigt.2905* **JSON `{"continue": false, "stopReason": "..."}`**: Stoppt das Teammitglied vollständig, entsprechend dem Verhalten des `Stop`-Hooks. Der `stopReason` wird dem Benutzer angezeigt.

2896 2906 

2897Dieses Beispiel überprüft, dass ein Build-Artefakt existiert, bevor ein Teamkollege untätig werden darf:2907Dieses Beispiel prüft, ob ein Build-Artefakt existiert, bevor ein Teammitglied untätig werden darf:

2898 2908 

2899```bash theme={null}2909```bash theme={null}

2900#!/bin/bash2910#!/bin/bash


2911 ConfigChange2921 ConfigChange

2912</h3>2922</h3>

2913 2923 

2914Wird ausgeführt, wenn sich eine Konfigurationsdatei während einer Sitzung ändert. Verwenden Sie dies, um Einstellungs-Änderungen zu überprüfen, Sicherheits-Richtlinien durchzusetzen oder nicht autorisierte Änderungen an Konfigurationsdateien zu blockieren.2924Wird ausgeführt, wenn sich während einer Sitzung eine Konfigurationsdatei ändert. Verwenden Sie dies, um Einstellungsänderungen zu prüfen, Sicherheitsrichtlinien durchzusetzen oder nicht autorisierte Änderungen an Konfigurationsdateien zu blockieren.

2915 2925 

2916Claude Code führt ConfigChange-Hooks aus, wenn sich eine Einstellungsdatei, eine verwaltete Richtlinien-Datei oder eine Skill-Datei ändert. Für verwaltete Richtlinien führt es sie nur aus, wenn sich `managed-settings.json` oder eine Datei in `managed-settings.d/` ändert. Es wendet [Server-verwaltete Einstellungen](/docs/de/server-managed-settings) und Änderungen an macOS verwalteten Einstellungen oder Windows Registry-Richtlinien ohne Ausführung an. Auf WSL mit [`wslInheritsWindowsSettings`](/docs/de/settings-reference#wslinheritswindowssettings) wendet es auch eine geänderte Windows-seitige verwaltete Einstellungsdatei bei seiner Richtlinien-Abfrage ohne Ausführung an.2926Claude Code führt ConfigChange-Hooks aus, wenn sich eine Einstellungsdatei, eine Datei mit verwalteten Richtlinien oder eine Skill-Datei ändert. Bei verwalteten Richtlinien führt es sie nur aus, wenn sich `managed-settings.json` oder eine Datei in `managed-settings.d/` ändert. [Serververwaltete Einstellungen](/docs/de/server-managed-settings) sowie Änderungen an verwalteten macOS-Einstellungen oder Windows-Registrierungsrichtlinien wendet es an, ohne die Hooks auszuführen. Unter WSL mit [`wslInheritsWindowsSettings`](/docs/de/settings-reference#wslinheritswindowssettings) wendet es bei seiner Richtlinienabfrage auch eine geänderte Windows-seitige Datei mit verwalteten Einstellungen an, ohne die Hooks auszuführen.

2917 2927 

2918Der Matcher filtert auf die Konfigurationsquelle:2928Der Matcher filtert nach der Konfigurationsquelle:

2919 2929 

2920| Matcher | Wann wird es ausgelöst |2930| Matcher | Wann er ausgelöst wird |

2921| :- | :- |2931| :- | :- |

2922| `user_settings` | `~/.claude/settings.json` ändert sich |2932| `user_settings` | `~/.claude/settings.json` ändert sich |

2923| `project_settings` | `.claude/settings.json` ändert sich |2933| `project_settings` | `.claude/settings.json` ändert sich |


2925| `policy_settings` | `managed-settings.json` oder eine Datei in `managed-settings.d/` ändert sich |2935| `policy_settings` | `managed-settings.json` oder eine Datei in `managed-settings.d/` ändert sich |

2926| `skills` | Eine Skill-Datei in `.claude/skills/` ändert sich |2936| `skills` | Eine Skill-Datei in `.claude/skills/` ändert sich |

2927 2937 

2928Dieses Beispiel protokolliert alle Konfigurationsänderungen für Sicherheits-Audits:2938Dieses Beispiel protokolliert alle Konfigurationsänderungen für Sicherheitsaudits:

2929 2939 

2930```json theme={null}2940```json theme={null}

2931{2941{


2949 ConfigChange-Eingabe2959 ConfigChange-Eingabe

2950</h4>2960</h4>

2951 2961 

2952Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten ConfigChange-Hooks `source` und optional `file_path`. Das `source` Feld gibt an, welcher Konfigurationstyp sich geändert hat, und `file_path` stellt den Pfad zur spezifischen Datei bereit, die geändert wurde.2962Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten ConfigChange-Hooks `source` und optional `file_path`. Das Feld `source` gibt an, welcher Konfigurationstyp sich geändert hat, und `file_path` liefert den Pfad zur konkret geänderten Datei.

2953 2963 

2954```json theme={null}2964```json theme={null}

2955{2965{


2963```2973```

2964 2974 

2965<h4 id="configchange-decision-control">2975<h4 id="configchange-decision-control">

2966 ConfigChange-Entscheidungskontrolle2976 ConfigChange-Entscheidungssteuerung

2967</h4>2977</h4>

2968 2978 

2969ConfigChange-Hooks können Konfigurationsänderungen blockieren, damit sie nicht wirksam werden. Verwenden Sie Exit-Code 2 oder ein JSON `decision`, um die Änderung zu verhindern. Wenn blockiert, werden die neuen Einstellungen nicht auf die laufende Sitzung angewendet.2979ConfigChange-Hooks können verhindern, dass Konfigurationsänderungen wirksam werden. Verwenden Sie Exit-Code 2 oder ein JSON-`decision`, um die Änderung zu verhindern. Bei einer Blockierung werden die neuen Einstellungen nicht auf die laufende Sitzung angewendet.

2970 2980 

2971| Feld | Beschreibung |2981| Feld | Beschreibung |

2972| :- | :- |2982| :- | :- |

2973| `decision` | `"block"` verhindert, dass die Konfigurationsänderung angewendet wird. Weglassen, um die Änderung zuzulassen |2983| `decision` | `"block"` verhindert, dass die Konfigurationsänderung angewendet wird. Weglassen, um die Änderung zu erlauben |

2974| `reason` | Akzeptiert, aber nie angezeigt |2984| `reason` | Wird akzeptiert, aber nie angezeigt |

2975 2985 

2976```json theme={null}2986```json theme={null}

2977{2987{


2980}2990}

2981```2991```

2982 2992 

2983`policy_settings` Änderungen können nicht blockiert werden. Hooks werden immer noch für `policy_settings` Quellen ausgelöst, wenn sich eine verwaltete Einstellungsdatei auf der Maschine ändert, daher können Sie sie verwenden, um diese Bearbeitungen zu protokollieren, aber jede Blockierungs-Entscheidung wird ignoriert. Dies stellt sicher, dass unternehmens-verwaltete Einstellungen immer wirksam werden. Claude Code führt `ConfigChange` Hooks nicht aus, wenn [Server-verwaltete Einstellungen](/docs/de/server-managed-settings) ankommen oder aktualisiert werden.2993Änderungen an `policy_settings` können nicht blockiert werden. Hooks werden für `policy_settings`-Quellen weiterhin ausgelöst, wenn sich eine Datei mit verwalteten Einstellungen auf dem Rechner ändert, sodass Sie sie zum Protokollieren dieser Änderungen verwenden können, aber jede Blockierungsentscheidung wird ignoriert. Dadurch wird sichergestellt, dass unternehmensweit verwaltete Einstellungen immer wirksam werden. Claude Code führt keine `ConfigChange`-Hooks aus, wenn [serververwaltete Einstellungen](/docs/de/server-managed-settings) eintreffen oder aktualisiert werden.

2984 2994 

2985Claude Code handelt auf die Blockierungs-Entscheidung aus der JSON-Ausgabe eines ConfigChange-Hooks und verwirft `systemMessage` und `continue`. Eine blockierte Änderung zeigt keine Nachricht für Sie oder Claude, ob Sie mit `reason` oder mit stderr bei Exit 2 blockieren. Claude Code schreibt nur eine Zeile ins Debug-Protokoll.2995Claude Code berücksichtigt die Blockierungsentscheidung aus der JSON-Ausgabe eines ConfigChange-Hooks und verwirft `systemMessage` und `continue`. Eine blockierte Änderung zeigt weder Ihnen noch Claude eine Nachricht an, unabhängig davon, ob Sie mit `reason` oder mit stderr bei Exit-Code 2 blockieren. Claude Code schreibt lediglich eine Zeile in das Debug-Log.

2986 2996 

2987<h3 id="cwdchanged">2997<h3 id="cwdchanged">

2988 CwdChanged2998 CwdChanged

2989</h3>2999</h3>

2990 3000 

2991Wird ausgeführt, wenn ein Shell-Befehl in der Hauptkonversation das Arbeitsverzeichnis ändert, z. B. wenn Claude einen `cd` Befehl ausführt. Verwenden Sie dies, um auf Verzeichnis-Änderungen zu reagieren: Umgebungsvariablen neu laden, projekt-spezifische Toolchains aktivieren oder Setup-Skripte automatisch ausführen. Paart mit [FileChanged](#filechanged) für Tools wie [direnv](https://direnv.net/), die pro-Verzeichnis-Umgebung verwalten.3001Wird ausgeführt, wenn ein Shell-Befehl in der Hauptkonversation das Arbeitsverzeichnis ändert, beispielsweise wenn Claude einen `cd`-Befehl ausführt. Verwenden Sie dies, um auf Verzeichniswechsel zu reagieren: Umgebungsvariablen neu laden, projektspezifische Toolchains aktivieren oder Einrichtungsskripte automatisch ausführen. Lässt sich mit [FileChanged](#filechanged) kombinieren für Tools wie [direnv](https://direnv.net/), die verzeichnisspezifische Umgebungen verwalten.

2992 3002 

2993CwdChanged-Hooks haben Zugriff auf [`CLAUDE_ENV_FILE`](#persist-environment-variables). Variablen, die in diese Datei geschrieben werden, bleiben für nachfolgende Bash-Befehle bestehen, bis zum nächsten CwdChanged-Ereignis, wenn Claude Code sie löscht.3003CwdChanged-Hooks haben Zugriff auf [`CLAUDE_ENV_FILE`](#persist-environment-variables). In diese Datei geschriebene Variablen bleiben für nachfolgende Bash-Befehle bis zum nächsten CwdChanged-Ereignis erhalten, bei dem Claude Code sie löscht.

2994 3004 

2995CwdChanged unterstützt keine Matcher und wird bei jedem Vorkommen ausgelöst.3005CwdChanged unterstützt keine Matcher und wird bei jedem Vorkommen ausgelöst.

2996 3006 


2998 CwdChanged-Eingabe3008 CwdChanged-Eingabe

2999</h4>3009</h4>

3000 3010 

3001Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten CwdChanged-Hooks `old_cwd` und `new_cwd`.3011Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten CwdChanged-Hooks `old_cwd` und `new_cwd`.

3002 3012 

3003```json theme={null}3013```json theme={null}

3004{3014{


3015 CwdChanged-Ausgabe3025 CwdChanged-Ausgabe

3016</h4>3026</h4>

3017 3027 

3018Zusä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:3028Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die allen Hooks zur Verfügung stehen, können CwdChanged-Hooks `watchPaths` zurückgeben, um dynamisch festzulegen, welche Dateipfade [FileChanged](#filechanged) überwacht:

3019 3029 

3020| Feld | Beschreibung |3030| Feld | Beschreibung |

3021| :- | :- |3031| :- | :- |

3022| `watchPaths` | Array von absoluten Pfaden. Ersetzt die aktuelle dynamische Überwachungsliste. Pfade aus Ihrer `matcher` Konfiguration werden immer überwacht. Das Zurückgeben eines leeren Arrays löscht die dynamische Liste, was typisch ist, wenn ein neues Verzeichnis betreten wird |3032| `watchPaths` | Array absoluter Pfade. Ersetzt die aktuelle dynamische Überwachungsliste. Pfade aus Ihrer `matcher`-Konfiguration werden immer überwacht. Die Rückgabe eines leeren Arrays leert die dynamische Liste, was beim Wechsel in ein neues Verzeichnis typisch ist |

3023 3033 

3024CwdChanged-Hooks haben keine Entscheidungskontrolle. Sie können die Verzeichnis-Änderung nicht blockieren.3034CwdChanged-Hooks haben keine Entscheidungssteuerung. Sie können den Verzeichniswechsel nicht blockieren.

3025 3035 

3026Claude Code liest `watchPaths` und `systemMessage` aus ihrer JSON-Ausgabe und verwirft `continue`. In interaktiven Sitzungen zeigt es die `systemMessage` als kurze Terminal-Benachrichtigung. Die Nachricht erreicht nicht den SDK-Nachrichtenstrom.3036Claude Code liest `watchPaths` und `systemMessage` aus ihrer JSON-Ausgabe und verwirft `continue`. In interaktiven Sitzungen zeigt es die `systemMessage` als kurze Terminal-Benachrichtigung an. Die Nachricht erreicht den SDK-Nachrichtenstrom nicht.

3027 3037 

3028<h3 id="directoryadded">3038<h3 id="directoryadded">

3029 DirectoryAdded3039 DirectoryAdded

3030</h3>3040</h3>

3031 3041 

3032Wird ausgeführt, nachdem Sie ein Arbeitsverzeichnis während einer Sitzung mit dem `/add-dir` Befehl hinzufügen oder nachdem ein SDK-Client eines mit der `register_repo_root` Kontroll-Anfrage hinzufügt. Verwenden Sie dies, um ein neu hinzugefügtes Repository vorzubereiten, z. B. durch Installation seiner Abhängigkeiten.3042Wird ausgeführt, nachdem Sie während einer Sitzung mit dem Befehl `/add-dir` ein Arbeitsverzeichnis hinzugefügt haben oder nachdem ein SDK-Client eines mit der Steuerungsanfrage `register_repo_root` hinzugefügt hat. Verwenden Sie dies, um ein neu hinzugefügtes Repository vorzubereiten, beispielsweise durch Installieren seiner Abhängigkeiten.

3033 3043 

3034Claude Code löst dieses Ereignis nicht aus, wenn:3044Claude Code löst dieses Ereignis nicht aus, wenn:

3035 3045 

3036* Sie ein Verzeichnis mit dem `--add-dir` Start-Flag übergeben; [SessionStart](#sessionstart) deckt diese Verzeichnisse ab3046* Sie ein Verzeichnis mit dem Start-Flag `--add-dir` übergeben; [SessionStart](#sessionstart) deckt diese Verzeichnisse ab

3037* Sie ein Verzeichnis auf der `/permissions` Workspace-Registerkarte hinzufügen3047* Sie ein Verzeichnis auf dem Tab Workspace von `/permissions` hinzufügen

3038* Sie ein Verzeichnis hinzufügen, das bereits ein Arbeitsverzeichnis ist oder sich in einem befindet3048* Sie ein Verzeichnis hinzufügen, das bereits ein Arbeitsverzeichnis ist oder sich in einem befindet

3039 3049 

3040Claude Code löst DirectoryAdded aus, nachdem Sandbox- und Berechtigungs-Status aktualisiert wurden, daher sehen Sandbox-Tools das neue Verzeichnis bereits, wenn Ihr Hook ausgeführt wird. Hook-Befehle selbst werden unsandboxed ausgeführt.3050Claude Code löst DirectoryAdded aus, nachdem der Sandbox- und Berechtigungsstatus aktualisiert wurde, sodass in einer Sandbox ausgeführte Tools das neue Verzeichnis bereits sehen, wenn Ihr Hook ausgeführt wird. Hook-Befehle selbst werden außerhalb der Sandbox ausgeführt.

3041 3051 

3042Claude Code wartet nicht auf den Hook: Das Hinzufügen wird sofort abgeschlossen und der Hook wird im Hintergrund mit dem 600-Sekunden-Standard-Timeout ausgeführt.3052Claude Code wartet nicht auf den Hook: Das Hinzufügen wird sofort abgeschlossen, und der Hook läuft im Hintergrund mit dem Standard-Timeout von 600 Sekunden.

3043 3053 

3044Der Matcher filtert, wie das Verzeichnis hinzugefügt wurde:3054Der Matcher filtert danach, wie das Verzeichnis hinzugefügt wurde:

3045 3055 

3046| Matcher | Wann wird es ausgelöst |3056| Matcher | Wann er ausgelöst wird |

3047| :- | :- |3057| :- | :- |

3048| `slash_command` | Sie fügen ein Verzeichnis mit `/add-dir` hinzu |3058| `slash_command` | Sie fügen ein Verzeichnis mit `/add-dir` hinzu |

3049| `register_repo_root` | Ein SDK-Client fügt ein Verzeichnis mit der `register_repo_root` Kontroll-Anfrage hinzu |3059| `register_repo_root` | Ein SDK-Client fügt ein Verzeichnis mit der Steuerungsanfrage `register_repo_root` hinzu |

3050 3060 

3051<h4 id="directoryadded-input">3061<h4 id="directoryadded-input">

3052 DirectoryAdded-Eingabe3062 DirectoryAdded-Eingabe

3053</h4>3063</h4>

3054 3064 

3055Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten DirectoryAdded-Hooks `directory` und `source`.3065Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten DirectoryAdded-Hooks `directory` und `source`.

3056 3066 

3057| Feld | Beschreibung |3067| Feld | Beschreibung |

3058| :- | :- |3068| :- | :- |

3059| `directory` | Absoluter Pfad des hinzugefügten Verzeichnisses |3069| `directory` | Absoluter Pfad des hinzugefügten Verzeichnisses |

3060| `source` | Wie das Verzeichnis hinzugefügt wurde, `"slash_command"` für `/add-dir` oder `"register_repo_root"` für die SDK-Kontroll-Anfrage |3070| `source` | Wie das Verzeichnis hinzugefügt wurde: `"slash_command"` für `/add-dir` oder `"register_repo_root"` für die SDK-Steuerungsanfrage |

3061 3071 

3062```json theme={null}3072```json theme={null}

3063{3073{


3070}3080}

3071```3081```

3072 3082 

3073DirectoryAdded-Hooks haben keine Entscheidungskontrolle. Sie können das Hinzufügen nicht blockieren, das bereits abgeschlossen ist, wenn der Hook ausgeführt wird. Claude Code verwirft das `continue` Feld aus ihrer JSON-Ausgabe und zeigt den Rest unterschiedlich pro Quelle:3083DirectoryAdded-Hooks haben keine Entscheidungssteuerung. Sie können das Hinzufügen nicht blockieren, da es bereits abgeschlossen ist, wenn der Hook ausgeführt wird. Claude Code verwirft das Feld `continue` aus ihrer JSON-Ausgabe und behandelt den Rest je nach Quelle unterschiedlich:

3074 3084 

3075* `slash_command`: Claude Code liefert den `systemMessage` des Hooks an Claude als Kontext beim nächsten Konversations-Zug, anstatt ihn Ihnen zu zeigen. Eine Anzahl fehlgeschlagener Hooks erscheint im Transkript. Vollständige Fehler-Ausgabe geht ins Debug-Protokoll3085* `slash_command`: Claude Code übermittelt die `systemMessage` des Hooks im nächsten Konversations-Turn als Kontext an Claude, anstatt sie Ihnen anzuzeigen. Die Anzahl fehlgeschlagener Hooks erscheint im Transkript. Die vollständige Fehlerausgabe geht in das Debug-Log

3076* `register_repo_root`: Claude Code schreibt `systemMessage` Ausgabe und Fehler-Ausgabe nur ins Debug-Protokoll3086* `register_repo_root`: Claude Code schreibt die `systemMessage`-Ausgabe und die Fehlerausgabe nur in das Debug-Log

3077 3087 

3078<h3 id="filechanged">3088<h3 id="filechanged">

3079 FileChanged3089 FileChanged

3080</h3>3090</h3>

3081 3091 

3082Wird ausgeführt, wenn sich eine überwachte Datei auf der Festplatte ändert. Claude Code erkennt Änderungen mit einem Dateisystem-Watcher, nicht durch Überprüfung von Tool-Aufrufen, daher wird der Hook ausgeführt, egal was die Datei geändert hat: Ein `Edit` oder `Write` Tool-Aufruf, ein Skript, das Claude mit `Bash` ausführt, oder ein Prozess außerhalb von Claude Code. Ein häufiger Anwendungsfall ist das Neuladen von Umgebungsvariablen, wenn sich Projekt-Konfigurationsdateien ändern.3092Wird ausgeführt, wenn sich eine überwachte Datei auf der Festplatte ändert. Claude Code erkennt Änderungen mit einem Dateisystem-Watcher, nicht durch Prüfen von Tool-Aufrufen, und führt den Hook daher unabhängig davon aus, was die Datei geändert hat: ein `Edit`- oder `Write`-Tool-Aufruf, ein Skript, das Claude mit `Bash` ausführt, oder ein Prozess vollständig außerhalb von Claude Code. Ein häufiger Anwendungsfall ist das Neuladen von Umgebungsvariablen, wenn sich Projektkonfigurationsdateien ändern.

3083 3093 

3084Der `matcher` für dieses Ereignis dient zwei Rollen:3094Der `matcher` für dieses Ereignis erfüllt zwei Aufgaben:

3085 3095 

3086* **Erstelle die Überwachungsliste**: Der Wert wird auf `|` aufgeteilt und jedes Segment wird als wörtlicher Dateiname im Arbeitsverzeichnis registriert, daher überwacht `".envrc|.env"` genau diese zwei Dateien. Regex-Muster sind hier nicht nützlich: Ein Wert wie `^\.env` würde eine Datei wörtlich namens `^\.env` überwachen.3096* **Überwachungsliste aufbauen**: Der Wert wird an `|` aufgeteilt, und jedes Segment wird als literaler Dateiname im Arbeitsverzeichnis registriert, sodass `".envrc|.env"` genau diese beiden Dateien überwacht. Regex-Muster sind hier nicht sinnvoll: Ein Wert wie `^\.env` würde eine Datei überwachen, die buchstäblich `^\.env` heißt.

3087* **Filtere, welche Hooks ausgeführt werden**: Wenn sich eine überwachte Datei ändert, filtert der gleiche Wert, welche Hook-Gruppen ausgeführt werden, unter Verwendung der Standard-[Matcher-Regeln](#matcher-patterns) gegen den Basis-Namen der geänderten Datei.3097* **Filtern, welche Hooks ausgeführt werden**: Wenn sich eine überwachte Datei ändert, filtert derselbe Wert anhand der Standard-[Matcher-Regeln](#matcher-patterns) gegen den Basisnamen der geänderten Datei, welche Hook-Gruppen ausgeführt werden.

3088 3098 

3089Dieses Beispiel normalisiert Zeilenumbrüche in `data.csv` nach jeder Änderung, einschließlich eines `Bash` Befehls oder eines externen Skripts, das die Datei umschreibt:3099Dieses Beispiel normalisiert die Zeilenenden in `data.csv` nach jeder Änderung, auch wenn ein `Bash`-Befehl oder ein externes Skript die Datei neu schreibt:

3090 3100 

3091```json theme={null}3101```json theme={null}

3092{3102{


3106}3116}

3107```3117```

3108 3118 

3109Der Hook liest den Pfad der geänderten Datei aus dem `file_path` Feld der [JSON-Eingabe](#filechanged-input) von stdin. Seine `grep` Wache testet auf das gleiche, das `perl` entfernt, ein CR am Ende einer Zeile, daher beendet der Lauf nach einer Normalisierung ohne Berührung der Datei. Eine lockerere Wache schleift für immer, weil `perl -i` die Datei umschreibt, auch wenn es nichts ersetzt und Claude Code den Hook nach jedem Umschreiben erneut ausführt. Speichern Sie dieses Skript unter `/path/to/normalize-line-endings.sh` und machen Sie es ausführbar:3119Der Hook liest den absoluten Pfad der geänderten Datei aus dem Feld `file_path` der [JSON-Eingabe](#filechanged-input) auf stdin. Seine `grep`-Prüfung testet auf dasselbe, was `perl` entfernt, nämlich ein CR am Zeilenende, sodass der Durchlauf nach einer Normalisierung beendet wird, ohne die Datei anzurühren. Eine lockerere Prüfung führt zu einer Endlosschleife, weil `perl -i` die Datei auch dann neu schreibt, wenn es nichts ersetzt, und Claude Code den Hook nach jedem Neuschreiben erneut ausführt. Speichern Sie dieses Skript unter `/path/to/normalize-line-endings.sh` und machen Sie es ausführbar:

3110 3120 

3111```bash theme={null}3121```bash theme={null}

3112#!/bin/bash3122#!/bin/bash


3116fi3126fi

3117```3127```

3118 3128 

3119Um zu bestätigen, dass der Hook funktioniert, bitten Sie Claude, eine CRLF-Zeile mit einem `Bash` Befehl an `data.csv` anzuhängen. Claude Code führt den Hook aus und die Datei endet mit LF-Umbrüchen.3129Um zu bestätigen, dass der Hook funktioniert, bitten Sie Claude, mit einem `Bash`-Befehl eine CRLF-Zeile an `data.csv` anzuhängen. Claude Code führt den Hook aus, und die Datei hat anschließend LF-Zeilenenden.

3120 3130 

3121Um Dateien zu überwachen, die Sie nicht im Voraus benennen können, geben Sie [`watchPaths`](#filechanged-output) von einem Hook zurück, um die Überwachungsliste dynamisch zu aktualisieren. Claude Code startet den Watcher nur, wenn etwas eine Datei zum Überwachen benennt, daher seeden Sie die Liste mit einer FileChanged-Gruppe, deren Matcher mindestens eine Datei benennt, oder mit einem [SessionStart](#sessionstart-decision-control) oder [CwdChanged](#cwdchanged) Hook, der `watchPaths` zurückgibt. Der Matcher filtert immer noch, welche Hook-Gruppen ausgeführt werden, wenn sich eine überwachte Datei ändert, daher geben Sie der Gruppe, die dynamische Pfade verarbeitet, einen weggelassenen Matcher, der jede überwachte Datei abgleicht und nichts zur Überwachungsliste hinzufügt. Ein `"*"` Matcher gleicht auch jede Datei ab, aber Claude Code registriert ihn in der Überwachungsliste wie jeden anderen Wert, als wörtliche Datei namens `*`.3131Um Dateien zu überwachen, die Sie nicht im Voraus benennen können, geben Sie aus einem Hook [`watchPaths`](#filechanged-output) zurück, um die Überwachungsliste dynamisch zu aktualisieren. Claude Code startet den Watcher nur, wenn etwas eine zu überwachende Datei benennt. Befüllen Sie die Liste daher mit einer FileChanged-Gruppe, deren Matcher mindestens eine Datei benennt, oder mit einem [SessionStart](#sessionstart-decision-control)- oder [CwdChanged](#cwdchanged)-Hook, der `watchPaths` zurückgibt. Der Matcher filtert weiterhin, welche Hook-Gruppen ausgeführt werden, wenn sich eine überwachte Datei ändert. Lassen Sie daher bei der Gruppe, die dynamische Pfade verarbeitet, den Matcher weg; ein weggelassener Matcher matcht jede überwachte Datei und fügt der Überwachungsliste nichts hinzu. Ein `"*"`-Matcher matcht ebenfalls jede Datei, aber Claude Code registriert ihn wie jeden anderen Wert in der Überwachungsliste, als literale Datei namens `*`.

3122 3132 

3123FileChanged-Hooks haben Zugriff auf [`CLAUDE_ENV_FILE`](#persist-environment-variables). Variablen, die in diese Datei geschrieben werden, bleiben für nachfolgende Bash-Befehle bestehen, bis zum nächsten [CwdChanged](#cwdchanged) Ereignis, wenn Claude Code sie löscht.3133FileChanged-Hooks haben Zugriff auf [`CLAUDE_ENV_FILE`](#persist-environment-variables). In diese Datei geschriebene Variablen bleiben für nachfolgende Bash-Befehle bis zum nächsten [CwdChanged](#cwdchanged)-Ereignis erhalten, bei dem Claude Code sie löscht.

3124 3134 

3125<h4 id="filechanged-input">3135<h4 id="filechanged-input">

3126 FileChanged-Eingabe3136 FileChanged-Eingabe

3127</h4>3137</h4>

3128 3138 

3129Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten FileChanged-Hooks `file_path` und `event`.3139Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten FileChanged-Hooks `file_path` und `event`.

3130 3140 

3131| Feld | Beschreibung |3141| Feld | Beschreibung |

3132| :- | :- |3142| :- | :- |

3133| `file_path` | Absoluter Pfad zur Datei, die sich geändert hat |3143| `file_path` | Absoluter Pfad zur geänderten Datei |

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

3135 3145 

3136```json theme={null}3146```json theme={null}


3148 FileChanged-Ausgabe3158 FileChanged-Ausgabe

3149</h4>3159</h4>

3150 3160 

3151Zusä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:3161Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die allen Hooks zur Verfügung stehen, können FileChanged-Hooks `watchPaths` zurückgeben, um dynamisch zu aktualisieren, welche Dateipfade überwacht werden:

3152 3162 

3153| Feld | Beschreibung |3163| Feld | Beschreibung |

3154| :- | :- |3164| :- | :- |

3155| `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 |3165| `watchPaths` | Array absoluter Pfade. Ersetzt die aktuelle dynamische Überwachungsliste. Pfade aus Ihrer `matcher`-Konfiguration werden immer überwacht. Verwenden Sie dies, wenn Ihr Hook-Skript anhand der geänderten Datei weitere zu überwachende Dateien ermittelt |

3156 3166 

3157FileChanged-Hooks haben keine Entscheidungskontrolle. Sie können die Datei-Änderung nicht blockieren.3167FileChanged-Hooks haben keine Entscheidungssteuerung. Sie können die Dateiänderung nicht verhindern.

3158 3168 

3159Claude Code liest `watchPaths` und `systemMessage` aus ihrer JSON-Ausgabe und verwirft `continue`. In interaktiven Sitzungen zeigt es die `systemMessage` als kurze Terminal-Benachrichtigung. Die Nachricht erreicht nicht den SDK-Nachrichtenstrom.3169Claude Code liest `watchPaths` und `systemMessage` aus ihrer JSON-Ausgabe und verwirft `continue`. In interaktiven Sitzungen zeigt es die `systemMessage` als kurze Terminal-Benachrichtigung an. Die Nachricht erreicht den SDK-Nachrichtenstrom nicht.

3160 3170 

3161<h3 id="worktreecreate">3171<h3 id="worktreecreate">

3162 WorktreeCreate3172 WorktreeCreate

3163</h3>3173</h3>

3164 3174 

3165Wird ausgeführt, wenn ein Worktree erstellt wird, ob von `claude --worktree`, von einem [Subagenten mit `isolation: "worktree"`](/docs/de/sub-agents#choose-the-subagent-scope) oder für eine [Hintergrund-Sitzung](/docs/de/agent-view#how-file-edits-are-isolated), die Claude Code in seinem eigenen Worktree isoliert. Standardmäßig erstellt Claude Code die isolierte Arbeitskopie mit `git worktree`. Das Konfigurieren eines WorktreeCreate-Hooks ersetzt dieses Standard-Git-Verhalten und ermöglicht es Ihnen, ein anderes Versionskontroll-System wie SVN, Perforce oder Mercurial zu verwenden.3175Wird ausgeführt, wenn ein Worktree erstellt wird, sei es über `claude --worktree`, durch einen [Subagenten mit `isolation: "worktree"`](/docs/de/sub-agents#choose-the-subagent-scope) oder für eine [Hintergrundsitzung](/docs/de/agent-view#how-file-edits-are-isolated), die Claude Code in einem eigenen Worktree isoliert. Standardmäßig erstellt Claude Code die isolierte Arbeitskopie mit `git worktree`. Das Konfigurieren eines WorktreeCreate-Hooks ersetzt dieses standardmäßige Git-Verhalten, sodass Sie ein anderes Versionskontrollsystem wie SVN, Perforce oder Mercurial verwenden können.

3166 3176 

3167Da der Hook das Standard-Verhalten vollständig ersetzt, wird [`.worktreeinclude`](/docs/de/worktrees#copy-gitignored-files-into-worktrees) nicht verarbeitet. Wenn Sie lokale Konfigurationsdateien wie `.env` in den neuen Worktree kopieren müssen, tun Sie dies in Ihrem Hook-Skript.3177Da der Hook das Standardverhalten vollständig ersetzt, wird [`.worktreeinclude`](/docs/de/worktrees#copy-gitignored-files-into-worktrees) nicht verarbeitet. Wenn Sie lokale Konfigurationsdateien wie `.env` in den neuen Worktree kopieren müssen, tun Sie dies in Ihrem Hook-Skript.

3168 3178 

3169Der Hook muss den Pfad zum erstellten Worktree-Verzeichnis zurückgeben. Claude Code verwendet diesen Pfad als Arbeitsverzeichnis für die isolierte Sitzung. Siehe [WorktreeCreate-Ausgabe](#worktreecreate-output) für wie jeder Hook-Typ den Pfad zurückgibt.3179Der Hook muss den Pfad zum erstellten Worktree-Verzeichnis zurückgeben. Claude Code verwendet diesen Pfad als Arbeitsverzeichnis für die isolierte Sitzung. Siehe [WorktreeCreate-Ausgabe](#worktreecreate-output) dazu, wie jeder Hook-Typ den Pfad zurückgibt.

3170 3180 

3171Claude Code handelt auf den Erfolg des Hooks und den zurückgegebenen Pfad und verwirft `systemMessage` und `continue`.3181Claude Code berücksichtigt den Erfolg des Hooks und den zurückgegebenen Pfad und verwirft `systemMessage` und `continue`.

3172 3182 

3173Dieses Beispiel erstellt eine SVN-Arbeitskopie und druckt den Pfad für Claude Code zur Verwendung. Ersetzen Sie die Repository-URL durch Ihre eigene:3183Dieses Beispiel erstellt eine SVN-Arbeitskopie und gibt den Pfad aus, den Claude Code verwenden soll. Ersetzen Sie die Repository-URL durch Ihre eigene:

3174 3184 

3175```json theme={null}3185```json theme={null}

3176{3186{


3189}3199}

3190```3200```

3191 3201 

3192Der Hook liest den Worktree-`name` aus der JSON-Eingabe von stdin, checkt eine frische Kopie in ein neues Verzeichnis aus und druckt den Verzeichnis-Pfad. Das `echo` auf der letzten Zeile ist das, was Claude Code als Worktree-Pfad liest. Leiten Sie jede andere Ausgabe zu stderr um, damit sie nicht mit dem Pfad interferiert.3202Der Hook liest den Worktree-`name` aus der JSON-Eingabe auf stdin, checkt eine neue Kopie in ein neues Verzeichnis aus und gibt den Verzeichnispfad aus. Das `echo` in der letzten Zeile ist das, was Claude Code als Worktree-Pfad liest. Leiten Sie jede andere Ausgabe nach stderr um, damit sie den Pfad nicht beeinträchtigt.

3193 3203 

3194<h4 id="worktreecreate-input">3204<h4 id="worktreecreate-input">

3195 WorktreeCreate-Eingabe3205 WorktreeCreate-Eingabe

3196</h4>3206</h4>

3197 3207 

3198Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten WorktreeCreate-Hooks das `name` Feld. Dies ist ein Slug-Bezeichner für den neuen Worktree, entweder vom Benutzer angegeben oder automatisch generiert, z. B. `bold-oak-a3f2`.3208Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten WorktreeCreate-Hooks das Feld `name`. Dies ist ein Slug-Bezeichner für den neuen Worktree, entweder vom Benutzer angegeben oder automatisch generiert, zum Beispiel `bold-oak-a3f2`.

3199 3209 

3200```json theme={null}3210```json theme={null}

3201{3211{


3211 WorktreeCreate-Ausgabe3221 WorktreeCreate-Ausgabe

3212</h4>3222</h4>

3213 3223 

3214WorktreeCreate-Hooks verwenden nicht das Standard-Zulassen/Blockieren-Entscheidungsmodell. Stattdessen bestimmt der Erfolg oder Fehler des Hooks das Ergebnis. Der Hook muss den Pfad zum erstellten Worktree-Verzeichnis zurückgeben:3224WorktreeCreate-Hooks verwenden nicht das übliche Entscheidungsmodell aus Zulassen und Blockieren. Stattdessen bestimmt der Erfolg oder Misserfolg des Hooks das Ergebnis. Der Hook muss den Pfad zum erstellten Worktree-Verzeichnis zurückgeben:

3215 3225 

3216* **Command-Hooks** (`type: "command"`): Drucken Sie den Pfad als letzte nicht-leere Zeile von stdout. Claude Code entfernt ANSI-Escape-Codes, bevor diese Zeile gelesen wird, daher werden Shell-Start-Banner, die vor Ihrem `echo` gedruckt werden, ignoriert. Leiten Sie jede andere Hook-Ausgabe zu stderr um.3226* **Befehls-Hooks** (`type: "command"`): Geben Sie den Pfad als letzte nicht leere Zeile auf stdout aus. Claude Code entfernt ANSI-Escape-Codes, bevor es diese Zeile liest, sodass Shell-Startbanner, die vor Ihrem `echo` ausgegeben werden, ignoriert werden. Leiten Sie jede andere Ausgabe des Hooks nach stderr um.

3217* **HTTP-Hooks** (`type: "http"`): Geben Sie `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }` im Antwort-Body zurück.3227* **HTTP-Hooks** (`type: "http"`): Geben Sie `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }` im Response-Body zurück.

3218 3228 

3219Wenn der Hook fehlschlägt oder keinen Pfad erzeugt, schlägt die Worktree-Erstellung mit einem Fehler fehl.3229Wenn der Hook fehlschlägt oder keinen Pfad liefert, schlägt die Erstellung des Worktrees mit einem Fehler fehl.

3220 3230 

3221Claude Code löst einen relativen Pfad gegen das Verzeichnis auf, in dem der Hook ausgeführt wurde, und bricht alle `.` oder `..` Segmente darin zusammen. Wenn der resultierende Pfad kein Verzeichnis ist, das Claude Code betreten kann, druckt die Sitzung einen Fehler, der den Pfad benennt und beendet sich mit Code 1.3231Claude Code löst einen relativen Pfad relativ zu dem Verzeichnis auf, in dem der Hook ausgeführt wurde, und löst dabei alle `.`- oder `..`-Segmente auf. Wenn der resultierende Pfad kein Verzeichnis ist, das Claude Code betreten kann, gibt die Sitzung einen Fehler mit dem Pfad aus und wird mit Exit-Code 1 beendet.

3222 3232 

3223Claude Code lehnt einen absoluten Pfad ab, der `.` oder `..` Segmente enthält, und jeden Pfad, der unter der Repository-Root durch einen Symlink geht, da ein Symlink, der im Repository committed ist, den Worktree außerhalb davon umleiten könnte. Der Fehler benennt die abgelehnte Komponente. Geben Sie einen normalisierten Pfad zurück, der nicht durch einen Symlink im Repository geht. Vor v2.1.216 folgte die Worktree-Erstellung dem Pfad des Hooks ohne diese Überprüfung.3233Claude Code lehnt einen absoluten Pfad ab, der `.`- oder `..`-Segmente enthält, sowie jeden Pfad, der unterhalb des Repository-Stammverzeichnisses durch einen Symlink führt, da ein im Repository committeter Symlink den Worktree aus dem Repository heraus umleiten könnte. Die Fehlermeldung nennt die abgelehnte Komponente. Geben Sie einen normalisierten Pfad zurück, der nicht durch einen Symlink innerhalb des Repositorys führt. Vor v2.1.216 folgte die Worktree-Erstellung dem Pfad des Hooks ohne diese Prüfung.

3224 3234 

3225<h3 id="worktreeremove">3235<h3 id="worktreeremove">

3226 WorktreeRemove3236 WorktreeRemove

3227</h3>3237</h3>

3228 3238 

3229Wird ausgeführt, wenn ein Worktree entfernt wird. Dies ist das Cleanup-Gegenstück zu [WorktreeCreate](#worktreecreate). Das Ereignis wird ausgelöst, wenn:3239Wird ausgeführt, wenn ein Worktree entfernt wird. Dies ist das Gegenstück zu [WorktreeCreate](#worktreecreate) für die Bereinigung. Das Ereignis wird ausgelöst, wenn:

3230 3240 

3231* Sie eine `--worktree` Sitzung beenden und wählen, sie zu entfernen3241* Sie eine `--worktree`-Sitzung beenden und sich für das Entfernen entscheiden

3232* Ein Subagent mit `isolation: "worktree"` beendet3242* ein Subagent mit `isolation: "worktree"` fertig ist

3233* Sie eine [Hintergrund-Sitzung](/docs/de/agent-view#what-deleting-a-session-removes) löschen, deren Worktree der Hook erstellt hat3243* Sie eine [Hintergrundsitzung](/docs/de/agent-view#what-deleting-a-session-removes) löschen, deren Worktree der Hook erstellt hat

3234 3244 

3235Für Git-basierte Worktrees verarbeitet Claude Code Cleanup automatisch mit `git worktree remove`. Wenn Sie einen WorktreeCreate-Hook konfiguriert haben, paaren Sie ihn mit einem WorktreeRemove-Hook, um Cleanup der Worktrees zu steuern, die er erstellt:3245Bei Git-basierten Worktrees übernimmt Claude Code die Bereinigung automatisch mit `git worktree remove`. Wenn Sie einen WorktreeCreate-Hook konfiguriert haben, kombinieren Sie ihn mit einem WorktreeRemove-Hook, um die Bereinigung der von ihm erstellten Worktrees zu steuern:

3236 3246 

3237* **Kein WorktreeRemove-Hook**: Wenn Sie eine `--worktree` Sitzung beenden und Entfernung wählen, fällt Claude Code auf `git worktree remove --force` auf dem Pfad zurück, den Ihr WorktreeCreate-Hook zurückgegeben hat, daher wird ein Worktree, das Git erkennt, entfernt. Ein Worktree, das Git nicht erkennt, z. B. einer, den Ihr Hook mit einem nicht-Git-Versionskontroll-System erstellt hat, bleibt auf der Festplatte. Für was das Löschen einer [Hintergrund-Sitzung](/docs/de/agent-view#what-deleting-a-session-removes) mit einem Hook-erstellten Worktree tut, siehe die Lösch-Regeln der Agent-Ansicht.3247* **Kein WorktreeRemove-Hook**: Wenn Sie eine `--worktree`-Sitzung beenden und das Entfernen wählen, greift Claude Code ersatzweise auf `git worktree remove --force` für den Pfad zurück, den Ihr WorktreeCreate-Hook zurückgegeben hat, sodass ein Worktree, den Git erkennt, entfernt wird. Ein Worktree, den Git nicht erkennt, etwa einer, den Ihr Hook mit einem anderen Versionskontrollsystem als Git erstellt hat, bleibt auf der Festplatte. Was beim Löschen einer [Hintergrundsitzung](/docs/de/agent-view#what-deleting-a-session-removes) mit einem vom Hook erstellten Worktree geschieht, erfahren Sie in den Löschregeln der Agentenansicht.

3238* **Hook beendet 0**: Der Worktree wird als entfernt gezählt. Claude Code liest nichts anderes vom Hook, daher stellen Sie sicher, dass Ihr Hook das Verzeichnis gelöscht hat.3248* **Hook endet mit 0**: Der Worktree gilt als entfernt. Claude Code liest nichts weiter vom Hook, stellen Sie also sicher, dass Ihr Hook das Verzeichnis gelöscht hat.

3239* **Hook beendet nicht-Null**: Die Entfernung schlägt fehl, wenn das Verzeichnis bei `worktree_path` immer noch danach existiert, und der Worktree bleibt auf der Festplatte mit keinem Git-Fallback. Ein Hook, der das Verzeichnis vor dem Beenden nicht-Null gelöscht hat, wird als entfernt gezählt. Für wie der Fehler gemeldet wird, siehe [WorktreeRemove-Eingabe](#worktreeremove-input).3249* **Hook endet mit einem Wert ungleich 0**: Das Entfernen schlägt fehl, wenn das Verzeichnis unter `worktree_path` danach noch existiert, und der Worktree bleibt ohne Git-Fallback auf der Festplatte. Ein Hook, der das Verzeichnis gelöscht hat, bevor er mit einem Wert ungleich 0 endet, gilt als entfernt. Wie der Fehler gemeldet wird, erfahren Sie unter [WorktreeRemove-Eingabe](#worktreeremove-input).

3240 3250 

3241Claude Code löscht niemals einen Branch, der zu einem Hook-erstellten Worktree gehört, da es nur den Pfad kennt, den Ihr WorktreeCreate-Hook zurückgegeben hat. Wenn Ihr WorktreeCreate-Hook einen Branch erstellt, löschen Sie ihn in Ihrem WorktreeRemove-Hook.3251Claude Code löscht niemals einen Branch, der zu einem vom Hook erstellten Worktree gehört, da es nur den Pfad kennt, den Ihr WorktreeCreate-Hook zurückgegeben hat. Wenn Ihr WorktreeCreate-Hook einen Branch erstellt, löschen Sie ihn in Ihrem WorktreeRemove-Hook.

3242 3252 

3243Claude Code verwirft die [JSON-Ausgabefelder](#json-output) eines WorktreeRemove-Hooks, wie `systemMessage` und `continue`.3253Claude Code verwirft die [JSON-Ausgabefelder](#json-output) eines WorktreeRemove-Hooks, etwa `systemMessage` und `continue`.

3244 3254 

3245Für ein Hintergrund-Sitzungs-Löschen überprüft Claude Code den gespeicherten Worktree-Pfad, bevor der Hook ausgeführt wird und lehnt einen Pfad ab, der ein Symlink ist oder unter der Repository-Root durch einen geht. Der Hook wird für einen Worktree, der immer noch Dateien enthält, nur ausgeführt, wenn Sie das Löschen in der [Agent-Ansicht](/docs/de/agent-view#what-deleting-a-session-removes) bestätigen; für einen solchen Worktree behält [`claude rm`](/docs/de/agent-view#manage-sessions-from-the-shell) die Sitzung und den Worktree statt. Vor v2.1.216 wurde der Hook auf dem gespeicherten Pfad ohne diese Überprüfungen ausgeführt.3255Beim Löschen einer Hintergrundsitzung überprüft Claude Code den gespeicherten Worktree-Pfad, bevor der Hook ausgeführt wird, und lehnt einen Pfad ab, der ein Symlink ist oder unterhalb des Repository-Stammverzeichnisses durch einen Symlink führt. Für einen Worktree, der noch Dateien enthält, wird der Hook nur ausgeführt, wenn Sie das Löschen in der [Agentenansicht](/docs/de/agent-view#what-deleting-a-session-removes) bestätigen; für einen solchen Worktree behält [`claude rm`](/docs/de/agent-view#manage-sessions-from-the-shell) stattdessen die Sitzung und den Worktree bei. Vor v2.1.216 wurde der Hook ohne diese Prüfungen für den gespeicherten Pfad ausgeführt.

3246 3256 

3247Claude Code übergibt den von WorktreeCreate zurückgegebenen Pfad als `worktree_path` in der Hook-Eingabe. Dieses Beispiel liest diesen Pfad und entfernt das Verzeichnis:3257Claude Code übergibt den von WorktreeCreate zurückgegebenen Pfad als `worktree_path` in der Hook-Eingabe. Dieses Beispiel liest diesen Pfad und entfernt das Verzeichnis:

3248 3258 


3267 WorktreeRemove-Eingabe3277 WorktreeRemove-Eingabe

3268</h4>3278</h4>

3269 3279 

3270Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten WorktreeRemove-Hooks das `worktree_path` Feld, das der absolute Pfad zum Worktree ist, der entfernt wird.3280Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten WorktreeRemove-Hooks das Feld `worktree_path`, das den absoluten Pfad zum zu entfernenden Worktree enthält.

3271 3281 

3272```json theme={null}3282```json theme={null}

3273{3283{


3279}3289}

3280```3290```

3281 3291 

3282Der Exit-Code eines WorktreeRemove-Hooks entscheidet das Ergebnis. Wenn ein Hook nicht-Null beendet und das Verzeichnis bei `worktree_path` danach immer noch existiert, schlägt die Entfernung fehl:3292Der Exit-Code eines WorktreeRemove-Hooks bestimmt das Ergebnis. Wenn ein Hook mit einem Wert ungleich 0 endet und das Verzeichnis unter `worktree_path` danach noch existiert, schlägt das Entfernen fehl:

3283 3293 

3284* Der Worktree bleibt auf der Festplatte und der Hook-Befehl und stderr gehen ins [Debug-Protokoll](#debug-hooks).3294* Der Worktree bleibt auf der Festplatte, und der Befehl sowie stderr des Hooks werden in das [Debug-Log](#debug-hooks) geschrieben.

3285* Wenn Sie eine Hintergrund-Sitzung löschen, bleibt die Sitzung auch. Die Verweigerungs-Nachricht in der [Agent-Ansicht](/docs/de/agent-view#what-deleting-a-session-removes) meldet, wie der Hook endete, wie `exited 1`, zitiert den Anfang seines stderr und sagt, ob das Löschen der Sitzung erneut das Verzeichnis entfernt.3295* Wenn Sie eine Hintergrundsitzung gelöscht haben, bleibt auch die Sitzung bestehen. Die Ablehnungsmeldung in der [Agentenansicht](/docs/de/agent-view#what-deleting-a-session-removes) gibt an, wie der Hook beendet wurde, etwa `exited 1`, zitiert den Anfang seiner stderr-Ausgabe und gibt an, ob ein erneutes Löschen der Sitzung das Verzeichnis trotzdem entfernt.

3286 3296 

3287<h3 id="precompact">3297<h3 id="precompact">

3288 PreCompact3298 PreCompact

3289</h3>3299</h3>

3290 3300 

3291Wird ausgeführt, bevor Claude Code eine Komprimierungs-Operation ausführen möchte.3301Wird ausgeführt, bevor Claude Code einen Komprimierungsvorgang startet.

3292 3302 

3293Der Matcher-Wert gibt an, ob die Komprimierung manuell oder automatisch ausgelöst wurde:3303Der Matcher-Wert gibt an, ob die Komprimierung manuell oder automatisch ausgelöst wurde:

3294 3304 

3295| Matcher | Wann wird es ausgelöst |3305| Matcher | Wann er ausgelöst wird |

3296| :- | :- |3306| :- | :- |

3297| `manual` | `/compact` |3307| `manual` | `/compact` |

3298| `auto` | Auto-Komprimierung, wenn die Konversation das [Auto-Komprimierungs-Fenster](/docs/de/model-config#set-the-auto-compact-window) erreicht |3308| `auto` | Automatische Komprimierung, wenn die Konversation das [Fenster für die automatische Komprimierung](/docs/de/model-config#set-the-auto-compact-window) erreicht |

3299 3309 

3300Beenden Sie mit Code 2, um die Komprimierung zu blockieren. Für ein manuelles `/compact` wird die stderr-Nachricht dem Benutzer angezeigt. Sie können auch blockieren, indem Sie JSON mit `"decision": "block"` zurückgeben.3310Beenden Sie mit Exit-Code 2, um die Komprimierung zu blockieren. Bei einem manuellen `/compact` wird die stderr-Meldung dem Benutzer angezeigt. Sie können auch blockieren, indem Sie JSON mit `"decision": "block"` zurückgeben.

3301 3311 

3302Das Blockieren der automatischen Komprimierung hat unterschiedliche Auswirkungen, je nachdem, wann es ausgelöst wird. Wenn die Komprimierung proaktiv ausgelöst wurde, bevor das Kontext-Limit erreicht wurde, überspringt Claude Code sie und die Konversation wird unkomprimiert fortgesetzt. Wenn die Komprimierung ausgelöst wurde, um sich von einem Kontext-Limit-Fehler zu erholen, der bereits von der API zurückgegeben wurde, zeigt sich der zugrunde liegende Fehler und die aktuelle Anfrage schlägt fehl.3312Das Blockieren der automatischen Komprimierung hat je nach Zeitpunkt unterschiedliche Auswirkungen. Wurde die Komprimierung vorsorglich vor dem Kontextlimit ausgelöst, überspringt Claude Code sie, und die Konversation wird unkomprimiert fortgesetzt. Wurde die Komprimierung ausgelöst, um sich von einem bereits von der API zurückgegebenen Kontextlimit-Fehler zu erholen, tritt der zugrunde liegende Fehler zutage, und die aktuelle Anfrage schlägt fehl.

3303 3313 

3304Claude Code verwirft die `systemMessage` und `continue` Felder eines PreCompact-Hooks.3314Claude Code verwirft die Felder `systemMessage` und `continue` eines PreCompact-Hooks.

3305 3315 

3306<h4 id="precompact-input">3316<h4 id="precompact-input">

3307 PreCompact-Eingabe3317 PreCompact-Eingabe

3308</h4>3318</h4>

3309 3319 

3310Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten PreCompact-Hooks `trigger` und `custom_instructions`. Für `manual` enthält `custom_instructions` das, was der Benutzer in `/compact` übergibt und ist `null`, wenn sie nichts übergeben. Für `auto` ist `custom_instructions` `null`.3320Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten PreCompact-Hooks `trigger` und `custom_instructions`. Bei `manual` enthält `custom_instructions` das, was der Benutzer an `/compact` übergibt, und ist `null`, wenn nichts übergeben wird. Bei `auto` ist `custom_instructions` `null`.

3311 3321 

3312```json theme={null}3322```json theme={null}

3313{3323{


3324 PostCompact3334 PostCompact

3325</h3>3335</h3>

3326 3336 

3327Wird ausgeführt, nachdem Claude Code eine Komprimierungs-Operation abgeschlossen hat. Verwenden Sie dieses Ereignis, um auf den neuen komprimierten Zustand zu reagieren, z. B. um die generierte Zusammenfassung zu protokollieren oder externen Zustand zu aktualisieren. Claude Code verwirft die `systemMessage` und `continue` Felder eines PostCompact-Hooks.3337Wird ausgeführt, nachdem Claude Code einen Komprimierungsvorgang abgeschlossen hat. Verwenden Sie dieses Ereignis, um auf den neuen komprimierten Zustand zu reagieren, etwa um die generierte Zusammenfassung zu protokollieren oder externen Zustand zu aktualisieren. Claude Code verwirft die Felder `systemMessage` und `continue` eines PostCompact-Hooks.

3328 3338 

3329Die gleichen Matcher-Werte gelten wie für `PreCompact`:3339Es gelten dieselben Matcher-Werte wie für `PreCompact`:

3330 3340 

3331| Matcher | Wann wird es ausgelöst |3341| Matcher | Wann er ausgelöst wird |

3332| :- | :- |3342| :- | :- |

3333| `manual` | Nach `/compact` |3343| `manual` | Nach `/compact` |

3334| `auto` | Nach Auto-Komprimierung, wenn die Konversation das [Auto-Komprimierungs-Fenster](/docs/de/model-config#set-the-auto-compact-window) erreicht |3344| `auto` | Nach der automatischen Komprimierung, wenn die Konversation das [Fenster für die automatische Komprimierung](/docs/de/model-config#set-the-auto-compact-window) erreicht |

3335 3345 

3336<h4 id="postcompact-input">3346<h4 id="postcompact-input">

3337 PostCompact-Eingabe3347 PostCompact-Eingabe

3338</h4>3348</h4>

3339 3349 

3340Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten PostCompact-Hooks `trigger` und `compact_summary`. Das `compact_summary` Feld enthält die Konversations-Zusammenfassung, die von der Komprimierungs-Operation generiert wurde.3350Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten PostCompact-Hooks `trigger` und `compact_summary`. Das Feld `compact_summary` enthält die vom Komprimierungsvorgang generierte Zusammenfassung der Konversation.

3341 3351 

3342```json theme={null}3352```json theme={null}

3343{3353{


3350}3360}

3351```3361```

3352 3362 

3353PostCompact-Hooks haben keine Entscheidungskontrolle. Sie können das Komprimierungs-Ergebnis nicht beeinflussen, können aber Folge-Aufgaben ausführen.3363PostCompact-Hooks haben keine Entscheidungssteuerung. Sie können das Ergebnis der Komprimierung nicht beeinflussen, aber Folgeaufgaben ausführen.

3354 3364 

3355<h3 id="premodelswitch">3365<h3 id="premodelswitch">

3356 PreModelSwitch3366 PreModelSwitch

3357</h3>3367</h3>

3358 3368 

3359Wird ausgeführt, bevor Claude Code einen Modell-Wechsel anwendet, den Sie oder ein Client angefordert haben. Verwenden Sie ihn, um einen Wechsel zu blockieren, eine Bestätigung zu erfordern oder zu zeigen, was der Wechsel kostet, bevor er passiert.3369Wird ausgeführt, bevor Claude Code einen Modellwechsel anwendet, den Sie oder ein Client angefordert haben. Verwenden Sie es, um einen Wechsel zu blockieren, eine Bestätigung zu verlangen oder anzuzeigen, was der Wechsel kosten wird, bevor er erfolgt.

3360 3370 

3361PreModelSwitch erfordert Claude Code v2.1.251 oder später. Claude Code führt ihn für diese Anfragen aus:3371PreModelSwitch erfordert Claude Code v2.1.251 oder höher. Claude Code führt es für diese Anfragen aus:

3362 3372 

3363* `/model <name>` und der `/model` Picker3373* `/model <name>` und die `/model`-Auswahl

3364* Der `Option+P` oder `Alt+P` Modell-Picker3374* Die Modellauswahl über `Option+P` oder `Alt+P`

3365* Die Model-Einstellung in `/config`3375* Die Einstellung „Model“ in `/config`

3366* Das Aktivieren des [Fast-Modus](/docs/de/fast-mode), wenn das das Modell der Sitzung ändert3376* Das Einschalten des [Fast-Modus](/docs/de/fast-mode), wenn dadurch das Modell der Sitzung geändert wird

3367* Eine `set_model` Anfrage oder eine Modell-Änderung in einer `apply_flag_settings` Anfrage von einem [Agent SDK](/docs/de/agent-sdk/typescript#query-object) Host oder [Remote Control](/docs/de/remote-control)3377* Eine `set_model`-Anfrage oder eine Modelländerung in einer `apply_flag_settings`-Anfrage von einem [Agent SDK](/docs/de/agent-sdk/typescript#query-object)-Host oder über [Remote Control](/docs/de/remote-control)

3368 3378 

3369Claude Code führt PreModelSwitch-Hooks nicht für Wechsel aus, die es selbst macht, wie ein [automatisches Modell-Fallback](/docs/de/model-config#automatic-model-fallback) oder das Wiederherstellen des Modells, wenn Sie eine Sitzung fortsetzen. Diese Änderungen erreichen [PostModelSwitch](#postmodelswitch) nur.3379Claude Code führt PreModelSwitch-Hooks nicht für Wechsel aus, die es selbst vornimmt, etwa einen [automatischen Modell-Fallback](/docs/de/model-config#automatic-model-fallback) oder das Wiederherstellen des Modells beim Fortsetzen einer Sitzung. Diese Änderungen erreichen nur [PostModelSwitch](#postmodelswitch).

3370 3380 

3371Claude Code vergleicht den Matcher gegen den kanonischen Namen des Modells, zu dem die Sitzung wechselt, ignoriert jeden `[1m]` Suffix. Ein Alias wie `opus`, eine datierte Modell-ID und eine Provider-spezifische ID wie eine Amazon Bedrock Modell-ID gleichen alle den einen kanonischen Namen ab, den sie auflösen, daher deckt `claude-opus-5` jede Schreibweise von Opus 5 ab.3381Claude Code vergleicht den Matcher mit dem kanonischen Namen des Modells, zu dem die Sitzung wechselt, und ignoriert dabei ein etwaiges `[1m]`-Suffix. Ein Alias wie `opus`, eine datierte Modell-ID und eine anbieterspezifische ID wie eine Amazon-Bedrock-Modell-ID stimmen alle mit dem einen kanonischen Namen überein, in den sie aufgelöst werden, sodass `claude-opus-5` jede Schreibweise von Opus 5 abdeckt.

3372 3382 

3373Wenn Claude Code einen kanonischen Namen für das Ziel nicht bestimmen kann, z. B. eine benutzerdefinierte Modell-ID, die nur Ihr [LLM-Gateway](/docs/de/llm-gateway) kennt, führt es jeden PreModelSwitch-Hook unabhängig vom Matcher aus. Ein Hook, der blockiert, sollte daher `to_model` aus seiner Eingabe überprüfen, anstatt sich nur auf den Matcher zu verlassen.3383Wenn Claude Code keinen kanonischen Namen für das Ziel ermitteln kann, etwa bei einer benutzerdefinierten Modell-ID, die nur Ihr [LLM-Gateway](/docs/de/llm-gateway) kennt, führt es jeden PreModelSwitch-Hook unabhängig vom Matcher aus. Ein blockierender Hook sollte daher `to_model` aus seiner Eingabe prüfen, statt sich allein auf den Matcher zu verlassen.

3374 3384 

3375Schreiben Sie den Matcher als genauen Namen, eine `|`-getrennte Liste wie `claude-opus-4-6|claude-opus-5` oder einen regulären Ausdruck wie `.*opus.*`. Dieses Beispiel verwendet einen genauen Namen-Matcher und überprüft auch `to_model` aus der Hook-Eingabe, daher lehnt es einen Wechsel zu Opus 4.6 ab, indem es mit Code 2 beendet und lässt jedes andere Ziel durch:3385Schreiben Sie den Matcher als exakten Namen, als durch `|` getrennte Liste wie `claude-opus-4-6|claude-opus-5` oder als regulären Ausdruck wie `.*opus.*`. Dieses Beispiel verwendet einen Matcher mit exaktem Namen und prüft zusätzlich `to_model` aus der Hook-Eingabe, sodass es einen Wechsel zu Opus 4.6 durch Beenden mit Exit-Code 2 ablehnt und jedes andere Ziel durchlässt:

3376 3386 

3377<Tabs>3387<Tabs>

3378 <Tab title="macOS/Linux">3388 <Tab title="macOS/Linux">

3379 Der Befehl überprüft `to_model` mit `jq`:3389 Der Befehl prüft `to_model` mit `jq`:

3380 3390 

3381 ```json theme={null}3391 ```json theme={null}

3382 {3392 {


3398 </Tab>3408 </Tab>

3399 3409 

3400 <Tab title="Windows (PowerShell)">3410 <Tab title="Windows (PowerShell)">

3401 Registrieren Sie einen Command-Hook, der ein Skript durch PowerShell ausführt:3411 Registrieren Sie einen Befehls-Hook, der ein Skript über PowerShell ausführt:

3402 3412 

3403 ```json theme={null}3413 ```json theme={null}

3404 {3414 {


3425 }3435 }

3426 ```3436 ```

3427 3437 

3428 Speichern Sie dieses Skript unter `.claude/hooks/block-opus-46.ps1` in Ihrem Projekt:3438 Speichern Sie dieses Skript in Ihrem Projekt unter `.claude/hooks/block-opus-46.ps1`:

3429 3439 

3430 ```powershell theme={null}3440 ```powershell theme={null}

3431 $hookInput = [Console]::In.ReadToEnd() | ConvertFrom-Json3441 $hookInput = [Console]::In.ReadToEnd() | ConvertFrom-Json


3438 </Tab>3448 </Tab>

3439</Tabs>3449</Tabs>

3440 3450 

3441Um zu bestätigen, dass der Hook funktioniert, führen Sie `/model claude-opus-4-6` aus einer Sitzung aus, die ein anderes Modell ausführt. Claude Code behält das aktuelle Modell und meldet, dass ein PreModelSwitch-Hook den Wechsel blockiert hat, mit Ihrer Nachricht als Grund.3451Um zu prüfen, ob der Hook funktioniert, führen Sie `/model claude-opus-4-6` in einer Sitzung aus, die ein anderes Modell verwendet. Claude Code behält das aktuelle Modell bei und meldet, dass ein PreModelSwitch-Hook den Wechsel blockiert hat, mit Ihrer Meldung als Grund.

3442 3452 

3443<h4 id="premodelswitch-input">3453<h4 id="premodelswitch-input">

3444 PreModelSwitch-Eingabe3454 PreModelSwitch-Eingabe

3445</h4>3455</h4>

3446 3456 

3447Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten PreModelSwitch-Hooks die Felder in dieser Tabelle. Die letzten fünf beschreiben, was das Erneut-Senden der Konversation zum neuen Modell kostet, daher kann ein Hook diese Zahl zeigen, bevor der Wechsel passiert.3457Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten PreModelSwitch-Hooks die Felder in dieser Tabelle. Die letzten fünf beschreiben, was das erneute Senden der Konversation an das neue Modell kostet, sodass ein Hook diesen Wert vor dem Wechsel anzeigen kann.

3448 3458 

3449| Feld | Typ | Beschreibung |3459| Feld | Typ | Beschreibung |

3450| :- | :- | :- |3460| :- | :- | :- |

3451| `from_model` | string | Modell-ID, von der der Wechsel ändert |3461| `from_model` | string | Modell-ID, von der gewechselt wird |

3452| `to_model` | string | Modell-ID, zu der der Wechsel ändert. Der Matcher vergleicht gegen den kanonischen Namen dieses Modells |3462| `to_model` | string | Modell-ID, zu der gewechselt wird. Der Matcher wird mit dem kanonischen Namen dieses Modells verglichen |

3453| `requested_model` | string oder `null` | Das Modell, das die Anfrage benannt hat: ein Alias wie `opus`, eine vollständige Modell-ID oder `null`, wenn die Anfrage für das Standard-Modell war |3463| `requested_model` | string oder `null` | Das in der Anfrage genannte Modell: ein Alias wie `opus`, eine vollständige Modell-ID oder `null`, wenn das Standardmodell angefordert wurde |

3454| `source` | string | Woher die Anfrage kam: `"command"` für `/model <name>`, die Model-Einstellung in `/config` oder das Aktivieren des Fast-Modus; `"picker"` für einen Modell-Picker; `"sdk"` für eine `set_model` Anfrage oder eine Modell-Änderung in einer `apply_flag_settings` Anfrage von einem Agent SDK Host oder Remote Control |3464| `source` | string | Woher die Anfrage kam: `"command"` für `/model <name>`, die Einstellung „Model“ in `/config` oder das Einschalten des Fast-Modus; `"picker"` für eine Modellauswahl; `"sdk"` für eine `set_model`-Anfrage oder eine Modelländerung in einer `apply_flag_settings`-Anfrage von einem Agent-SDK-Host oder über Remote Control |

3455| `context_tokens` | number | Token, die die nächste Anfrage erneut sendet als ihre Eingabeaufforderung: die Eingabe-, Cache-Lese-, Cache-Erstellungs- und Ausgabe-Token der letzten Antwort in der Hauptkonversation, kombiniert. `0` vor der ersten Antwort |3465| `context_tokens` | number | Token, die die nächste Anfrage erneut als Prompt sendet: die Eingabe-, Cache-Lese-, Cache-Erstellungs- und Ausgabe-Token der letzten Antwort in der Hauptkonversation zusammengenommen. `0` vor der ersten Antwort |

3456| `prompt_cache_warm` | boolean | Ob der Prompt-Cache des aktuellen Modells wahrscheinlich noch warm ist, was bedeutet, dass der Wechsel ihn aufgibt |3466| `prompt_cache_warm` | boolean | Ob der Prompt-Cache des aktuellen Modells wahrscheinlich noch warm ist, was bedeutet, dass er durch den Wechsel verloren geht |

3457| `cache_ttl` | string | [Prompt-Cache-Lebensdauer](/docs/de/prompt-caching#cache-lifetime), die Claude Code für diese Sitzung anfordert: `"5m"` oder `"1h"` |3467| `cache_ttl` | string | [Lebensdauer des Prompt-Caches](/docs/de/prompt-caching#cache-lifetime), die Claude Code für diese Sitzung anfordert: `"5m"` oder `"1h"` |

3458| `estimated_cache_write_usd` | number | Geschätzte Kosten in US-Dollar für das Schreiben von `context_tokens` in den Prompt-Cache auf `to_model` bei der `cache_ttl` Rate, ohne die nächste Antwort. Der Server muss möglicherweise nicht den ganzen Kontext erneut zwischenspeichern, daher behandeln Sie es als Schätzung |3468| `estimated_cache_write_usd` | number | Geschätzte Kosten in US-Dollar für das Schreiben von `context_tokens` in den Prompt-Cache auf `to_model` zum `cache_ttl`-Tarif, ohne die nächste Antwort. Der Server muss möglicherweise nicht den gesamten Kontext erneut zwischenspeichern, betrachten Sie den Wert daher als Schätzung |

3459| `pricing` | string | Wie Claude Code `estimated_cache_write_usd` bepreist: `"configured"` bei den eigenen Sätzen Ihrer Organisation, wenn sie sie konfiguriert hat, `"catalog"` bei Listenpreis oder `"default"`, wenn `to_model` keinen bekannten Preis hat und Claude Code einen Standard-Satz annahm |3469| `pricing` | string | Wie Claude Code `estimated_cache_write_usd` berechnet hat: `"configured"` zu den eigenen Tarifen Ihrer Organisation, sofern diese konfiguriert sind, `"catalog"` zum Listenpreis oder `"default"`, wenn für `to_model` kein Preis bekannt ist und Claude Code einen Standardtarif angenommen hat |

3460 3470 

3461Dieses Beispiel zeigt die Eingabe für `/model opus` in einer Sitzung, die Sonnet 5 ausführt:3471Dieses Beispiel zeigt die Eingabe für `/model opus` in einer Sitzung, die Sonnet 5 verwendet:

3462 3472 

3463```json theme={null}3473```json theme={null}

3464{3474{


3479```3489```

3480 3490 

3481<h4 id="premodelswitch-decision-control">3491<h4 id="premodelswitch-decision-control">

3482 PreModelSwitch-Entscheidungskontrolle3492 PreModelSwitch-Entscheidungssteuerung

3483</h4>3493</h4>

3484 3494 

3485`PreModelSwitch` Hooks können den Wechsel abbrechen, den Benutzer zur Bestätigung auffordern oder ihn fortgesetzt lassen. Exit-Code 2 oder ein Top-Level-`decision: "block"` bricht den Wechsel ab.3495`PreModelSwitch`-Hooks können den Wechsel abbrechen, den Benutzer um Bestätigung bitten oder ihn fortfahren lassen. Exit-Code 2 oder ein `decision: "block"` auf oberster Ebene bricht den Wechsel ab.

3486 3496 

3487Für feinere Kontrolle geben Sie `permissionDecision` und `permissionDecisionReason` in einem `hookSpecificOutput` Objekt zurück, wie auf [PreToolUse](#pretooluse-decision-control). `PreModelSwitch` akzeptiert `"allow"`, `"deny"` und `"ask"`. Es akzeptiert nicht `"defer"`, `updatedInput` oder `additionalContext`. Die Tabelle unten beschreibt beide Felder:3497Für eine feinere Steuerung geben Sie `permissionDecision` und `permissionDecisionReason` in einem `hookSpecificOutput`-Objekt zurück, wie bei [PreToolUse](#pretooluse-decision-control). `PreModelSwitch` akzeptiert `"allow"`, `"deny"` und `"ask"`. Es akzeptiert weder `"defer"` noch `updatedInput` oder `additionalContext`. Die folgende Tabelle beschreibt beide Felder:

3488 3498 

3489| Feld | Beschreibung |3499| Feld | Beschreibung |

3490| :- | :- |3500| :- | :- |

3491| `permissionDecision` | `"allow"` geht weiter und überspringt die [Bestätigung, die Claude Code zeigt, während der Prompt-Cache warm ist](/docs/de/prompt-caching#switching-models). `"deny"` bricht den Wechsel ab. `"ask"` fordert den Benutzer zur Bestätigung auf |3501| `permissionDecision` | `"allow"` fährt fort und überspringt die [Bestätigung, die Claude Code anzeigt, solange der Prompt-Cache warm ist](/docs/de/prompt-caching#switching-models). `"deny"` bricht den Wechsel ab. `"ask"` bittet den Benutzer um Bestätigung |

3492| `permissionDecisionReason` | Für `"deny"`, dem Benutzer als Grund angezeigt, warum der Wechsel blockiert wurde, oder als Fehler für eine `set_model` Anfrage zurückgegeben. Für `"ask"`, in der Bestätigungs-Aufforderung angezeigt. Ignoriert für `"allow"` |3502| `permissionDecisionReason` | Bei `"deny"` wird der Wert dem Benutzer als Grund für das Blockieren des Wechsels angezeigt oder bei einer `set_model`-Anfrage als Fehler zurückgegeben. Bei `"ask"` wird er in der Bestätigungsabfrage angezeigt. Bei `"allow"` wird er ignoriert |

3493 3503 

3494Nur `/model` in einer interaktiven Sitzung kann die `"ask"` Aufforderung anzeigen. Auf jeder anderen Oberfläche, einschließlich nicht-interaktivem Modus mit dem `-p` Flag, `/config` und `set_model` Anfragen, behandelt Claude Code `"ask"` als Verweigerung.3504Nur `/model` in einer interaktiven Sitzung kann die `"ask"`-Abfrage anzeigen. Auf allen anderen Oberflächen, einschließlich des nicht interaktiven Modus mit dem Flag `-p`, `/config` und `set_model`-Anfragen, behandelt Claude Code `"ask"` als Ablehnung.

3495 3505 

3496Dieses Beispiel fordert den Benutzer zur Bestätigung auf und zitiert die Token-Anzahl aus `context_tokens`:3506Dieses Beispiel bittet den Benutzer um Bestätigung und nennt die Token-Anzahl aus `context_tokens`:

3497 3507 

3498```json theme={null}3508```json theme={null}

3499{3509{


3505}3515}

3506```3516```

3507 3517 

3508Wenn mehrere PreModelSwitch-Hooks unterschiedliche Entscheidungen zurückgeben, ist die Priorität `deny` > `ask` > `allow`.3518Wenn mehrere PreModelSwitch-Hooks unterschiedliche Entscheidungen zurückgeben, gilt die Rangfolge `deny` > `ask` > `allow`.

3509 3519 

3510Claude Code zeigt dem Benutzer jede `systemMessage`, die Ihr Hook zurückgibt, unabhängig von der Entscheidung, daher kann ein Kosten-Bericht-Hook `{"systemMessage": "..."}` zurückgeben und mit 0 beenden.3520Claude Code zeigt dem Benutzer jede `systemMessage` an, die Ihr Hook zurückgibt, unabhängig von der Entscheidung, sodass ein Hook zur Kostenanzeige `{"systemMessage": "..."}` zurückgeben und mit 0 enden kann.

3511 3521 

3512Ein PreModelSwitch-Hook, der nicht vor seinem Timeout antwortet, blockiert den Wechsel. Bei [PreToolUse](#timeouts) lässt ein Timeout-Command-Hook den Tool-Aufruf dagegen fortgesetzt. Das Standard-Timeout für dieses Ereignis beträgt 30 Sekunden. `PreModelSwitch` führt nur `command`, `http` und `mcp_tool` Hooks aus, daher gelten die `prompt` und `agent` Standards nicht.3522Ein PreModelSwitch-Hook, der nicht vor Ablauf seines Timeouts antwortet, blockiert den Wechsel. Bei [PreToolUse](#timeouts) hingegen lässt ein Befehls-Hook mit Zeitüberschreitung den Tool-Aufruf fortfahren. Der Standard-Timeout für dieses Ereignis beträgt 30 Sekunden. `PreModelSwitch` führt nur `command`-, `http`- und `mcp_tool`-Hooks aus, daher gelten die Standardwerte für `prompt` und `agent` nicht.

3513 3523 

3514Ein Hook, der mit einem Code anderen als 0 oder 2 beendet und keine JSON-Entscheidung druckt, blockiert nicht: Claude Code zeigt sein stderr und wendet den Wechsel an, wie unter [Andere Exit-Codes](#other-exit-codes) beschrieben.3524Ein Hook, der mit einem anderen Code als 0 oder 2 endet und keine JSON-Entscheidung ausgibt, blockiert nicht: Claude Code zeigt seine stderr-Ausgabe an und wendet den Wechsel an, wie unter [Andere Exit-Codes](#other-exit-codes) beschrieben.

3515 3525 

3516<h3 id="postmodelswitch">3526<h3 id="postmodelswitch">

3517 PostModelSwitch3527 PostModelSwitch

3518</h3>3528</h3>

3519 3529 

3520Wird ausgeführt, nachdem sich das Modell der Sitzung geändert hat. Verwenden Sie es, um Claude modell-spezifische Anleitung zu geben, ohne jede CLAUDE.md zu bearbeiten, z. B. eine organisations-weite Anweisung, die auf bestimmten Modellen gilt.3530Wird ausgeführt, nachdem sich das Modell der Sitzung geändert hat. Verwenden Sie es, um Claude modellspezifische Hinweise zu geben, ohne jede CLAUDE.md zu bearbeiten, etwa eine organisationsweite Anweisung, die für bestimmte Modelle gilt.

3521 3531 

3522PostModelSwitch erfordert Claude Code v2.1.251 oder später. Es kann nicht blockieren, da sich das Modell bereits geändert hat. Claude Code führt PostModelSwitch-Hooks nach jeder dieser Änderungen aus:3532PostModelSwitch erfordert Claude Code v2.1.251 oder höher. Es kann nicht blockieren, da sich das Modell bereits geändert hat. Claude Code führt PostModelSwitch-Hooks nach jeder dieser Änderungen aus:

3523 3533 

3524* Ein Wechsel, den Sie oder ein Client angefordert haben3534* Ein Wechsel, den Sie oder ein Client angefordert haben

3525* Ein [automatisches Modell-Fallback](/docs/de/model-config#automatic-model-fallback), das das Modell der Sitzung ändert3535* Ein [automatischer Modell-Fallback](/docs/de/model-config#automatic-model-fallback), der das Modell der Sitzung ändert

3526* Eine Einstellung wie [`opusplan`](/docs/de/model-config#opusplan-model-setting), die den Plan-Modus betritt oder verlässt3536* Eine Einstellung wie [`opusplan`](/docs/de/model-config#opusplan-model-setting), die den Plan-Modus betritt oder verlässt

3527* Claude Code stellt das Modell wieder her, wenn Sie eine Sitzung fortsetzen3537* Claude Code stellt das Modell wieder her, wenn Sie eine Sitzung fortsetzen

3528 3538 

3529Claude Code führt PostModelSwitch-Hooks nicht aus, wenn ein Modell aus einer [Fallback-Modell-Kette](/docs/de/model-config#fallback-model-chains) einen Zug bedient, da diese Substitution einen Zug dauert und das Modell der Sitzung unverändert lässt.3539Claude Code führt PostModelSwitch-Hooks nicht aus, wenn ein Modell aus einer [Fallback-Modellkette](/docs/de/model-config#fallback-model-chains) einen Turn bedient, da diese Ersetzung nur einen Turn dauert und das Modell der Sitzung unverändert lässt.

3530 3540 

3531Der Matcher folgt den gleichen Regeln wie [PreModelSwitch](#premodelswitch): Claude Code vergleicht ihn gegen den kanonischen Namen des Modells, zu dem die Sitzung wechselt.3541Der Matcher folgt denselben Regeln wie bei [PreModelSwitch](#premodelswitch): Claude Code vergleicht ihn mit dem kanonischen Namen des Modells, zu dem die Sitzung gewechselt ist.

3532 3542 

3533Dieses Beispiel fügt Anleitung hinzu, wenn sich das Modell der Sitzung zu einem beliebigen Opus-Modell ändert:3543Dieses Beispiel fügt Hinweise hinzu, sobald das Modell der Sitzung zu einem beliebigen Opus-Modell wechselt:

3534 3544 

3535```json theme={null}3545```json theme={null}

3536{3546{


3550}3560}

3551```3561```

3552 3562 

3553Um zu bestätigen, dass der Hook funktioniert, wechseln Sie zu einem Opus-Modell aus einer Sitzung, die ein anderes Modell ausführt, z. B. führen Sie `/model opus` aus einer Sonnet-Sitzung aus, und fragen Sie Claude dann, welche Anleitung es zum aktuellen Modell hat.3563Um zu prüfen, ob der Hook funktioniert, wechseln Sie in einer Sitzung mit einem anderen Modell zu einem Opus-Modell, führen Sie beispielsweise `/model opus` in einer Sonnet-Sitzung aus, und fragen Sie Claude dann, welche Hinweise es zum aktuellen Modell hat.

3554 3564 

3555<h4 id="postmodelswitch-input">3565<h4 id="postmodelswitch-input">

3556 PostModelSwitch-Eingabe3566 PostModelSwitch-Eingabe

3557</h4>3567</h4>

3558 3568 

3559PostModelSwitch-Hooks erhalten die gleichen Felder wie [PreModelSwitch](#premodelswitch-input), mit `hook_event_name` auf `"PostModelSwitch"` gesetzt und zwei weitere `source` Werte: `"auto"` für ein automatisches Fallback oder eine andere Änderung, die Claude Code selbst gemacht hat, und `"resume"` für das Modell, das wiederhergestellt wurde, wenn Sie eine Sitzung fortsetzen.3569PostModelSwitch-Hooks erhalten dieselben Felder wie [PreModelSwitch](#premodelswitch-input), wobei `hook_event_name` auf `"PostModelSwitch"` gesetzt ist und es zwei weitere `source`-Werte gibt: `"auto"` für einen automatischen Fallback oder eine andere Änderung, die Claude Code selbst vorgenommen hat, und `"resume"` für das Modell, das beim Fortsetzen einer Sitzung wiederhergestellt wurde.

3560 3570 

3561`requested_model` ist `null`, wenn `source` `"auto"` ist. Wenn `source` `"resume"` ist, ist es die gespeicherte Modell-Einstellung, die Claude Code wiederhergestellt hat.3571`requested_model` ist `null`, wenn `source` den Wert `"auto"` hat. Wenn `source` den Wert `"resume"` hat, ist es die gespeicherte Modelleinstellung, die Claude Code wiederhergestellt hat.

3562 3572 

3563<h4 id="postmodelswitch-decision-control">3573<h4 id="postmodelswitch-decision-control">

3564 PostModelSwitch-Entscheidungskontrolle3574 PostModelSwitch-Entscheidungssteuerung

3565</h4>3575</h4>

3566 3576 

3567Claude Code nimmt Ihren Hook-[Klartext-stdout](#exit-code-0) bei Exit 0 oder `additionalContext` aus JSON-Ausgabe und liefert es an Claude mit der nächsten Anfrage nach dem Wechsel. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die für alle Hooks verfügbar sind, können Sie zurückgeben:3577Claude Code übernimmt die [Klartext-Ausgabe auf stdout](#exit-code-0) Ihres Hooks bei Exit-Code 0 oder `additionalContext` aus der JSON-Ausgabe und übermittelt sie Claude mit der nächsten Anfrage nach dem Wechsel. Zusätzlich zu den [JSON-Ausgabefeldern](#json-output), die allen Hooks zur Verfügung stehen, können Sie Folgendes zurückgeben:

3568 3578 

3569| Feld | Beschreibung |3579| Feld | Beschreibung |

3570| :- | :- |3580| :- | :- |

3571| `additionalContext` | String, der zu Claudes Kontext mit der nächsten Anfrage hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |3581| `additionalContext` | Zeichenfolge, die mit der nächsten Anfrage zu Claudes Kontext hinzugefügt wird. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

3572 3582 

3573Wenn der Hook nicht innerhalb von fünf Sekunden nach dem Senden der nächsten Eingabeaufforderung fertig wird, sendet Claude Code diese Anfrage ohne die Ausgabe und hängt sie stattdessen an die folgende Anfrage an. Wenn sich das Modell mehrmals ändert, bevor die nächste Anfrage erfolgt, liefert Claude Code nur die Ausgabe für den letzten Wechsel-Ziel-Modell.3583Wenn der Hook nicht innerhalb von fünf Sekunden nach dem Senden des nächsten Prompts fertig ist, sendet Claude Code diese Anfrage ohne die Ausgabe und hängt sie stattdessen an die darauffolgende Anfrage an. Wenn sich das Modell vor der nächsten Anfrage mehrmals ändert, übermittelt Claude Code nur die Ausgabe für das Zielmodell des letzten Wechsels.

3574 3584 

3575<h3 id="sessionend">3585<h3 id="sessionend">

3576 SessionEnd3586 SessionEnd

3577</h3>3587</h3>

3578 3588 

3579Wird ausgeführt, wenn eine Claude Code Sitzung endet. Nützlich für Cleanup-Aufgaben, Protokollierung von Sitzungs-Statistiken oder Speicherung von Sitzungs-Zustand. Unterstützt Matcher zum Filtern nach Exit-Grund.3589Wird ausgeführt, wenn eine Claude-Code-Sitzung endet. Nützlich für Bereinigungsaufgaben, das Protokollieren von Sitzungsstatistiken

3590oder das Speichern des Sitzungszustands. Unterstützt Matcher, um nach dem Beendigungsgrund zu filtern.

3580 3591 

3581Das `reason` Feld in der Hook-Eingabe gibt an, warum die Sitzung endete:3592Das Feld `reason` in der Hook-Eingabe gibt an, warum die Sitzung beendet wurde:

3582 3593 

3583| Grund | Beschreibung |3594| Grund | Beschreibung |

3584| :- | :- |3595| :- | :- |

3585| `clear` | Sitzung mit `/clear` Befehl gelöscht |3596| `clear` | Sitzung mit dem Befehl `/clear` geleert |

3586| `resume` | Sitzung mit interaktivem `/resume` gewechselt |3597| `resume` | Sitzung über das interaktive `/resume` gewechselt |

3587| `logout` | Benutzer hat sich abgemeldet |3598| `logout` | Benutzer hat sich abgemeldet |

3588| `prompt_input_exit` | Benutzer beendet, während Eingabeaufforderungs-Eingabe sichtbar war |3599| `prompt_input_exit` | Benutzer hat beendet, während das Prompt-Eingabefeld sichtbar war |

3589| `other` | Andere Exit-Gründe |3600| `other` | Andere Beendigungsgründe |

3590| `bypass_permissions_disabled` | Entfernt in v2.1.234; Claude Code sendet es nicht. Löschen Sie es aus Ihren `SessionEnd` Matchern |3601| `bypass_permissions_disabled` | In v2.1.234 entfernt; Claude Code sendet diesen Wert nicht. Entfernen Sie ihn aus Ihren `SessionEnd`-Matchern |

3591 3602 

3592<h4 id="sessionend-input">3603<h4 id="sessionend-input">

3593 SessionEnd-Eingabe3604 SessionEnd-Eingabe

3594</h4>3605</h4>

3595 3606 

3596Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten SessionEnd-Hooks ein `reason` Feld, das angibt, warum die Sitzung endete. Siehe die [Grund-Tabelle](#sessionend) oben für alle Werte.3607Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten SessionEnd-Hooks ein Feld `reason`, das angibt, warum die Sitzung beendet wurde. Alle Werte finden Sie in der [Tabelle der Gründe](#sessionend) oben.

3597 3608 

3598```json theme={null}3609```json theme={null}

3599{3610{


3605}3616}

3606```3617```

3607 3618 

3608SessionEnd-Hooks haben keine Entscheidungskontrolle. Sie können die Sitzungs-Beendigung nicht blockieren, können aber Cleanup-Aufgaben ausführen. Claude Code verwirft ihre [JSON-Ausgabefelder](#json-output), wie `systemMessage`.3619SessionEnd-Hooks haben keine Entscheidungssteuerung. Sie können das Beenden der Sitzung nicht blockieren, aber Bereinigungsaufgaben ausführen. Claude Code verwirft ihre [JSON-Ausgabefelder](#json-output), etwa `systemMessage`.

3609 3620 

3610SessionEnd-Hooks haben ein Standard-Timeout von 1,5 Sekunden. Es gilt, wenn Sie beenden, `/clear` ausführen oder Sitzungen mit interaktivem `/resume` wechseln. Sie können einem Hook auf zwei Wegen mehr Zeit geben:3621SessionEnd-Hooks haben einen Standard-Timeout von 1,5 Sekunden. Er gilt, wenn Sie beenden, `/clear` ausführen oder mit dem interaktiven `/resume` die Sitzung wechseln. Sie können einem Hook auf zwei Arten mehr Zeit geben:

3611 3622 

3612* **Pro-Hook `timeout`**: Setzen Sie `timeout` in der Konfiguration dieses Hooks. Das Gesamt-Budget steigt automatisch, um das höchste Pro-Hook-`timeout` in Ihren Einstellungsdateien zu entsprechen, bis zu 60 Sekunden. Wenn Sie das Budget auf diese Weise erhöhen, behält ein Hook ohne sein eigenes `timeout` immer noch den Standard. Timeouts, die auf Plugin-bereitgestellten Hooks gesetzt sind, erhöhen das Budget nicht.3623* **`timeout` pro Hook**: Setzen Sie `timeout` in der Konfiguration des jeweiligen Hooks. Das Gesamtbudget steigt automatisch auf den höchsten `timeout`-Wert pro Hook in Ihren Einstellungsdateien, bis zu 60 Sekunden. Wenn Sie das Budget auf diese Weise erhöhen, behält ein Hook ohne eigenen `timeout` weiterhin den Standardwert. Timeouts, die für von Plugins bereitgestellte Hooks festgelegt sind, erhöhen das Budget nicht.

3613* **`CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS`**: Setzen Sie diese Umgebungsvariable in Millisekunden, um das Budget explizit zu überschreiben. Der Wert, den Sie setzen, wird auch zum Timeout für jeden Hook ohne sein eigenes `timeout`.3624* **`CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS`**: Setzen Sie diese Umgebungsvariable in Millisekunden, um das Budget explizit zu überschreiben. Der von Ihnen festgelegte Wert wird außerdem zum Timeout für jeden Hook ohne eigenen `timeout`.

3614 3625 

3615Dieses Beispiel setzt das Budget auf 5 Sekunden:3626Dieses Beispiel setzt das Budget auf 5 Sekunden:

3616 3627 


3618CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS=5000 claude3629CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS=5000 claude

3619```3630```

3620 3631 

3621Vor v2.1.268 erhöhte `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` nur das Gesamt-Budget und ein Hook ohne sein eigenes `timeout` wurde immer noch nach 1,5 Sekunden abgebrochen.3632Vor v2.1.268 erhöhte `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` nur das Gesamtbudget, und ein Hook ohne eigenen `timeout` wurde weiterhin nach 1,5 Sekunden abgebrochen.

3622 3633 

3623<h3 id="elicitation">3634<h3 id="elicitation">

3624 Elicitation3635 Elicitation

3625</h3>3636</h3>

3626 3637 

3627Wird ausgeführt, wenn ein MCP-Server Benutzer-Eingabe während einer Aufgabe anfordert. Standardmäßig zeigt Claude Code einen interaktiven Dialog für den Benutzer zum Antworten. Hooks können diese Anfrage abfangen und programmatisch antworten, wobei der Dialog vollständig übersprungen wird.3638Wird ausgeführt, wenn ein MCP-Server während einer Aufgabe Benutzereingaben anfordert. Standardmäßig zeigt Claude Code einen interaktiven Dialog an, in dem der Benutzer antworten kann. Hooks können diese Anfrage abfangen und programmatisch beantworten, wodurch der Dialog vollständig übersprungen wird.

3628 3639 

3629Das Matcher-Feld gleicht gegen den MCP-Server-Namen ab.3640Das Matcher-Feld wird mit dem Namen des MCP-Servers abgeglichen.

3630 3641 

3631<h4 id="elicitation-input">3642<h4 id="elicitation-input">

3632 Elicitation-Eingabe3643 Elicitation-Eingabe

3633</h4>3644</h4>

3634 3645 

3635Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten Elicitation-Hooks `mcp_server_name`, `message` und optional `mode`, `url`, `elicitation_id` und `requested_schema` Felder.3646Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten Elicitation-Hooks die Felder `mcp_server_name` und `message` sowie die optionalen Felder `mode`, `url`, `elicitation_id` und `requested_schema`.

3636 3647 

3637Für Form-Modus-Elicitierung, der häufigste Fall:3648Für eine Elicitation im Formularmodus, den häufigsten Fall:

3638 3649 

3639```json theme={null}3650```json theme={null}

3640{3651{


3654}3665}

3655```3666```

3656 3667 

3657Für URL-Modus-Elicitierung, verwendet für Browser-basierte Authentifizierung:3668Für eine Elicitation im URL-Modus, die für browserbasierte Authentifizierung verwendet wird:

3658 3669 

3659```json theme={null}3670```json theme={null}

3660{3671{


3673 Elicitation-Ausgabe3684 Elicitation-Ausgabe

3674</h4>3685</h4>

3675 3686 

3676Um programmatisch ohne Anzeige des Dialogs zu antworten, geben Sie ein JSON-Objekt mit `hookSpecificOutput` zurück:3687Um programmatisch zu antworten, ohne den Dialog anzuzeigen, geben Sie ein JSON-Objekt mit `hookSpecificOutput` zurück:

3677 3688 

3678```json theme={null}3689```json theme={null}

3679{3690{


3689 3700 

3690| Feld | Werte | Beschreibung |3701| Feld | Werte | Beschreibung |

3691| :- | :- | :- |3702| :- | :- | :- |

3692| `action` | `accept`, `decline`, `cancel` | Ob die Anfrage akzeptiert, abgelehnt oder abgebrochen werden soll |3703| `action` | `accept`, `decline`, `cancel` | Ob die Anfrage angenommen, abgelehnt oder abgebrochen werden soll |

3693| `content` | object | Formular-Feldwerte zum Einreichen. Nur verwendet, wenn `action` `accept` ist |3704| `content` | object | Zu übermittelnde Werte der Formularfelder. Wird nur verwendet, wenn `action` den Wert `accept` hat |

3694 3705 

3695Exit-Code 2 lehnt die Elicitierung ab. Claude Code zeigt Ihre stderr-Nachricht nirgendwo an.3706Exit-Code 2 lehnt die Elicitation ab. Claude Code zeigt Ihre stderr-Meldung nirgends an.

3696 3707 

3697Claude Code handelt auf `hookSpecificOutput` aus der JSON-Ausgabe eines Elicitation-Hooks und verwirft `systemMessage` und `continue`.3708Claude Code verarbeitet `hookSpecificOutput` aus der JSON-Ausgabe eines Elicitation-Hooks und verwirft `systemMessage` und `continue`.

3698 3709 

3699<h3 id="elicitationresult">3710<h3 id="elicitationresult">

3700 ElicitationResult3711 ElicitationResult

3701</h3>3712</h3>

3702 3713 

3703Wird ausgeführt, nachdem ein Benutzer auf eine MCP-Elicitierung antwortet. Hooks können die Antwort beobachten, ändern oder blockieren, bevor sie an den MCP-Server zurückgesendet wird.3714Wird ausgeführt, nachdem ein Benutzer auf eine MCP-Elicitation geantwortet hat. Hooks können die Antwort beobachten, ändern oder blockieren, bevor sie an den MCP-Server zurückgesendet wird.

3704 3715 

3705Das Matcher-Feld gleicht gegen den MCP-Server-Namen ab.3716Das Matcher-Feld wird mit dem Namen des MCP-Servers abgeglichen.

3706 3717 

3707<h4 id="elicitationresult-input">3718<h4 id="elicitationresult-input">

3708 ElicitationResult-Eingabe3719 ElicitationResult-Eingabe

3709</h4>3720</h4>

3710 3721 

3711Zusätzlich zu den [allgemeinen Eingabefeldern](#common-input-fields) erhalten ElicitationResult-Hooks `mcp_server_name`, `action` und optional `mode`, `elicitation_id` und `content` Felder.3722Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten ElicitationResult-Hooks die Felder `mcp_server_name` und `action` sowie die optionalen Felder `mode`, `elicitation_id` und `content`.

3712 3723 

3713```json theme={null}3724```json theme={null}

3714{3725{


3743| Feld | Werte | Beschreibung |3754| Feld | Werte | Beschreibung |

3744| :- | :- | :- |3755| :- | :- | :- |

3745| `action` | `accept`, `decline`, `cancel` | Überschreibt die Aktion des Benutzers |3756| `action` | `accept`, `decline`, `cancel` | Überschreibt die Aktion des Benutzers |

3746| `content` | object | Überschreibt Formular-Feldwerte. Nur aussagekräftig, wenn `action` `accept` ist |3757| `content` | object | Überschreibt die Werte der Formularfelder. Nur sinnvoll, wenn `action` den Wert `accept` hat |

3747 3758 

3748Exit-Code 2 blockiert die Antwort, indem die effektive Aktion zu `decline` geändert wird. Claude Code zeigt Ihre stderr-Nachricht nirgendwo an.3759Exit-Code 2 blockiert die Antwort und ändert die effektive Aktion in `decline`. Claude Code zeigt Ihre stderr-Meldung nirgends an.

3749 3760 

3750Claude Code handelt auf `hookSpecificOutput` aus der JSON-Ausgabe eines ElicitationResult-Hooks und verwirft `systemMessage` und `continue`.3761Claude Code verarbeitet `hookSpecificOutput` aus der JSON-Ausgabe eines ElicitationResult-Hooks und verwirft `systemMessage` und `continue`.

3751 3762 

3752<h2 id="prompt-based-hooks">3763<h2 id="prompt-based-hooks">

3753 Prompt-basierte Hooks3764 Prompt-basierte Hooks

hooks-guide.md +1 −1

Details

503| :- | :- |503| :- | :- |

504| `SessionStart` | Wenn eine Sitzung beginnt oder fortgesetzt wird |504| `SessionStart` | Wenn eine Sitzung beginnt oder fortgesetzt wird |

505| `Setup` | Wenn Sie Claude Code mit `--init-only` starten oder mit `--init` oder `--maintenance` im `-p`-Modus. Für einmalige Vorbereitung in CI oder Skripten |505| `Setup` | Wenn Sie Claude Code mit `--init-only` starten oder mit `--init` oder `--maintenance` im `-p`-Modus. Für einmalige Vorbereitung in CI oder Skripten |

506| `UserPromptSubmit` | Wenn Sie eine Eingabeaufforderung absenden, bevor Claude sie verarbeitet |506| `UserPromptSubmit` | Wenn ein Prompt abgesendet wird, bevor Claude ihn verarbeitet. Wird auch bei [Turns ausgelöst, die Claude Code selbst startet](/docs/de/hooks#userpromptsubmit) |

507| `UserPromptExpansion` | Wenn ein von Ihnen eingegebener Befehl in eine Eingabeaufforderung erweitert wird, bevor sie Claude erreicht. Kann die Erweiterung blockieren |507| `UserPromptExpansion` | Wenn ein von Ihnen eingegebener Befehl in eine Eingabeaufforderung erweitert wird, bevor sie Claude erreicht. Kann die Erweiterung blockieren |

508| `PreToolUse` | Bevor ein Werkzeugaufruf ausgeführt wird. Kann ihn blockieren |508| `PreToolUse` | Bevor ein Werkzeugaufruf ausgeführt wird. Kann ihn blockieren |

509| `PermissionRequest` | Wenn ein Werkzeugaufruf eine Genehmigungsentscheidung benötigt |509| `PermissionRequest` | Wenn ein Werkzeugaufruf eine Genehmigungsentscheidung benötigt |

keybindings.md +27 −1

Details

68| `EffortSlider` | Aufwandsregler, geöffnet durch `/effort` |68| `EffortSlider` | Aufwandsregler, geöffnet durch `/effort` |

69| `Select` | Generische Auswahl-/Listenkomponenten |69| `Select` | Generische Auswahl-/Listenkomponenten |

70| `Plugin` | Plugin-Dialog (durchsuchen, entdecken, verwalten) |70| `Plugin` | Plugin-Dialog (durchsuchen, entdecken, verwalten) |

71| `Pane` | Ein von einem [Mod](/docs/de/plugins/mods/interface#know-which-keys-your-mod-can-receive) gezeichneter Bereich hat den Tastaturfokus |

72| `PaneField` | Ein Eingabefeld oder eine Auswahl im Bereich eines Mods hat den Tastaturfokus |

71| `Agents` | [Agent-Ansicht](/docs/de/agent-view) (`claude agents`) |73| `Agents` | [Agent-Ansicht](/docs/de/agent-view) (`claude agents`) |

72| `Scroll` | Konversations-Scrolling und Textauswahl im Vollbildmodus |74| `Scroll` | Konversations-Scrolling und Textauswahl im Vollbildmodus |

73 75 


596 598 

597Dies funktioniert auch für Akkord-Bindings. Das Aufheben aller Akkorde, die ein Präfix teilen, gibt dieses Präfix für die Verwendung als Single-Key-Binding frei. Ein Akkord in einem beliebigen aktiven Kontext behält sein Präfix reserviert, daher müssen Sie jeden Akkord in dem Kontext aufheben, der ihn definiert.599Dies funktioniert auch für Akkord-Bindings. Das Aufheben aller Akkorde, die ein Präfix teilen, gibt dieses Präfix für die Verwendung als Single-Key-Binding frei. Ein Akkord in einem beliebigen aktiven Kontext behält sein Präfix reserviert, daher müssen Sie jeden Akkord in dem Kontext aufheben, der ihn definiert.

598 600 

599Claude Code bindet diese Standard-Akkorde auf dem `ctrl+x`-Präfix: `ctrl+x ctrl+k`, `ctrl+x ctrl+e`, `ctrl+x enter`, `ctrl+x ctrl+a`, `ctrl+x ctrl+s` und `ctrl+x tab` in `Chat`, `ctrl+x ctrl+b` in `Task` und `ctrl+x b` in `DiffPanel`. Der `ctrl+x enter`-Akkord erfordert v2.1.247 oder später, `ctrl+x b`, `ctrl+x ctrl+a` und `ctrl+x tab` erfordern v2.1.260 oder später, und `ctrl+x ctrl+s` erfordert v2.1.275 oder später.601Claude Code bindet diese Standard-Akkorde auf dem `ctrl+x`-Präfix, nach Kontext:

602 

603* `Chat`: `ctrl+x ctrl+k`, `ctrl+x ctrl+e`, `ctrl+x enter`, `ctrl+x ctrl+a`, `ctrl+x ctrl+s` und `ctrl+x tab`

604* `Task`: `ctrl+x ctrl+b`

605* `DiffPanel`: `ctrl+x b`

606* `Pane`: `ctrl+x left`, `ctrl+x right`, `ctrl+x up`, `ctrl+x down` und `ctrl+x x`

607* `PaneField`: `ctrl+x x`

608 

609Der `ctrl+x enter`-Akkord erfordert v2.1.247 oder später, `ctrl+x b`, `ctrl+x ctrl+a` und `ctrl+x tab` erfordern v2.1.260 oder später, und `ctrl+x ctrl+s` erfordert v2.1.275 oder später.

600 610 

601Um `ctrl+x` selbst als Single-Key-Binding zurückzugewinnen, heben Sie alle auf:611Um `ctrl+x` selbst als Single-Key-Binding zurückzugewinnen, heben Sie alle auf:

602 612 


615 "ctrl+x b": null625 "ctrl+x b": null

616 }626 }

617 },627 },

628 {

629 "context": "Pane",

630 "bindings": {

631 "ctrl+x left": null,

632 "ctrl+x right": null,

633 "ctrl+x up": null,

634 "ctrl+x down": null,

635 "ctrl+x x": null

636 }

637 },

638 {

639 "context": "PaneField",

640 "bindings": {

641 "ctrl+x x": null

642 }

643 },

618 {644 {

619 "context": "Chat",645 "context": "Chat",

620 "bindings": {646 "bindings": {

Details

245| [Kontextverwaltung](https://platform.claude.com/docs/de/build-with-claude/context-editing) | Kontextverwaltungs-Beta-Header paart sich mit dem `context_management` Body-Feld | `400` mit `Extra inputs are not permitted`. Häufig, wenn ein Gateway Anthropic-Format-Anfragen akzeptiert, aber an Amazon Bedrock weiterleitet | Leiten Sie beide weiter, oder [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |245| [Kontextverwaltung](https://platform.claude.com/docs/de/build-with-claude/context-editing) | Kontextverwaltungs-Beta-Header paart sich mit dem `context_management` Body-Feld | `400` mit `Extra inputs are not permitted`. Häufig, wenn ein Gateway Anthropic-Format-Anfragen akzeptiert, aber an Amazon Bedrock weiterleitet | Leiten Sie beide weiter, oder [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |

246| [Erweiterter Kontext](https://platform.claude.com/docs/de/build-with-claude/context-windows#context-window-sizes-by-model) und [verschachteltes Denken](https://platform.claude.com/docs/de/build-with-claude/extended-thinking#interleaved-thinking) | Nur Beta-Header, kein Body-Feld | Stillschweigend nicht verfügbar, wenn der Header gelöscht wird; das Upstream sieht die Funktionsanfrage nie | Leiten Sie `anthropic-beta` wörtlich weiter |246| [Erweiterter Kontext](https://platform.claude.com/docs/de/build-with-claude/context-windows#context-window-sizes-by-model) und [verschachteltes Denken](https://platform.claude.com/docs/de/build-with-claude/extended-thinking#interleaved-thinking) | Nur Beta-Header, kein Body-Feld | Stillschweigend nicht verfügbar, wenn der Header gelöscht wird; das Upstream sieht die Funktionsanfrage nie | Leiten Sie `anthropic-beta` wörtlich weiter |

247| Beta [Tool-Felder](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Tool-bezogene Beta-Header paaren sich mit Tool-Schema-Feldern wie `strict` und `defer_loading` | `400` mit Nennung des nicht erkannten Tool-Schema-Feldes, wenn der Body ohne seinen Header durchgeht | Leiten Sie beide weiter, oder [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |247| Beta [Tool-Felder](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Tool-bezogene Beta-Header paaren sich mit Tool-Schema-Feldern wie `strict` und `defer_loading` | `400` mit Nennung des nicht erkannten Tool-Schema-Feldes, wenn der Body ohne seinen Header durchgeht | Leiten Sie beide weiter, oder [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |

248| [Aufwand](https://platform.claude.com/docs/de/build-with-claude/effort) und [strukturierte Ausgaben](https://platform.claude.com/docs/de/build-with-claude/structured-outputs) | Das `output_config` Body-Feld trägt Aufwand, strukturierte Ausgabeformat und Task-Budget-Einstellungen; jedes paart sich mit seinem eigenen Beta-Header | `400` mit Nennung von `output_config`, oft `Extra inputs are not permitted`, auf Amazon Bedrock und Google Cloud Agent Platform Upstreams | Leiten Sie das Feld und seine Header zusammen weiter, oder lassen Sie Entwickler [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) setzen, wodurch die Format- und Task-Budget-Einstellungen entfernt werden, nicht aber der Aufwand |248| [Aufwand](https://platform.claude.com/docs/de/build-with-claude/effort) und [strukturierte Ausgaben](https://platform.claude.com/docs/de/build-with-claude/structured-outputs) | Das `output_config` Body-Feld trägt Aufwand, strukturierte Ausgabeformat und Task-Budget-Einstellungen; jedes paart sich mit seinem eigenen Beta-Header | `400` mit Nennung von `output_config`, oft `Extra inputs are not permitted`, auf Amazon Bedrock und Google Cloud Agent Platform Upstreams | Leiten Sie das Feld und seine Header zusammen weiter, oder lassen Sie Entwickler [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) setzen, wodurch die Format- und Task-Budget-Einstellungen entfernt werden, nicht aber der Aufwand. Um nur das Format zu entfernen, können sie stattdessen [`CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS=1`](/docs/de/env-vars) setzen, was v2.1.288 oder später erfordert |

249| [Prompt Caching](/docs/de/prompt-caching) | Keine Beta-Paarung. Claude Code fügt `cache_control` Marker an `system` Blöcke und an `messages` Einträge an, einschließlich `role: "system"` Einträge, die mid-conversation angehängt werden | Kein Fehler: das Gespräch wird bei jedem Turn als unkacherter Input abgerechnet, sichtbar als hohe `input_tokens` mit wenig oder keiner Cache-Aktivität in `usage` | Leiten Sie `cache_control` unverändert weiter, wo immer es erscheint, und konvertieren Sie nicht Block-Form `system` oder Message-Inhalte in einfache Strings |249| [Prompt Caching](/docs/de/prompt-caching) | Keine Beta-Paarung. Claude Code fügt `cache_control` Marker an `system` Blöcke und an `messages` Einträge an, einschließlich `role: "system"` Einträge, die mid-conversation angehängt werden | Kein Fehler: das Gespräch wird bei jedem Turn als unkacherter Input abgerechnet, sichtbar als hohe `input_tokens` mit wenig oder keiner Cache-Aktivität in `usage` | Leiten Sie `cache_control` unverändert weiter, wo immer es erscheint, und konvertieren Sie nicht Block-Form `system` oder Message-Inhalte in einfache Strings |

250| [Token Counting](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Keine Beta-Paarung; verwendet den `count_tokens` Endpunkt | Kein Fehler: Claude Code fällt auf eine zeichenbasierte Schätzung zurück, daher zeigt `/context` ungefähre Zählungen | Stellen Sie den Endpunkt für genaue Token-Zählungen bereit |250| [Token Counting](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Keine Beta-Paarung; verwendet den `count_tokens` Endpunkt | Kein Fehler: Claude Code fällt auf eine zeichenbasierte Schätzung zurück, daher zeigt `/context` ungefähre Zählungen | Stellen Sie den Endpunkt für genaue Token-Zählungen bereit |

251 251 


362Eine ermittelte ID erhält keine eigene Zeile, wenn sie einer Zeile in der Auswahl bereits entspricht:362Eine ermittelte ID erhält keine eigene Zeile, wenn sie einer Zeile in der Auswahl bereits entspricht:

363 363 

364* Gleiche ID: die ermittelte ID entspricht genau der ID einer vorhandenen Zeile, oder die beiden IDs sind Schreibweisen derselben [Fable](/docs/de/model-config#work-with-fable) Version.364* Gleiche ID: die ermittelte ID entspricht genau der ID einer vorhandenen Zeile, oder die beiden IDs sind Schreibweisen derselben [Fable](/docs/de/model-config#work-with-fable) Version.

365* Gleiches Modell wie ein eingebauter Alias: wenn eine ermittelte explizite ID das Modell benennt, zu dem ein eingebauter Alias derzeit aufgelöst wird, zeigt die Auswahl nur die Alias-Zeile. Zum Beispiel, während `sonnet` zu `claude-sonnet-5-5` aufgelöst wird, wird eine ermittelte `claude-sonnet-5-5` in die `sonnet` Zeile zusammengefasst, und eine ermittelte `claude-sonnet-5` erhält immer noch ihre eigene Zeile. Vor v2.1.197 faltete Claude Code diese IDs nicht in eingebaute Zeilen, daher erhielt die ID, zu der ein Alias aufgelöst wurde, auch ihre eigene „From gateway" Zeile.365* Gleiches Modell wie ein eingebauter Alias: wenn eine ermittelte explizite ID das Modell benennt, zu dem ein eingebauter Alias derzeit aufgelöst wird, zeigt die Auswahl nur die Alias-Zeile. Zum Beispiel, während `sonnet` zu `claude-sonnet-5-5` aufgelöst wird, wird eine ermittelte `claude-sonnet-5-5` in die `sonnet` Zeile zusammengefasst, und eine ermittelte `claude-sonnet-5` erhält immer noch ihre eigene Zeile.

366 366 

367Ergebnisse werden in `~/.claude/cache/gateway-models.json` oder `%USERPROFILE%\.claude\cache\gateway-models.json` unter Windows zwischengespeichert und bei jedem Startup aktualisiert. Wenn Sie [`CLAUDE_CONFIG_DIR`](/docs/de/env-vars) setzen, lebt der Cache stattdessen unter diesem Verzeichnis. Wenn die Anfrage fehlschlägt oder das Gateway `/v1/models` nicht implementiert, fällt die Auswahl auf die zwischengespeicherte Liste aus dem vorherigen Startup oder auf die eingebaute Modelliste zurück. Wenn Ihr Gateway Claude-Modelle unter Aliasen bereitstellt, die nicht dem Ermittlungsfilter entsprechen, können Entwickler diese Aliase manuell mit den [Modellkonfigurationsvariablen](/docs/de/model-config) hinzufügen.367Ergebnisse werden in `~/.claude/cache/gateway-models.json` oder `%USERPROFILE%\.claude\cache\gateway-models.json` unter Windows zwischengespeichert und bei jedem Startup aktualisiert. Wenn Sie [`CLAUDE_CONFIG_DIR`](/docs/de/env-vars) setzen, lebt der Cache stattdessen unter diesem Verzeichnis. Wenn die Anfrage fehlschlägt oder das Gateway `/v1/models` nicht implementiert, fällt die Auswahl auf die zwischengespeicherte Liste aus dem vorherigen Startup oder auf die eingebaute Modelliste zurück. Wenn Ihr Gateway Claude-Modelle unter Aliasen bereitstellt, die nicht dem Ermittlungsfilter entsprechen, können Entwickler diese Aliase manuell mit den [Modellkonfigurationsvariablen](/docs/de/model-config) hinzufügen.

368 368 

mcp.md +11 −11

Details

371 371 

372Auf v2 führt Claude Code auch:372Auf v2 führt Claude Code auch:

373 373 

374* Fragt HTTP-Server, ob sie die neuere Revision unterstützen, und verwendet sie mit denen, die dies tun. Es fragt auch claude.ai-Connector-Server in Sitzungen, in denen es Feature-Flags abruft. Um es zu fragen, Stdio-Server oder Connector-Server in jeder Sitzung zu fragen, setzen Sie [`MCP_PROTOCOL_NEGOTIATION`](/docs/de/env-vars) auf `auto`. Es verbindet sich mit jedem anderen Server wie v1.374* Fragt HTTP-Server, ob sie die neuere Revision unterstützen, und verwendet sie mit denen, die dies tun. In Sitzungen, in denen es Feature-Flags abruft, fragt es auch claude.ai-Konnektor-Server, und ab Claude Code v2.1.285 fragt es Stdio-Server, während Anthropic diese Änderung schrittweise einführt. Damit es Konnektor- und Stdio-Server in jeder Sitzung fragt, setzen Sie [`MCP_PROTOCOL_NEGOTIATION`](/docs/de/env-vars) auf `auto`. Es verbindet sich mit jedem anderen Server wie v1.

375* Empfängt `list_changed`-Benachrichtigungen von Servern auf der neueren Revision über einen [Stream, den es offen hält](#notification-streams-on-the-v2-runtime).375* Empfängt `list_changed`-Benachrichtigungen von Servern auf der neueren Revision über einen [Stream, den es offen hält](#notification-streams-on-the-v2-runtime).

376* Registriert keinen [Channel](#push-messages-with-channels)-Server, der sich auf der neueren Revision verbindet, da diese Revision keine Channel-Nachrichten tragen kann.376* Registriert keinen [Channel](#push-messages-with-channels)-Server, der sich auf der neueren Revision verbindet, da diese Revision keine Channel-Nachrichten tragen kann.

377* Schlägt eine [MCP-OAuth-Anmeldung](#authenticate-with-remote-mcp-servers) fehl, deren Autorisierungsantwort einen unerwarteten Aussteller nennt.377* Schlägt eine [MCP-OAuth-Anmeldung](#authenticate-with-remote-mcp-servers) fehl, deren Autorisierungsantwort einen unerwarteten Aussteller nennt.


456 456 

457Ein MCP-Server kann auch Nachrichten direkt in Ihre Sitzung pushen, damit Claude auf externe Ereignisse wie CI-Ergebnisse, Überwachungswarnungen oder Chat-Nachrichten reagieren kann. Um dies zu aktivieren, erklärt Ihr Server die `claude/channel`-Fähigkeit und Sie aktivieren sie mit dem Flag `--channels` beim Start. Siehe [Channels](/docs/de/channels), um einen offiziell unterstützten Channel zu verwenden, oder [Channels-Referenz](/docs/de/channels-reference), um Ihren eigenen zu erstellen.457Ein MCP-Server kann auch Nachrichten direkt in Ihre Sitzung pushen, damit Claude auf externe Ereignisse wie CI-Ergebnisse, Überwachungswarnungen oder Chat-Nachrichten reagieren kann. Um dies zu aktivieren, erklärt Ihr Server die `claude/channel`-Fähigkeit und Sie aktivieren sie mit dem Flag `--channels` beim Start. Siehe [Channels](/docs/de/channels), um einen offiziell unterstützten Channel zu verwenden, oder [Channels-Referenz](/docs/de/channels-reference), um Ihren eigenen zu erstellen.

458 458 

459Auf der [v2-Runtime](#mcp-client-runtimes), wenn Sie [`MCP_PROTOCOL_NEGOTIATION`](/docs/de/env-vars) auf `auto` setzen und ein Channel-Server MCP-Protokollrevision 2026-07-28 aushandelt, kann er keine Channel-Nachrichten liefern, daher registriert Claude Code ihn nicht als Channel. Das Lassen der Variable ungesetzt oder das Setzen auf `legacy` hält Stdio-Server auf dem früheren Handshake.459Auf der [v2-Runtime](#mcp-client-runtimes) kann ein Channel-Server, der MCP-Protokollrevision 2026-07-28 aushandelt, keine Channel-Nachrichten liefern, daher registriert Claude Code ihn nicht als Channel. Ein Channel-Server, der diese Revision nicht unterstützt, verbindet sich über den früheren Handshake und registriert sich wie bisher.

460 

461Claude Code fragt Stdio-Server nach dieser Revision, wenn Sie [`MCP_PROTOCOL_NEGOTIATION`](/docs/de/env-vars) auf `auto` setzen. Anthropic schaltet dies außerdem für Claude Code v2.1.285 oder später standardmäßig ein, und zwar in Sitzungen, in denen Claude Code [Feature-Flags abruft](/docs/de/env-vars#features-that-need-feature-flag-fetching). Um einen Stdio-Channel-Server auf dem früheren Handshake zu halten, setzen Sie `MCP_PROTOCOL_NEGOTIATION` auf `legacy`, wodurch alle Server darauf bleiben.

460 462 

461<Tip>463<Tip>

462 Tipps:464 Tipps:


1479 Genehmigung für ein bestimmtes Tool erforderlich1481 Genehmigung für ein bestimmtes Tool erforderlich

1480</h2>1482</h2>

1481 1483 

1482Wenn Sie einen MCP-Server erstellen, können Sie ein Tool als erforderlich für explizite Genehmigung bei jedem Aufruf kennzeichnen, indem Sie `_meta["anthropic/requiresUserInteraction"]` in der `tools/list`-Antwort des Tools auf `true` setzen. Der Wert muss der JSON-Boolean `true` sein; alle anderen Werte werden ignoriert.1484Wenn Sie einen MCP-Server erstellen, können Sie ein Tool so kennzeichnen, dass es bei jedem Aufruf eine explizite Genehmigung erfordert. Setzen Sie dazu `_meta["anthropic/requiresUserInteraction"]` im Eintrag des Tools in der `tools/list`-Antwort auf `true`. Der Wert muss der JSON-Boolean `true` sein; alle anderen Werte werden ignoriert.

1483 1485 

1484Claude Code zeigt die Genehmigungsaufforderung dieses Tools bei jedem Aufruf an, auch in den [Genehmigungsmodi](/docs/de/permissions#permission-modes) `acceptEdits`, `auto` und `bypassPermissions`, und bietet keine Option „Nicht erneut fragen" dafür an. [Zulassungsregeln](/docs/de/permissions#permission-rule-syntax), die dem Tool entsprechen, überspringen die Aufforderung ebenfalls nicht. Im Modus `dontAsk`, der niemals eine Aufforderung anzeigt, lehnt Claude Code den Aufruf stattdessen ab.1486Claude Code zeigt die Berechtigungsabfrage dieses Tools bei jedem Aufruf an, auch in den [Berechtigungsmodi](/docs/de/permissions#permission-modes) `acceptEdits`, `auto` und `bypassPermissions`, und bietet dafür keine Option „Nicht erneut fragen“ an. [Allow-Regeln](/docs/de/permissions#permission-rule-syntax), die auf das Tool zutreffen, überspringen die Abfrage ebenfalls nicht. Im Modus `dontAsk`, der niemals nachfragt, lehnt Claude Code den Aufruf stattdessen ab.

1485 1487 

1486Die Aufforderung muss eine Person erreichen. Im nicht-interaktiven Modus mit [`--permission-prompt-tool`](/docs/de/cli-reference#cli-flags) wird ein `allow`-Ergebnis aus dem Prompt-Tool 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](/docs/de/agent-sdk/permissions) des Agent SDK empfängt diese Aufrufe und kann sie genehmigen, da von Ihrer SDK-Anwendung erwartet wird, dass sie diese einem Benutzer anzeigt.1488Die Abfrage muss eine Person erreichen. Im nicht interaktiven Modus mit [`--permission-prompt-tool`](/docs/de/cli-reference#cli-flags) wird ein `allow`-Ergebnis des Prompt-Tools 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](/docs/de/agent-sdk/permissions) des Agent SDK empfängt diese Aufrufe dagegen und kann sie genehmigen, da von Ihrer SDK-Anwendung erwartet wird, dass sie diese einem Benutzer anzeigt.

1487 1489 

1488Verwenden Sie dies für Tools, deren Genehmigungsaufforderung selbst der Zweck ist, z. B. ein Zustimmungs- oder Zugriffsgenehmigungsschritt, bei dem automatische Genehmigung bedeuten würde, dass kein Mensch jemals zugestimmt hat. Andere Tools vom selben Server behalten ihr normales Genehmigungsverhalten.1490Verwenden Sie dies für Tools, bei denen die Berechtigungsabfrage selbst der Zweck ist, z. B. ein Schritt zur Zustimmung oder zur Zugriffsgewährung, bei dem eine automatische Genehmigung bedeuten würde, dass nie ein Mensch zugestimmt hat. Andere Tools desselben Servers behalten ihr normales Berechtigungsverhalten.

1489 1491 

1490Der folgende `tools/list`-Eintrag kennzeichnet ein Tool als immer genehmigungspflichtig.1492Der folgende `tools/list`-Eintrag kennzeichnet ein Tool als immer genehmigungspflichtig.

1491 1493 


1499}1501}

1500```1502```

1501 1503 

1502Die Annotation `anthropic/requiresUserInteraction` erfordert Claude Code v2.1.199 oder später. Frühere Versionen ignorieren sie und wenden den Standard-Genehmigungsablauf an.1504Einige Oberflächen, wie [Remote Control](/docs/de/remote-control) und Anwendungen, die auf dem [Agent SDK](/docs/de/agent-sdk/overview) basieren, ermöglichen es Ihnen normalerweise, Tool-Aufrufe mit einem Tippen zu genehmigen. Für ein Tool, das mit dieser Annotation gekennzeichnet ist, hält Claude Code die Aktion mit einem Tippen zurück und zeigt stattdessen die vollständige Berechtigungsabfrage des Tools an. So stammt die Genehmigung weiterhin von einer Person, die die Abfrage beantwortet, und nicht von einem bloßen Tippen.

1503 

1504Einige Oberflächen, wie [Remote Control](/docs/de/remote-control) und Anwendungen, die auf dem [Agent SDK](/docs/de/agent-sdk/overview) basieren, ermöglichen es Ihnen normalerweise, Tool-Aufrufe mit einem Tippen zu genehmigen. Für ein Tool, das mit dieser Annotation gekennzeichnet ist, hält Claude Code die Aktion mit einem Tippen zurück und zeigt stattdessen die vollständige Genehmigungsaufforderung des Tools an, sodass die Genehmigung weiterhin von einer Person stammt, die die Aufforderung beantwortet, anstatt von einem Tippen.

1505 1505 

1506Claude Code hält die Genehmigung mit einem Tippen auf die gleiche Weise für jede Genehmigungsanfrage zurück, die nur das Terminal-Dialogfeld vollständig rendern kann, z. B. eine, die eine Sicherheitswarnung oder eine Option „Immer zulassen" enthält, die die Remote-Oberfläche nicht anzeigen kann. Sie beantworten diese Anfrage im Terminal-Dialogfeld anstatt von Remote Control. Erfordert Claude Code v2.1.214 oder später.1506Claude Code hält die Genehmigung mit einem Tippen auf die gleiche Weise für jede Berechtigungsanfrage zurück, die nur der Terminal-Dialog vollständig darstellen kann, z. B. eine Anfrage mit einer Sicherheitswarnung oder einer Option „Immer zulassen“, die die Remote-Oberfläche nicht anzeigen kann. Sie beantworten diese Anfrage im Terminal-Dialog statt über Remote Control. Erfordert Claude Code v2.1.214 oder später.

1507 1507 

1508<h2 id="respond-to-mcp-elicitation-requests">1508<h2 id="respond-to-mcp-elicitation-requests">

1509 Auf MCP-Elicitierungsanfragen reagieren1509 Auf MCP-Elicitierungsanfragen reagieren


1514Server können Eingaben auf zwei Arten anfordern:1514Server können Eingaben auf zwei Arten anfordern:

1515 1515 

1516* **Formularmodus**: Claude Code zeigt einen Dialog mit Formularfeldern an, die vom Server definiert werden (beispielsweise eine Aufforderung für Benutzernamen und Passwort). Füllen Sie die Felder aus und senden Sie sie ab.1516* **Formularmodus**: Claude Code zeigt einen Dialog mit Formularfeldern an, die vom Server definiert werden (beispielsweise eine Aufforderung für Benutzernamen und Passwort). Füllen Sie die Felder aus und senden Sie sie ab.

1517* **URL-Modus**: Claude Code fragt, ob ein Link in Ihrem Browser geöffnet werden soll, und öffnet ihn, wenn Sie zustimmen. Server verwenden diesen Modus für einen Ablauf, der außerhalb des Terminals abgeschlossen wird, z. B. für die Anmeldung.1517* **URL-Modus**: Claude Code fragt, ob ein Link in Ihrem Browser geöffnet werden soll. Server verwenden diesen Modus für einen Ablauf, der außerhalb des Terminals abgeschlossen wird, z. B. für die Anmeldung.

1518 1518 

1519Im URL-Modus übergibt Claude Code die URL als Befehlszeilenargument an den URL-Handler Ihres Systems und begrenzt die Länge dieses Arguments. Wenn die URL nach der Escape-Sequenz für die Befehlszeile diese Grenze überschreitet, können Sie die Anfrage nur ablehnen. Jedes Zeichen, das Escape-Sequenzen benötigt, wie `%` oder `&`, zählt vierfach zur Grenze: sein eigenes Zeichen plus drei Escape-Zeichen. Eine URL ohne diese Zeichen erreicht die Grenze bei etwa 8.000 Zeichen. Eine URL, die größtenteils aus Prozentzeichen-Escape-Sequenzen besteht, bei denen jedes dritte Zeichen ein `%` ist, erreicht sie bei etwa 4.000.1519Im URL-Modus übergibt Claude Code die URL als Befehlszeilenargument an den URL-Handler Ihres Systems und begrenzt die Länge dieses Arguments. Wenn die URL nach der Escape-Sequenz für die Befehlszeile diese Grenze überschreitet, können Sie die Anfrage nur ablehnen. Jedes Zeichen, das Escape-Sequenzen benötigt, wie `%` oder `&`, zählt vierfach zur Grenze: sein eigenes Zeichen plus drei Escape-Zeichen. Eine URL ohne diese Zeichen erreicht die Grenze bei etwa 8.000 Zeichen. Eine URL, die größtenteils aus Prozentzeichen-Escape-Sequenzen besteht, bei denen jedes dritte Zeichen ein `%` ist, erreicht sie bei etwa 4.000.

1520 1520 

model-config.md +4 −3

Details

794 794 

795<span id="context-window-behind-a-gateway" />795<span id="context-window-behind-a-gateway" />

796 796 

797Wenn Sie `ANTHROPIC_BASE_URL` auf ein [LLM-Gateway](/docs/de/llm-gateway) oder einen anderen Proxy einstellen, gibt Claude Code jedem Modell, das es erkennt, das gleiche Kontextfenster, das das Modell auf der Anthropic API hat. Fable 5.1, Fable 5, Sonnet 5 und später sowie Opus 4.7 und später erhalten das 1M-Fenster ohne `[1m]` Variante zum Auswählen, und ein Modell, das 1M nur durch seine `[1m]` Variante erreicht, wie Opus 4.6, läuft bei 200K ohne es. Claude Code kann eine niedrigere Grenze, die das Gateway oder der Server dahinter erzwingt, nicht erkennen. Wenn Ihr Gateway Anfragen über 200K Token ablehnt, führen Sie [`/autocompact 200k`](#set-the-auto-compact-window) aus, damit Sitzungen bei dieser Grenze komprimieren.797Wenn Sie `ANTHROPIC_BASE_URL` auf ein [LLM-Gateway](/docs/de/llm-gateway) oder einen anderen Proxy setzen, gibt Claude Code jedem Modell, das es erkennt, das gleiche Kontextfenster, das das Modell auf der Anthropic API hat. Fable 5.1, Fable 5, Sonnet 5 und später sowie Opus 4.7 und später erhalten das 1M-Fenster, ohne dass eine `[1m]` Variante ausgewählt werden muss, und ein Modell, das 1M nur über seine `[1m]` Variante erreicht, wie Opus 4.6, läuft ohne sie mit 200K. Claude Code kann ein niedrigeres Limit, das das Gateway oder der dahinterliegende Server erzwingt, nicht erkennen. Wenn Ihr Gateway Anfragen über 200K Token ablehnt, setzen Sie [`CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000`](/docs/de/env-vars) in der Umgebung, die Claude Code startet, damit Sitzungen auf jedem Modell [an dieser Grenze komprimieren](#set-the-auto-compact-window).

798 798 

799Um 1M-Kontext auszuschalten, stellen Sie `CLAUDE_CODE_DISABLE_1M_CONTEXT=1` ein. Claude Code entfernt 1M-Modellvarianten aus dem Modell-Picker. Auf Modellen mit einem nativen 1M-Fenster, wie Sonnet 5 und die Fable-Modelle, behandelt es das Modell auch als ein Modell mit einem 200K-Kontextfenster:799Um 1M-Kontext auszuschalten, stellen Sie `CLAUDE_CODE_DISABLE_1M_CONTEXT=1` ein. Claude Code entfernt 1M-Modellvarianten aus dem Modell-Picker. Auf Modellen mit einem nativen 1M-Fenster, wie Sonnet 5 und die Fable-Modelle, behandelt es das Modell auch als ein Modell mit einem 200K-Kontextfenster:

800 800 


840 Fenster für automatische Komprimierung einstellen840 Fenster für automatische Komprimierung einstellen

841</h3>841</h3>

842 842 

843Sie können das Fenster für automatische Komprimierung an drei Stellen einstellen:843Sie können das Fenster für automatische Komprimierung an diesen Stellen einstellen:

844 844 

845* **Für diese Sitzung und spätere**: Führen Sie `/autocompact` mit einem Wert aus, z. B. `/autocompact 500k`. Claude Code speichert es in Ihren Benutzereinstellungen als [`autoCompactWindow`](/docs/de/settings-reference#autocompactwindow) und wendet es auf die aktuelle Sitzung an. Wenn ein höher priorisierter [Einstellungsbereich](/docs/de/settings#settings-precedence) wie verwaltete Einstellungen den Schlüssel setzt, speichert der Befehl Ihren Wert, aber die Sitzung behält das Fenster dieses Bereichs bei, und der Befehl teilt dies mit. Führen Sie `/autocompact auto` aus, um zum für Ihr Modell optimierten Fenster zurückzukehren.845* **Für das aktuelle Modell, in dieser Sitzung und späteren**: Führen Sie `/autocompact` mit einem Wert aus, z. B. `/autocompact 500k`. Claude Code speichert es in Ihren Benutzereinstellungen unter dem aktuellen Modell in [`modelSettings`](/docs/de/settings-reference#modelsettings) und wendet es auf die aktuelle Sitzung an. Wenn ein höher priorisierter [Geltungsbereich für Einstellungen](/docs/de/settings#settings-precedence) wie verwaltete Einstellungen ein eigenes Fenster für dieses Modell oder für jedes Modell festlegt, speichert der Befehl Ihren Wert, aber die Sitzung behält das Fenster dieses Geltungsbereichs bei, und der Befehl teilt dies mit. Führen Sie `/autocompact auto` aus, um zum für Ihr Modell optimierten Fenster zurückzukehren. Vor v2.1.288 speicherte der Befehl ein einziges Fenster für jedes Modell, als `autoCompactWindow` auf oberster Ebene.

846* **Für jedes Modell**: Setzen Sie [`autoCompactWindow`](/docs/de/settings-reference#autocompactwindow) in einer Einstellungsdatei, z. B. `"autoCompactWindow": 200000` in `~/.claude/settings.json`. Ein Fenster, das Sie mit `/autocompact` für ein Modell gespeichert haben, hat für dieses Modell Vorrang vor diesem Schlüssel in derselben Datei.

846* **Für einen Start**: Übergeben Sie [`--autocompact`](/docs/de/cli-reference#cli-flags) beim Starten von Claude Code. Das Flag setzt Ihre gespeicherte Einstellung für diesen Start außer Kraft, ohne sie zu ändern, und `claude --autocompact auto` führt die Sitzung mit dem optimierten Fenster aus, auch wenn Ihre gespeicherte Einstellung einen Wert hat. Im Gegensatz zu `/autocompact` wird das Flag nicht durch einen höher priorisierten Einstellungsbereich wie verwaltete Einstellungen außer Kraft gesetzt.847* **Für einen Start**: Übergeben Sie [`--autocompact`](/docs/de/cli-reference#cli-flags) beim Starten von Claude Code. Das Flag setzt Ihre gespeicherte Einstellung für diesen Start außer Kraft, ohne sie zu ändern, und `claude --autocompact auto` führt die Sitzung mit dem optimierten Fenster aus, auch wenn Ihre gespeicherte Einstellung einen Wert hat. Im Gegensatz zu `/autocompact` wird das Flag nicht durch einen höher priorisierten Einstellungsbereich wie verwaltete Einstellungen außer Kraft gesetzt.

847* **In Skripten und Cloud-Umgebungen**: Setzen Sie [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/de/env-vars). Während es gesetzt ist, hat es Vorrang vor dem Befehl, dem Flag und der Einstellung, und `/autocompact` meldet die Außerkraftsetzung, anstatt das Fenster zu ändern.848* **In Skripten und Cloud-Umgebungen**: Setzen Sie [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/de/env-vars). Während es gesetzt ist, hat es Vorrang vor dem Befehl, dem Flag und der Einstellung, und `/autocompact` meldet die Außerkraftsetzung, anstatt das Fenster zu ändern.

848 849 

Details

785 Benutzereingabeaufforderungs-Ereignis785 Benutzereingabeaufforderungs-Ereignis

786</h4>786</h4>

787 787 

788Protokolliert, wenn ein Benutzer eine Eingabeaufforderung einreicht.788Wird protokolliert, wenn ein Prompt abgesendet wird, auch bei Turns, die Claude Code selbst startet.

789 789 

790**Ereignisname**: `claude_code.user_prompt`790**Ereignisname**: `claude_code.user_prompt`

791 791 

permission-modes.md +115 −115

Details

296Um den Plan-Modus als Standard für die Terminal-Sitzungen eines Projekts festzulegen, setzen Sie `defaultMode` auf `plan` in `.claude/settings.json`, wie das Beispiel unter [Starten Sie in einem anderen Berechtigungsmodus](#start-in-a-different-mode) zeigt. Konversationen, die die [VS Code-Erweiterung](/docs/de/vs-code) startet, lesen keine Projekteinstellungen für den Standard-Berechtigungsmodus. Dort setzen Sie stattdessen `claudeCode.initialPermissionMode` auf `plan` in Ihren VS Code-Benutzereinstellungen.296Um den Plan-Modus als Standard für die Terminal-Sitzungen eines Projekts festzulegen, setzen Sie `defaultMode` auf `plan` in `.claude/settings.json`, wie das Beispiel unter [Starten Sie in einem anderen Berechtigungsmodus](#start-in-a-different-mode) zeigt. Konversationen, die die [VS Code-Erweiterung](/docs/de/vs-code) startet, lesen keine Projekteinstellungen für den Standard-Berechtigungsmodus. Dort setzen Sie stattdessen `claudeCode.initialPermissionMode` auf `plan` in Ihren VS Code-Benutzereinstellungen.

297 297 

298<h2 id="eliminate-prompts-with-auto-mode">298<h2 id="eliminate-prompts-with-auto-mode">

299 Genehmigungsaufforderungen mit Auto-Modus eliminieren299 Berechtigungsabfragen mit dem Auto-Modus eliminieren

300</h2>300</h2>

301 301 

302Der Auto-Modus ermöglicht es Claude, ohne routinemäßige Genehmigungsaufforderungen auszuführen. Ein separates Klassifizierungsmodell überprüft Aktionen, bevor sie ausgeführt werden, und blockiert alles, das über Ihre Anfrage hinausgeht, auf nicht erkannte Infrastruktur abzielt oder von feindseligem Inhalt angetrieben zu sein scheint, den Claude gelesen hat. Explizite [Anfrageregelungen](/docs/de/permissions#manage-permissions) erzwingen weiterhin eine Aufforderung.302Der Auto-Modus ermöglicht es Claude, ohne routinemäßige Berechtigungsabfragen auszuführen. Ein separates Klassifikatormodell überprüft Aktionen, bevor sie ausgeführt werden, und blockiert alles, das über Ihre Anfrage hinausgeht, auf nicht erkannte Infrastruktur abzielt oder von feindseligem Inhalt angetrieben zu sein scheint, den Claude gelesen hat. Explizite [Ask-Regeln](/docs/de/permissions#manage-permissions) erzwingen weiterhin eine Abfrage.

303 303 

304Mit Claude Code v2.1.283 oder später ist der Auto-Modus der [integrierte Standard-Berechtigungsmodus](#which-mode-a-session-starts-in) für interaktive Terminal- und VS Code-Sitzungen in jedem Plan und bei jedem Anbieter. Bei früheren Versionen ist er der integrierte Standard-Berechtigungsmodus nur bei Pro-, Max- und Team-Plänen.304Mit Claude Code v2.1.283 oder später ist der Auto-Modus der [integrierte Standard-Berechtigungsmodus](#which-mode-a-session-starts-in) für interaktive Terminal- und VS Code-Sitzungen in jedem Plan und bei jedem Anbieter. Bei früheren Versionen ist er der integrierte Standard-Berechtigungsmodus nur bei Pro-, Max- und Team-Plänen.

305 305 

306Der Klassifizierer überprüft auch jede Nachricht, die Claude mit [`SendMessage`](/docs/de/tools-reference) an einen anderen Agent sendet, ob als Klartext oder als strukturierte [Agent-Team](/docs/de/agent-teams)-Nachricht, bevor Claude Code sie liefert, sowohl im Auto-Modus als auch im [Plan-Modus, während der Klassifizierer Befehle überprüft](#analyze-before-you-edit-with-plan-mode); die Sendungsüberprüfung erfordert Claude Code v2.1.222 oder später.306Der Klassifikator überprüft auch jede Nachricht, die Claude mit [`SendMessage`](/docs/de/tools-reference) an einen anderen Agenten sendet, ob als Klartext oder als strukturierte [Agent-Team](/docs/de/agent-teams)-Nachricht, bevor Claude Code sie zustellt, sowohl im Auto-Modus als auch im [Plan-Modus, während der Klassifikator Befehle überprüft](#analyze-before-you-edit-with-plan-mode); die Überprüfung beim Senden erfordert Claude Code v2.1.222 oder später.

307 307 

308Standardmäßig überprüft der Klassifizierer `rm`- und `rmdir`-Löschungen, die auf einen kritischen Pfad abzielen, wie `rm -rf /` oder `rm -rf ~`, nicht. [Kritische Pfade](#critical-paths) behandelt, was mit ihnen in jedem Berechtigungsmodus geschieht.308Standardmäßig überprüft der Klassifikator `rm`- und `rmdir`-Löschungen, die auf einen kritischen Pfad abzielen, wie `rm -rf /` oder `rm -rf ~`, nicht. [Kritische Pfade](#critical-paths) behandelt, was mit ihnen in jedem Berechtigungsmodus geschieht.

309 309 

310Der Auto-Modus ermutigt Claude auch, ohne Unterbrechung für Klärungsfragen weiterzuarbeiten, obwohl Claude immer noch fragt, wenn Ihre Aufforderung oder eine Fähigkeit explizit darauf angewiesen ist. Für stärkeres autonomes Verhalten in einem Modus, der Sie immer noch auffordert, stellen Sie stattdessen den [Proaktiven Ausgabestil](/docs/de/output-styles) ein.310Der Auto-Modus ermutigt Claude auch, ohne Unterbrechung für Klärungsfragen weiterzuarbeiten, obwohl Claude immer noch fragt, wenn Ihr Prompt oder ein Skill explizit darauf angewiesen ist. Für stärkeres autonomes Verhalten in einem Modus, der Sie weiterhin um Bestätigung bittet, stellen Sie stattdessen den [Proactive-Ausgabestil](/docs/de/output-styles) ein.

311 311 

312<Warning>312<Warning>

313 Der Auto-Modus reduziert Genehmigungsaufforderungen, garantiert aber keine Sicherheit. Verwenden Sie ihn für Aufgaben, bei denen Sie der allgemeinen Richtung vertrauen, nicht als Ersatz für eine Überprüfung bei sensiblen Operationen.313 Der Auto-Modus reduziert Berechtigungsabfragen, garantiert aber keine Sicherheit. Verwenden Sie ihn für Aufgaben, bei denen Sie der allgemeinen Richtung vertrauen, nicht als Ersatz für eine Überprüfung bei sensiblen Operationen.

314</Warning>314</Warning>

315 315 

316Der Auto-Modus ist nur verfügbar, wenn Ihr Konto alle diese Anforderungen erfüllt:316Der Auto-Modus ist nur verfügbar, wenn Ihr Konto alle diese Anforderungen erfüllt:


320* **Modell**: Bei der Anthropic API und [Claude Platform auf AWS](/docs/de/claude-platform-on-aws) Claude Opus 4.6 oder später, Sonnet 4.6 oder später, oder ein [Fable-Modell](/docs/de/model-config#work-with-fable). Bei Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry und angemeldeten [Claude-Apps-Gateway](/docs/de/claude-apps-gateway)-Sitzungen nur Claude Sonnet 5 oder später, Opus 4.7 oder später und die Fable-Modelle. Ältere Modelle, einschließlich Sonnet 4.5, Opus 4.5, Haiku und claude-3-Modelle, werden bei keinem Anbieter unterstützt.320* **Modell**: Bei der Anthropic API und [Claude Platform auf AWS](/docs/de/claude-platform-on-aws) Claude Opus 4.6 oder später, Sonnet 4.6 oder später, oder ein [Fable-Modell](/docs/de/model-config#work-with-fable). Bei Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry und angemeldeten [Claude-Apps-Gateway](/docs/de/claude-apps-gateway)-Sitzungen nur Claude Sonnet 5 oder später, Opus 4.7 oder später und die Fable-Modelle. Ältere Modelle, einschließlich Sonnet 4.5, Opus 4.5, Haiku und claude-3-Modelle, werden bei keinem Anbieter unterstützt.

321* **Anbieter**: Standardmäßig verfügbar bei der Anthropic API, Claude Platform auf AWS, Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry und angemeldeten Claude-Apps-Gateway-Sitzungen.321* **Anbieter**: Standardmäßig verfügbar bei der Anthropic API, Claude Platform auf AWS, Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry und angemeldeten Claude-Apps-Gateway-Sitzungen.

322 322 

323Wenn Claude Code meldet, dass der Auto-Modus nicht verfügbar ist, überprüfen Sie zunächst diese Anforderungen und ob eine Einstellungsdatei [`disableAutoMode`](/docs/de/settings-reference#disableautomode) setzt. Anthropic kann den Auto-Modus auch serverseitig deaktiviert haben, oder der Server kann den Auto-Modus für Ihr Konto abgelehnt haben. Eine Sitzung, die eine dieser Antworten erhalten hat, behält den Auto-Modus aus, bis die Sitzung endet. Starten Sie später eine neue Sitzung.323Wenn Claude Code meldet, dass der Auto-Modus nicht verfügbar ist, überprüfen Sie zunächst diese Anforderungen und ob eine Einstellungsdatei [`disableAutoMode`](/docs/de/settings-reference#disableautomode) setzt. Anthropic kann den Auto-Modus auch serverseitig deaktiviert haben, oder der Server kann den Auto-Modus für Ihr Konto abgelehnt haben. Eine Sitzung, die eine dieser Antworten erhalten hat, behält den Auto-Modus aus, bis die Sitzung endet. Starten Sie daher später eine neue Sitzung.

324 324 

325Eine separate Nachricht, die ein Modell benennt und sagt, dass der Auto-Modus die Sicherheit einer Aktion „nicht bestimmen kann", bedeutet, dass eine Klassifiziereranfrage fehlgeschlagen ist. Dieser Fehler ist normalerweise vorübergehend, kann aber bei Amazon Bedrock wiederholt werden, bis Ihr Konto das benannte Modell aufrufen kann. Siehe die [Fehlerreferenz](/docs/de/errors#auto-mode-cannot-determine-the-safety-of-an-action) für die Ursachen und was zu tun ist.325Eine separate Nachricht, die ein Modell benennt und sagt, dass der Auto-Modus die Sicherheit einer Aktion „nicht bestimmen kann", bedeutet, dass eine Klassifikatoranfrage fehlgeschlagen ist. Dieser Fehler ist normalerweise vorübergehend, kann sich aber bei Amazon Bedrock wiederholen, bis Ihr Konto das benannte Modell aufrufen kann. Siehe die [Fehlerreferenz](/docs/de/errors#auto-mode-cannot-determine-the-safety-of-an-action) für die Ursachen und was zu tun ist.

326 326 

327Wenn Sie `defaultMode: "auto"` in [Einstellungen](/docs/de/settings-reference#all-settings) setzen und eine Terminal-Sitzung im manuellen Modus ohne Fehler startet, befindet sich die Einstellung wahrscheinlich in `.claude/settings.json` oder `.claude/settings.local.json`. `auto` wird aus diesen Dateien nicht wirksam. Verschieben Sie es zu `~/.claude/settings.json`. Überprüfen Sie für ein Gespräch, das die VS Code-Erweiterung gestartet hat, stattdessen die eigene Liste der Erweiterung in [Berechtigungsmodi wechseln](#switch-permission-modes).327Wenn Sie `defaultMode: "auto"` in [Einstellungen](/docs/de/settings-reference#all-settings) setzen und eine Terminal-Sitzung ohne Fehler im Manual-Modus startet, befindet sich die Einstellung wahrscheinlich in `.claude/settings.json` oder `.claude/settings.local.json`. `auto` wird aus diesen Dateien nicht wirksam. Verschieben Sie es nach `~/.claude/settings.json`. Überprüfen Sie für eine Konversation, die die VS Code-Erweiterung gestartet hat, stattdessen die eigene Liste der Erweiterung in [Berechtigungsmodi wechseln](#switch-permission-modes).

328 328 

329<h3 id="enable-auto-mode-on-bedrock-agent-platform-or-foundry">329<h3 id="enable-auto-mode-on-bedrock-agent-platform-or-foundry">

330 Auto-Modus auf Bedrock, Agent Platform oder Foundry330 Auto-Modus auf Bedrock, Agent Platform oder Foundry

331</h3>331</h3>

332 332 

333Bei [Amazon Bedrock](/docs/de/amazon-bedrock), [Google Cloud's Agent Platform](/docs/de/google-vertex-ai), [Microsoft Foundry](/docs/de/microsoft-foundry) und angemeldeten [Claude-Apps-Gateway](/docs/de/claude-apps-gateway)-Sitzungen ist der Auto-Modus standardmäßig verfügbar. Wenn nichts anderes einen Berechtigungsmodus setzt, ist er auch der [integrierte Standard-Berechtigungsmodus](#which-mode-a-session-starts-in), auf den Versionen, die dieser Abschnitt auflistet. Um den Standard-Berechtigungsmodus selbst zu wählen, setzen Sie `permissions.defaultMode` wie [In einem anderen Berechtigungsmodus starten](#start-in-a-different-mode) beschreibt, oder wählen Sie einen Berechtigungsmodus aus dem Modus-Indikator der VS Code-Erweiterung.333Bei [Amazon Bedrock](/docs/de/amazon-bedrock), [Google Cloud's Agent Platform](/docs/de/google-vertex-ai), [Microsoft Foundry](/docs/de/microsoft-foundry) und angemeldeten [Claude-Apps-Gateway](/docs/de/claude-apps-gateway)-Sitzungen ist der Auto-Modus standardmäßig verfügbar. Wenn nichts anderes einen Berechtigungsmodus setzt, ist er auch der [integrierte Standard-Berechtigungsmodus](#which-mode-a-session-starts-in), auf den Versionen, die die Tabelle jenes Abschnitts auflistet. Um den Standard-Berechtigungsmodus selbst zu wählen, setzen Sie `permissions.defaultMode` wie in [In einem anderen Berechtigungsmodus starten](#start-in-a-different-mode) beschrieben, oder wählen Sie einen Berechtigungsmodus aus dem Modus-Indikator der VS Code-Erweiterung.

334 334 

335Nur Claude Sonnet 5 oder später, Opus 4.7 oder später und die Fable-Modelle werden auf diesen Anbietern unterstützt. Bei jedem anderen Modell startet die Sitzung stattdessen im manuellen Modus.335Nur Claude Sonnet 5 oder später, Opus 4.7 oder später und die Fable-Modelle werden auf diesen Anbietern unterstützt. Bei jedem anderen Modell startet die Sitzung stattdessen im Manual-Modus.

336 336 

337Um Entwickler daran zu hindern, den Auto-Modus zu verwenden, setzen Sie `disableAutoMode` in [verwalteten Einstellungen](/docs/de/managed-settings) auf `"disable"`. Dies entfernt `auto` aus dem `Shift+Tab`-Zyklus, und eine Sitzung, die mit `--permission-mode auto` gestartet wird, startet stattdessen im manuellen Modus. Eine bereits im Auto-Modus laufende Sitzung verlässt ihn, wenn die Einstellung diese Sitzung von einer [von Admin bereitgestellten Quelle](/docs/de/managed-settings#which-managed-source-claude-code-uses) erreicht, und zeigt `auto mode disabled by settings`. Vor v2.1.251 behielt eine laufende Sitzung den Auto-Modus bis zum Ende.337Um Entwickler daran zu hindern, den Auto-Modus zu verwenden, setzen Sie `disableAutoMode` in [verwalteten Einstellungen](/docs/de/managed-settings) auf `"disable"`. Dies entfernt `auto` aus dem `Shift+Tab`-Zyklus, und eine Sitzung, die mit `--permission-mode auto` gestartet wird, startet stattdessen im Manual-Modus. Eine bereits im Auto-Modus laufende Sitzung verlässt ihn, wenn die Einstellung diese Sitzung aus einer [von Administratoren bereitgestellten Quelle](/docs/de/managed-settings#which-managed-source-claude-code-uses) erreicht, und zeigt `auto mode disabled by settings`. Vor v2.1.251 behielt eine laufende Sitzung den Auto-Modus bis zu ihrem Ende.

338 338 

339In v2.1.158 bis v2.1.206 war der Auto-Modus auf diesen Anbietern aus, bis Sie `CLAUDE_CODE_ENABLE_AUTO_MODE=1` setzten, und Claude Code ignorierte `defaultMode: "auto"` auf diesen Anbietern, es sei denn, die Variable wurde auch gesetzt. Die Variable wird immer noch aus Kompatibilitätsgründen akzeptiert und hat ab v2.1.207 keine Auswirkung.339In v2.1.158 bis v2.1.206 war der Auto-Modus auf diesen Anbietern aus, bis Sie `CLAUDE_CODE_ENABLE_AUTO_MODE=1` setzten, und Claude Code ignorierte `defaultMode: "auto"` auf diesen Anbietern, es sei denn, die Variable war ebenfalls gesetzt. Die Variable wird aus Kompatibilitätsgründen weiterhin akzeptiert und hat ab v2.1.207 keine Auswirkung.

340 340 

341<h3 id="server-side-classifier-review">341<h3 id="server-side-classifier-review">

342 Serverseitige Klassifiziererüberprüfung342 Serverseitige Klassifikatorüberprüfung

343</h3>343</h3>

344 344 

345Im Auto-Modus kann Claude Code den Server bitten, die Aktionen zu überprüfen, die [die Entscheidungsreihenfolge](#how-the-classifier-evaluates-actions) zur Überprüfung sendet, als Teil der Modellanfragen der Sitzung, anstatt eigene Klassifiziereranfragen zu senden. Diese Sitzungen fragen:345Im Auto-Modus kann Claude Code den Server bitten, die Aktionen zu überprüfen, die [die Entscheidungsreihenfolge](#how-the-classifier-evaluates-actions) zur Überprüfung sendet, als Teil der Modellanfragen der Sitzung, anstatt eigene Klassifikatoranfragen zu senden. Diese Sitzungen fragen beim Server an:

346 346 

347* **Eine direkte Verbindung zur Anthropic API**: in interaktiven Terminal-Sitzungen sowie in `-p`-, Agent SDK-, [VS Code-Erweiterungs](/docs/de/vs-code)- und [Desktop-App](/docs/de/desktop)-Sitzungen, unabhängig von Ihrem Plan oder Kontotyp, während Anthropic dies einführt. In interaktiven Terminal-Sitzungen erfordert dies Claude Code v2.1.271 oder später bei Pro-, Max- und Team-Plänen und v2.1.278 oder später bei Enterprise-Plänen und Claude API-Konten. In `-p`-, Agent SDK-, VS Code-Erweiterungs- und Desktop-App-Sitzungen erfordert dies Claude Code v2.1.281 oder später. Ab v2.1.282 fragt eine Sitzung, die [keine Feature-Flags abruft](/docs/de/env-vars#features-that-need-feature-flag-fetching), zum Beispiel weil Sie die Telemetrie deaktiviert haben, in jeder Art von Sitzung standardmäßig beim Server an.347* **Eine direkte Verbindung zur Anthropic API**: in interaktiven Terminal-Sitzungen sowie in `-p`-, Agent SDK-, [VS Code-Erweiterungs](/docs/de/vs-code)- und [Desktop-App](/docs/de/desktop)-Sitzungen, unabhängig von Ihrem Plan oder Kontotyp, während Anthropic dies einführt. In interaktiven Terminal-Sitzungen erfordert dies Claude Code v2.1.271 oder später bei Pro-, Max- und Team-Plänen und v2.1.278 oder später bei Enterprise-Plänen und Claude API-Konten. In `-p`-, Agent SDK-, VS Code-Erweiterungs- und Desktop-App-Sitzungen erfordert dies Claude Code v2.1.281 oder später. Ab v2.1.282 fragt eine Sitzung, die [keine Feature-Flags abruft](/docs/de/env-vars#features-that-need-feature-flag-fetching), zum Beispiel weil Sie die Telemetrie deaktiviert haben, in jeder Art von Sitzung standardmäßig beim Server an.

348* **Ein Cloud-Anbieter oder ein LLM-Gateway oder Proxy**: bei [Claude Platform auf AWS](/docs/de/claude-platform-on-aws), Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry, und wann immer Sie `ANTHROPIC_BASE_URL` auf ein [LLM-Gateway oder Proxy](/docs/de/llm-gateway) verweisen, unabhängig von Ihrem Plan. Das standardmäßige Fragen erfordert Claude Code v2.1.278 oder später.348* **Ein Cloud-Anbieter oder ein LLM-Gateway oder Proxy**: bei [Claude Platform auf AWS](/docs/de/claude-platform-on-aws), Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry, und wann immer Sie `ANTHROPIC_BASE_URL` auf ein [LLM-Gateway oder einen Proxy](/docs/de/llm-gateway) verweisen lassen, unabhängig von Ihrem Plan. Das standardmäßige Anfragen erfordert Claude Code v2.1.278 oder später.

349* **Eine angemeldete [Claude-Apps-Gateway](/docs/de/claude-apps-gateway)-Sitzung**: erfordert Claude Code v2.1.280 oder später349* **Eine angemeldete [Claude-Apps-Gateway](/docs/de/claude-apps-gateway)-Sitzung**: erfordert Claude Code v2.1.280 oder später

350 350 

351Wenn der Server die Aktionen überprüft, entscheiden seine Urteile über sie. Zwei weitere Ergebnisse sind möglich:351Wenn der Server die Aktionen überprüft, entscheiden seine Urteile über sie. Zwei weitere Ergebnisse sind möglich:

352 352 

353* **Der Server überprüft die Sitzung nicht**: Eine Antwort wird ohne Überprüfungsergebnisse abgeschlossen, oder der Server antwortet, dass er diese Sitzung nicht überprüft. Die häufigsten Ursachen sind ein LLM-Gateway oder Proxy, das die Anfrage zur Überprüfung oder die Ergebnisse verwirft, und eine Plattform, Region oder Anmeldedaten, die noch keine serverseitigen Überprüfungen haben. Claude Code fällt auf seine eigenen Klassifiziereranfragen zurück. Sobald dieses Fallback für den Rest der Sitzung gilt, zeigt es einen [Hinweis zu Klassifiziereranfrage-Gebühren](/docs/de/auto-mode-classifier-billing) bei Konten, bei denen diese Anfragen in Rechnung gestellt werden.353* **Der Server überprüft die Sitzung nicht**: Eine Antwort wird ohne Überprüfungsergebnisse abgeschlossen, oder der Server antwortet, dass er diese Sitzung nicht überprüft. Die häufigsten Ursachen sind ein LLM-Gateway oder Proxy, das die Anfrage zur Überprüfung oder die Ergebnisse verwirft, und eine Plattform, Region oder Anmeldedaten, für die es noch keine serverseitigen Überprüfungen gibt. Claude Code fällt auf seine eigenen Klassifikatoranfragen zurück. Sobald dieser Fallback für den Rest der Sitzung gilt, zeigt es bei Konten, bei denen diese Anfragen in Rechnung gestellt werden, einen [Hinweis zu Gebühren für Klassifikatoranfragen](/docs/de/auto-mode-classifier-billing).

354* **Der Server gibt kein Urteil für eine Aktion ab**: Claude Code verweigert die Aktion, anstatt sie unüberprüft auszuführen. Bei jeder Verbindung geschieht dies, wenn die Antwort endet, bevor die Überprüfungsergebnisse ankommen, oder die Ergebnisse in einer Form ankommen, die Claude Code nicht lesen kann. Ein LLM-Gateway oder Proxy, das Antworten kürzt oder die Ergebnisse umschreibt, kann beides verursachen. Bei einer direkten Verbindung zur Anthropic API geschieht dies auch, wenn die Überprüfung des Servers für die Aktion fehlschlägt, zum Beispiel durch Timeout. [Der Server hat kein Sicherheitsurteil zurückgegeben](/docs/de/errors#the-server-returned-no-safety-verdict) behandelt die Verweigerungsmeldung, was geschieht, wenn Verweigerungen wiederholt werden, und was zu tun ist.354* **Der Server gibt kein Urteil für eine Aktion ab**: Claude Code verweigert die Aktion, anstatt sie ungeprüft auszuführen. Bei jeder Verbindung geschieht dies, wenn die Antwort endet, bevor die Überprüfungsergebnisse ankommen, oder die Ergebnisse in einer Form ankommen, die Claude Code nicht lesen kann. Ein LLM-Gateway oder Proxy, das Antworten kürzt oder die Ergebnisse umschreibt, kann beides verursachen. Bei einer direkten Verbindung zur Anthropic API geschieht dies auch, wenn die Überprüfung des Servers für die Aktion fehlschlägt, zum Beispiel durch ein Timeout. [Der Server hat kein Sicherheitsurteil zurückgegeben](/docs/de/errors#the-server-returned-no-safety-verdict) behandelt die Verweigerungsmeldung, was geschieht, wenn sich Verweigerungen wiederholen, und was zu tun ist.

355 355 

356Um die Anfrage beim Server zu überspringen und immer die eigenen Klassifikator-Anfragen von Claude Code zu verwenden, setzen Sie [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/de/env-vars). Bei einer direkten Verbindung zur Anthropic API erfordert die Variable Claude Code v2.1.281 oder später. Wenn Sie sie dort auf `1` setzen, wird die Serverüberprüfung in einer Sitzung aktiviert, die sie noch nicht hat, es sei denn, Sie haben auch `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` gesetzt. Wenn Sie `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` setzen und `CLAUDE_CODE_AUTO_MODE_SERVER` nicht setzen, fragt Claude Code ebenfalls nicht mehr beim Server an, außer wie in [Vorabversions-Funktionen deaktivieren](/docs/de/llm-gateway-protocol#disable-pre-release-capabilities) beschrieben.356Um die Anfrage beim Server zu überspringen und immer die eigenen Klassifikatoranfragen von Claude Code zu verwenden, setzen Sie [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/de/env-vars). Bei einer direkten Verbindung zur Anthropic API erfordert die Variable Claude Code v2.1.281 oder später. Wenn Sie sie dort auf `1` setzen, wird die Serverüberprüfung in einer Sitzung aktiviert, die sie noch nicht hat, es sei denn, Sie haben auch `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` gesetzt. Wenn Sie `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` setzen und `CLAUDE_CODE_AUTO_MODE_SERVER` nicht setzen, fragt Claude Code ebenfalls nicht mehr beim Server an, außer wie in [Vorabversions-Funktionen deaktivieren](/docs/de/llm-gateway-protocol#disable-pre-release-capabilities) beschrieben.

357 357 

358<h3 id="what-the-classifier-blocks-by-default">358<h3 id="what-the-classifier-blocks-by-default">

359 Was der Klassifizierer standardmäßig blockiert359 Was der Klassifikator standardmäßig blockiert

360</h3>360</h3>

361 361 

362Der Klassifizierer vertraut Ihrem Arbeitsverzeichnis und den Remotes, die dafür konfiguriert wurden, als die Sitzung begann. Ein Remote, das während der Sitzung mit `git remote add` oder `git remote set-url` hinzugefügt oder umgeleitet wird, wird nicht vertraut, und alles andere wird als extern behandelt, bis Sie [vertrauenswürdige Infrastruktur konfigurieren](/docs/de/auto-mode-config). Vor v2.1.200 wurden auch während der Sitzung hinzugefügte Remotes vertraut.362Der Klassifikator vertraut Ihrem Arbeitsverzeichnis und den Remotes, die dafür konfiguriert waren, als die Sitzung begann. Einem Remote, das während der Sitzung mit `git remote add` oder `git remote set-url` hinzugefügt oder umgeleitet wird, wird nicht vertraut, und alles andere wird als extern behandelt, bis Sie [vertrauenswürdige Infrastruktur konfigurieren](/docs/de/auto-mode-config). Vor v2.1.200 wurde auch während der Sitzung hinzugefügten Remotes vertraut.

363 363 

364**Standardmäßig blockiert**:364**Standardmäßig blockiert**:

365 365 

366* Herunterladen und Ausführen von Code, wie `curl | bash`366* Herunterladen und Ausführen von Code, wie `curl | bash`

367* Senden sensibler Daten an externe Endpunkte367* Senden sensibler Daten an externe Endpunkte

368* Produktionsbereitstellungen und Migrationen368* Produktionsbereitstellungen und Migrationen

369* Massenlöschung auf Cloud-Speicher369* Massenlöschung in Cloud-Speicher

370* Gewährung von IAM- oder Repo-Berechtigungen370* Gewährung von IAM- oder Repo-Berechtigungen

371* Änderung gemeinsamer Infrastruktur371* Änderung gemeinsam genutzter Infrastruktur

372* Irreversibles Zerstören von Dateien, die vor der Sitzung existierten372* Irreversibles Zerstören von Dateien, die vor der Sitzung existierten

373* Force Push373* Force Push

374* Committen oder Pushen einer Änderung, die Geheimnisse oder sensible Daten außerhalb des Repositorys sendet, wenn es ausgeführt wird, oder erweitert, was eine Bereitstellung offenlegt. Dies umfasst einen CI-Workflow oder eine Bereitstellungskonfiguration, die ein Geheimnis an ein Ziel übergibt, das es nicht bereits erhält, ein Skript oder Setup-Schritt, das einen Geheimnisspeicher liest und die Daten sendet, und eine Konfigurationsänderung, die erweitert, was eine Bereitstellung veröffentlicht, wie eine Registrierung, Sichtbarkeit, ein Artefakt oder eine Sourcemap-Einstellung. Die Überprüfung gilt auf jedem Branch, gilt auch, wenn das Repository öffentlich ist, und wird ausgelöst, wenn die Änderung committed oder gepusht wird, unabhängig davon, ob dieser Commit oder Push die Pipeline auslöst; das Löschen erfordert die Benennung des Ausführungseffekts, nicht nur des Commits oder Pushs. Vor v2.1.211 war diese Überprüfung auf den Standard-Branch beschränkt: Ein Push dort wurde blockiert, wenn er sensiblen Inhalt trug, Änderungen verborgen oder falsch beschrieben waren im Vergleich zu dem, was Sie fragten, Inhalt von außerhalb des Repositorys portiert wurde, oder um eine Überprüfung, die Sie fragten, umgangen wurde374* Committen oder Pushen einer Änderung, die bei ihrer Ausführung Geheimnisse oder sensible Daten aus dem Repository hinaussenden oder erweitern würde, was eine Bereitstellung offenlegt. Dies umfasst einen CI-Workflow oder eine Bereitstellungskonfiguration, die ein Geheimnis an ein Ziel übergibt, das es nicht bereits erhält, ein Skript oder einen Setup-Schritt, der einen Geheimnisspeicher liest und die Daten hinaussendet, und eine Konfigurationsänderung, die erweitert, was eine Bereitstellung veröffentlicht, etwa eine Registry-, Sichtbarkeits-, Artefakt- oder Sourcemap-Einstellung. Die Prüfung gilt auf jedem Branch, gilt auch, wenn das Repository öffentlich ist, und greift, wenn die Änderung committet oder gepusht wird, unabhängig davon, ob dieser Commit oder Push die Pipeline auslöst; um sie aufzuheben, muss der Ausführungseffekt benannt werden, nicht nur der Commit oder Push. Vor v2.1.211 war diese Prüfung stattdessen auf den Standard-Branch beschränkt: Ein Push dorthin wurde blockiert, wenn er sensiblen Inhalt enthielt, Änderungen gegenüber Ihrer Anfrage verbarg oder falsch beschrieb, von außerhalb des Repositorys übernommenen Inhalt enthielt oder eine von Ihnen verlangte Überprüfung umging

375* `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ürden375* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop` oder `git stash clear`, von denen der Klassifikator annimmt, dass sie nicht committete Änderungen verwerfen würden

376* `git commit --amend`, wenn der Commit am HEAD nicht in dieser Sitzung erstellt wurde376* `git commit --amend`, wenn der Commit am HEAD nicht in dieser Sitzung erstellt wurde

377* Ab v2.1.198 `git commit --amend`, wenn der Commit am HEAD bereits gepusht wurde. Eine Nachricht-nur-Umformulierung wird nicht blockiert: `--amend -m` ohne neu Gestaffeltes, bei einem Commit, den Claude während dieser Sitzung erstellt hat377* Ab v2.1.198 `git commit --amend`, wenn der Commit am HEAD bereits gepusht wurde. Eine reine Umformulierung der Nachricht wird nicht blockiert: `--amend -m` ohne neu gestagte Änderungen, bei einem Commit, den Claude während dieser Sitzung erstellt hat

378* `terraform destroy`, `pulumi destroy`, `cdk destroy` oder `terragrunt destroy`, und Anwendung eines Plans, der Ressourcen zerstört378* `terraform destroy`, `pulumi destroy`, `cdk destroy` oder `terragrunt destroy` sowie das Anwenden eines Plans, der Ressourcen zerstört

379* Schreiben in einen Geheimnisspeicher oder Ändern von DNS-Einträgen oder TLS-Zertifikaten379* Schreiben in einen Secret Manager oder Ändern von DNS-Einträgen oder TLS-Zertifikaten

380* Zusammenführen eines Pull Requests, den kein Mensch genehmigt hat, Genehmigung von Claudes eigenem Pull Request oder Deaktivierung von CI-Überprüfungen380* Mergen eines Pull Requests, den kein Mensch genehmigt hat, Genehmigen von Claudes eigenem Pull Request oder Deaktivieren von CI-Prüfungen

381* Posten eines Kommentars, der selbst ein Befehl zur Automatisierung ist, wie `atlantis apply` oder ein Bot's `/deploy` oder `/merge`381* Posten eines Kommentars, der selbst ein Befehl an eine Automatisierung ist, wie `atlantis apply` oder `/deploy` bzw. `/merge` eines Bots

382* Umschalten, Ramping oder Löschen eines Produktions-Feature-Flags382* Umschalten, schrittweises Hochfahren oder Löschen eines Produktions-Feature-Flags

383* Anwendung von Infrastrukturänderungen auf einen geschützten IaC-Bereich oder Entwässerung und Entfernung von Cluster-Knoten383* Anwenden von Infrastrukturänderungen auf einen geschützten IaC-Bereich oder Leeren und Entfernen von Cluster-Knoten

384* Schreibvorgänge in einen gemeinsamen Compute-Cluster, die über die benannte Ressource hinausgehen, wie ein Label-Selektor oder `--all`, das andere Benutzer's Jobs erfasst384* Schreibvorgänge in einen gemeinsam genutzten Compute-Cluster, die über die von Ihnen benannte Ressource hinausgehen, wie ein Label-Selektor oder `--all`, der Jobs anderer Benutzer erfasst

385* Erstellen von Kubernetes-Ressourcen, die auf jedem Knoten laufen oder Cluster-Verkehr abfangen, wie DaemonSets und Admission Webhooks385* Erstellen von Kubernetes-Ressourcen, die auf jedem Knoten laufen oder Cluster-Verkehr abfangen, wie DaemonSets und Admission Webhooks

386* Interaktive Shells oder Port-Forwards in ein sensibles Remote-Ziel386* Interaktive Shells oder Port-Forwards in ein sensibles Remote-Ziel

387* Öffnen eines Tunnels oder einer Reverse Shell, die einen lokalen Service vom öffentlichen Internet erreichbar macht387* Öffnen eines Tunnels oder einer Reverse Shell, die einen lokalen Dienst aus dem öffentlichen Internet erreichbar macht

388* Drucken eines Live-Credentials oder Tokens in das Transkript oder eine Datei388* Ausgeben gültiger Anmeldedaten oder eines Tokens in das Transkript oder eine Datei

389* Zugreifen auf einen Ort, der in Ihrer [Umgebung](/docs/de/auto-mode-config#define-trusted-infrastructure) als sensibler Datenort aufgeführt ist, Kopieren von Daten daraus oder Senden von Daten daraus an eine Zielgruppe, die der Eintrag ausschließt389* Zugreifen auf einen Ort, der in Ihrer [Umgebung](/docs/de/auto-mode-config#define-trusted-infrastructure) als sensibler Datenort aufgeführt ist, Kopieren von Daten daraus oder Senden von Daten daraus an eine Zielgruppe, die der Eintrag ausschließt

390* Umleiten einer Paketinstallation an Ihrer internen Paket-Registry vorbei zu einer öffentlichen Registry. Dies gilt, wenn eine interne Registry oder ein Mirror in Ihrer Umgebung aufgeführt ist oder wenn Sie Claude in der Konversation mitgeteilt haben, dass eine solche existiert390* Umleiten einer Paketinstallation an Ihrer internen Paket-Registry vorbei zu einer öffentlichen Registry. Dies gilt, wenn eine interne Registry oder ein Mirror in Ihrer Umgebung aufgeführt ist oder wenn Sie Claude in der Konversation mitgeteilt haben, dass eine solche existiert

391* Ausführung eines Befehls mit einem Flag, das einen Sicherheitsschutz deaktiviert, wie `--insecure`391* Ausführen eines Befehls mit einem Flag, das einen Sicherheitsschutz deaktiviert, wie `--insecure`

392* Starten einer autonomen Agentenschleife, die ohne menschliche Genehmigung oder Sandbox läuft, etwa einer mit `--dangerously-skip-permissions` oder `--no-sandbox` gestarteten. Dies umfasst das Ausführen eines Drittanbieter-Agenten oder Eval-Harness mit deaktivierter Isolation und deaktivierter Genehmigung pro Aktion, etwa eines mit `--yes-always` gestarteten Runners392* Starten einer autonomen Agentenschleife, die ohne menschliche Genehmigung oder Sandbox läuft, etwa einer mit `--dangerously-skip-permissions` oder `--no-sandbox` gestarteten. Dies umfasst das Ausführen eines Drittanbieter-Agenten oder Eval-Harness mit deaktivierter Isolation und deaktivierter Genehmigung pro Aktion, etwa eines mit `--yes-always` gestarteten Runners

393* [Claude in Chrome](/docs/de/chrome) Browser-Aktionen, die Seiteninhalte, Cookies oder Anmeldedaten off-origin senden könnten393* Browser-Aktionen von [Claude in Chrome](/docs/de/chrome), die Seiteninhalte, Cookies oder Anmeldedaten an einen anderen Origin senden könnten

394* Löschen von Dateien in `/tmp`, `$TMPDIR` oder einem anderen gemeinsamen Scratch- oder Cache-Verzeichnis nach Wildcard, Glob oder Altersfilter anstelle eines spezifischen benannten Pfads394* Löschen von Dateien in `/tmp`, `$TMPDIR` oder einem anderen gemeinsam genutzten Scratch- oder Cache-Verzeichnis per Wildcard, Glob oder Altersfilter statt über einen konkret benannten Pfad

395* Einbeziehen sensibler Details in Inhalte, die gesendet, hochgeladen, veröffentlicht oder an andere Personen oder gemeinsame Systeme geschrieben werden, wenn Ihre eigene Nachricht diese Details nicht für diesen Empfänger autorisiert hat. PR- und Issue-Texte, Commit-Nachrichten und Kommentare zählen als diese Art von ausgehendem Inhalt, wenn das Repository außerhalb der Vertrauensgrenze oder öffentlich ist, einschließlich der eigenen öffentlichen Repositorys Ihrer Organisation; interne Dateipfade, Codenamen, Live-API-Antwortdaten wie E-Mails oder Kontobezeichner und Infrastrukturbezeichner zählen als sensible Details. Die PR-, Issue- und Commit-Nachrichten-Scoping erfordert Claude Code v2.1.200 oder später. Live-Personendaten aus einer API-Antwort in einem PR- oder Issue-Text, wie eine E-Mail-Adresse, ein Konto- oder Organisationsbezeichner oder eine Nutzungsmetrik, erfordert, dass Sie diese Details und den Empfänger benennen, unabhängig von der Sichtbarkeit oder Vertrauensgrenze des Repositorys. Diese Überprüfung erfordert Claude Code v2.1.203 oder später395* Einbeziehen sensibler Details in Inhalte, die an andere Personen oder gemeinsam genutzte Systeme gesendet, hochgeladen, veröffentlicht oder geschrieben werden, wenn Ihre eigene Nachricht diese Details für diesen Empfänger nicht autorisiert hat. PR- und Issue-Texte, Commit-Nachrichten und Kommentare zählen als diese Art von ausgehendem Inhalt, wenn das Repository außerhalb der Vertrauensgrenze liegt oder öffentlich ist, einschließlich der eigenen öffentlichen Repositorys Ihrer Organisation; interne Dateipfade, Codenamen, Live-Daten aus API-Antworten wie E-Mails oder Kontokennungen sowie Infrastrukturkennungen zählen als sensible Details. Die Einbeziehung von PR-, Issue- und Commit-Nachrichten erfordert Claude Code v2.1.200 oder später. Live-Personendaten aus einer API-Antwort in einem PR- oder Issue-Text, wie eine E-Mail-Adresse, eine Konto- oder Organisationskennung oder eine Nutzungsmetrik, erfordern, dass Sie diese Details und den Empfänger benennen, unabhängig von der Sichtbarkeit oder Vertrauensgrenze des Repositorys. Diese Prüfung erfordert Claude Code v2.1.203 oder später

396* Senden von Tastenanschlägen an Claude Codes eigenen tmux-Bereich, um seine eigene Schnittstelle zu steuern, was der Klassifizierer als Claude behandelt, das seine eigenen Berechtigungen oder Aufsicht ändert396* Senden von Tastenanschlägen an den eigenen tmux-Bereich von Claude Code, um dessen eigene Oberfläche zu steuern, was der Klassifikator so behandelt, als würde Claude seine eigenen Berechtigungen oder seine eigene Aufsicht ändern

397 397 

398Mehrere dieser Kategorien hängen von [Umgebungs](/docs/de/auto-mode-config#define-trusted-infrastructure)-Einträgen ab, etwa sensiblen Remote-Zielen und geschützten IaC-Bereichen, die Sie auf konkrete Namen eingrenzen können.398Mehrere dieser Kategorien hängen von [Umgebungs](/docs/de/auto-mode-config#define-trusted-infrastructure)-Einträgen ab, etwa sensiblen Remote-Zielen und geschützten IaC-Bereichen, die Sie auf konkrete Namen eingrenzen können.

399 399 

400Claude Code v2.1.200 und später blockieren diese auch standardmäßig:400Claude Code v2.1.200 und später blockieren standardmäßig zusätzlich:

401 401 

402* Auskommentieren, Löschen oder Force-Passing eines Tests oder einer Assertion, die Sicherheitsverhalten schützt, wie Authentifizierung, Zugriffskontrolle, Eingabevalidierung oder Sandboxing402* Auskommentieren, Löschen oder erzwungenes Bestehen eines Tests oder einer Assertion, die Sicherheitsverhalten absichert, wie Authentifizierung, Zugriffskontrolle, Eingabevalidierung oder Sandboxing

403* Löschen oder Abbau einer zustandsbehafteten Ressource, die Claude nicht in der Sitzung erstellt hat, wenn keine spezifischere Löschregel gilt und Sie diese Ressource nicht benannt haben403* Löschen oder Abbauen einer zustandsbehafteten Ressource, die Claude nicht in der Sitzung erstellt hat, wenn keine spezifischere Löschregel greift und Sie diese Ressource nicht benannt haben

404* Umleitung einer API-Basis-URL, eines Proxy-Endpunkts, eines Webhook-Empfängers oder eines Registrierungsspiegels auf einen Drittanbieter-Host, der nicht zur Aufgabe passt, einschließlich in Beispieldateien wie `.env.example`404* Umleiten einer API-Basis-URL, eines Proxy-Endpunkts, eines Webhook-Empfängers oder eines Registry-Mirrors auf einen Drittanbieter-Host, der nicht zur Aufgabe passt, auch in Beispieldateien wie `.env.example`

405* Änderung, wohin Pushes mit `git remote set-url` oder `git remote add` gehen, es sei denn, Sie haben den neuen Remote benannt405* Ändern, wohin Pushes gehen, mit `git remote set-url` oder `git remote add`, es sei denn, Sie haben das neue Remote benannt

406* Pushen von Geheimnissen oder persönlichen oder anvertrauten Daten in ein Repository, das bekannt ist, öffentlich zu sein, oder Pushen von vertraulichem Material dorthin, das nicht Teil der eigenen Arbeit dieses Repositorys ist. Das eigene Thema eines Dotfiles-Repositorys ist die eine Ausnahme für persönliche oder anvertraute Daten, und Inhalte aus einem privaten Repository, die eine öffentliche Oberfläche erreichen, werden auf die gleiche Weise blockiert; beide Verfeinerungen erfordern Claude Code v2.1.203 oder später. Vor v2.1.203 wurden persönliche Daten mit vertraulichem Material gruppiert und nur blockiert, wenn sie nicht Teil der eigenen Arbeit dieses Repositorys waren. Wenn die Sichtbarkeit eines Repositorys nicht etabliert ist, blockiert der Klassifizierer nicht allein darauf; er beurteilt den Inhalt stattdessen gegen die anderen Regeln406* Pushen von Geheimnissen oder persönlichen oder anvertrauten Daten in ein Repository, das bekanntermaßen öffentlich ist, oder Pushen von vertraulichem Material dorthin, das nicht zur eigenen Arbeit dieses Repositorys gehört. Der eigene Gegenstand eines Dotfiles-Repositorys ist die einzige Ausnahme für persönliche oder anvertraute Daten, und Inhalte aus einem privaten Repository, die eine beliebige öffentliche Oberfläche erreichen, werden auf die gleiche Weise blockiert; beide Verfeinerungen erfordern Claude Code v2.1.203 oder später. Vor v2.1.203 wurden persönliche Daten zusammen mit vertraulichem Material behandelt und nur blockiert, wenn sie nicht zur eigenen Arbeit dieses Repositorys gehörten. Wenn die Sichtbarkeit eines Repositorys nicht feststeht, blockiert der Klassifikator nicht allein deswegen; er beurteilt den Inhalt stattdessen anhand der anderen Regeln

407* Öffnen eines Pull Requests gegen ein anderes Repository oder eine andere Organisation, Forking mit `gh repo fork` oder Pushen in ein Drittanbieter-Repository, es sei denn, Sie haben dieses externe Ziel benannt407* Öffnen eines Pull Requests gegen ein anderes Repository oder eine andere Organisation, Forken mit `gh repo fork` oder Pushen in ein Drittanbieter-Repository, es sei denn, Sie haben dieses externe Ziel benannt

408 408 

409Claude Code v2.1.203 und später blockieren diese auch standardmäßig:409Claude Code v2.1.203 und später blockieren standardmäßig zusätzlich:

410 410 

411* Inhalte aus einem sensiblen lokalen Speicher oder aus einer Datei, deren Name, Pfad oder Typ sie als sensibel kennzeichnet, die in einen Commit, einen Push, PR- oder Issue-Text, einen Gist oder Paste oder eine Paketveröffentlichung eingehen, es sei denn, Sie haben sowohl die Quelle als auch das Ziel benannt. Sitzungstranskripte und Gesprächsprotokolle, Anmeldedaten und Konfigurationspunkt-Ordner wie SSH-Schlüssel, Cloud-Anmeldedaten, Browser-Profile und Shell-Verlauf sowie Benutzer-Daten-Exporte zählen alle, und das Repository ist privat, löscht es nicht411* Inhalte aus einem sensiblen lokalen Speicher oder aus einer Datei, deren Name, Pfad oder Typ sie als sensibel kennzeichnet, die in einen Commit, einen Push, einen PR- oder Issue-Text, einen Gist oder Paste oder eine Paketveröffentlichung gelangen, es sei denn, Sie haben sowohl die Quelle als auch das Ziel benannt. Sitzungstranskripte und Konversations-Logs, Punkt-Ordner mit Anmeldedaten und Konfiguration wie SSH-Schlüssel, Cloud-Anmeldedaten, Browser-Profile und Shell-Verlauf sowie Exporte von Benutzerdaten zählen alle dazu, und dass das Repository privat ist, hebt die Blockierung nicht auf

412 412 

413Claude Code v2.1.205 und später blockieren diese auch standardmäßig:413Claude Code v2.1.205 und später blockieren standardmäßig zusätzlich:

414 414 

415* Schreiben in Claude Code-Sitzungstranskripte, die `.jsonl`-Verlaufsdateien unter `~/.claude/projects/` oder Ihrem konfigurierten Konfigurationsverzeichnis, ob direkt oder durch einen Shell-Befehl. Die Regel umfasst auch die Metadatenzeilen, die Claude Code für seine eigenen Überprüfungen an jeden Transkripteintrag anhängt. Das Lesen eines Transkripts wird nicht blockiert415* Schreiben in Sitzungstranskripte von Claude Code, also die `.jsonl`-Verlaufsdateien unter `~/.claude/projects/` oder Ihrem konfigurierten Konfigurationsverzeichnis, ob direkt oder über einen Shell-Befehl. Die Regel umfasst auch die Metadatenzeilen, die Claude Code für seine eigenen Prüfungen an jeden Transkripteintrag anhängt. Das Lesen eines Transkripts wird nicht blockiert

416* Ein rekursives erzwungenes Löschen wie `rm -rf "$VAR"` oder `Remove-Item -Recurse -Force $dir`, dessen Ziel eine Shell-Variable ist, die nirgendwo in der Konversation, die der Klassifizierer sieht, zugewiesen ist, oder ein Glob, das an einer solchen Variable verwurzelt ist. Der Wert kam nur aus früherer Befehlsausgabe, die der Klassifizierer nie erhält, daher kann der Klassifizierer das Löschziel nicht gegen die anderen Löschregeln überprüfen. Der Block wird gelöscht, wenn Sie den genauen gelöschten Pfad benennen, oder wenn Claude das Löschen mit dem aufgelösten Literalpfad, der in den Befehl geschrieben ist, erneut ausführt. Löschungen, deren Ziel der Klassifizierer auflösen kann, sind nicht betroffen.416* Ein rekursives erzwungenes Löschen wie `rm -rf "$VAR"` oder `Remove-Item -Recurse -Force $dir`, dessen Ziel eine Shell-Variable ist, die nirgendwo in der für den Klassifikator sichtbaren Konversation zugewiesen wird, oder ein Glob, der auf einer solchen Variable aufsetzt. Der Wert stammt nur aus früherer Befehlsausgabe, die der Klassifikator nie erhält, daher kann der Klassifikator das Löschziel nicht anhand der anderen Löschregeln überprüfen. Die Blockierung wird aufgehoben, wenn Sie den genauen zu löschenden Pfad benennen oder wenn Claude das Löschen erneut ausführt und dabei den aufgelösten literalen Pfad in den Befehl schreibt. Löschvorgänge, deren Ziel der Klassifikator auflösen kann, sind nicht betroffen.

417 417 

418 Ein Glob direkt unter der Variable, wie in `rm -rf "$VAR"/*`, ist stattdessen ein [kritischer Pfad](#critical-paths). `Remove-Item`-Ziele, die ein bloßes `*` sind oder in `/*` oder `\*` enden, erreichen den Klassifizierer nie: Claude Code [verweigert sie direkt](#remove-item-in-powershell).418 Ein Glob direkt unter der Variable, wie in `rm -rf "$VAR"/*`, ist stattdessen ein [kritischer Pfad](#critical-paths). `Remove-Item`-Ziele, die ein bloßes `*` sind oder auf `/*` oder `\*` enden, erreichen den Klassifikator nie: Claude Code [verweigert sie direkt](#remove-item-in-powershell).

419 419 

420Claude Code v2.1.257 und später blockieren diese auch standardmäßig:420Claude Code v2.1.257 und später blockieren standardmäßig zusätzlich:

421 421 

422* Anfordern von Anmeldedaten vom Cloud-Instance-Metadaten-Endpunkt, wie `169.254.169.254`, oder explizite Authentifizierung eines Cloud-, Cluster- oder Registrierungsaufrufs mit der eigenen Service-Account oder Node-Identität der Maschine422* Anfordern von Anmeldedaten vom Instanz-Metadaten-Endpunkt der Cloud, wie `169.254.169.254`, oder explizites Authentifizieren eines Cloud-, Cluster- oder Registry-Aufrufs mit dem eigenen Service-Account oder der Knotenidentität der Maschine

423* Erreichen eines öffentlichen Hosts durch eine Route, die nicht direkt ist, wie ein Tunnel, eine Reverse Shell oder eine Resolver- oder Proxy-Konfiguration, die umgeschrieben wurde, um außerhalb zu verweisen423* Erreichen eines öffentlichen Hosts auf einem anderen Weg als über eine direkte Anfrage, etwa über einen Tunnel, eine Reverse Shell oder eine Resolver- oder Proxy-Konfiguration, die so umgeschrieben wurde, dass sie nach außen zeigt

424* Lesen von Anmeldedaten, die dem Host gehören, anstatt zu Ihrer Aufgabe, wie Node-Zertifikate oder die Container-Registry-Auth des Knotens424* Lesen von Anmeldedaten, die zum Host statt zu Ihrer Aufgabe gehören, wie Knotenzertifikate oder die Container-Registry-Authentifizierung des Knotens

425* Verbindung zu oder Scannen von Geschwister-Containern, Pods oder VMs, die Claude nicht gestartet hat, oder des Knotens unter dem Container425* Verbinden mit oder Scannen von benachbarten Containern, Pods oder VMs, die Claude nicht gestartet hat, oder des Knotens unter dem Container

426 426 

427Wenn Claude Code irgendwo läuft, das eines davon erlauben soll, beschreiben Sie dieses Setup in einem [Host-Containment-Eintrag](/docs/de/auto-mode-config#define-trusted-infrastructure) in `autoMode.environment`.427Wenn Claude Code in einer Umgebung läuft, die eines davon erlauben soll, beschreiben Sie dieses Setup in einem [Host-Containment-Eintrag](/docs/de/auto-mode-config#define-trusted-infrastructure) in `autoMode.environment`.

428 428 

429Claude Code v2.1.261 und später blockieren diese auch standardmäßig:429Claude Code v2.1.261 und später blockieren standardmäßig zusätzlich:

430 430 

431* Posten oder Schreiben eines Links zu einem öffentlichen Paste-, Diagramm- oder Datenaustausch-Service in einer Nachricht, PR- oder Issue-Text, einem Dokument oder überall dort, wo der Link geöffnet oder abgerufen wird, wenn die URL selbst den geteilten Inhalt trägt, es sei denn, Sie haben diesen Service benannt431* Posten oder Schreiben eines Links zu einem öffentlichen Paste-, Diagramm- oder Datenaustauschdienst in einer Nachricht, einem PR- oder Issue-Text, einem Dokument oder an einer anderen Stelle, an der der Link geöffnet oder abgerufen wird, wenn die URL selbst den geteilten Inhalt enthält, es sei denn, Sie haben diesen Dienst benannt

432 432 

433**Standardmäßig erlaubt**:433**Standardmäßig erlaubt**:

434 434 

435* Lokale Dateivorgänge in Ihrem Arbeitsverzeichnis435* Lokale Dateivorgänge in Ihrem Arbeitsverzeichnis

436* Installation von Abhängigkeiten, die in Ihren Lock-Dateien oder Manifesten deklariert sind436* Installieren von Abhängigkeiten, die in Ihren Lock-Dateien oder Manifesten deklariert sind

437* Lesen von `.env` und Senden von Anmeldedaten an ihre passende API437* Lesen von `.env` und Senden von Anmeldedaten an die zugehörige API

438* Schreibgeschützte HTTP-Anfragen438* Nur lesende HTTP-Anfragen

439* Pushen zu jedem Branch des Repositorys, an dem Sie arbeiten, einschließlich des Standard-Branchs. Ein nicht-Standard-Branch, dessen Name ihn als Bereitstellungs- oder Veröffentlichungsziel kennzeichnet, wie `production` oder `gh-pages`, ist nicht abgedeckt: der Klassifizierer beurteilt einen Push dort auf seine eigenen Bedingungen. Der Inhalt des Pushs wird immer noch gegen die anderen Regeln überprüft, [`permissions.deny`-Regeln](/docs/de/permissions#manage-permissions) können Push-Befehle immer noch [wie geschrieben](/docs/de/permissions#bash-rule-limits) in jedem Modus blockieren, und der eigene Branch-Schutz des Remotes gilt immer noch. Vor v2.1.211 waren nur Pushes zum Branch, auf dem Sie gestartet haben, Branches, die Claude erstellt hat, und routinemäßige Pushes zum Standard-Branch standardmäßig erlaubt, und vor v2.1.203 war jeder direkte Push zum Standard-Branch blockiert439* Pushen zu jedem Branch des Repositorys, in dem Sie arbeiten, einschließlich des Standard-Branchs. Ein anderer als der Standard-Branch, dessen Name ihn als Bereitstellungs- oder Veröffentlichungsziel kennzeichnet, wie `production` oder `gh-pages`, ist nicht abgedeckt: Der Klassifikator beurteilt einen Push dorthin für sich. Der Inhalt des Pushs wird weiterhin anhand der anderen Regeln geprüft, [`permissions.deny`-Regeln](/docs/de/permissions#manage-permissions) können Push-Befehle [wie geschrieben](/docs/de/permissions#bash-rule-limits) in jedem Modus weiterhin blockieren, und der eigene Branch-Schutz des Remotes gilt weiterhin. Vor v2.1.211 waren standardmäßig nur Pushes zu dem Branch, auf dem Sie begonnen haben, zu Branches, die Claude erstellt hat, und routinemäßige Pushes zum Standard-Branch erlaubt, und vor v2.1.203 war jeder direkte Push zum Standard-Branch blockiert

440* Löschen der genauen Jobs, die Claude früher in der gleichen Sitzung erstellt hat440* Löschen genau der Jobs, die Claude früher in derselben Sitzung erstellt hat

441* Lesen, Überprüfen oder Schreiben von sicherheitsbezogenem Code, Konfigurationen und Bedrohungsmodellen als Teil Ihrer Aufgabe441* Lesen, Überprüfen oder Schreiben von sicherheitsbezogenem Code, Konfigurationen und Bedrohungsmodellen als Teil Ihrer Aufgabe

442* Nachrichten zwischen Agents, die zusammen in der gleichen Multi-Agent-Sitzung arbeiten442* Nachrichten zwischen Agenten, die in derselben Multi-Agent-Sitzung zusammenarbeiten

443* Senden von Daten an die vertrauenswürdigen Domains, Buckets und Services, die Sie in [`environment`](/docs/de/auto-mode-config#define-trusted-infrastructure) auflistet. Dies umfasst nur Datenfluss, nicht destruktive oder Anmeldedaten-Operationen auf der gleichen Infrastruktur443* Senden von Daten an die vertrauenswürdigen Domains, Buckets und Dienste, die Sie in [`environment`](/docs/de/auto-mode-config#define-trusted-infrastructure) auflisten. Dies umfasst nur den Datenfluss, nicht destruktive oder Anmeldedaten betreffende Operationen auf derselben Infrastruktur

444* [Claude in Chrome](/docs/de/chrome) Navigation zu einer vertrauenswürdigen internen Domain, localhost oder einer URL, die Sie benannt haben444* Navigation von [Claude in Chrome](/docs/de/chrome) zu einer vertrauenswürdigen internen Domain, zu localhost oder zu einer URL, die Sie benannt haben

445 445 

446Sandbox-Befehle erhalten standardmäßig keinen Netzwerkzugriff. Claude benennt die Hosts, die ein Befehl auf dem Befehl selbst benötigt, der Klassifizierer überprüft sie mit dem Befehl, und eine genehmigte Liste öffnet diese Hosts nur für diesen einen Befehl. [Pro-Befehl erlaubte Domains](/docs/de/sandboxing#per-command-allowed-domains-in-auto-mode) behandelt, was eine Liste öffnen kann und nicht und was geschieht, wenn ein Befehl nach einem nicht aufgelisteten Host greift.446In einer Sandbox ausgeführte Befehle erhalten standardmäßig keinen Netzwerkzugriff. Claude benennt die Hosts, die ein Befehl benötigt, direkt am Befehl, der Klassifikator überprüft sie zusammen mit dem Befehl, und eine genehmigte Liste öffnet diese Hosts nur für diesen einen Befehl. [Pro Befehl erlaubte Domains](/docs/de/sandboxing#per-command-allowed-domains-in-auto-mode) behandelt, was eine Liste öffnen kann und was nicht und was geschieht, wenn ein Befehl auf einen nicht aufgeführten Host zugreift.

447 447 

448Führen Sie `claude auto-mode defaults` aus, um die vollständigen Regellisten als JSON zu drucken. Wenn routinemäßige Aktionen blockiert werden, kann ein Administrator vertrauenswürdige Repos, Buckets und Services über die `autoMode.environment`-Einstellung hinzufügen: siehe [Auto-Modus konfigurieren](/docs/de/auto-mode-config).448Führen Sie `claude auto-mode defaults` aus, um die vollständigen Regellisten als JSON auszugeben. Wenn alltägliche Aktionen blockiert werden, kann ein Administrator über die Einstellung `autoMode.environment` vertrauenswürdige Repos, Buckets und Dienste hinzufügen: siehe [Auto-Modus konfigurieren](/docs/de/auto-mode-config).

449 449 

450Pushen zu jedem Branch des Repositorys, an dem Sie arbeiten, und Erstellen eines Pull Requests, der Ihrer Anfrage entspricht, laufen ohne Aufforderung, es sei denn, der Push oder Pull Request fällt unter die [blockierte Liste](#what-the-classifier-blocks-by-default), wie Geheimnisse oder sensible Daten, die das Repository verlassen, oder ein Pull Request, der auf ein anderes Repository oder eine andere Organisation abzielt. Um einen menschlichen Checkpoint vor diesen Befehlen zu erfordern, während Sie im Auto-Modus bleiben, fügen Sie `permissions.ask`-Regeln hinzu, die den Befehl [wie geschrieben](/docs/de/permissions#bash-rule-limits) abgleichen: siehe [Häufige Grenzen](/docs/de/auto-mode-config#common-boundaries).450Pushen zu jedem Branch des Repositorys, in dem Sie arbeiten, und Erstellen eines Pull Requests, der Ihrer Anfrage entspricht, laufen ohne Abfrage, es sei denn, der Push oder Pull Request fällt unter die [Blockierliste](#what-the-classifier-blocks-by-default), etwa Geheimnisse oder sensible Daten, die das Repository verlassen, oder ein Pull Request, der auf ein anderes Repository oder eine andere Organisation abzielt. Um vor diesen Befehlen einen menschlichen Checkpoint zu verlangen und dabei im Auto-Modus zu bleiben, fügen Sie `permissions.ask`-Regeln hinzu, die den Befehl [wie geschrieben](/docs/de/permissions#bash-rule-limits) abgleichen: siehe [Häufige Grenzen](/docs/de/auto-mode-config#common-boundaries).

451 451 

452<h3 id="first-read-outside-the-working-directories">452<h3 id="first-read-outside-the-working-directories">

453 Der erste Lesezugriff außerhalb der Arbeitsverzeichnisse453 Der erste Lesezugriff außerhalb der Arbeitsverzeichnisse

454</h3>454</h3>

455 455 

456Während [`permissions.blockReadsOutsideWorkingDirectories`](/docs/de/settings-reference#permissions-blockreadsoutsideworkingdirectories) aus ist, laufen Dateileseoperationen ohne Aufforderung im Auto-Modus, einschließlich Lesezugriffe außerhalb der [Arbeitsverzeichnisse](/docs/de/permissions#working-directories). Das erste Mal, wenn Claude das Read-, Grep- oder Glob-Tool auf einen Pfad außerhalb davon verwendet, fragt Claude Code, ob dieser Lesezugriff erlaubt werden soll.456Solange [`permissions.blockReadsOutsideWorkingDirectories`](/docs/de/settings-reference#permissions-blockreadsoutsideworkingdirectories) deaktiviert ist, laufen Dateilesevorgänge im Auto-Modus ohne Abfrage, einschließlich Lesezugriffen außerhalb der [Arbeitsverzeichnisse](/docs/de/permissions#working-directories). Wenn Claude das Read-, Grep- oder Glob-Tool zum ersten Mal auf einen Pfad außerhalb davon anwendet, fragt Claude Code, ob dieser Lesezugriff erlaubt werden soll.

457 457 

458Die Aufforderung erscheint nicht in nicht-interaktiven `-p`-Läufen oder Hintergrund-Sitzungen; Lesezugriffe dort laufen wie zuvor.458Die Abfrage erscheint nicht in nicht-interaktiven `-p`-Läufen oder Hintergrundsitzungen; Lesezugriffe laufen dort wie bisher.

459 459 

460Was auch immer Sie antworten, Claude arbeitet weiter:460Was auch immer Sie antworten, Claude arbeitet weiter:

461 461 

462* **Ja, und erlauben Sie weiterhin alle Lesezugriffe außerhalb der Arbeitsverzeichnisse**: Der Lesezugriff läuft, spätere Lesezugriffe außerhalb der Arbeitsverzeichnisse laufen wie zuvor, und Claude Code speichert Ihre Antwort, damit die Aufforderung nicht erneut erscheint462* **Ja, und weiterhin alle Lesezugriffe außerhalb der Arbeitsverzeichnisse erlauben**: Der Lesezugriff läuft, spätere Lesezugriffe außerhalb der Arbeitsverzeichnisse laufen wie bisher, und Claude Code speichert Ihre Antwort, damit die Abfrage nicht erneut erscheint

463* **Nein, und blockieren Sie Lesezugriffe außerhalb der Arbeitsverzeichnisse von jetzt an**: Der Lesezugriff wird verweigert, und Claude Code setzt [`permissions.blockReadsOutsideWorkingDirectories`](/docs/de/settings-reference#permissions-blockreadsoutsideworkingdirectories) in Ihren Benutzereinstellungen auf `true`, was die Dateiwerkzeuge dazu bringt, solche Lesezugriffe in jeder späteren Sitzung und jedem Berechtigungsmodus zu verweigern. Um Claude später einen solchen Pfad lesen zu lassen, fügen Sie sein Verzeichnis mit `/add-dir` hinzu oder entfernen Sie die Einstellung.463* **Nein, und Lesezugriffe außerhalb der Arbeitsverzeichnisse ab jetzt blockieren**: Der Lesezugriff wird verweigert, und Claude Code setzt [`permissions.blockReadsOutsideWorkingDirectories`](/docs/de/settings-reference#permissions-blockreadsoutsideworkingdirectories) in Ihren Benutzereinstellungen auf `true`, wodurch die Datei-Tools solche Lesezugriffe in jeder späteren Sitzung und in jedem Berechtigungsmodus verweigern. Um Claude später einen solchen Pfad lesen zu lassen, fügen Sie sein Verzeichnis mit `/add-dir` hinzu oder entfernen Sie die Einstellung.

464* **Nein, und fragen Sie mich beim nächsten Mal erneut**: Der Lesezugriff wird verweigert, und der nächste Lesezugriff außerhalb der Arbeitsverzeichnisse fordert erneut auf464* **Nein, und beim nächsten Mal erneut fragen**: Der Lesezugriff wird verweigert, und beim nächsten Lesezugriff außerhalb der Arbeitsverzeichnisse wird erneut nachgefragt

465* **Ja, aber fragen Sie mich beim nächsten Mal erneut**: Der Lesezugriff läuft, nichts wird gespeichert, und der nächste Lesezugriff außerhalb der Arbeitsverzeichnisse fordert erneut auf465* **Ja, aber beim nächsten Mal erneut fragen**: Der Lesezugriff läuft, nichts wird gespeichert, und beim nächsten Lesezugriff außerhalb der Arbeitsverzeichnisse wird erneut nachgefragt

466 466 

467<h3 id="boundaries-you-state-in-conversation">467<h3 id="boundaries-you-state-in-conversation">

468 Grenzen, die Sie in der Konversation angeben468 Grenzen, die Sie in der Konversation angeben

469</h3>469</h3>

470 470 

471Der Klassifizierer behandelt Grenzen, die Sie in der Konversation angeben, als Blocksignal. Wenn Sie Claude sagen „pushe nicht" oder „warte, bis ich überprüfe, bevor du bereitest", blockiert der Klassifizierer passende Aktionen, auch wenn die Standardregeln sie erlauben würden. Eine Grenze bleibt in Kraft, bis Sie sie in einer späteren Nachricht aufheben. Claudes eigenes Urteil, dass eine Bedingung erfüllt wurde, hebt sie nicht auf.471Der Klassifikator behandelt Grenzen, die Sie in der Konversation angeben, als Blockiersignal. Wenn Sie Claude sagen „nicht pushen" oder „warte mit dem Deployment, bis ich es überprüft habe", blockiert der Klassifikator passende Aktionen, auch wenn die Standardregeln sie erlauben würden. Eine Grenze bleibt in Kraft, bis Sie sie in einer späteren Nachricht aufheben. Claudes eigene Einschätzung, dass eine Bedingung erfüllt wurde, hebt sie nicht auf.

472 472 

473Grenzen werden nicht als Regeln gespeichert. Der Klassifizierer liest sie bei jeder Überprüfung aus dem Transkript, daher kann eine Grenze verloren gehen, wenn [Kontext-Komprimierung](/docs/de/costs#reduce-token-usage) die Nachricht entfernt, die sie angegeben hat. Für eine harte Garantie fügen Sie stattdessen eine [Deny-Regel](/docs/de/permissions#permission-rule-syntax) hinzu.473Grenzen werden nicht als Regeln gespeichert. Der Klassifikator liest sie bei jeder Prüfung erneut aus dem Transkript, daher kann eine Grenze verloren gehen, wenn die [Kontextkomprimierung](/docs/de/costs#reduce-token-usage) die Nachricht entfernt, in der sie angegeben wurde. Für eine feste Garantie fügen Sie stattdessen eine [Deny-Regel](/docs/de/permissions#permission-rule-syntax) hinzu.

474 474 

475<h3 id="approvals-you-state-in-conversation">475<h3 id="approvals-you-state-in-conversation">

476 Genehmigungen, die Sie in der Konversation angeben476 Genehmigungen, die Sie in der Konversation angeben

477</h3>477</h3>

478 478 

479Wenn Sie Claude sagen, dass eine blockierte Aktion erlaubt ist, liest der Klassifizierer das als Ihre Genehmigung und kann den Block löschen. Wie Sie es formuliert haben, entscheidet, ob die Aktion läuft und wie weit die Genehmigung reicht:479Wenn Sie Claude sagen, dass eine blockierte Aktion erlaubt ist, liest der Klassifikator das als Ihre Genehmigung und kann die Blockierung aufheben. Wie Sie es formuliert haben, entscheidet, ob die Aktion ausgeführt wird und wie weit die Genehmigung reicht:

480 480 

481* **Benennen Sie die Aktion und ihre Besonderheiten**: Ihre Nachricht muss die Aktion und das Spezifische benennen, das sie gefährlich macht, wie den Branch eines Force Push. Das Benennen des Verbs allein löscht nichts, daher lässt „du kannst force-pushen" den Block in Kraft.481* **Benennen Sie die Aktion und ihre Einzelheiten**: Ihre Nachricht muss die Aktion und das konkrete Detail benennen, das sie gefährlich macht, etwa den Branch eines Force Push. Das Verb allein zu nennen, hebt nichts auf, daher lässt „du kannst force-pushen" die Blockierung bestehen.

482* **Erwarten Sie, dass es eine Aktion abdeckt**: Eine Genehmigung deckt die destruktive Aktion ab, die Sie benannt haben, daher wird eine spätere Aktion wieder blockiert, es sei denn, Sie haben die Genehmigung als stehend gewährt. Um ein routinemäßiges Muster eine Aktion nach der anderen zu genehmigen, fügen Sie es zu [`autoMode.allow`](/docs/de/auto-mode-config#override-the-block-and-allow-rules) hinzu.482* **Rechnen Sie damit, dass sie eine Aktion abdeckt**: Eine Genehmigung deckt die destruktive Aktion ab, die Sie benannt haben, daher wird eine spätere Aktion erneut blockiert, es sei denn, Sie haben die Genehmigung als dauerhaft erteilt. Um ein wiederkehrendes Muster nicht mehr Aktion für Aktion genehmigen zu müssen, fügen Sie es zu [`autoMode.allow`](/docs/de/auto-mode-config#override-the-block-and-allow-rules) hinzu.

483* **Einige Blöcke bleiben in Kraft**: [Die Präzedenzordnung des Klassifizierers](/docs/de/auto-mode-config#override-the-block-and-allow-rules) legt fest, welche Blöcke Ihre Genehmigung erreichen kann. Um einen Schritt auszuführen, den sie nicht löscht, [verlassen Sie den Auto-Modus](#switch-permission-modes) und beantworten Sie die Berechtigungsaufforderung.483* **Einige Blockierungen bleiben bestehen**: [Die Rangfolge des Klassifikators](/docs/de/auto-mode-config#override-the-block-and-allow-rules) legt fest, welche Blockierungen Ihre Genehmigung erreichen kann. Um einen Schritt auszuführen, den sie nicht freigibt, [verlassen Sie den Auto-Modus](#switch-permission-modes) und beantworten Sie die Berechtigungsabfrage.

484 484 

485<h3 id="when-auto-mode-falls-back">485<h3 id="when-auto-mode-falls-back">

486 Wenn Auto-Modus zurückfällt486 Wenn der Auto-Modus zurückfällt

487</h3>487</h3>

488 488 

489Wenn der Auto-Modus Ihre Sitzungsaktionen nicht genehmigen kann, hängt das, was geschieht, vom Fall ab:489Wenn der Auto-Modus die Aktionen Ihrer Sitzung nicht genehmigen kann, hängt das Weitere vom Fall ab:

490 490 

491* **Eine blockierte Aktion**: Claude Code zeigt eine Benachrichtigung und listet die Aktion in `/permissions` unter der Registerkarte **Kürzlich verweigert** auf, wo Sie `r` drücken können, um sie mit einer manuellen Genehmigung erneut zu versuchen.491* **Eine blockierte Aktion**: Claude Code zeigt eine Benachrichtigung und listet die Aktion in `/permissions` auf der Registerkarte **Recently denied** auf, wo Sie `r` drücken können, um sie mit einer manuellen Genehmigung erneut zu versuchen.

492* **Wiederholte Blöcke**: Wenn der Klassifizierer eine Aktion 3 Mal hintereinander oder insgesamt 20 Mal blockiert, pausiert der Auto-Modus und Claude Code setzt das Auffordern fort. Das Genehmigen der aufgeforderten Aktion setzt den Auto-Modus fort. Siehe [Wiederholte-Block-Schwellwerte](#repeated-block-thresholds) für die Zählung der Blöcke.492* **Wiederholte Blockierungen**: Wenn der Klassifikator eine Aktion 3 Mal hintereinander oder insgesamt 20 Mal blockiert, pausiert der Auto-Modus und Claude Code fragt wieder nach. Das Genehmigen der abgefragten Aktion setzt den Auto-Modus fort. Siehe [Schwellenwerte für wiederholte Blockierungen](#repeated-block-thresholds) für die Zählung der Blockierungen.

493* **Kein Urteil vom Klassifizierer**: Wenn eine Sicherheitsüberprüfung, die vom Auto-Modus getrennt ist, die Anfrage des Klassifizierers verweigert, oder die Antwort des Klassifizierers nicht geparst wird, verweigert Claude Code die Aktion ohne die Benachrichtigung oder den Eintrag **Kürzlich verweigert**. Siehe [Auto-Modus kann die Sicherheit einer Aktion nicht bestimmen](/docs/de/errors#auto-mode-cannot-determine-the-safety-of-an-action) für die Nachricht, die jeder Fall zeigt, und was zu tun ist.493* **Kein Urteil vom Klassifikator**: Wenn eine vom Auto-Modus getrennte Sicherheitsprüfung die Anfrage des Klassifikators selbst ablehnt oder die Antwort des Klassifikators nicht geparst werden kann, verweigert Claude Code die Aktion ohne Benachrichtigung und ohne Eintrag unter **Recently denied**. Siehe [Auto-Modus kann die Sicherheit einer Aktion nicht bestimmen](/docs/de/errors#auto-mode-cannot-determine-the-safety-of-an-action) für die Meldung, die jeder Fall zeigt, und was zu tun ist.

494* **Kein Urteil vom Server**: Unter [serverseitiger Klassifiziererüberprüfung](#server-side-classifier-review) verweigert Claude Code eine Aktion, für die der Server kein Urteil gibt, und stoppt die Runde nach zehn Antworten hintereinander ohne Urteil. Siehe [Der Server hat kein Sicherheitsurteil zurückgegeben](/docs/de/errors#the-server-returned-no-safety-verdict).494* **Kein Urteil vom Server**: Bei [serverseitiger Klassifikatorüberprüfung](#server-side-classifier-review) verweigert Claude Code eine Aktion, für die der Server kein Urteil abgibt, und beendet den Turn nach zehn Antworten in Folge ohne Urteil. Siehe [Der Server hat kein Sicherheitsurteil zurückgegeben](/docs/de/errors#the-server-returned-no-safety-verdict).

495* **Ein Modusschalter während einer Überprüfung**: Wenn Sie Berechtigungsmodi wechseln, während eine Klassifiziererüberprüfung ausstehend ist, verwirft Claude Code ein Urteil, das der neue Modus nicht angefordert hätte. Sie werden stattdessen aufgefordert, oder die Aktion wird im [`dontAsk`-Modus](#allow-only-pre-approved-tools-with-dontask-mode) automatisch verweigert.495* **Ein Moduswechsel während einer Prüfung**: Wenn Sie den Berechtigungsmodus wechseln, während eine Klassifikatorprüfung aussteht, verwirft Claude Code ein Urteil, das der neue Modus nicht angefordert hätte. Sie werden stattdessen um Genehmigung gebeten, oder die Aktion wird im [`dontAsk`-Modus](#allow-only-pre-approved-tools-with-dontask-mode) automatisch verweigert.

496 496 

497<h4 id="repeated-block-thresholds">497<h4 id="repeated-block-thresholds">

498 Wiederholte-Block-Schwellwerte498 Schwellenwerte für wiederholte Blockierungen

499</h4>499</h4>

500 500 

501Die Schwellwerte von 3 Blöcken hintereinander und 20 Blöcken insgesamt sind nicht konfigurierbar. Der Gesamtzähler bleibt für die Sitzung bestehen und wird nur zurückgesetzt, wenn sein eigenes Limit einen Fallback auslöst. Claude Code zählt eine Verweigerung nicht zu einem Schwellwert, wenn eine Sicherheitsüberprüfung, die vom Auto-Modus getrennt ist, die Anfrage des Klassifizierers verweigert.501Die Schwellenwerte von 3 Blockierungen hintereinander und 20 Blockierungen insgesamt sind nicht konfigurierbar. Der Gesamtzähler bleibt für die Sitzung bestehen und wird nur zurückgesetzt, wenn sein eigenes Limit einen Fallback auslöst. Claude Code zählt eine Verweigerung für keinen der beiden Schwellenwerte, wenn eine vom Auto-Modus getrennte Sicherheitsprüfung die Anfrage des Klassifikators selbst ablehnt.

502 502 

503Ein [nicht-interaktiver](/docs/de/headless) `-p`-Lauf ohne ein [`--permission-prompt-tool`](/docs/de/cli-reference#cli-flags) hat keine Aufforderung, auf die zurückgegriffen werden kann. Wenn wiederholte Blöcke einen Schwellwert erreichen, läuft die Aktion nicht und Claude arbeitet weiter. Claude Code stoppt den Lauf nicht.503Ein [nicht-interaktiver](/docs/de/headless) `-p`-Lauf ohne [`--permission-prompt-tool`](/docs/de/cli-reference#cli-flags) hat keine Abfrage, auf die er zurückfallen kann. Wenn wiederholte Blockierungen einen Schwellenwert erreichen, wird die Aktion nicht ausgeführt und Claude arbeitet weiter. Claude Code beendet den Lauf nicht.

504 504 

505Wiederholte Blöcke bedeuten normalerweise, dass dem Klassifizierer Kontext über Ihre Infrastruktur fehlt. Verwenden Sie `/feedback`, um falsch positive zu melden, oder lassen Sie einen Administrator [vertrauenswürdige Infrastruktur konfigurieren](/docs/de/auto-mode-config).505Wiederholte Blockierungen bedeuten in der Regel, dass dem Klassifikator Kontext über Ihre Infrastruktur fehlt. Verwenden Sie `/feedback`, um Fehlalarme zu melden, oder lassen Sie einen Administrator [vertrauenswürdige Infrastruktur konfigurieren](/docs/de/auto-mode-config).

506 506 

507<h3 id="how-auto-mode-evaluates-actions">507<h3 id="how-auto-mode-evaluates-actions">

508 Wie Auto-Modus Aktionen evaluiert508 Wie der Auto-Modus Aktionen bewertet

509</h3>509</h3>

510 510 

511Die folgenden Abschnitte behandeln die Reihenfolge, in der Claude Code eine Aktion evaluiert, wie der Klassifizierer Subagent-Arbeit überprüft, und welche Klassifiziereraufrufe in Kosten und Latenz hinzufügen.511Die folgenden Abschnitte behandeln die Reihenfolge, in der Claude Code eine Aktion bewertet, wie der Klassifikator die Arbeit von Subagenten überprüft und was Klassifikatoraufrufe an Kosten und Latenz verursachen.

512 512 

513<span id="how-the-classifier-evaluates-actions" />513<span id="how-the-classifier-evaluates-actions" />

514 514 

515<AccordionGroup>515<AccordionGroup>

516 <Accordion title="Wie der Klassifizierer Aktionen evaluiert">516 <Accordion title="Wie der Klassifikator Aktionen bewertet">

517 Jede Aktion durchläuft eine feste Entscheidungsreihenfolge. Der erste passende Schritt gewinnt:517 Jede Aktion durchläuft eine feste Entscheidungsreihenfolge. Der erste passende Schritt gewinnt:

518 518 

519 1. Aktionen, die Ihren [Allow-, Ask- oder Deny-Regeln](/docs/de/permissions#manage-permissions) entsprechen, werden sofort entschieden, mit diesen Ausnahmen:519 1. Aktionen, die Ihren [Allow-, Ask- oder Deny-Regeln](/docs/de/permissions#manage-permissions) entsprechen, werden sofort entschieden, mit diesen Ausnahmen:


534 534 

535 In der VS Code-Erweiterung hängt die Art, wie Browser-Aktionen von [Claude in Chrome](/docs/de/chrome) genehmigt werden, davon ab, wie die Sitzung mit dem Browser verbunden ist: siehe [Berechtigungsabfragen in VS Code-Sitzungen](/docs/de/chrome#permission-prompts-in-vs-code-sessions).535 In der VS Code-Erweiterung hängt die Art, wie Browser-Aktionen von [Claude in Chrome](/docs/de/chrome) genehmigt werden, davon ab, wie die Sitzung mit dem Browser verbunden ist: siehe [Berechtigungsabfragen in VS Code-Sitzungen](/docs/de/chrome#permission-prompts-in-vs-code-sessions).

536 536 

537 Beim Eintritt in den Auto-Modus werden breite Allow-Regeln, die willkürliche Code-Ausführung gewähren, gelöscht:537 Beim Wechsel in den Auto-Modus werden breite Allow-Regeln, die beliebige Codeausführung gewähren, verworfen:

538 538 

539 * Pauschal `Bash(*)` oder `PowerShell(*)`539 * Pauschale Regeln `Bash(*)` oder `PowerShell(*)`

540 * Wildcard-Interpreter wie `Bash(python*)`540 * Interpreter mit Wildcard wie `Bash(python*)`

541 * Paketmanager-Run-Befehle541 * Run-Befehle von Paketmanagern

542 * `Agent` Allow-Regeln542 * `Agent`-Allow-Regeln

543 * [`Monitor`](/docs/de/tools-reference#monitor-tool) Allow-Regeln, weil Claude Code Monitor-Befehle durch die Shell ausführt543 * [`Monitor`](/docs/de/tools-reference#monitor-tool)-Allow-Regeln, weil Claude Code Monitor-Befehle über die Shell ausführt

544 544 

545 Enge Regeln wie `Bash(npm test)` bleiben in Kraft. Claude Code stellt die gelöschten Regeln wieder her, wenn Sie den Auto-Modus verlassen. Vor v2.1.236 ließ Claude Code `Monitor` Allow-Regeln im Auto-Modus in Kraft, daher genehmigte eine Regel, die das ganze Tool passte, Monitor-Befehle ohne Klassifiziererüberprüfung.545 Enge Regeln wie `Bash(npm test)` bleiben in Kraft. Claude Code stellt die verworfenen Regeln wieder her, wenn Sie den Auto-Modus verlassen. Vor v2.1.236 ließ Claude Code `Monitor`-Allow-Regeln im Auto-Modus in Kraft, sodass eine Regel, die das gesamte Tool abdeckte, Monitor-Befehle ohne Klassifikatorüberprüfung genehmigte.

546 546 

547 Claude Code führt auch `git status` selbst vor einem Befehl aus, der nicht committete Arbeit verwerfen würde, wie `git reset --hard` oder `rm -rf`, und zeigt dem Klassifizierer, ob gestaffelte, geänderte oder nicht verfolgte Arbeit vorhanden ist. Claude Code meldet nicht verfolgte Dateien in dieser Überprüfung, auch wenn die Git-Konfiguration des Repositorys `status.showUntrackedFiles=no` setzt.547 Claude Code führt außerdem selbst `git status` vor einem Befehl aus, der nicht committete Arbeit verwerfen würde, wie `git reset --hard` oder `rm -rf`, und zeigt dem Klassifikator, ob gestagte, geänderte oder nicht verfolgte Arbeit vorhanden ist. Claude Code meldet nicht verfolgte Dateien in dieser Prüfung auch dann, wenn die Git-Konfiguration des Repositorys `status.showUntrackedFiles=no` setzt.

548 548 

549 In den Klassifiziereranfragen, die Claude Code selbst sendet, sieht der Klassifizierer Benutzernachrichten, Werkzeugaufrufe außer schreibgeschützten Lookups wie Dateileseoperationen und Suchen, und Ihren CLAUDE.md-Inhalt. Werkzeugergebnisse werden aus diesen Anfragen entfernt, daher kann feindselige Inhalte in einer Datei oder Webseite den Klassifizierer nicht direkt manipulieren.549 In den Klassifikatoranfragen, die Claude Code selbst sendet, sieht der Klassifikator Benutzernachrichten, Tool-Aufrufe außer nur lesenden Abfragen wie Dateilesevorgängen und Suchen sowie Ihren CLAUDE.md-Inhalt. Tool-Ergebnisse werden aus diesen Anfragen entfernt, sodass feindseliger Inhalt in einer Datei oder Webseite den Klassifikator nicht direkt manipulieren kann.

550 550 

551 Sie können einen Aufruf's Ergebnis mit einem [PostToolUse Hook's `classifierContext`-Feld](/docs/de/hooks#annotate-a-result-for-the-auto-mode-classifier) annotieren, das der Klassifizierer als von der Anwendung bereitgestellter Kontext liest. Das Feld erfordert Claude Code v2.1.236 oder später.551 Sie können das Ergebnis eines Aufrufs mit dem [`classifierContext`-Feld eines PostToolUse-Hooks](/docs/de/hooks#annotate-a-result-for-the-auto-mode-classifier) annotieren, das der Klassifikator als von der Anwendung bereitgestellten Kontext liest. Das Feld erfordert Claude Code v2.1.236 oder später.

552 552 

553 Eine separate serverseitige Sonde scannt eingehende Werkzeugergebnisse und kennzeichnet verdächtige Inhalte, bevor Claude sie liest. Für mehr darüber, wie diese Schichten zusammenarbeiten, siehe die [Auto-Modus-Ankündigung](https://claude.com/blog/auto-mode) und den [Engineering Deep Dive](https://www.anthropic.com/engineering/claude-code-auto-mode).553 Eine separate serverseitige Prüfung scannt eingehende Tool-Ergebnisse und kennzeichnet verdächtige Inhalte, bevor Claude sie liest. Mehr darüber, wie diese Ebenen zusammenwirken, erfahren Sie in der [Ankündigung des Auto-Modus](https://claude.com/blog/auto-mode) und im [technischen Deep Dive](https://www.anthropic.com/engineering/claude-code-auto-mode).

554 </Accordion>554 </Accordion>

555 555 

556 <Accordion title="Wie Auto-Modus Subagents handhabt">556 <Accordion title="Wie der Auto-Modus Subagenten behandelt">

557 Der Klassifizierer überprüft [Subagent](/docs/de/sub-agents)-Arbeit an drei Punkten:557 Der Klassifikator prüft die Arbeit von [Subagenten](/docs/de/sub-agents) an drei Punkten:

558 558 

559 1. Bevor ein Subagent startet, wird die delegierte Aufgabenbeschreibung bewertet, sodass eine gefährlich aussehende Aufgabe bereits beim Starten blockiert wird.559 1. Bevor ein Subagent startet, wird die delegierte Aufgabenbeschreibung bewertet, sodass eine gefährlich aussehende Aufgabe bereits beim Starten blockiert wird.

560 2. Während der Subagent läuft, durchläuft jede seiner Aktionen dieselbe [Entscheidungsreihenfolge](#how-the-classifier-evaluates-actions) wie in der übergeordneten Sitzung, mit denselben Block- und Allow-Regeln. Ein `permissionMode` im Frontmatter des Subagenten wird ignoriert.560 2. Während der Subagent läuft, durchläuft jede seiner Aktionen dieselbe [Entscheidungsreihenfolge](#how-the-classifier-evaluates-actions) wie in der übergeordneten Sitzung, mit denselben Block- und Allow-Regeln. Ein `permissionMode` im Frontmatter des Subagenten wird ignoriert.


564 <Accordion title="Kosten und Latenz">564 <Accordion title="Kosten und Latenz">

565 Der Klassifikator läuft standardmäßig auf Claude Sonnet 5 statt auf dem Modell, das Sie mit `/model` ausgewählt haben. Ein Klassifikatormodell, das Anthropic serverseitig konfiguriert, hat Vorrang vor diesem Standard. Wenn das Modell Ihrer Sitzung Claude Sonnet 4.6 ist oder wenn [`availableModels`](/docs/de/model-config#restrict-model-selection) Sonnet 5 ausschließt, läuft der Klassifikator stattdessen auf dem Modell der Sitzung oder auf einem Opus-Modell, wenn die Sitzung auf einem [Fable-Modell](/docs/de/model-config#work-with-fable) läuft. Bei anderen Anbietern als der Anthropic API ist dieser Opus-Fallback das Modell, das Sie in [`ANTHROPIC_DEFAULT_OPUS_MODEL`](/docs/de/model-config#environment-variables) festgelegt haben, oder Opus 5, wenn Sie keines festgelegt haben.565 Der Klassifikator läuft standardmäßig auf Claude Sonnet 5 statt auf dem Modell, das Sie mit `/model` ausgewählt haben. Ein Klassifikatormodell, das Anthropic serverseitig konfiguriert, hat Vorrang vor diesem Standard. Wenn das Modell Ihrer Sitzung Claude Sonnet 4.6 ist oder wenn [`availableModels`](/docs/de/model-config#restrict-model-selection) Sonnet 5 ausschließt, läuft der Klassifikator stattdessen auf dem Modell der Sitzung oder auf einem Opus-Modell, wenn die Sitzung auf einem [Fable-Modell](/docs/de/model-config#work-with-fable) läuft. Bei anderen Anbietern als der Anthropic API ist dieser Opus-Fallback das Modell, das Sie in [`ANTHROPIC_DEFAULT_OPUS_MODEL`](/docs/de/model-config#environment-variables) festgelegt haben, oder Opus 5, wenn Sie keines festgelegt haben.

566 566 

567 Die erste Auto-Modus-Anfrage Ihrer Sitzung validiert den Sonnet 5-Standard: Wenn die Anfrage erfolgreich ist, bleibt Sonnet 5 das Klassifizierermodell Ihrer Sitzung, und wenn sie fehlschlägt, weil das Modell nicht verfügbar ist, verwendet die Sitzung stattdessen das Fallback.567 Die erste Auto-Modus-Anfrage der Sitzung validiert den Sonnet 5-Standard: Wenn die Anfrage erfolgreich ist, bleibt Sonnet 5 das Klassifikatormodell der Sitzung, und wenn sie fehlschlägt, weil das Modell nicht verfügbar ist, verwendet die Sitzung stattdessen den Fallback.

568 568 

569 Bei Enterprise-Plänen und bei Konten, die die Claude API verwenden, [Claude Platform auf AWS](/docs/de/claude-platform-on-aws), Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry, zählen Klassifiziereraufrufe zu Ihrer Token-Nutzung. Jede Überprüfung sendet einen Teil des Transkripts plus die ausstehende Aktion, was eine Hin- und Rückfahrt vor der Ausführung hinzufügt. Lesezugriffe und Arbeitsverzeichnis-Bearbeitungen außerhalb geschützter Pfade überspringen den Klassifizierer, daher kommt der Overhead hauptsächlich von Shell-Befehlen und Netzwerkoperationen. Wenn der Server die Aktionen als Teil der Modellanfragen der Sitzung überprüft, gibt es keine separaten Klassifiziereraufrufe zu zählen; siehe [Serverseitige Klassifiziererüberprüfung](#server-side-classifier-review).569 Bei Enterprise-Plänen und bei Konten, die die Claude API, [Claude Platform auf AWS](/docs/de/claude-platform-on-aws), Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry verwenden, zählen Klassifikatoraufrufe zu Ihrer Token-Nutzung. Jede Prüfung sendet einen Teil des Transkripts plus die ausstehende Aktion und fügt vor der Ausführung einen Roundtrip hinzu. Lesezugriffe und Bearbeitungen im Arbeitsverzeichnis außerhalb geschützter Pfade überspringen den Klassifikator, daher entsteht der Overhead hauptsächlich durch Shell-Befehle und Netzwerkoperationen. Wenn der Server die Aktionen als Teil der Modellanfragen der Sitzung überprüft, gibt es keine separaten Klassifikatoraufrufe, die gezählt werden; siehe [Serverseitige Klassifikatorüberprüfung](#server-side-classifier-review).

570 570 

571 Sandbox-Netzwerkzugriff fügt keine Pro-Verbindungs-Klassifiziereranfragen hinzu. Der Klassifizierer beurteilt [die Hosts, die ein Befehl benennt](/docs/de/sandboxing#per-command-allowed-domains-in-auto-mode) zusammen mit dem Befehl in einer Überprüfung, und Claude Code überprüft jede Verbindung gegen die genehmigte Liste, ohne den Klassifizierer erneut aufzurufen.571 Netzwerkzugriff in der Sandbox verursacht keine Klassifikatoranfragen pro Verbindung. Der Klassifikator beurteilt [die Hosts, die ein Befehl benennt](/docs/de/sandboxing#per-command-allowed-domains-in-auto-mode), zusammen mit dem Befehl in einer einzigen Überprüfung, und Claude Code prüft jede Verbindung anhand der genehmigten Liste, ohne den Klassifikator erneut aufzurufen.

572 </Accordion>572 </Accordion>

573</AccordionGroup>573</AccordionGroup>

574 574 


578 578 

579Wenn Sie den `dontAsk`-Modus einstellen, lehnt Claude Code automatisch jeden Tool-Aufruf ab, der Sie sonst auffordern würde. Claude führt weiterhin Aktionen aus, die im Manual-Modus keine Genehmigung benötigen, wie z. B. Dateilesevorgänge in Ihren Arbeitsverzeichnissen und [schreibgeschützte Bash-Befehle](/docs/de/permissions#read-only-commands), sowie Aktionen, die Ihren `permissions.allow`-Regeln entsprechen, und Aufrufe, die von einem [PreToolUse-Hook](/docs/de/permissions#extend-permissions-with-hooks) genehmigt wurden. Verwenden Sie diesen Modus für CI-Pipelines oder eingeschränkte Umgebungen, in denen Sie vorab definieren, was Claude tun darf; die Sitzung wartet nie auf Eingaben. Die Statusleiste zeigt `⏵⏵ don't ask on`, während dieser Modus aktiv ist.579Wenn Sie den `dontAsk`-Modus einstellen, lehnt Claude Code automatisch jeden Tool-Aufruf ab, der Sie sonst auffordern würde. Claude führt weiterhin Aktionen aus, die im Manual-Modus keine Genehmigung benötigen, wie z. B. Dateilesevorgänge in Ihren Arbeitsverzeichnissen und [schreibgeschützte Bash-Befehle](/docs/de/permissions#read-only-commands), sowie Aktionen, die Ihren `permissions.allow`-Regeln entsprechen, und Aufrufe, die von einem [PreToolUse-Hook](/docs/de/permissions#extend-permissions-with-hooks) genehmigt wurden. Verwenden Sie diesen Modus für CI-Pipelines oder eingeschränkte Umgebungen, in denen Sie vorab definieren, was Claude tun darf; die Sitzung wartet nie auf Eingaben. Die Statusleiste zeigt `⏵⏵ don't ask on`, während dieser Modus aktiv ist.

580 580 

581Claude Code lehnt Aufrufe ab, die Ihren expliziten [`ask`-Regeln](/docs/de/permissions#manage-permissions) entsprechen, anstatt Sie aufzufordern. Es lehnt auch das integrierte `AskUserQuestion`-Tool ab, selbst wenn Ihre Allow-Regeln damit übereinstimmen, und macht dasselbe mit Connector-Tools, [die Ihre Organisation auf `ask` gesetzt hat](/docs/de/mcp#organization-controls-on-connector-tools), in Sitzungen, in denen diese Einstellung Claude Code erreicht. Es lehnt MCP-Tools, die mit [`_meta["anthropic/requiresUserInteraction"]`](/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind, auf die gleiche Weise ab, da ihre Genehmigungskarte eine Antwort benötigt, die dieser Modus nie erfasst; dies erfordert Claude Code v2.1.199 oder später.581Claude Code lehnt Aufrufe ab, die Ihren expliziten [`ask`-Regeln](/docs/de/permissions#manage-permissions) entsprechen, anstatt bei Ihnen nachzufragen. Es lehnt auch das integrierte `AskUserQuestion`-Tool ab, selbst wenn Ihre Allow-Regeln damit übereinstimmen, und macht dasselbe mit Konnektor-Tools, [die Ihre Organisation auf `ask` gesetzt hat](/docs/de/mcp#organization-controls-on-connector-tools), in Sitzungen, in denen diese Einstellung Claude Code erreicht. Es lehnt MCP-Tools, die mit [`_meta["anthropic/requiresUserInteraction"]`](/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind, auf die gleiche Weise ab, da ihre Genehmigungskarte eine Antwort benötigt, die dieser Modus nie erfasst.

582 582 

583`rm`- und `rmdir`-Löschungen, die auf einen [kritischen Pfad](#critical-paths) abzielen, wie z. B. `rm -rf /` und `rm -rf ~`, werden abgelehnt, selbst wenn eine Allow-Regel damit übereinstimmt oder ein `PreToolUse`-Hook sie zulässt.583`rm`- und `rmdir`-Löschungen, die auf einen [kritischen Pfad](#critical-paths) abzielen, wie z. B. `rm -rf /` und `rm -rf ~`, werden abgelehnt, selbst wenn eine Allow-Regel damit übereinstimmt oder ein `PreToolUse`-Hook sie zulässt.

584 584 

Details

371| `workspaceFolder` | Nein | Workspace-Ordnerpfad für den Server |371| `workspaceFolder` | Nein | Workspace-Ordnerpfad für den Server |

372| `startupTimeout` | Nein | Millisekunden zum Warten auf den Start, eine positive Ganzzahl |372| `startupTimeout` | Nein | Millisekunden zum Warten auf den Start, eine positive Ganzzahl |

373| `shutdownTimeout` | Nein | Millisekunden zum Warten auf ein ordnungsgemäßes Herunterfahren, eine positive Ganzzahl. Wenn das Timeout abläuft, beendet Claude Code den Server-Prozess. Wenn nicht gesetzt, gilt kein Timeout |373| `shutdownTimeout` | Nein | Millisekunden zum Warten auf ein ordnungsgemäßes Herunterfahren, eine positive Ganzzahl. Wenn das Timeout abläuft, beendet Claude Code den Server-Prozess. Wenn nicht gesetzt, gilt kein Timeout |

374| `requestTimeout` | Nein | Millisekunden zum Warten darauf, dass der Server eine Anfrage beantwortet, eine positive Ganzzahl. Standard ist `60000`, sodass eine Anfrage, die der Server nie beantwortet, nach 60 Sekunden fehlschlägt. Erfordert v2.1.288 oder höher |

374| `restartOnCrash` | Nein | Ob der Server nach einem Absturz neu gestartet werden soll. Standard ist `true`. Setzen Sie auf `false`, um einen abgestürzten Server gestoppt zu lassen, anstatt ihn neu zu starten |375| `restartOnCrash` | Nein | Ob der Server nach einem Absturz neu gestartet werden soll. Standard ist `true`. Setzen Sie auf `false`, um einen abgestürzten Server gestoppt zu lassen, anstatt ihn neu zu starten |

375| `maxRestarts` | Nein | Neustartversuche, bevor aufgegeben wird, null oder mehr |376| `maxRestarts` | Nein | Neustartversuche, bevor aufgegeben wird, null oder mehr |

376| `diagnostics` | Nein | Ob Diagnosen nach Bearbeitungen in den Kontext gepusht werden sollen. Standard ist `true` |377| `diagnostics` | Nein | Ob Diagnosen nach Bearbeitungen in den Kontext gepusht werden sollen. Standard ist `true` |

Details

63 63 

64| Feld | Typ | Beschreibung |64| Feld | Typ | Beschreibung |

65| :- | :- | :- |65| :- | :- | :- |

66| `name` | string | Marketplace-Bezeichner: Buchstaben, Ziffern, `.`, `_` und `-`, beginnend mit einem Buchstaben oder einer Ziffer, und kein `..`. Es bildet die Hälfte nach `@` jeder [Plugin-ID](/docs/de/plugins/loading#find-where-a-plugin-came-from), die vom Marketplace installiert wird, daher schlägt `claude plugin validate` bei anderen Namen fehl. Siehe [Reservierte Namen](#reserved-names) |66| `name` | string | Marketplace-Bezeichner: Buchstaben, Ziffern, `.`, `_` und `-`, beginnend mit einem Buchstaben oder einer Ziffer, und kein `..`. `claude plugin validate` schlägt bei jedem anderen Namen fehl, weil Claude Code keine Plugins aus einem Marketplace installieren kann, der einen solchen Namen verwendet. Benutzer geben den Namen nach `@` in einer [Plugin-ID](/docs/de/plugins/loading#find-where-a-plugin-came-from) wie `my-plugin@my-marketplace` ein, wenn sie ein Plugin installieren. Siehe [Reservierte Namen](#reserved-names) |

67| `owner` | object | Informationen zum Betreuer. `name` ist erforderlich; `email` und `url` sind optional |67| `owner` | object | Informationen zum Betreuer. `name` ist erforderlich; `email` und `url` sind optional |

68| `plugins` | array | [Plugin-Einträge](#plugin-entries). Jeder Eintrag wird einzeln validiert, daher führt ein ungültiger Eintrag nicht zum Fehlschlag des Marketplace |68| `plugins` | array | [Plugin-Einträge](#plugin-entries). Jeder Eintrag wird einzeln validiert, daher führt ein ungültiger Eintrag nicht zum Fehlschlag des Marketplace |

69| `$schema` | string | JSON-Schema-URL für Editor-Autovervollständigung. Wird beim Laden ignoriert |69| `$schema` | string | JSON-Schema-URL für Editor-Autovervollständigung. Wird beim Laden ignoriert |

Details

377 Ihren Mod teilen377 Ihren Mod teilen

378</h2>378</h2>

379 379 

380Ein Mod ist ein Plugin. Sie versionieren ihn also im Manifest, und andere installieren und aktualisieren ihn mit den `/plugin`-Befehlen. Um ihn an andere weiterzugeben, [fügen Sie ihn einem Marketplace hinzu](/docs/de/plugins/publish).380Ein Mod ist ein Plugin. Sie versionieren ihn also im Manifest, und andere installieren und aktualisieren ihn mit den `/plugin`-Befehlen. Wie Sie ihn teilen, hängt davon ab, für wen er gedacht ist:

381 

382* **Einige wenige Personen**: Senden Sie ihnen das Verzeichnis des Plugins oder eine `.zip`-Datei davon. Siehe [Ein Plugin ohne Marketplace teilen](/docs/de/plugins/publish#share-a-plugin-without-a-marketplace)

383* **Ihr Team**: Führen Sie ihn in [Ihrem eigenen Marketplace](/docs/de/plugins/publish#publish-through-your-own-marketplace) auf, etwa in einem privaten Repository mit einem Verzeichnis für jedes Plugin. Um diesen Marketplace für alle hinzuzufügen, die in einem Repository arbeiten, [registrieren Sie ihn in den Einstellungen des Repositorys](/docs/de/plugins/host-marketplace#register-the-marketplace-for-everyone-in-a-repository)

384* **Ihre gesamte Organisation**: Ein Administrator kann [die Mods Ihrer Organisation](/docs/de/plugins/mods/admin#install-your-organizations-mods) über verwaltete Einstellungen installieren

385* **Alle**: Machen Sie das Repository Ihres Marketplace öffentlich, oder [reichen Sie das Plugin beim Verzeichnis von Anthropic ein](/docs/de/plugins/publish#submit-to-anthropics-directory)

381 386 

382Prüfen Sie vorher den `name` des Plugins: `claude plugin validate` lehnt einen Namen ab, der [wie einer von Anthropics eigenen aussieht](/docs/de/plugins/manifest-reference#name), etwa einen, der mit `claude-` beginnt. Die Events und Methoden können sich zwischen Releases ändern. Geben Sie daher in Ihrer README an, mit welcher Claude Code-Version Sie getestet haben.387Prüfen Sie vorher den `name` des Plugins: `claude plugin validate` lehnt einen Namen ab, der [wie einer von Anthropics eigenen aussieht](/docs/de/plugins/manifest-reference#name), etwa einen, der mit `claude-` beginnt. Die Events und Methoden können sich zwischen Releases ändern. Geben Sie daher in Ihrer README an, mit welcher Claude Code-Version Sie getestet haben.

383 388 

Details

531| Pfeil nach oben und unten | Wechseln zwischen Steuerelementen, solange Ihre Zeichnung hineinpasst. Wenn der Bereich oder das Band mehr Zeilen hat, als angezeigt werden können, scrollen sie ihn. |531| Pfeil nach oben und unten | Wechseln zwischen Steuerelementen, solange Ihre Zeichnung hineinpasst. Wenn der Bereich oder das Band mehr Zeilen hat, als angezeigt werden können, scrollen sie ihn. |

532| Enter | Drückt den fokussierten `Button`, sendet das fokussierte `Input` ab oder wählt in einem `Select` aus |532| Enter | Drückt den fokussierten `Button`, sendet das fokussierte `Input` ab oder wählt in einem `Select` aus |

533| Der Hotkey einer Schaltfläche | Drückt diese Schaltfläche. Solange ein `Input` den Fokus hat, geht jede druckbare Taste an das Feld. |533| Der Hotkey einer Schaltfläche | Drückt diese Schaltfläche. Solange ein `Input` den Fokus hat, geht jede druckbare Taste an das Feld. |

534| Page Up, Page Down, Home und End | Scrollen Ihren Bereich oder Ihr Band, wenn er bzw. es mehr Zeilen hat, als angezeigt werden können |

535| Ctrl+X und dann eine Pfeiltaste | Ändert die Größe Ihres Bereichs. Links oder nach oben gibt ihm mehr Platz, rechts oder nach unten gibt den Platz wieder ab. |

536| Ctrl+X und dann X | Schließt Ihren Bereich, auch wenn eines seiner Felder den Fokus hat |

534| Esc | Gibt den Tastaturfokus an den Prompt zurück. Mit `closeOnEscape: true` schließt sie außerdem den Bereich. |537| Esc | Gibt den Tastaturfokus an den Prompt zurück. Mit `closeOnEscape: true` schließt sie außerdem den Bereich. |

535 538 

536Ein Mod kann Tab oder die Pfeiltasten nicht anderweitig belegen, daher steuert ein Spiel mit `w`, `a`, `s` und `d`.539Ein Mod kann Tab oder die Pfeiltasten nicht anderweitig belegen, daher steuert ein Spiel mit `w`, `a`, `s` und `d`.

Details

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

64| [`tool.call`](/docs/de/plugins/mods/events#guard-or-change-a-tool-call) | Ein Tool gleich ausgeführt wird | `next(e)`, `{ deny: reason }` oder `{ result }` |64| [`tool.call`](/docs/de/plugins/mods/events#guard-or-change-a-tool-call) | Ein Tool gleich ausgeführt wird | `next(e)`, `{ deny: reason }` oder `{ result }` |

65| [`tool.check`](/docs/de/plugins/mods/events#where-settings-hooks-run-in-the-order) | Claude Code entscheidet, ob ein Tool-Aufruf ausgeführt werden darf, nach den Hooks `tool.call` und `PreToolUse`. `next(e)` wird zu der Entscheidung aufgelöst, zu der die Regeln, der Berechtigungsmodus und diese Hooks gelangt sind. | `{ decision }`, also `allow`, `ask` oder `deny` |65| [`tool.check`](/docs/de/plugins/mods/events#where-settings-hooks-run-in-the-order) | Claude Code entscheidet, ob ein Tool-Aufruf ausgeführt werden darf, nach den Hooks `tool.call` und `PreToolUse`. `next(e)` wird zu der Entscheidung aufgelöst, zu der die Regeln, der Berechtigungsmodus und diese Hooks gelangt sind. | `{ decision }`, also `allow`, `ask` oder `deny` |

66| `tool.describe` | Einmal für jedes Tool, wenn seine Beschreibung zum ersten Mal an Claude gesendet wird | `{ description }` |66| `tool.describe` | Einmal für jedes Tool, wenn seine Beschreibung zum ersten Mal an Claude gesendet wird | `{ description }`, optional mit `isDeferred` auf `true` gesetzt, um das Tool hinter die [Tool-Suche](/docs/de/mcp#scale-with-mcp-tool-search) zu stellen, oder auf `false`, um es vorab zu laden |

67 67 

68<h3 id="prompts-and-what-claude-reads">68<h3 id="prompts-and-what-claude-reads">

69 Prompts und was Claude liest69 Prompts und was Claude liest

plugins/publish.md +26 −11

Details

145 Bei Anthropics Verzeichnis einreichen145 Bei Anthropics Verzeichnis einreichen

146</h2>146</h2>

147 147 

148Anthropics Verzeichnis ist der Katalog, den Benutzer auf claude.ai und in Cowork durchsuchen, um Plugins und Connectors hinzuzufügen. Eine Auflistung dort erreicht Benutzer auf claude.ai, in Cowork und in Claude Code. Sie reichen über das Entwicklerportal unter [claude.ai/directory/manage](https://claude.ai/directory/manage) ein; [Vorbereitung auf die Überprüfung](https://claude.com/docs/directory/publish#prepare-for-review) auf claude.com beschreibt, was mit jeder Version vor der Veröffentlichung geschieht.148[Anthropics Verzeichnis](https://claude.ai/directory) ist der Katalog, den Benutzer auf claude.ai und in Cowork durchsuchen, um Plugins und Konnektoren hinzuzufügen. Eine Auflistung dort erreicht Benutzer auf claude.ai, in Cowork und in Claude Code. Sie reichen über das Entwicklerportal unter [claude.ai/directory/manage](https://claude.ai/directory/manage) ein, und [Ein Plugin einreichen](https://claude.com/docs/plugins/submit#submit-a-plugin) auf claude.com führt Sie durch das Portal.

149 149 

150Das Einreichen erfordert einen kostenpflichtigen claude.ai-Plan. Bei Pro und Max reichen Sie von Ihrem eigenen Konto ein. Bei Team und Enterprise kann ein Eigentümer einreichen, und bei Enterprise kann ein Eigentümer auch die **Directory**-Berechtigung anderen Mitgliedern durch eine benutzerdefinierte Rolle unter **Organization settings > Roles** gewähren. Siehe [Bestätigen Sie, dass Sie beim Verzeichnis einreichen können](https://claude.com/docs/directory/publish#confirm-you-can-submit-to-the-directory).150Anthropics offizieller Marketplace, `claude-plugins-official`, akzeptiert keine Einreichungen über das Verzeichnisportal. Wenn Sie mit einem Anthropic-Partner-Kontakt zusammenarbeiten, fragen Sie ihn nach einer Auflistung im offiziellen Marketplace.

151 151 

152Die Einreichungsschritte, die Überprüfungen, die jede Version bestehen muss, und was nach der Veröffentlichung geschieht, sind auf claude.com dokumentiert, da sie gleich sind, unabhängig davon, welche Oberfläche Ihre Benutzer verwenden:152So reichen Sie ein Plugin ein:

153 153 

154* [Im Verzeichnis veröffentlichen](https://claude.com/docs/directory/publish#before-you-submit-to-the-directory): was Sie einreichen können und wer es einreichen kann154<Steps>

155* [Ein Plugin einreichen](https://claude.com/docs/plugins/submit#submit-a-plugin): die Portalschritte und [Aktualisierung eines veröffentlichten Plugins](https://claude.com/docs/plugins/submit#update-a-published-plugin)155 <Step title="Bestätigen, dass Sie einreichen können">

156* [Plugin-Checkliste vor der Einreichung](https://claude.com/docs/plugins/pre-submission-checklist#run-the-checks-before-you-submit): die Überprüfungen, die Sie vor der Einreichung ausführen und beheben müssen156 Das Einreichen erfordert einen kostenpflichtigen claude.ai-Plan. Bei Pro und Max reichen Sie von Ihrem eigenen Konto ein. Bei Team und Enterprise kann ein Eigentümer einreichen, und bei Enterprise kann ein Eigentümer auch die **Directory**-Berechtigung anderen Mitgliedern durch eine benutzerdefinierte Rolle unter **Organization settings > Roles** gewähren. Siehe [Bestätigen Sie, dass Sie beim Verzeichnis einreichen können](https://claude.com/docs/directory/publish#confirm-you-can-submit-to-the-directory).

157* [Eine frühere Einreichung zum Entwicklerportal verschieben](https://claude.com/docs/directory/publish#move-an-earlier-submission-to-the-developer-portal): was zu tun ist, wenn Sie ein Plugin über eines der früheren Einreichungsformulare eingereicht haben, bevor das Portal existierte157 </Step>

158 158 

159Bevor Sie das Portal öffnen, validieren Sie lokal und überprüfen Sie, welche Ihrer Komponenten außerhalb von Claude Code geladen werden:159 <Step title="Das Plugin lokal validieren">

160 Führen Sie `claude plugin validate ./your-plugin --strict` in Ihrer Shell aus. Ersetzen Sie `./your-plugin` durch den Pfad zu Ihrem Plugin-Verzeichnis. Der Befehl erfasst Manifest-Fehler lokal; [plugin validate](/docs/de/plugins/cli-reference#plugin-validate) listet auf, welche Dateien jeder Durchlauf liest. Das Portal wendet zusätzliche Verzeichnisregeln an, die die CLI nicht überprüft, daher garantiert ein sauberer lokaler Durchlauf keine saubere Portal-Validierung.

160 161 

161* **Führen Sie `claude plugin validate ./your-plugin --strict` in Ihrer Shell aus**: ersetzen Sie `./your-plugin` durch den Pfad zu Ihrem Plugin-Verzeichnis. Der Befehl erfasst Manifest-Fehler lokal; [plugin validate](/docs/de/plugins/cli-reference#plugin-validate) listet auf, welche Dateien jeder Durchlauf liest. Das Portal wendet zusätzliche Verzeichnisregeln an, die die CLI nicht überprüft, daher garantiert ein sauberer lokaler Durchlauf keine saubere Portal-Validierung.162 Die [Plugin-Checkliste vor der Einreichung](https://claude.com/docs/plugins/pre-submission-checklist#run-the-checks-before-you-submit) auf claude.com enthält die Überprüfungen, die Sie vor der Einreichung ausführen und beheben müssen.

162* **Überprüfen Sie, was wo geladen wird**: Einige Plugin-Komponenten sind nur für Claude Code und werden nicht auf claude.ai oder in Cowork geladen. Die [Komponentenunterstützungstabelle](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app) listet jede Komponente nach App auf, damit Sie wissen, was Benutzer außerhalb von Claude Code erhalten.163 </Step>

163 164 

164Anthropics offizieller Marketplace, `claude-plugins-official`, akzeptiert keine Einreichungen über das Verzeichnisportal. Wenn Sie mit einem Anthropic-Partner-Kontakt zusammenarbeiten, fragen Sie ihn nach einer Auflistung im offiziellen Marketplace.165 <Step title="Überprüfen, was wo geladen wird">

166 Einige Plugin-Komponenten sind nur für Claude Code und werden nicht auf claude.ai oder in Cowork geladen. Die [Komponentenunterstützungstabelle](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app) listet jede Komponente nach App auf, damit Sie wissen, was Benutzer außerhalb von Claude Code erhalten.

167 </Step>

168 

169 <Step title="Im Entwicklerportal einreichen">

170 Öffnen Sie das Entwicklerportal unter [claude.ai/directory/manage](https://claude.ai/directory/manage) und folgen Sie [Ein Plugin einreichen](https://claude.com/docs/plugins/submit#submit-a-plugin) auf claude.com.

171 </Step>

172</Steps>

173 

174Der Rest des Prozesses ist auf claude.com dokumentiert:

175 

176* [Vorbereitung auf die Überprüfung](https://claude.com/docs/directory/publish#prepare-for-review): was mit jeder Version vor der Veröffentlichung geschieht

177* [Aktualisierung eines veröffentlichten Plugins](https://claude.com/docs/plugins/submit#update-a-published-plugin): wie eine neue Version die Personen erreicht, die Ihr Plugin haben

178* [Reichen Sie Ihr Plugin und Ihren MCP-Server als Konnektor ein](https://claude.com/docs/directory/publish#submit-your-plugin-and-your-mcp-server-as-a-connector): was Sie einreichen können

179* [Eine frühere Einreichung zum Entwicklerportal verschieben](https://claude.com/docs/directory/publish#move-an-earlier-submission-to-the-developer-portal): was zu tun ist, wenn Sie ein Plugin über eines der früheren Einreichungsformulare eingereicht haben, bevor das Portal existierte

165 180 

166<h3 id="how-a-listed-plugin-reaches-claude-code-users">181<h3 id="how-a-listed-plugin-reaches-claude-code-users">

167 Wie ein aufgelistetes Plugin Claude Code-Benutzer erreicht182 Wie ein aufgelistetes Plugin Claude Code-Benutzer erreicht

routines.md +1 −1

Details

403 </Step>403 </Step>

404 404 

405 <Step title="Ändern Sie die Netzwerkzugriff-Ebene">405 <Step title="Ändern Sie die Netzwerkzugriff-Ebene">

406 Ändern Sie im Dialog **Cloud-Umgebung bearbeiten** den **Netzwerkzugriff** zu **Benutzerdefiniert** und geben Sie Ihre Domains in **Zulässige Domains** ein. Aktivieren Sie **Auch Standard-Liste häufiger Paket-Manager einschließen**, um die [Standard-Zulassungsliste](/docs/de/cloud-environments#default-allowed-domains) neben Ihren benutzerdefinierten Domains zu behalten. Wählen Sie stattdessen **Vollständig** für uneingeschränkten Zugriff.406 Ändern Sie im Dialog **Umgebung bearbeiten** den **Netzwerkzugriff** zu **Benutzerdefiniert** und geben Sie Ihre Domains in **Zulässige Domains** ein. Aktivieren Sie **Auch Standard-Liste häufiger Paket-Manager einschließen**, um die [Standard-Allowlist](/docs/de/cloud-environments#default-allowed-domains) neben Ihren benutzerdefinierten Domains zu behalten. Wählen Sie stattdessen **Vollständig** für uneingeschränkten Zugriff.

407 </Step>407 </Step>

408 408 

409 <Step title="Speichern">409 <Step title="Speichern">

sandboxing.md +2 −4

Details

459 Anmeldedaten maskieren459 Anmeldedaten maskieren

460</h3>460</h3>

461 461 

462Wenn Sie Anmeldedaten maskieren, zeigt Claude Code Befehlen in der Sandbox einen sitzungsspezifischen Platzhalter, den Sentinel, und der [Sandbox-Proxy](#network-isolation) setzt bei ausgehenden Anfragen an von Ihnen erlaubte Hosts den echten Wert ein. Ein `deny`-Eintrag unter [Anmeldedaten schützen](#protect-credentials) sperrt die Anmeldedaten stattdessen. Bei Dateien unter macOS [sperrt Claude Code die Datei stattdessen](#mask-credential-files), anstatt sie zu maskieren.462Wenn Sie Anmeldedaten maskieren, zeigt Claude Code Befehlen in der Sandbox einen sitzungsspezifischen Platzhalter, den Sentinel, und der [Sandbox-Proxy](#network-isolation) setzt bei ausgehenden Anfragen an von Ihnen erlaubte Hosts den echten Wert ein. Ein `deny`-Eintrag unter [Anmeldedaten schützen](#protect-credentials) sperrt die Anmeldedaten stattdessen. Bei Dateien unter macOS [sperrt Claude Code die Datei stattdessen](#mask-credential-files), anstatt sie zu maskieren. Die Referenz zu [`sandbox.credentials`](/docs/de/settings-reference#sandbox-credentials) listet jedes Feld auf.

463 

464Das Maskieren von Umgebungsvariablen erfordert Claude Code v2.1.199 oder höher. Die Referenz zu [`sandbox.credentials`](/docs/de/settings-reference#sandbox-credentials) listet jedes Feld auf.

465 463 

466Die Maskierung setzt Folgendes voraus:464Die Maskierung setzt Folgendes voraus:

467 465 


620In einer `WebFetch(domain:...)`-Regel berücksichtigt die Sandbox zwei Platzhalterformen: ein führendes `*.`, etwa `*.example.com`, und ein alleinstehendes `*`. Die Form mit alleinstehendem `*` erfordert Claude Code v2.1.186 oder höher. Ein Platzhalter an jeder anderen Position, etwa `WebFetch(domain:example.*)`, passt weiterhin auf Abrufe, hat aber keine Wirkung auf Befehle in der Sandbox.618In einer `WebFetch(domain:...)`-Regel berücksichtigt die Sandbox zwei Platzhalterformen: ein führendes `*.`, etwa `*.example.com`, und ein alleinstehendes `*`. Die Form mit alleinstehendem `*` erfordert Claude Code v2.1.186 oder höher. Ein Platzhalter an jeder anderen Position, etwa `WebFetch(domain:example.*)`, passt weiterhin auf Abrufe, hat aber keine Wirkung auf Befehle in der Sandbox.

621 619 

622<Note>620<Note>

623 Der integrierte Proxy erzwingt die Allowlist anhand des angefragten Hostnamens und terminiert oder prüft TLS-Datenverkehr standardmäßig nicht. Die experimentelle Einstellung [`network.tlsTerminate`](/docs/de/settings-reference#sandbox-network-tlsterminate), verfügbar in Claude Code v2.1.199 und höher, lässt den integrierten Proxy TLS selbst terminieren, was für [`mask`-Anmeldedateneinträge](#mask-credentials) erforderlich ist. Siehe [Sicherheitseinschränkungen](#security-limitations) für die Auswirkungen der Standardeinstellung und [Benutzerdefinierte Proxy-Konfiguration](#custom-proxy-configuration), falls Ihr Bedrohungsmodell eine TLS-Prüfung erfordert.621 Der integrierte Proxy erzwingt die Allowlist anhand des angefragten Hostnamens und terminiert oder prüft TLS-Datenverkehr standardmäßig nicht. Die experimentelle Einstellung [`network.tlsTerminate`](/docs/de/settings-reference#sandbox-network-tlsterminate) lässt den integrierten Proxy TLS selbst terminieren, was für [`mask`-Anmeldedateneinträge](#mask-credentials) erforderlich ist. Siehe [Sicherheitseinschränkungen](#security-limitations) für die Auswirkungen der Standardeinstellung und [Benutzerdefinierte Proxy-Konfiguration](#custom-proxy-configuration), falls Ihr Bedrohungsmodell eine TLS-Prüfung erfordert.

624</Note>622</Note>

625 623 

626<h4 id="hosts-outside-your-allowed-domains">624<h4 id="hosts-outside-your-allowed-domains">

sessions.md +1 −1

Details

299 Sitzungsdaten löschen299 Sitzungsdaten löschen

300</h3>300</h3>

301 301 

302Transkripte werden unter den [Aufbewahrungsbereinigungsregeln](/docs/de/claude-directory#cleaned-up-automatically) gelöscht. Um die Transkripte eines Projekts und den zugehörigen Status schneller zu löschen, führen Sie [`claude project purge`](/docs/de/claude-directory#clear-local-data) aus. Wenn Sie eine [Hintergrund-Sitzung](/docs/de/agent-view) mit [`claude rm <id>`](/docs/de/agent-view#what-deleting-a-session-removes) löschen, bleibt ihr Transkript auf der Festplatte und bleibt über `claude --resume` verfügbar.302Transkripte werden unter den [Aufbewahrungsbereinigungsregeln](/docs/de/claude-directory#cleaned-up-automatically) gelöscht. Um die Transkripte eines Projekts und den zugehörigen Status schneller zu löschen, führen Sie [`claude purge`](/docs/de/claude-directory#clear-local-data) aus. Wenn Sie eine [Hintergrund-Sitzung](/docs/de/agent-view) mit [`claude rm <id>`](/docs/de/agent-view#what-deleting-a-session-removes) löschen, bleibt ihr Transkript auf der Festplatte und bleibt über `claude --resume` verfügbar.

303 303 

304<h3 id="name-the-project-directory-yourself">304<h3 id="name-the-project-directory-yourself">

305 Benennen Sie das Verzeichnis `<project>` selbst305 Benennen Sie das Verzeichnis `<project>` selbst

Details

708| [`modelOverrides`](#modeloverrides) | [Ordnen Sie Modell-IDs](/docs/de/model-config#override-model-ids-per-version) den IDs Ihres Anbieters zu, wie z. B. Bedrock-ARNs | Model and responses | Any file |708| [`modelOverrides`](#modeloverrides) | [Ordnen Sie Modell-IDs](/docs/de/model-config#override-model-ids-per-version) den IDs Ihres Anbieters zu, wie z. B. Bedrock-ARNs | Model and responses | Any file |

709| [`modelPicker`](#modelpicker) | Wählen Sie, welche Modelle der [`/model`-Picker](/docs/de/model-config#available-models) auflistet, in Ihrer eigenen Reihenfolge und mit Ihren eigenen Labels | Model and responses | User or managed |709| [`modelPicker`](#modelpicker) | Wählen Sie, welche Modelle der [`/model`-Picker](/docs/de/model-config#available-models) auflistet, in Ihrer eigenen Reihenfolge und mit Ihren eigenen Labels | Model and responses | User or managed |

710| [`modelPricing`](#modelpricing) | Melden Sie Ausgaben zu den vertraglich vereinbarten Sätzen Ihrer Organisation statt zum Listenpreis | Model and responses | Managed |710| [`modelPricing`](#modelpricing) | Melden Sie Ausgaben zu den vertraglich vereinbarten Sätzen Ihrer Organisation statt zum Listenpreis | Model and responses | Managed |

711| [`modelSettings`](#modelsettings) | Behalten Sie eine gespeicherte [Effort-Stufe](/docs/de/model-config#adjust-effort-level) pro Modell bei, oder begrenzen Sie den Effort eines Modells | Model and responses | Any file |711| [`modelSettings`](#modelsettings) | Behalten Sie eine gespeicherte [Effort-Stufe](/docs/de/model-config#adjust-effort-level) oder ein [Fenster für die automatische Komprimierung](/docs/de/model-config#set-the-auto-compact-window) pro Modell bei, oder begrenzen Sie den Effort eines Modells | Model and responses | Any file |

712| [`otelHeadersHelper`](#otelheadershelper) | Generieren Sie rotierende [OpenTelemetry](/docs/de/monitoring-usage#dynamic-headers)-Header mit Ihrem eigenen Befehl | Authentication and providers | Any file |712| [`otelHeadersHelper`](#otelheadershelper) | Generieren Sie rotierende [OpenTelemetry](/docs/de/monitoring-usage#dynamic-headers)-Header mit Ihrem eigenen Befehl | Authentication and providers | Any file |

713| [`outputStyle`](#outputstyle) | Ändern Sie Claudes Rolle, Ton und Ausgabeformat mit einem [Ausgabestil](/docs/de/output-styles) | Model and responses | Any file |713| [`outputStyle`](#outputstyle) | Ändern Sie Claudes Rolle, Ton und Ausgabeformat mit einem [Ausgabestil](/docs/de/output-styles) | Model and responses | Any file |

714| [`parentSettingsBehavior`](#parentsettingsbehavior) | Wenden Sie Einschränkungen an oder verwerfen Sie sie, die ein [SDK- oder IDE-Host](/docs/de/managed-settings#let-an-embedding-host-add-policy) übergibt, wenn Sie [verwaltete Einstellungen](/docs/de/managed-settings) bereitstellen | Enterprise and managed settings | Managed |714| [`parentSettingsBehavior`](#parentsettingsbehavior) | Wenden Sie Einschränkungen an oder verwerfen Sie sie, die ein [SDK- oder IDE-Host](/docs/de/managed-settings#let-an-embedding-host-add-policy) übergibt, wenn Sie [verwaltete Einstellungen](/docs/de/managed-settings) bereitstellen | Enterprise and managed settings | Managed |


1282Um den Effort eines Modells zu begrenzen, anstatt seine Stufe festzulegen, fügen Sie dem Eintrag dieses Modells ein Feld [`maxEffortLevel`](#maxeffortlevel) hinzu. Das Feld erfordert Claude Code v2.1.267 oder später.1282Um den Effort eines Modells zu begrenzen, anstatt seine Stufe festzulegen, fügen Sie dem Eintrag dieses Modells ein Feld [`maxEffortLevel`](#maxeffortlevel) hinzu. Das Feld erfordert Claude Code v2.1.267 oder später.

1283 1283 

1284* **Geltungsbereich**: [`Beliebige Datei`](#scopes)1284* **Geltungsbereich**: [`Beliebige Datei`](#scopes)

1285* **Typ**: Objekt, das einen Modellnamen einem Objekt mit einem Feld `effortLevel` (einer von `"low"`, `"medium"`, `"high"` oder `"xhigh"`), einem Feld [`maxEffortLevel`](#maxeffortlevel) oder beiden zuordnet1285* **Typ**: Objekt, das einen Modellnamen einem Objekt mit beliebigen dieser Felder zuordnet:

1286 * `effortLevel`: einer von `"low"`, `"medium"`, `"high"` oder `"xhigh"`

1287 * [`maxEffortLevel`](#maxeffortlevel): die höchste Effort-Stufe, mit der das Modell laufen darf

1288 * `autoCompactWindow`: eine Anzahl von Token von `100000` bis `1000000` oder `"auto"` für das auf das Modell abgestimmte Fenster. [`/autocompact`](/docs/de/model-config#set-the-auto-compact-window) speichert hier. Für dieses Modell hat der Wert Vorrang vor einem [`autoCompactWindow`](#autocompactwindow) der obersten Ebene in derselben Einstellungsdatei. Erfordert Claude Code v2.1.288 oder später

1286* **Standard**: nicht gesetzt1289* **Standard**: nicht gesetzt

1287 1290 

1288Claude Code schreibt jeden Eintrag unter dem kanonischen Namen des Modells, wie `claude-opus-5-5`, und ordnet den Alias, die IDs mit Datumssuffix, `[1m]` und erkannte providerspezifische IDs dieses Modells demselben Eintrag zu.1291Claude Code schreibt jeden Eintrag unter dem kanonischen Namen des Modells, wie `claude-opus-5-5`, und ordnet den Alias, die IDs mit Datumssuffix, `[1m]` und erkannte providerspezifische IDs dieses Modells demselben Eintrag zu.


2478 `sandbox.credentials.envVars`2481 `sandbox.credentials.envVars`

2479</h3>2482</h3>

2480 2483 

2481Schützen Sie Umgebungsvariablen vor Befehlen in der Sandbox. Mit `"mode": "deny"` entfernt Claude Code die Variable aus der Umgebung von Befehlen in der Sandbox. Mit `"mode": "mask"` sehen Befehle in der Sandbox einen sitzungsspezifischen Sentinel-Wert, und der Sandbox-Proxy setzt bei ausgehenden Anfragen an die `injectHosts` dieses Eintrags den echten Wert ein, sodass Tools wie `gh` und `npm` sich weiterhin authentifizieren, ohne jemals die echten Anmeldedaten zu besitzen. `"mode": "mask"` erfordert Claude Code v2.1.199 oder später.2484Schützen Sie Umgebungsvariablen vor Befehlen in der Sandbox. Mit `"mode": "deny"` entfernt Claude Code die Variable aus der Umgebung von Befehlen in der Sandbox. Mit `"mode": "mask"` sehen Befehle in der Sandbox einen sitzungsspezifischen Sentinel-Wert, und der Sandbox-Proxy setzt bei ausgehenden Anfragen an die `injectHosts` dieses Eintrags den echten Wert ein, sodass Tools wie `gh` und `npm` sich weiterhin authentifizieren, ohne jemals die echten Anmeldedaten zu besitzen.

2482 2485 

2483* **Bereich**: [`Any file`](#scopes). Claude Code verwirft `mask`-Einträge aus der Projektdatei `.claude/settings.json` und der lokalen Datei `.claude/settings.local.json`.2486* **Bereich**: [`Any file`](#scopes). Claude Code verwirft `mask`-Einträge aus der Projektdatei `.claude/settings.json` und der lokalen Datei `.claude/settings.local.json`.

2484* **Typ**: Array von Objekten, jedes mit `name` und einem `mode` von `"deny"` oder `"mask"`, plus die optionalen [Maskierungsfelder für Umgebungsvariablen](#mask-fields-for-environment-variables)2487* **Typ**: Array von Objekten, jedes mit `name` und einem `mode` von `"deny"` oder `"mask"`, plus die optionalen [Maskierungsfelder für Umgebungsvariablen](#mask-fields-for-environment-variables)


2499}2502}

2500```2503```

2501 2504 

2502Der `name` muss mit einem Buchstaben oder Unterstrich beginnen und darf nur Buchstaben, Ziffern und Unterstriche enthalten. Claude Code führt die Arrays aus jedem Einstellungsbereich zusammen, den die Sitzung lädt, und wendet `deny` an, wenn dieselbe Variable mit beiden Modi erscheint. [Protect credentials](/docs/de/sandboxing#protect-credentials) behandelt, was aus Quellen, die Sie mit `--setting-sources` ausschließen, weiterhin gilt. `mask`-Einträge erfordern Claude Code v2.1.199 oder später.2505Der `name` muss mit einem Buchstaben oder Unterstrich beginnen und darf nur Buchstaben, Ziffern und Unterstriche enthalten. Claude Code führt die Arrays aus jedem Einstellungsbereich zusammen, den die Sitzung lädt, und wendet `deny` an, wenn dieselbe Variable mit beiden Modi erscheint. [Protect credentials](/docs/de/sandboxing#protect-credentials) behandelt, was aus Quellen, die Sie mit `--setting-sources` ausschließen, weiterhin gilt.

2503 2506 

2504Die `mask`-Ersetzung läuft nur über den Sandbox-Proxy, setzen Sie daher [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) oder für Testnetzwerke mit einfachem HTTP [`allowPlaintextInject`](#sandbox-credentials-allowplaintextinject); siehe [Mask credentials](/docs/de/sandboxing#mask-credentials). Claude Code akzeptiert die `mask`-Felder bei einem `deny`-Eintrag, ignoriert sie aber.2507Die `mask`-Ersetzung läuft nur über den Sandbox-Proxy, setzen Sie daher [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) oder für Testnetzwerke mit einfachem HTTP [`allowPlaintextInject`](#sandbox-credentials-allowplaintextinject); siehe [Mask credentials](/docs/de/sandboxing#mask-credentials). Claude Code akzeptiert die `mask`-Felder bei einem `deny`-Eintrag, ignoriert sie aber.

2505 2508 


2525| `onExtractNoMatch` | `"warn"`, `"deny"` oder `"error"`; Standard `"warn"`. Bei einem Eintrag mit `decode` wird nur `"warn"` akzeptiert | Was passiert, wenn `extract` auf nichts passt. `warn` gibt die Variable unmaskiert weiter, `deny` entfernt sie in der Sandbox, und `error` stoppt die Einrichtung der Sandbox, bis Sie die Konfiguration korrigieren. Erfordert v2.1.224 oder später |2528| `onExtractNoMatch` | `"warn"`, `"deny"` oder `"error"`; Standard `"warn"`. Bei einem Eintrag mit `decode` wird nur `"warn"` akzeptiert | Was passiert, wenn `extract` auf nichts passt. `warn` gibt die Variable unmaskiert weiter, `deny` entfernt sie in der Sandbox, und `error` stoppt die Einrichtung der Sandbox, bis Sie die Konfiguration korrigieren. Erfordert v2.1.224 oder später |

2526| `decode` | die Zeichenfolge `"jwt"` | Verifiziert, dass der gesamte Wert ein JWT ist, und ersetzt ihn durch ein strukturell gültiges gefälschtes Token, damit Code in der Sandbox, der das Token dekodiert, weiterhin funktioniert; der Proxy setzt beim ausgehenden Verkehr das gesamte echte Token ein. Ein Wert, der nicht verifiziert wird, wird mit einer Warnung unmaskiert weitergegeben. Erfordert v2.1.224 oder später |2529| `decode` | die Zeichenfolge `"jwt"` | Verifiziert, dass der gesamte Wert ein JWT ist, und ersetzt ihn durch ein strukturell gültiges gefälschtes Token, damit Code in der Sandbox, der das Token dekodiert, weiterhin funktioniert; der Proxy setzt beim ausgehenden Verkehr das gesamte echte Token ein. Ein Wert, der nicht verifiziert wird, wird mit einer Warnung unmaskiert weitergegeben. Erfordert v2.1.224 oder später |

2527| `maskClaims` | Array von Zeichenfolgen, mindestens ein Claim-Name; erfordert `decode` | Maskiert nur die benannten Top-Level-Claims der Payload im dekodierten JWT und baut das Token um die geänderte Payload herum neu auf, damit die anderen Claims lesbar bleiben. Wenn kein benannter Claim passt, wird die Variable mit einer Warnung unmaskiert weitergegeben. Erfordert v2.1.224 oder später |2530| `maskClaims` | Array von Zeichenfolgen, mindestens ein Claim-Name; erfordert `decode` | Maskiert nur die benannten Top-Level-Claims der Payload im dekodierten JWT und baut das Token um die geänderte Payload herum neu auf, damit die anderen Claims lesbar bleiben. Wenn kein benannter Claim passt, wird die Variable mit einer Warnung unmaskiert weitergegeben. Erfordert v2.1.224 oder später |

2528| `injectHosts` | Array von Zeichenfolgen, jede ein Host, den [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) ebenfalls zulässt | Grenzt die Hosts ein, bei denen der Sandbox-Proxy den echten Wert einsetzt. Wenn nicht gesetzt, setzt der Proxy ihn bei Anfragen an jeden Host in `sandbox.network.allowedDomains` ein. Schreiben Sie ein IPv6-Ziel als bloße komprimierte Adresse, z. B. `"::1"`, nicht in der geklammerten Form; siehe [IPv6 destinations in `injectHosts`](/docs/de/sandboxing#ipv6-destinations-in-injecthosts). Erfordert v2.1.199 oder später |2531| `injectHosts` | Array von Zeichenfolgen, jede ein Host, den [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) ebenfalls zulässt | Grenzt die Hosts ein, bei denen der Sandbox-Proxy den echten Wert einsetzt. Wenn nicht gesetzt, setzt der Proxy ihn bei Anfragen an jeden Host in `sandbox.network.allowedDomains` ein. Schreiben Sie ein IPv6-Ziel als bloße komprimierte Adresse, z. B. `"::1"`, nicht in der geklammerten Form; siehe [IPv6 destinations in `injectHosts`](/docs/de/sandboxing#ipv6-destinations-in-injecthosts) |

2529 2532 

2530Dies maskiert nur das Passwort in `DATABASE_URL`, entfernt die Variable, wenn das Muster auf nichts passt, und maskiert ein JWT in `SERVICE_JWT`, wobei jeder Claim außer `api_key` lesbar bleibt:2533Dies maskiert nur das Passwort in `DATABASE_URL`, entfernt die Variable, wenn das Muster auf nichts passt, und maskiert ein JWT in `SERVICE_JWT`, wobei jeder Claim außer `api_key` lesbar bleibt:

2531 2534 


2556 `sandbox.credentials.allowPlaintextInject`2559 `sandbox.credentials.allowPlaintextInject`

2557</h3>2560</h3>

2558 2561 

2559Erlauben Sie die `mask`-Ersetzung sowohl bei einfachen HTTP-Anfragen als auch bei TLS-terminiertem HTTPS. Bei einfachem HTTP ist die Identität des Upstream-Servers nicht verifiziert und die Anmeldedaten werden im Klartext übertragen, lassen Sie dies daher außerhalb vertrauenswürdiger Testnetzwerke deaktiviert. Erfordert Claude Code v2.1.199 oder später.2562Erlauben Sie die `mask`-Ersetzung sowohl bei einfachen HTTP-Anfragen als auch bei TLS-terminiertem HTTPS. Bei einfachem HTTP ist die Identität des Upstream-Servers nicht verifiziert und die Anmeldedaten werden im Klartext übertragen, lassen Sie dies daher außerhalb vertrauenswürdiger Testnetzwerke deaktiviert.

2560 2563 

2561* **Bereich**: [`User or managed`](#scopes)2564* **Bereich**: [`User or managed`](#scopes)

2562* **Typ**: Boolescher Wert2565* **Typ**: Boolescher Wert


2574}2577}

2575```2578```

2576 2579 

2577Erfordert Claude Code v2.1.199 oder später.

2578 

2579<h3 id="sandbox-credentials-awspairs">2580<h3 id="sandbox-credentials-awspairs">

2580 `sandbox.credentials.awsPairs`2581 `sandbox.credentials.awsPairs`

2581</h3>2582</h3>


2919}2920}

2920```2921```

2921 2922 

2922Wenn mehr als eine berücksichtigte Quelle es setzt, verwendet Claude Code den Wert aus der Quelle mit der höchsten Priorität: verwaltete Einstellungen, dann das `--settings`-Flag, dann Benutzereinstellungen. Erfordert Claude Code v2.1.199 oder später.2923Wenn mehr als eine berücksichtigte Quelle es setzt, verwendet Claude Code den Wert aus der Quelle mit der höchsten Priorität: verwaltete Einstellungen, dann das `--settings`-Flag, dann Benutzereinstellungen.

2923 2924 

2924<span id="context-and-memory" />2925<span id="context-and-memory" />

2925 2926 


2967}2968}

2968```2969```

2969 2970 

2970Legen Sie es mit dem [`/autocompact`](/docs/de/commands#all-commands)-Befehl fest, der diesen Schlüssel in Ihre Benutzereinstellungen schreibt. [Auto-Compact-Fenster einstellen](/docs/de/model-config#set-the-auto-compact-window) behandelt, wie der Befehl, das Flag, die Variable und die Einstellung zusammenwirken.2971Der Befehl [`/autocompact`](/docs/de/commands#all-commands) speichert ein Fenster für das aktuelle Modell unter [`modelSettings`](#modelsettings), das für dieses Modell Vorrang vor diesem Schlüssel in derselben Datei hat. [Auto-Compact-Fenster einstellen](/docs/de/model-config#set-the-auto-compact-window) behandelt, wie der Befehl, das Flag, die Variable und die Einstellung zusammenwirken.

2971 2972 

2972<h3 id="automemorydirectory">2973<h3 id="automemorydirectory">

2973 `autoMemoryDirectory`2974 `autoMemoryDirectory`

setup.md +5 −5

Details

45 <Tab title="Native Installation (Empfohlen)">45 <Tab title="Native Installation (Empfohlen)">

46 **macOS, Linux, WSL:**46 **macOS, Linux, WSL:**

47 47 

48 ```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}48 ```bash theme={null}

49 curl -fsSL https://claude.ai/install.sh | bash49 curl -fsSL https://claude.ai/install.sh | bash

50 ```50 ```

51 51 

52 **Windows PowerShell:**52 **Windows PowerShell:**

53 53 

54 ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}54 ```powershell theme={null}

55 irm https://claude.ai/install.ps1 | iex55 irm https://claude.ai/install.ps1 | iex

56 ```56 ```

57 57 

58 **Windows CMD:**58 **Windows CMD:**

59 59 

60 ```batch theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}60 ```batch theme={null}

61 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd61 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

62 ```62 ```

63 63 


75 </Tab>75 </Tab>

76 76 

77 <Tab title="Homebrew">77 <Tab title="Homebrew">

78 ```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}78 ```bash theme={null}

79 brew install --cask claude-code79 brew install --cask claude-code

80 ```80 ```

81 81 


87 </Tab>87 </Tab>

88 88 

89 <Tab title="WinGet">89 <Tab title="WinGet">

90 ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}90 ```powershell theme={null}

91 winget install Anthropic.ClaudeCode91 winget install Anthropic.ClaudeCode

92 ```92 ```

93 93 

skills.md +5 −4

Details

198 Skills auflösen, die denselben Namen haben198 Skills auflösen, die denselben Namen haben

199</h3>199</h3>

200 200 

201Wenn zwei Skills denselben Namen haben, entscheidet, woher jeder kam, welcher `/name` ausführt. Für einen Namen, der durch das Frontmatter-Feld `name` festgelegt wird, siehe [Wie ein Skill seinen Befehlsnamen erhält](#how-a-skill-gets-its-command-name). Die Tabelle behandelt die Enterprise-, Personal-, Projekt-, verschachtelte, Plugin- und claude.ai-Speicherorte, gebündelte Skills und Befehlsdateien:201Wenn zwei Skills denselben Verzeichnis- oder Dateinamen haben, entscheidet, woher jeder kam, welchen `/name` ausführt. Für einen Namen, der durch das Frontmatter-Feld `name` festgelegt wird, siehe [Wie ein Skill seinen Befehlsnamen erhält](#how-a-skill-gets-its-command-name). Die Tabelle behandelt die Enterprise-, Personal-, Projekt-, verschachtelten, Plugin- und claude.ai-Speicherorte, mitgelieferte Skills, integrierte Befehle und Befehlsdateien:

202 202 

203| Gleicher Name in | Welcher wird ausgeführt |203| Gleicher Name in | Welcher wird ausgeführt |

204| :- | :- |204| :- | :- |

205| Zwei von Enterprise, Personal und Projekt | Enterprise über Personal und Personal über Projekt. Mit `deploy` in beiden `~/.claude/skills/` und `.claude/skills/` des Projekts führt `/deploy` den persönlichen aus |205| Zwei von Enterprise, Personal und Projekt | Enterprise über Personal und Personal über Projekt. Mit `deploy` in beiden `~/.claude/skills/` und `.claude/skills/` des Projekts führt `/deploy` den persönlichen aus |

206| Einer dieser Speicherorte und ein [gebündelter Skill](#bundled-skills) | Ihr Skill ersetzt den gebündelten Befehl, aber nicht seine Aliase. Ein Projekt-`code-review`-Skill ersetzt `/code-review`, und der gebündelte Alias `/review` führt niemals Ihren Skill aus |206| Einer dieser Speicherorte und ein [gebündelter Skill](#bundled-skills) | Ihr Skill ersetzt den gebündelten Befehl, aber nicht seine Aliase. Ein Projekt-`code-review`-Skill ersetzt `/code-review`, und der gebündelte Alias `/review` führt niemals Ihren Skill aus |

207| Einer dieser Speicherorte und ein [integrierter Befehl](/docs/de/commands) | In einer lokalen Terminal-Sitzung ersetzt Ihr Skill den integrierten Befehl, aber nicht seine Aliase. Ein Projekt-`usage`-Skill ersetzt `/usage`, und der integrierte Alias `/cost` führt weiterhin den integrierten Befehl aus |

207| Ein Skill und eine Datei in `.claude/commands/` | Der Skill |208| Ein Skill und eine Datei in `.claude/commands/` | Der Skill |

208| Ein Projekt-Root-Skill und ein verschachtelter Skill | Beide werden geladen. Siehe [Monorepos und Unterverzeichnisse](#discovery-from-parent-and-nested-directories) |209| Ein Projekt-Root-Skill und ein verschachtelter Skill | Beide werden geladen. Siehe [Monorepos und Unterverzeichnisse](#discovery-from-parent-and-nested-directories) |

209| Ein Plugin-Skill und ein Skill an einem der obigen Speicherorte | Beide werden geladen, da Plugin-Skills als `/plugin-name:skill-name` namensgebunden sind |210| Ein Plugin-Skill und ein Skill an einem der obigen Speicherorte | Beide werden geladen, da Plugin-Skills als `/plugin-name:skill-name` namensgebunden sind |


416| `allowed-tools` | Nein | Tools, die Claude ohne Genehmigung während des Turns verwenden kann, der diese Fähigkeit aufruft. Die Genehmigung wird gelöscht, wenn Sie Ihre nächste Nachricht senden. Akzeptiert eine durch Leerzeichen oder Komma getrennte Zeichenkette oder eine YAML-Liste. Siehe [Tools für eine Fähigkeit vorab genehmigen](#pre-approve-tools-for-a-skill). |417| `allowed-tools` | Nein | Tools, die Claude ohne Genehmigung während des Turns verwenden kann, der diese Fähigkeit aufruft. Die Genehmigung wird gelöscht, wenn Sie Ihre nächste Nachricht senden. Akzeptiert eine durch Leerzeichen oder Komma getrennte Zeichenkette oder eine YAML-Liste. Siehe [Tools für eine Fähigkeit vorab genehmigen](#pre-approve-tools-for-a-skill). |

417| `disallowed-tools` | Nein | Tools, die aus Claudes verfügbarem Pool entfernt werden, während diese Fähigkeit aktiv ist. Verwenden Sie für autonome Fähigkeiten, die niemals bestimmte Tools aufrufen sollten, z. B. `AskUserQuestion` für eine Hintergrundschleife. Akzeptiert eine durch Leerzeichen oder Komma getrennte Zeichenkette oder eine YAML-Liste. Die Einschränkung wird gelöscht, wenn Sie Ihre nächste Nachricht senden. Wie Ablehnungsregeln kann das Feld [`EndConversation`](/docs/de/tools-reference#endconversation-tool-behavior) nicht entfernen, während ein anderes Tool verfügbar bleibt. |418| `disallowed-tools` | Nein | Tools, die aus Claudes verfügbarem Pool entfernt werden, während diese Fähigkeit aktiv ist. Verwenden Sie für autonome Fähigkeiten, die niemals bestimmte Tools aufrufen sollten, z. B. `AskUserQuestion` für eine Hintergrundschleife. Akzeptiert eine durch Leerzeichen oder Komma getrennte Zeichenkette oder eine YAML-Liste. Die Einschränkung wird gelöscht, wenn Sie Ihre nächste Nachricht senden. Wie Ablehnungsregeln kann das Feld [`EndConversation`](/docs/de/tools-reference#endconversation-tool-behavior) nicht entfernen, während ein anderes Tool verfügbar bleibt. |

418| `model` | Nein | Modell, das verwendet werden soll, wenn diese Fähigkeit aktiv ist. Die Außerkraftsetzung gilt für den Rest des aktuellen Turns und wird nicht in den Einstellungen gespeichert; das Sitzungsmodell wird bei Ihrer nächsten Eingabeaufforderung fortgesetzt. Akzeptiert die gleichen Werte wie [`/model`](/docs/de/model-config), oder `inherit`, um das aktive Modell beizubehalten. Ein Wert, der durch die [`availableModels`](/docs/de/model-config#restrict-model-selection)-Zulassungsliste Ihrer Organisation ausgeschlossen ist, wird nicht verwendet und die Sitzung behält ihr aktuelles Modell. Im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) und im [Plan-Modus, während der Klassifizierer Befehle überprüft](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode), wird ein Modell, das der Auto-Modus nicht unterstützt, auch nicht verwendet, und die Sitzung behält ihr aktuelles Modell. Mit `context: fork` setzt der Wert stattdessen das [Modell des verzweigten Subagents](#run-skills-in-a-subagent) und ein ausgeschlossener Wert folgt den [gleichen Regeln wie eine Subagent-Modellüberschreibung](/docs/de/model-config#restrict-model-selection). |419| `model` | Nein | Modell, das verwendet werden soll, wenn diese Fähigkeit aktiv ist. Die Außerkraftsetzung gilt für den Rest des aktuellen Turns und wird nicht in den Einstellungen gespeichert; das Sitzungsmodell wird bei Ihrer nächsten Eingabeaufforderung fortgesetzt. Akzeptiert die gleichen Werte wie [`/model`](/docs/de/model-config), oder `inherit`, um das aktive Modell beizubehalten. Ein Wert, der durch die [`availableModels`](/docs/de/model-config#restrict-model-selection)-Zulassungsliste Ihrer Organisation ausgeschlossen ist, wird nicht verwendet und die Sitzung behält ihr aktuelles Modell. Im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) und im [Plan-Modus, während der Klassifizierer Befehle überprüft](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode), wird ein Modell, das der Auto-Modus nicht unterstützt, auch nicht verwendet, und die Sitzung behält ihr aktuelles Modell. Mit `context: fork` setzt der Wert stattdessen das [Modell des verzweigten Subagents](#run-skills-in-a-subagent) und ein ausgeschlossener Wert folgt den [gleichen Regeln wie eine Subagent-Modellüberschreibung](/docs/de/model-config#restrict-model-selection). |

419| `effort` | Nein | [Aufwandsstufe](/docs/de/model-config#adjust-effort-level), wenn diese Fähigkeit aktiv ist. Überschreibt die Sitzungsaufwandsstufe. Standard: erbt von Sitzung. Optionen: `low`, `medium`, `high`, `xhigh`, `max`; verfügbare Stufen hängen vom Modell ab. |420| `effort` | Nein | [Effort-Stufe](/docs/de/model-config#adjust-effort-level), wenn dieser Skill aktiv ist. Überschreibt die Effort-Stufe der Sitzung. Wenn Sie das Feld weglassen, ergibt sich die Stufe aus der [Auflösungsreihenfolge für Effort](/docs/de/model-config#adjust-effort-level). Optionen: `low`, `medium`, `high`, `xhigh`, `max`; verfügbare Stufen hängen vom Modell ab. |

420| `context` | Nein | Setzen Sie auf `fork`, um in einem verzweigten Subagent-Kontext ausgeführt zu werden. Siehe [Fähigkeiten in einem Subagent ausführen](#run-skills-in-a-subagent). |421| `context` | Nein | Setzen Sie auf `fork`, um in einem verzweigten Subagent-Kontext ausgeführt zu werden. Siehe [Fähigkeiten in einem Subagent ausführen](#run-skills-in-a-subagent). |

421| `agent` | Nein | Welcher Subagent-Typ verwendet werden soll, wenn `context: fork` gesetzt ist. |422| `agent` | Nein | Welcher Subagent-Typ verwendet werden soll, wenn `context: fork` gesetzt ist. |

422| `background` | Nein | Gilt nur mit `context: fork`. Setzen Sie auf `false`, um auf das Ergebnis des verzweigten Subagents im Turn zu warten, der die Fähigkeit aufgerufen hat, anstatt [es im Hintergrund auszuführen](#run-skills-in-a-subagent). Standard: `true`. Erfordert Claude Code v2.1.218 oder später. |423| `background` | Nein | Gilt nur mit `context: fork`. Setzen Sie auf `false`, um auf das Ergebnis des verzweigten Subagents im Turn zu warten, der die Fähigkeit aufgerufen hat, anstatt [es im Hintergrund auszuführen](#run-skills-in-a-subagent). Standard: `true`. Erfordert Claude Code v2.1.218 oder später. |


664 665 

665Wenn Sie eine Fähigkeit mit Argumenten aufrufen, aber kein Platzhalter im Fähigkeitsinhalt ein Argument empfängt, hängt Claude Code `ARGUMENTS: <your input>` am Ende des Fähigkeitsinhalts an, damit Claude immer noch sieht, was Sie eingegeben haben. Ein Platzhalter ist `$ARGUMENTS`, eine indizierte Form wie `$1` oder ein benanntes Argument. Ein indizierter Platzhalter ohne Argument an seiner Position bleibt als Literaltext und zählt nicht als empfangen. Ein benannter Platzhalter zählt auch, wenn seine Position kein Argument hat, weil er zu einer leeren Zeichenkette expandiert.666Wenn Sie eine Fähigkeit mit Argumenten aufrufen, aber kein Platzhalter im Fähigkeitsinhalt ein Argument empfängt, hängt Claude Code `ARGUMENTS: <your input>` am Ende des Fähigkeitsinhalts an, damit Claude immer noch sieht, was Sie eingegeben haben. Ein Platzhalter ist `$ARGUMENTS`, eine indizierte Form wie `$1` oder ein benanntes Argument. Ein indizierter Platzhalter ohne Argument an seiner Position bleibt als Literaltext und zählt nicht als empfangen. Ein benannter Platzhalter zählt auch, wenn seine Position kein Argument hat, weil er zu einer leeren Zeichenkette expandiert.

666 667 

667Sie können auch mehrere Fähigkeiten am Anfang einer Nachricht stapeln. Das Eingeben von `/write-tests /fix-issue 123` lädt beide Fähigkeiten und übergibt den nachfolgenden Text `123` als `$ARGUMENTS` an jede von ihnen. Vor v2.1.199 wurde nur die erste Fähigkeit geladen und erhielt `/fix-issue 123` als Literalargumenttext.668Sie können auch mehrere Skills am Anfang einer Nachricht stapeln. Die Eingabe von `/write-tests /fix-issue 123` lädt beide Skills und übergibt den nachfolgenden Text `123` als `$ARGUMENTS` an jeden von ihnen.

668 669 

669Claude Code expandiert die erste Fähigkeit plus bis zu fünf weitere, die danach gestapelt sind. Die Expansion stoppt beim ersten Token, das keine Inline-Benutzer-aufgerufene Fähigkeit ist, sodass eine Fähigkeit, die als [verzweigter Subagent](#run-skills-in-a-subagent) ausgeführt wird, wie [`/code-review`](/docs/de/code-review#review-a-diff-locally), oder eine, deren Argumente selbst mit einem Schrägstrich-Befehl beginnen können, wie `/loop`, auch dort endet. Dieser Token und alles danach werden der Argumenttext für jede expandierte Fähigkeit. `/code-review` wird ab v2.1.218 als verzweigter Subagent ausgeführt; in früheren Versionen wurde es inline ausgeführt und gestapelt.670Claude Code expandiert die erste Fähigkeit plus bis zu fünf weitere, die danach gestapelt sind. Die Expansion stoppt beim ersten Token, das keine Inline-Benutzer-aufgerufene Fähigkeit ist, sodass eine Fähigkeit, die als [verzweigter Subagent](#run-skills-in-a-subagent) ausgeführt wird, wie [`/code-review`](/docs/de/code-review#review-a-diff-locally), oder eine, deren Argumente selbst mit einem Schrägstrich-Befehl beginnen können, wie `/loop`, auch dort endet. Dieser Token und alles danach werden der Argumenttext für jede expandierte Fähigkeit. `/code-review` wird ab v2.1.218 als verzweigter Subagent ausgeführt; in früheren Versionen wurde es inline ausgeführt und gestapelt.

670 671 


923 924 

924Das `/skills`-Menü kennzeichnet den `"user-invocable-only"`-Zustand als `user-only`.925Das `/skills`-Menü kennzeichnet den `"user-invocable-only"`-Zustand als `user-only`.

925 926 

926Ab v2.1.199 versteckt `"off"` den Skill auch vor den Befehlslisten, die [Remote Control](/docs/de/remote-control)-Clients und [Agent SDK](/docs/de/agent-sdk/skills#discover-available-commands)-Aufrufer erhalten, zusätzlich zum Terminal-`/`-Menü. Das Aufrufen eines versteckten Skills mit seinem vollständigen Namen gibt stattdessen den `skillOverrides`-Fehler zurück, anstatt ihn auszuführen.927`"off"` versteckt den Skill auch vor den Befehlslisten, die [Remote Control](/docs/de/remote-control)-Clients und [Agent SDK](/docs/de/agent-sdk/skills#discover-available-commands)-Aufrufern angeboten werden, zusätzlich zum `/`-Menü im Terminal. Das Aufrufen eines versteckten Skills mit seinem vollständigen Namen gibt den `skillOverrides`-Fehler zurück, anstatt ihn auszuführen.

927 928 

928Ein Skill, der in `skillOverrides` fehlt, wird als `"on"` behandelt. Das folgende Beispiel reduziert einen Skill auf seinen Namen und schaltet einen anderen ganz aus:929Ein Skill, der in `skillOverrides` fehlt, wird als `"on"` behandelt. Das folgende Beispiel reduziert einen Skill auf seinen Namen und schaltet einen anderen ganz aus:

929 930 

sub-agents.md +2 −2

Details

986 986 

987Wenn etwas [die Antwort eines Subagenten mitten im Stream unterbricht](/docs/de/errors#the-response-above-may-be-incomplete), und die teilweise Antwort Text enthält, aber keine Tool-Aufrufe, fordert Claude Code den Subagenten auf, fortzufahren, anstatt den Lauf zu beenden. Dies geschieht auch in interaktiven Sitzungen. Der Lauf endet beim Fehler nur, wenn diese Fortsetzungen aufgebraucht sind.987Wenn etwas [die Antwort eines Subagenten mitten im Stream unterbricht](/docs/de/errors#the-response-above-may-be-incomplete), und die teilweise Antwort Text enthält, aber keine Tool-Aufrufe, fordert Claude Code den Subagenten auf, fortzufahren, anstatt den Lauf zu beenden. Dies geschieht auch in interaktiven Sitzungen. Der Lauf endet beim Fehler nur, wenn diese Fortsetzungen aufgebraucht sind.

988 988 

989Ab v2.1.199 meldet ein Subagent, dessen Lauf bei einem API-Fehler endet, z. B. bei einem Nutzungslimit oder wiederholtem 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 lief:989Ein Subagent, dessen Lauf bei einem API-Fehler endet, z. B. bei einem Nutzungslimit oder wiederholtem Serverfehler, meldet diesen Fehler an Claude zurück. Was Claude erhält, hängt davon ab, wo der Subagent lief:

990 990 

991* **Vordergrund**: Wenn ein Rate-Limit, eine Überlastung oder ein Serverfehler einen Subagenten unterbricht, der bereits Textausgabe produziert hat, gibt das Agent-Tool diese teilweise Ausgabe mit einer Notiz zurück, dass der Subagent unterbrochen wurde und seine Aufgabe nicht abgeschlossen hat. Ein Subagent, der nichts produziert hat oder dessen einzige Ausgabe Tool-Aufrufe waren, schlägt mit [`Agent terminated early due to an API error`](/docs/de/errors#agent-terminated-early-due-to-an-api-error) fehl, gefolgt vom Fehlerdetail. In v2.1.199 gab ein Rate-Limit, eine Überlastung oder ein Serverfehler, der die Form „nur Tool-Aufrufe" unterbrach, stattdessen ein leeres teilweises Ergebnis zurück, das nur die Unterbrechungsnotiz enthielt.991* **Vordergrund**: Wenn ein Rate-Limit, eine Überlastung oder ein Serverfehler einen Subagenten unterbricht, der bereits Textausgabe produziert hat, gibt das Agent-Tool diese teilweise Ausgabe mit einer Notiz zurück, dass der Subagent unterbrochen wurde und seine Aufgabe nicht abgeschlossen hat. Ein Subagent, der nichts produziert hat oder dessen einzige Ausgabe Tool-Aufrufe waren, schlägt mit [`Agent terminated early due to an API error`](/docs/de/errors#agent-terminated-early-due-to-an-api-error) fehl, gefolgt vom Fehlerdetail. In v2.1.199 gab ein Rate-Limit, eine Überlastung oder ein Serverfehler, der die Form „nur Tool-Aufrufe" unterbrach, stattdessen ein leeres teilweises Ergebnis zurück, das nur die Unterbrechungsnotiz enthielt.

992* **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 teilweise Arbeit nicht verloren geht.992* **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 teilweise Arbeit nicht verloren geht.


1188 1188 

1189Das Fortsetzen startet einen neuen Lauf des Agenten unter derselben ID, sodass ein Subagent, der bereits fehlgeschlagen oder abgeschlossen war, wieder als laufend in der Task-Liste und in den Task-Events des Agent SDK angezeigt wird. Vor v2.1.205 zeigte er seinen früheren fehlgeschlagenen oder abgeschlossenen Status, während der fortgesetzte Lauf arbeitete.1189Das Fortsetzen startet einen neuen Lauf des Agenten unter derselben ID, sodass ein Subagent, der bereits fehlgeschlagen oder abgeschlossen war, wieder als laufend in der Task-Liste und in den Task-Events des Agent SDK angezeigt wird. Vor v2.1.205 zeigte er seinen früheren fehlgeschlagenen oder abgeschlossenen Status, während der fortgesetzte Lauf arbeitete.

1190 1190 

1191Ab 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 gespawnter 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 sie umleiten kann. Um den früheren Agenten zu erreichen, während er noch läuft, adressiert Claude ihn nach der Agent-ID, die er erhielt, als er diesen Agenten spawnte. Die Überprüfung ist auf die aktuelle Konversation beschränkt und setzt sich bei `/clear` zurück.1191`SendMessage` überprüft, 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 gespawnter 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 sie umleiten kann. Um den früheren Agenten zu erreichen, während er noch läuft, adressiert Claude ihn nach der Agent-ID, die er erhielt, als er diesen Agenten spawnte. Die Überprüfung ist auf die aktuelle Konversation beschränkt und setzt sich bei `/clear` zurück.

1192 1192 

1193Ein Subagent behandelt Nachrichten vom Agenten, der ihn gestartet hat, als normale Task-Anweisungen, einschließlich Kurskorrekturen mitten in der Aufgabe, und handelt danach innerhalb seiner eigenen Berechtigungseinstellungen. Zwei Grenzen gelten unabhängig davon, wer die Nachricht gesendet hat: Keine Nachricht von einem Agenten zählt als Ihre Genehmigung für eine ausstehende Berechtigungsabfrage, und keine Agent-Nachricht kann die Berechtigungseinstellungen, `CLAUDE.md` oder Konfiguration eines Subagenten ändern. Nur das Berechtigungssystem oder Ihre eigenen Nachrichten können eine Genehmigung erteilen.1193Ein Subagent behandelt Nachrichten vom Agenten, der ihn gestartet hat, als normale Task-Anweisungen, einschließlich Kurskorrekturen mitten in der Aufgabe, und handelt danach innerhalb seiner eigenen Berechtigungseinstellungen. Zwei Grenzen gelten unabhängig davon, wer die Nachricht gesendet hat: Keine Nachricht von einem Agenten zählt als Ihre Genehmigung für eine ausstehende Berechtigungsabfrage, und keine Agent-Nachricht kann die Berechtigungseinstellungen, `CLAUDE.md` oder Konfiguration eines Subagenten ändern. Nur das Berechtigungssystem oder Ihre eigenen Nachrichten können eine Genehmigung erteilen.

1194 1194 

ultrareview.md +1 −5

Details

134| - | - | - |134| - | - | - |

135| Pro | 3 kostenlose Durchläufe | abgerechnet als [Nutzungsguthaben](https://support.claude.com/de/articles/12429409-extra-usage-for-paid-claude-plans) |135| Pro | 3 kostenlose Durchläufe | abgerechnet als [Nutzungsguthaben](https://support.claude.com/de/articles/12429409-extra-usage-for-paid-claude-plans) |

136| Max | 3 kostenlose Durchläufe | abgerechnet als [Nutzungsguthaben](https://support.claude.com/de/articles/12429409-extra-usage-for-paid-claude-plans) |136| Max | 3 kostenlose Durchläufe | abgerechnet als [Nutzungsguthaben](https://support.claude.com/de/articles/12429409-extra-usage-for-paid-claude-plans) |

137| Team und Enterprise | keine | abgerechnet als [Nutzungsguthaben](https://support.claude.com/de/articles/12429409-extra-usage-for-paid-claude-plans) |

138 137 

139* **Kostenlose Durchläufe**: Die drei Pro- und Max-Durchläufe sind eine einmalige Zuteilung pro Konto und werden nicht erneuert.138* **Kostenlose Durchläufe**: Die drei Pro- und Max-Durchläufe sind eine einmalige Zuteilung pro Konto und werden nicht erneuert.

140* **Kosten pro Review**: Nach Verwendung der kostenlosen Durchläufe typischerweise 5 bis 25 Dollar in Nutzungsguthaben, je nach Größe der Änderung, entsprechend der Schätzung, die der Startdialog vor jedem Durchlauf anzeigt.139* **Kosten pro Review**: Nach Verwendung der kostenlosen Durchläufe typischerweise 5 bis 25 Dollar in Nutzungsguthaben, je nach Größe der Änderung, entsprechend der Schätzung, die der Startdialog vor jedem Durchlauf anzeigt.

141* **Wann ein Durchlauf zählt**: sobald die Cloud-Sitzung startet. Eine Review, die Sie frühzeitig beenden oder die nicht vollständig abgeschlossen wird, verbraucht immer noch einen kostenlosen Durchlauf; eine kostenpflichtige Review wird nur für den Teil abgerechnet, der ausgeführt wurde.140* **Wann ein Durchlauf zählt**: sobald die Cloud-Sitzung startet. Eine Review, die Sie frühzeitig beenden oder die nicht vollständig abgeschlossen wird, verbraucht immer noch einen kostenlosen Durchlauf; eine kostenpflichtige Review wird nur für den Teil abgerechnet, der ausgeführt wurde.

142 141 

143Da Ultrareview außerhalb der kostenlosen Durchläufe immer als Nutzungsguthaben abgerechnet wird, muss Ihr Konto oder Ihre Organisation Nutzungsguthaben aktiviert haben, bevor Sie eine kostenpflichtige Review starten können. Wenn Nutzungsguthaben nicht aktiviert sind, blockiert Claude Code den Start, und wie Sie diese aktivieren, hängt von Ihrem Abrechnungszugriff ab:142Da Ultrareview außerhalb der kostenlosen Durchläufe immer als Nutzungsguthaben abgerechnet wird, muss Ihr Konto oder Ihre Organisation Nutzungsguthaben aktiviert haben, bevor Sie eine kostenpflichtige Review starten können. Wenn Nutzungsguthaben nicht aktiviert sind, blockiert Claude Code den Start. Wenn Sie die Abrechnung für Ihr Konto verwalten können, verlinkt Claude Code Sie zu den Abrechnungseinstellungen, wo Sie Nutzungsguthaben aktivieren können.

144 

145* Wenn Sie die Abrechnung für Ihr Konto verwalten können, verlinkt Claude Code Sie zu den Abrechnungseinstellungen, wo Sie Nutzungsguthaben aktivieren können.

146* Bei Team- und Enterprise-Plänen senden Mitglieder ohne Abrechnungszugriff eine Anfrage über die CLI, in der sie ihren Administrator bitten, Nutzungsguthaben zu aktivieren.

147 143 

148Sie können auch `/usage-credits` ausführen, um Ihre Nutzungsguthaben-Einstellung zu überprüfen oder zu ändern.144Sie können auch `/usage-credits` ausführen, um Ihre Nutzungsguthaben-Einstellung zu überprüfen oder zu ändern.

149 145 

Details

184 184 

185Häufige Probleme, wenn die Spracherfassung nicht aktiviert wird oder nicht aufnimmt:185Häufige Probleme, wenn die Spracherfassung nicht aktiviert wird oder nicht aufnimmt:

186 186 

187* **`Voice mode requires a Claude.ai account`**: Sie sind mit einem API-Schlüssel oder einem Drittanbieter authentifiziert. Führen Sie `/login` aus, um sich mit einem Claude.ai-Konto anzumelden.187* **`Unknown command: /voice`**: `/voice` ist nur verfügbar, solange ein claude.ai-Konto Ihre aktive Anmeldung ist. Wenn Sie nicht mit einem solchen Konto angemeldet sind, führen Sie `/login` aus. Wenn `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, eine `apiKeyHelper`-Einstellung oder ein [Drittanbieter](#requirements) verwendet wird, hat dies Vorrang vor einer claude.ai-Anmeldung. Entfernen Sie es daher und starten Sie Claude Code neu.

188* **`Voice mode requires a Claude.ai account`**: Claude Code konnte keine verwendbare claude.ai-Anmeldung finden, als Sie `/voice` ausgeführt oder die Aufnahme gestartet haben. Führen Sie `/login` aus, um sich erneut anzumelden.

188* **`Voice mode is disabled by your organization's policy`**: Eine Administratorrichtlinie Ihrer Organisation deaktiviert die Spracherfassung. Kontaktieren Sie Ihren Organisationsadministrator, um zu bestätigen, ob die Spracherfassung für Ihre Organisation verfügbar ist.189* **`Voice mode is disabled by your organization's policy`**: Eine Administratorrichtlinie Ihrer Organisation deaktiviert die Spracherfassung. Kontaktieren Sie Ihren Organisationsadministrator, um zu bestätigen, ob die Spracherfassung für Ihre Organisation verfügbar ist.

189* **`Microphone access is denied`**: Gewähren Sie Ihrem Terminal in den Systemeinstellungen Mikrofonberechtigung. Unter macOS gehen Sie zu Systemeinstellungen → Datenschutz & Sicherheit → Mikrofon und aktivieren Sie Ihre Terminal-App, führen Sie dann `/voice` erneut aus. Unter Windows gehen Sie zu Einstellungen → Datenschutz & Sicherheit → Mikrofon und aktivieren Sie den Mikrofonzugriff für Desktop-Apps, führen Sie dann `/voice` erneut aus. Wenn Ihr Terminal nicht in den macOS-Einstellungen aufgeführt ist, siehe [Terminal nicht in macOS-Mikrofoneinstellungen aufgeführt](#terminal-not-listed-in-macos-microphone-settings).190* **`Microphone access is denied`**: Gewähren Sie Ihrem Terminal in den Systemeinstellungen Mikrofonberechtigung. Unter macOS gehen Sie zu Systemeinstellungen → Datenschutz & Sicherheit → Mikrofon und aktivieren Sie Ihre Terminal-App, führen Sie dann `/voice` erneut aus. Unter Windows gehen Sie zu Einstellungen → Datenschutz & Sicherheit → Mikrofon und aktivieren Sie den Mikrofonzugriff für Desktop-Apps, führen Sie dann `/voice` erneut aus. Wenn Ihr Terminal nicht in den macOS-Einstellungen aufgeführt ist, siehe [Terminal nicht in macOS-Mikrofoneinstellungen aufgeführt](#terminal-not-listed-in-macos-microphone-settings).

190* **`Voice mode requires SoX for audio recording` unter Linux**: Das native Audiomodul konnte nicht geladen werden und kein Fallback ist installiert. Installieren Sie SoX mit dem im Fehlermeldung angezeigten Befehl, z. B. `sudo apt-get install sox`.191* **`Voice mode requires SoX for audio recording` unter Linux**: Das native Audiomodul konnte nicht geladen werden und kein Fallback ist installiert. Installieren Sie SoX mit dem im Fehlermeldung angezeigten Befehl, z. B. `sudo apt-get install sox`.