SpyBara
Go Premium

Documentation 2026-11-13 23:02 UTC to 2026-11-14 03:01 UTC

37 files changed +341 −194. View all changes and history on the product overview
2026
Sat 14 03:01 Fri 13 23:02 Thu 12 23:02 Wed 11 22:59 Tue 10 21:57 Mon 9 23:02 Sun 8 22:58 Sat 7 23:58 Fri 6 23:01 Thu 5 23:03 Wed 4 23:59 Tue 3 23:58 Mon 2 23:57 Sun 1 23:57
Details

14 14 

15## Wie Checkpointing funktioniert15## Wie Checkpointing funktioniert

16 16 

17Wenn Sie File Checkpointing aktivieren, erstellt das SDK Sicherungen von Dateien, bevor diese durch die Tools Write, Edit oder NotebookEdit geändert werden. Benutzermeldungen im Response-Stream enthalten eine Checkpoint-UUID, die Sie als Wiederherstellungspunkt verwenden können.17Wenn Sie File Checkpointing aktivieren, erstellt das SDK Sicherungen von Dateien, bevor diese durch die Tools Write, Edit oder NotebookEdit geändert werden. Jeder Prompt, der einen Turn startet, ist ein Checkpoint, und die UUID seiner Benutzernachricht ist der Wiederherstellungspunkt.

18 18 

19> [!NOTE]19> [!NOTE]

20>20>


147 147 

148**2. Checkpoint-UUID und Session-ID erfassen**148**2. Checkpoint-UUID und Session-ID erfassen**

149 149 

150Mit der oben gezeigten Option `replay-user-messages` hat jede Benutzermeldung im Response-Stream eine UUID, die als Checkpoint dient.150Wenn die Option `replay-user-messages` gesetzt ist, hat die Benutzermeldung für jeden Prompt, der einen Turn startet, eine UUID, die als Checkpoint dient. Benutzermeldungen, die Tool-Ergebnisse enthalten, haben ebenfalls eine UUID, diese ist jedoch kein Checkpoint.

151 151 

152Für die meisten Anwendungsfälle erfassen Sie die UUID der ersten Benutzermeldung (`message.uuid`); das Zurückspulen zu ihr stellt die verfolgten Dateien in ihren ursprünglichen Zustand wieder her. Um mehrere Checkpoints zu speichern und zu Zwischenzuständen zurückzuspulen, siehe [Mehrere Wiederherstellungspunkte](#multiple-restore-points).152Für die meisten Anwendungsfälle erfassen Sie die UUID der ersten Benutzermeldung (`message.uuid`); das Zurückspulen zu ihr stellt die verfolgten Dateien in ihren ursprünglichen Zustand wieder her. Um mehrere Checkpoints zu speichern und zu Zwischenzuständen zurückzuspulen, siehe [Mehrere Wiederherstellungspunkte](#multiple-restore-points).

153 153 


171 171 

172### Checkpoint vor riskanten Operationen172### Checkpoint vor riskanten Operationen

173 173 

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

175 175 

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

177 177 


193 await client.query("Refactor the authentication module")193 await client.query("Refactor the authentication module")

194 194 

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

196 # Update checkpoint before each agent turn starts196 # Update checkpoint at each prompt you send; a tool result isn't one

197 # This overwrites the previous checkpoint. Only keep the latest197 # This overwrites the previous checkpoint. Only keep the latest

198 if isinstance(message, UserMessage) and message.uuid:198 if (

199 isinstance(message, UserMessage)

200 and message.uuid

201 and message.tool_use_result is None

202 and message.parent_tool_use_id is None

203 ):

199 safe_checkpoint = message.uuid204 safe_checkpoint = message.uuid

200 205 

201 # Decide when to revert based on your own logic206 # Decide when to revert based on your own logic


225 let safeCheckpoint: string | undefined;230 let safeCheckpoint: string | undefined;

226 231 

227 for await (const message of response) {232 for await (const message of response) {

228 // Update checkpoint before each agent turn starts233 // Update checkpoint at each prompt you send; a tool result isn't one

229 // This overwrites the previous checkpoint. Only keep the latest234 // This overwrites the previous checkpoint. Only keep the latest

230 if (message.type === "user" && message.uuid) {235 if (message.type === "user" && "isReplay" in message && message.isReplay && message.uuid) {

231 safeCheckpoint = message.uuid;236 safeCheckpoint = message.uuid;

232 }237 }

233 238 


246 251 

247### Mehrere Wiederherstellungspunkte252### Mehrere Wiederherstellungspunkte

248 253 

249Wenn Claude Änderungen über mehrere Turns hinweg vornimmt, möchten Sie möglicherweise zu einem bestimmten Punkt zurückspulen, anstatt ganz nach hinten zu gehen. Wenn Claude beispielsweise eine Datei in Turn eins umgestaltet und Tests in Turn zwei hinzufügt, möchten Sie möglicherweise die Umgestaltung behalten, aber die Tests rückgängig machen.254Wenn Claude Änderungen über mehrere Prompts hinweg vornimmt, möchten Sie möglicherweise zu einem bestimmten Punkt zurückspulen, anstatt ganz zum Anfang zurückzugehen. Wenn Ihr erster Prompt beispielsweise eine Datei umgestaltet und Ihr zweiter Tests hinzufügt, spulen Sie zum Checkpoint Ihres zweiten Prompts zurück, um die Umgestaltung zu behalten und die Tests rückgängig zu machen.

250 255 

251Dieses Muster speichert alle Checkpoint-UUIDs in einem Array mit Metadaten. Nach Abschluss der Sitzung können Sie zu jedem vorherigen Checkpoint zurückspulen:256Dieses Muster speichert jede Checkpoint-UUID in einem Array mit Metadaten. Nach Abschluss der Sitzung können Sie zu jedem vorherigen Checkpoint zurückspulen:

252 257 

253```python Python theme={null}258```python Python theme={null}

254import asyncio259import asyncio


284 await client.query("Refactor the authentication module")289 await client.query("Refactor the authentication module")

285 290 

286 async for message in client.receive_response():291 async for message in client.receive_response():

287 if isinstance(message, UserMessage) and message.uuid:292 if (

293 isinstance(message, UserMessage)

294 and message.uuid

295 and message.tool_use_result is None

296 and message.parent_tool_use_id is None

297 ):

288 checkpoints.append(298 checkpoints.append(

289 Checkpoint(299 Checkpoint(

290 id=message.uuid,300 id=message.uuid,


338 348 

339 try {349 try {

340 for await (const message of response) {350 for await (const message of response) {

341 if (message.type === "user" && message.uuid) {351 if (message.type === "user" && "isReplay" in message && message.isReplay && message.uuid) {

342 checkpoints.push({352 checkpoints.push({

343 id: message.uuid,353 id: message.uuid,

344 description: `After turn ${checkpoints.length + 1}`,354 description: `After turn ${checkpoints.length + 1}`,


638 648 

639* File Checkpointing war in der ursprünglichen Sitzung nicht aktiviert (`enable_file_checkpointing` oder `enableFileCheckpointing` war nicht auf `true` gesetzt)649* File Checkpointing war in der ursprünglichen Sitzung nicht aktiviert (`enable_file_checkpointing` oder `enableFileCheckpointing` war nicht auf `true` gesetzt)

640* Die Sitzung wurde nicht vollständig abgeschlossen, bevor versucht wurde, sie fortzusetzen und zurückzuspulen650* Die Sitzung wurde nicht vollständig abgeschlossen, bevor versucht wurde, sie fortzusetzen und zurückzuspulen

651* Die UUID stammt aus einer Benutzermeldung, die ein Tool-Ergebnis enthält; eine solche Meldung ist kein Checkpoint

641 652 

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

643 654 

Details

496| **Persistenz** | Pro-Projekt-Datei | Als Dateien gespeichert | Nur Sitzung | Nur Sitzung |496| **Persistenz** | Pro-Projekt-Datei | Als Dateien gespeichert | Nur Sitzung | Nur Sitzung |

497| **Wiederverwendbarkeit** | Pro-Projekt | Über Projekte hinweg | Code-Duplizierung | Code-Duplizierung |497| **Wiederverwendbarkeit** | Pro-Projekt | Über Projekte hinweg | Code-Duplizierung | Code-Duplizierung |

498| **Verwaltung** | Im Dateisystem | CLI + Dateien | Im Code | Im Code |498| **Verwaltung** | Im Dateisystem | CLI + Dateien | Im Code | Im Code |

499| **Standard-Werkzeuge** | Bewahrt | Bewahrt | Bewahrt | Verloren (sofern nicht enthalten) |499| **Tool-Anleitungen** | Bewahrt | Bewahrt | Bewahrt | Verloren (sofern nicht enthalten) |

500| **Integrierte Sicherheit** | Beibehalten | Beibehalten | Beibehalten | Muss hinzugefügt werden |500| **Integrierte Sicherheit** | Beibehalten | Beibehalten | Beibehalten | Muss hinzugefügt werden |

501| **Anpassungsebene** | Nur Ergänzungen | Ergänzungen; Coding-Anweisungen können weggelassen werden | Nur Ergänzungen | Vollständige Kontrolle |501| **Anpassungsebene** | Nur Ergänzungen | Ergänzungen; Coding-Anweisungen können weggelassen werden | Nur Ergänzungen | Vollständige Kontrolle |

502| **Versionskontrolle** | Mit Projekt | Ja | Mit Code | Mit Code |502| **Versionskontrolle** | Mit Projekt | Ja | Mit Code | Mit Code |

Details

875| `allowed_tools` | `list[str]` | `[]` | Tools, die automatisch genehmigt werden, ohne nachzufragen, ausgenommen Lesezugriffe auf [Netzwerkpfade](https://code.claude.com/docs/de/permissions.md#network-paths). Dies beschränkt Claude nicht nur auf diese Tools. Wenn Sie eines der [Task-Tracking-Tools](https://code.claude.com/docs/de/agent-sdk/todo-tracking.md#model-availability) hier nennen, aktiviert Claude Code diese auch für die Sitzung. Andere nicht aufgelistete Tools fallen auf `permission_mode` und `can_use_tool` durch. Verwenden Sie `disallowed_tools`, um Tools zu blockieren. Siehe [Berechtigungen](https://code.claude.com/docs/de/agent-sdk/permissions.md#allow-and-deny-rules) |875| `allowed_tools` | `list[str]` | `[]` | Tools, die automatisch genehmigt werden, ohne nachzufragen, ausgenommen Lesezugriffe auf [Netzwerkpfade](https://code.claude.com/docs/de/permissions.md#network-paths). Dies beschränkt Claude nicht nur auf diese Tools. Wenn Sie eines der [Task-Tracking-Tools](https://code.claude.com/docs/de/agent-sdk/todo-tracking.md#model-availability) hier nennen, aktiviert Claude Code diese auch für die Sitzung. Andere nicht aufgelistete Tools fallen auf `permission_mode` und `can_use_tool` durch. Verwenden Sie `disallowed_tools`, um Tools zu blockieren. Siehe [Berechtigungen](https://code.claude.com/docs/de/agent-sdk/permissions.md#allow-and-deny-rules) |

876| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptCustom \| SystemPromptFile \| None` | `None` | System-Prompt-Konfiguration. Übergeben Sie eine Zeichenkette für einen benutzerdefinierten Prompt, `{"type": "preset", "preset": "claude_code"}` für den System-Prompt von Claude Code mit optionalem `"append"`, `{"type": "custom", "prompt": "..."}` für einen benutzerdefinierten Prompt, der auch `"snapshot"` setzen kann, oder `{"type": "file", "path": "..."}` zum Laden eines großen Prompts von der Festplatte. Siehe [`SystemPromptPreset`](#systempromptpreset), [`SystemPromptCustom`](#systempromptcustom) und [`SystemPromptFile`](#systempromptfile) |876| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptCustom \| SystemPromptFile \| None` | `None` | System-Prompt-Konfiguration. Übergeben Sie eine Zeichenkette für einen benutzerdefinierten Prompt, `{"type": "preset", "preset": "claude_code"}` für den System-Prompt von Claude Code mit optionalem `"append"`, `{"type": "custom", "prompt": "..."}` für einen benutzerdefinierten Prompt, der auch `"snapshot"` setzen kann, oder `{"type": "file", "path": "..."}` zum Laden eines großen Prompts von der Festplatte. Siehe [`SystemPromptPreset`](#systempromptpreset), [`SystemPromptCustom`](#systempromptcustom) und [`SystemPromptFile`](#systempromptfile) |

877| `mcp_servers` | `dict[str, McpServerConfig] \| str \| Path` | `{}` | MCP-Server-Konfigurationen oder Pfad zur Konfigurationsdatei |877| `mcp_servers` | `dict[str, McpServerConfig] \| str \| Path` | `{}` | MCP-Server-Konfigurationen oder Pfad zur Konfigurationsdatei |

878| `strict_mcp_config` | `bool` | `False` | Wenn `True`, werden nur die in `mcp_servers` übergebenen Server verwendet und die Projektdatei `.mcp.json`, Benutzereinstellungen, von Plugins bereitgestellte MCP-Server und [claude.ai-Konnektoren](https://code.claude.com/docs/de/mcp.md#use-mcp-servers-from-claude-ai) ignoriert. Entspricht dem CLI-Flag `--strict-mcp-config` |878| `strict_mcp_config` | `bool` | `False` | Wenn `True`, werden die in `mcp_servers` übergebenen Server verwendet und die Projektdatei `.mcp.json`, Benutzereinstellungen, von Plugins bereitgestellte MCP-Server und [claude.ai-Konnektoren](https://code.claude.com/docs/de/mcp.md#use-mcp-servers-from-claude-ai) ignoriert. Entspricht dem CLI-Flag `--strict-mcp-config` |

879| `permission_mode` | `PermissionMode \| None` | `None` | Berechtigungsmodus für die Tool-Nutzung |879| `permission_mode` | `PermissionMode \| None` | `None` | Berechtigungsmodus für die Tool-Nutzung |

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

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

Details

340| `Read`, `Edit`, `Glob` | Code analysieren und ändern |340| `Read`, `Edit`, `Glob` | Code analysieren und ändern |

341| `Read`, `Edit`, `Bash`, `Glob`, `Grep` | Vollständige Automatisierung |341| `Read`, `Edit`, `Bash`, `Glob`, `Grep` | Vollständige Automatisierung |

342 342 

343Um die integrierten Tools des Agenten auf eine dieser Gruppen zu beschränken, übergeben Sie sie als `tools`. Wenn Sie eine Gruppe stattdessen in `allowedTools` aufführen, [genehmigen Sie diese Tools vorab](https://code.claude.com/docs/de/agent-sdk/custom-tools.md#configure-allowed-tools), und der Agent kann die anderen weiterhin aufrufen, abhängig von Ihrem Berechtigungsmodus.

344 

343**Genehmigungsmodi** steuern, wie viel menschliche Aufsicht Sie möchten. Das SDK wertet den aktiven Modus zusammen mit Ihren Allow- und Deny-Regeln in einer festen Reihenfolge aus, die unter [Wie Berechtigungen ausgewertet werden](https://code.claude.com/docs/de/agent-sdk/permissions.md#how-permissions-are-evaluated) beschrieben ist. Die vollständige Liste der Modi, ihr Verhalten und wann Sie jeden verwenden sollten, finden Sie unter [Genehmigungsmodus in Wie die Agent-Schleife funktioniert](https://code.claude.com/docs/de/agent-sdk/agent-loop.md#permission-mode).345**Genehmigungsmodi** steuern, wie viel menschliche Aufsicht Sie möchten. Das SDK wertet den aktiven Modus zusammen mit Ihren Allow- und Deny-Regeln in einer festen Reihenfolge aus, die unter [Wie Berechtigungen ausgewertet werden](https://code.claude.com/docs/de/agent-sdk/permissions.md#how-permissions-are-evaluated) beschrieben ist. Die vollständige Liste der Modi, ihr Verhalten und wann Sie jeden verwenden sollten, finden Sie unter [Genehmigungsmodus in Wie die Agent-Schleife funktioniert](https://code.claude.com/docs/de/agent-sdk/agent-loop.md#permission-mode).

344 346 

345## Nächste Schritte347## Nächste Schritte

Details

146| `prompt` | `string` | Ja | Der System-Prompt des Agenten, der seine Rolle und sein Verhalten definiert |146| `prompt` | `string` | Ja | Der System-Prompt des Agenten, der seine Rolle und sein Verhalten definiert |

147| `tools` | `string[]` | Nein | Array von zulässigen Tool-Namen. Falls weggelassen, erbt jeden [für Subagenten verfügbaren Tool](https://code.claude.com/docs/de/sub-agents.md#available-tools) |147| `tools` | `string[]` | Nein | Array von zulässigen Tool-Namen. Falls weggelassen, erbt jeden [für Subagenten verfügbaren Tool](https://code.claude.com/docs/de/sub-agents.md#available-tools) |

148| `disallowedTools` | `string[]` | Nein | Array von Tool-Namen, die aus dem Tool-Set des Agenten entfernt werden sollen. MCP-Server-Level-Muster werden ebenfalls akzeptiert: `mcp__server` oder `mcp__server__*` entfernt jeden Tool von diesem Server, und `mcp__*` entfernt jeden MCP-Tool von jedem Server |148| `disallowedTools` | `string[]` | Nein | Array von Tool-Namen, die aus dem Tool-Set des Agenten entfernt werden sollen. MCP-Server-Level-Muster werden ebenfalls akzeptiert: `mcp__server` oder `mcp__server__*` entfernt jeden Tool von diesem Server, und `mcp__*` entfernt jeden MCP-Tool von jedem Server |

149| `model` | `string` | Nein | Modell-Override für diesen Agent. Akzeptiert einen Alias wie `'fable'`, `'opus'`, `'sonnet'`, `'haiku'`, `'inherit'`, oder eine vollständige Modell-ID. `'inherit'` verwendet das Hauptmodell. Wenn Sie es weglassen, wählt Claude Code das Modell in der [Subagenten-Modellreihenfolge](https://code.claude.com/docs/de/sub-agents.md#choose-a-model) |149| `model` | `string` | Nein | Modell-Override für diesen Agenten. Akzeptiert einen Alias wie `'fable'`, `'opus'`, `'sonnet'`, `'haiku'`, `'inherit'`, oder eine vollständige Modell-ID. `'inherit'` verwendet das Modell des Agenten, der diesen Agenten gestartet hat. Wenn Sie `model` weglassen, wählt Claude Code das Modell in der [Subagenten-Modellreihenfolge](https://code.claude.com/docs/de/sub-agents.md#choose-a-model) |

150| `skills` | `string[]` | Nein | Liste von Skill-Namen, die beim Start in den Kontext des Agenten vorgeladen werden sollen. Höchstens die [ersten 32 unterschiedlichen Namen](https://code.claude.com/docs/de/sub-agents.md#preload-skills-into-subagents) in der Liste werden vorgeladen. Nicht aufgelistete Skills bleiben über das Skill-Tool aufrufbar |150| `skills` | `string[]` | Nein | Liste von Skill-Namen, die beim Start in den Kontext des Agenten vorgeladen werden sollen. Höchstens die [ersten 32 unterschiedlichen Namen](https://code.claude.com/docs/de/sub-agents.md#preload-skills-into-subagents) in der Liste werden vorgeladen. Nicht aufgelistete Skills bleiben über das Skill-Tool aufrufbar |

151| `memory` | `'user' \| 'project' \| 'local'` | Nein | Speicherquelle für diesen Agent |151| `memory` | `'user' \| 'project' \| 'local'` | Nein | Speicherquelle für diesen Agent |

152| `mcpServers` | `(string \| object)[]` | Nein | MCP-Server, die diesem Agent zur Verfügung stehen, nach Name oder Inline-Konfiguration |152| `mcpServers` | `(string \| object)[]` | Nein | MCP-Server, die diesem Agent zur Verfügung stehen, nach Name oder Inline-Konfiguration |

Details

589| `skills` | `string[] \| 'all'` | `undefined` | Für die Sitzung verfügbare Skills. Übergeben Sie `'all'`, um jeden gefundenen Skill zu aktivieren, oder eine Liste von Skill-Namen. Übergeben Sie nur exakte Namen. Ab Agent SDK v0.3.221 lehnt das SDK fehlerhafte Namen und Namen in Platzhalterform mit einem Fehler ab, bevor der Claude Code-Prozess gestartet wird. Wenn gesetzt, fügt das SDK das Skill-Tool automatisch zu `allowedTools` hinzu. Wenn Sie zusätzlich `tools` übergeben, nehmen Sie `'Skill'` in diese Liste auf. Siehe [Skills](https://code.claude.com/docs/de/agent-sdk/skills.md) |589| `skills` | `string[] \| 'all'` | `undefined` | Für die Sitzung verfügbare Skills. Übergeben Sie `'all'`, um jeden gefundenen Skill zu aktivieren, oder eine Liste von Skill-Namen. Übergeben Sie nur exakte Namen. Ab Agent SDK v0.3.221 lehnt das SDK fehlerhafte Namen und Namen in Platzhalterform mit einem Fehler ab, bevor der Claude Code-Prozess gestartet wird. Wenn gesetzt, fügt das SDK das Skill-Tool automatisch zu `allowedTools` hinzu. Wenn Sie zusätzlich `tools` übergeben, nehmen Sie `'Skill'` in diese Liste auf. Siehe [Skills](https://code.claude.com/docs/de/agent-sdk/skills.md) |

590| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | Benutzerdefinierte Funktion zum Starten des Claude Code-Prozesses. Verwenden Sie sie, um Claude Code in VMs, Containern oder Remote-Umgebungen auszuführen |590| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | Benutzerdefinierte Funktion zum Starten des Claude Code-Prozesses. Verwenden Sie sie, um Claude Code in VMs, Containern oder Remote-Umgebungen auszuführen |

591| `stderr` | `(data: string) => void` | `undefined` | Callback für die stderr-Ausgabe |591| `stderr` | `(data: string) => void` | `undefined` | Callback für die stderr-Ausgabe |

592| `strictMcpConfig` | `boolean` | `false` | Nur die in `mcpServers` übergebenen Server verwenden und die `.mcp.json` des Projekts, Benutzereinstellungen, von Plugins bereitgestellte MCP-Server und [claude.ai-Konnektoren](https://code.claude.com/docs/de/mcp.md#use-mcp-servers-from-claude-ai) ignorieren |592| `strictMcpConfig` | `boolean` | `false` | Die in `mcpServers` übergebenen Server verwenden und `.mcp.json` des Projekts, Benutzereinstellungen, von Plugins bereitgestellte MCP-Server und [claude.ai-Konnektoren](https://code.claude.com/docs/de/mcp.md#use-mcp-servers-from-claude-ai) ignorieren |

593| `systemPrompt` | `string \| string[] \| { type: 'custom'; prompt: string \| string[]; snapshot?: boolean } \| { type: 'preset'; preset: 'claude_code'; append?: string; excludeDynamicSections?: boolean; snapshot?: boolean }` | `undefined` (minimaler Prompt) | Konfiguration des System-Prompts. Übergeben Sie eine Zeichenfolge für einen benutzerdefinierten Prompt oder `{ type: 'preset', preset: 'claude_code' }`, um den System-Prompt von Claude Code zu verwenden. Übergeben Sie ein Array von Zeichenfolgen mit der exportierten Konstante `SYSTEM_PROMPT_DYNAMIC_BOUNDARY` zwischen dem statischen und dem anfragespezifischen Teil, um [den statischen Teil eines benutzerdefinierten Prompts zwischenzuspeichern](https://code.claude.com/docs/de/agent-sdk/modifying-system-prompts.md#cache-the-static-part-of-a-custom-prompt). Wenn Sie die Preset-Objektform verwenden, fügen Sie `append` hinzu, um ihn um zusätzliche Anweisungen zu erweitern, und setzen Sie `excludeDynamicSections: true`, um sitzungsspezifischen Kontext in die erste Benutzernachricht zu verschieben und so [eine bessere Wiederverwendung des Prompt-Caches über Rechner hinweg](https://code.claude.com/docs/de/agent-sdk/modifying-system-prompts.md#improve-prompt-caching-across-users-and-machines) zu erreichen. Setzen Sie `snapshot: false`, um den Prompt bei jeder Anfrage neu aufzubauen, anstatt [den Prompt wiederzuverwenden, den die Sitzung bei ihrer ersten Anfrage aufgezeichnet hat](https://code.claude.com/docs/de/agent-sdk/modifying-system-prompts.md#change-the-prompt-of-an-existing-session). Um `snapshot` für einen benutzerdefinierten Prompt zu setzen, übergeben Sie die Form `{ type: 'custom', prompt }`. Die Form `{ type: 'custom' }` und das Feld `snapshot` erfordern TypeScript Agent SDK v0.3.257 oder höher |593| `systemPrompt` | `string \| string[] \| { type: 'custom'; prompt: string \| string[]; snapshot?: boolean } \| { type: 'preset'; preset: 'claude_code'; append?: string; excludeDynamicSections?: boolean; snapshot?: boolean }` | `undefined` (minimaler Prompt) | Konfiguration des System-Prompts. Übergeben Sie eine Zeichenfolge für einen benutzerdefinierten Prompt oder `{ type: 'preset', preset: 'claude_code' }`, um den System-Prompt von Claude Code zu verwenden. Übergeben Sie ein Array von Zeichenfolgen mit der exportierten Konstante `SYSTEM_PROMPT_DYNAMIC_BOUNDARY` zwischen dem statischen und dem anfragespezifischen Teil, um [den statischen Teil eines benutzerdefinierten Prompts zwischenzuspeichern](https://code.claude.com/docs/de/agent-sdk/modifying-system-prompts.md#cache-the-static-part-of-a-custom-prompt). Wenn Sie die Preset-Objektform verwenden, fügen Sie `append` hinzu, um ihn um zusätzliche Anweisungen zu erweitern, und setzen Sie `excludeDynamicSections: true`, um sitzungsspezifischen Kontext in die erste Benutzernachricht zu verschieben und so [eine bessere Wiederverwendung des Prompt-Caches über Rechner hinweg](https://code.claude.com/docs/de/agent-sdk/modifying-system-prompts.md#improve-prompt-caching-across-users-and-machines) zu erreichen. Setzen Sie `snapshot: false`, um den Prompt bei jeder Anfrage neu aufzubauen, anstatt [den Prompt wiederzuverwenden, den die Sitzung bei ihrer ersten Anfrage aufgezeichnet hat](https://code.claude.com/docs/de/agent-sdk/modifying-system-prompts.md#change-the-prompt-of-an-existing-session). Um `snapshot` für einen benutzerdefinierten Prompt zu setzen, übergeben Sie die Form `{ type: 'custom', prompt }`. Die Form `{ type: 'custom' }` und das Feld `snapshot` erfordern TypeScript Agent SDK v0.3.257 oder höher |

594| `taskBudget` | `{ total: number }` | `undefined` | *Alpha.* API-seitiges Aufgabenbudget in Token. Wenn gesetzt, wird dem Modell sein verbleibendes Token-Budget mitgeteilt, damit es die Tool-Nutzung einteilen und vor Erreichen des Limits zum Abschluss kommen kann |594| `taskBudget` | `{ total: number }` | `undefined` | *Alpha.* API-seitiges Aufgabenbudget in Token. Wenn gesetzt, wird dem Modell sein verbleibendes Token-Budget mitgeteilt, damit es die Tool-Nutzung einteilen und vor Erreichen des Limits zum Abschluss kommen kann |

595| `thinking` | [`ThinkingConfig`](#thinkingconfig) | `{ type: 'adaptive' }` für unterstützte Modelle | Steuert das Thinking-/Reasoning-Verhalten von Claude. Optionen finden Sie unter [`ThinkingConfig`](#thinkingconfig) |595| `thinking` | [`ThinkingConfig`](#thinkingconfig) | `{ type: 'adaptive' }` für unterstützte Modelle | Steuert das Thinking-/Reasoning-Verhalten von Claude. Optionen finden Sie unter [`ThinkingConfig`](#thinkingconfig) |


1285| `tools` | Nein | Array zulässiger Tool-Namen. Wenn weggelassen, werden alle [für Subagenten verfügbaren Tools](https://code.claude.com/docs/de/sub-agents.md#available-tools) geerbt. Um Skills in den Kontext des Agenten vorzuladen, verwenden Sie das Feld `skills`, anstatt hier `'Skill'` aufzuführen |1285| `tools` | Nein | Array zulässiger Tool-Namen. Wenn weggelassen, werden alle [für Subagenten verfügbaren Tools](https://code.claude.com/docs/de/sub-agents.md#available-tools) geerbt. Um Skills in den Kontext des Agenten vorzuladen, verwenden Sie das Feld `skills`, anstatt hier `'Skill'` aufzuführen |

1286| `disallowedTools` | Nein | Array von Tool-Namen, die für diesen Agenten ausdrücklich nicht zugelassen werden. Muster auf MCP-Server-Ebene werden ebenfalls akzeptiert: `mcp__server` oder `mcp__server__*` entfernt jedes Tool dieses Servers, und `mcp__*` entfernt jedes MCP-Tool aller Server |1286| `disallowedTools` | Nein | Array von Tool-Namen, die für diesen Agenten ausdrücklich nicht zugelassen werden. Muster auf MCP-Server-Ebene werden ebenfalls akzeptiert: `mcp__server` oder `mcp__server__*` entfernt jedes Tool dieses Servers, und `mcp__*` entfernt jedes MCP-Tool aller Server |

1287| `prompt` | Ja | Der System-Prompt des Agenten |1287| `prompt` | Ja | Der System-Prompt des Agenten |

1288| `model` | Nein | Modellüberschreibung für diesen Agenten. Akzeptiert einen Alias wie `'fable'`, `'opus'`, `'sonnet'`, `'haiku'`, `'inherit'` oder eine vollständige Modell-ID. `'inherit'` verwendet das Hauptmodell. Wenn Sie es weglassen, wählt Claude Code das Modell gemäß der [Modellreihenfolge für Subagenten](https://code.claude.com/docs/de/sub-agents.md#choose-a-model) |1288| `model` | Nein | Modellüberschreibung für diesen Agenten. Akzeptiert einen Alias wie `'fable'`, `'opus'`, `'sonnet'`, `'haiku'`, `'inherit'` oder eine vollständige Modell-ID. `'inherit'` verwendet das Modell des Agenten, der diesen gestartet hat. Wenn Sie `model` weglassen, wählt Claude Code das Modell gemäß der [Modellreihenfolge für Subagenten](https://code.claude.com/docs/de/sub-agents.md#choose-a-model) |

1289| `mcpServers` | Nein | MCP-Server-Spezifikationen für diesen Agenten |1289| `mcpServers` | Nein | MCP-Server-Spezifikationen für diesen Agenten |

1290| `skills` | Nein | Array von Skill-Namen, die in den Agentenkontext vorgeladen werden |1290| `skills` | Nein | Array von Skill-Namen, die in den Agentenkontext vorgeladen werden |

1291| `initialPrompt` | Nein | Wird automatisch als erster Benutzer-Turn übermittelt, wenn dieser Agent als Agent des Hauptthreads läuft |1291| `initialPrompt` | Nein | Wird automatisch als erster Benutzer-Turn übermittelt, wenn dieser Agent als Agent des Hauptthreads läuft |

agent-teams.md +26 −9

Details

102>102>

103> `tmux` hat bekannte Einschränkungen auf bestimmten Betriebssystemen und funktioniert traditionell am besten unter macOS. Die Verwendung von `tmux -CC` in iTerm2 ist der empfohlene Einstiegspunkt in `tmux`.103> `tmux` hat bekannte Einschränkungen auf bestimmten Betriebssystemen und funktioniert traditionell am besten unter macOS. Die Verwendung von `tmux -CC` in iTerm2 ist der empfohlene Einstiegspunkt in `tmux`.

104 104 

105Der Standardwert ist `"in-process"`. Setzen Sie `"auto"`, um geteilte Bereiche zu aktivieren, wenn Sie bereits innerhalb einer tmux-Sitzung arbeiten oder Ihr Terminal iTerm2 mit installierter `it2`-CLI ist; andernfalls wird auf In-Process zurückgefallen. Die Einstellung `"tmux"` aktiviert den Modus mit geteilten Bereichen und erkennt anhand Ihres Terminals automatisch, ob tmux oder iTerm2 verwendet werden soll.105Wenn Agent-Teams [aktiviert](#enable-agent-teams) sind, führen Sie die folgenden Schritte aus, um jedem Teammitglied einen eigenen Bereich zu geben:

106 106 

107Setzen Sie `"iterm2"`, um explizit die nativen geteilten Bereiche von iTerm2 zu verwenden. Dieser Modus erfordert die [`it2`-CLI](https://github.com/mkusaka/it2) und zeigt einen Fehler mit dem Installationsbefehl an, wenn `it2` fehlt. Die Einrichtungsabfrage, die anbietet, `it2` zu installieren oder zu tmux zu wechseln, erscheint unter `"auto"` oder `"tmux"`, wenn Ihr Terminal iTerm2 ist und tmux als Fallback verfügbar ist.107**1. tmux installieren oder iTerm2 einrichten**

108 108 

109Um den Standardwert zu überschreiben, setzen Sie [`teammateMode`](https://code.claude.com/docs/de/settings-reference#teammatemode) in `~/.claude/settings.json`:109Der Modus mit geteilten Bereichen erfordert entweder [tmux](https://github.com/tmux/tmux/wiki) oder iTerm2 mit der [`it2`-CLI](https://github.com/mkusaka/it2). Richten Sie dasjenige ein, in dem Sie Claude Code ausführen werden:

110 

111* **tmux**: Installieren Sie es über den Paketmanager Ihres Systems. Plattformspezifische Anweisungen finden Sie im [tmux-Wiki](https://github.com/tmux/tmux/wiki/Installing).

112* **iTerm2**: Installieren Sie die [`it2`-CLI](https://github.com/mkusaka/it2) und aktivieren Sie dann die Python-API unter **iTerm2 > Settings > General > Magic > Enable Python API**.

113 

114**2. Geteilte Bereiche einschalten**

115 

116Teammitglieder laufen In-Process, bis Sie die Einstellung [`teammateMode`](https://code.claude.com/docs/de/settings-reference#teammatemode) ändern.

117 

118Setzen Sie sie in `~/.claude/settings.json` auf `"auto"`:

110 119 

111```json theme={null}120```json theme={null}

112{121{


114}123}

115```124```

116 125 

126Mit `"auto"` öffnen sich Teammitglieder in geteilten Bereichen, wenn Sie Claude Code innerhalb von tmux oder iTerm2 ausführen, und laufen in anderen Terminals In-Process.

127 

128**3. Claude Code starten und Teammitglieder erzeugen**

129 

130Führen Sie `claude` innerhalb von tmux oder in iTerm2 aus und bitten Sie Claude dann, Teammitglieder zu erzeugen.

131 

132Wenn in iTerm2 eine Einrichtungsabfrage für `it2` erscheint, wählen Sie **Install it2 now**, um die Bereiche in Ihrem iTerm2-Fenster zu öffnen.

133 

134Wenn Sie Claude Code außerhalb von tmux und iTerm2 ausführen oder sich die Bereiche nicht in Ihrem iTerm2-Fenster öffnen, ändern Sie `teammateMode` erneut:

135 

136* **Außerhalb von tmux und iTerm2**: Setzen Sie bei installiertem tmux `teammateMode` auf `"tmux"`. Die Bereiche öffnen sich in einer separaten tmux-Sitzung. Um sie zu beobachten, kopieren Sie den Befehl aus der Zeile `View teammates` an der Claude Code-Eingabeaufforderung und führen Sie diesen Befehl in einem zweiten Terminal aus.

137* **Bereiche öffnen sich nicht in Ihrem iTerm2-Fenster**: Setzen Sie `teammateMode` auf `"iterm2"`, um die eigenen Bereiche von iTerm2 zu verwenden. Teammitglieder starten dann nur, wenn Sie Claude Code in iTerm2 mit eingerichtetem `it2` ausführen.

138 

117Um den Modus für eine einzelne Sitzung festzulegen, übergeben Sie ihn als Flag:139Um den Modus für eine einzelne Sitzung festzulegen, übergeben Sie ihn als Flag:

118 140 

119```bash theme={null}141```bash theme={null}


122 144 

123Das Flag `--teammate-mode` ist experimentell und erscheint nicht in `claude --help`.145Das Flag `--teammate-mode` ist experimentell und erscheint nicht in `claude --help`.

124 146 

125Der Modus mit geteilten Bereichen erfordert entweder [tmux](https://github.com/tmux/tmux/wiki) oder iTerm2 mit der [`it2`-CLI](https://github.com/mkusaka/it2). So installieren Sie manuell:

126 

127* **tmux**: Installieren Sie es über den Paketmanager Ihres Systems. Plattformspezifische Anweisungen finden Sie im [tmux-Wiki](https://github.com/tmux/tmux/wiki/Installing).

128* **iTerm2**: Installieren Sie die [`it2`-CLI](https://github.com/mkusaka/it2) und aktivieren Sie dann die Python-API unter **iTerm2 → Settings → General → Magic → Enable Python API**.

129 

130### Teammitglieder und Modelle festlegen147### Teammitglieder und Modelle festlegen

131 148 

132Claude entscheidet anhand Ihrer Aufgabe, wie viele Teammitglieder erzeugt werden, oder Sie können genau angeben, was Sie möchten:149Claude entscheidet anhand Ihrer Aufgabe, wie viele Teammitglieder erzeugt werden, oder Sie können genau angeben, was Sie möchten:


497* **Keine Hintergrund-Subagenten von In-Process-Teammates**: die eigenen Subagenten eines In-Process-Teammates laufen im Vordergrund, da die Hintergrundarbeit eines Teammates nicht länger als der Prozess des Leads bestehen kann. Claude Code gibt einen Fehler zurück, wenn ein Teammate einen Subagenten erzeugt, dessen Definition `background: true` setzt. Eine `run_in_background: true`-Anfrage eines Teammates schlägt ebenfalls fehl, entweder mit einem Fehler oder durch stilles Ausführen im Vordergrund. Subagenten, die aus der Hauptkonversation gestartet werden, folgen dem [Hintergrund-Standard](https://code.claude.com/docs/de/sub-agents.md#run-subagents-in-foreground-or-background).514* **Keine Hintergrund-Subagenten von In-Process-Teammates**: die eigenen Subagenten eines In-Process-Teammates laufen im Vordergrund, da die Hintergrundarbeit eines Teammates nicht länger als der Prozess des Leads bestehen kann. Claude Code gibt einen Fehler zurück, wenn ein Teammate einen Subagenten erzeugt, dessen Definition `background: true` setzt. Eine `run_in_background: true`-Anfrage eines Teammates schlägt ebenfalls fehl, entweder mit einem Fehler oder durch stilles Ausführen im Vordergrund. Subagenten, die aus der Hauptkonversation gestartet werden, folgen dem [Hintergrund-Standard](https://code.claude.com/docs/de/sub-agents.md#run-subagents-in-foreground-or-background).

498* **Lead ist fest**: die Hauptsitzung ist der Lead für seine Lebensdauer. Sie können einen Teammate nicht zum Lead befördern oder die Führung übertragen.515* **Lead ist fest**: die Hauptsitzung ist der Lead für seine Lebensdauer. Sie können einen Teammate nicht zum Lead befördern oder die Führung übertragen.

499* **Keine Berechtigungsmodi pro Teammate beim Erzeugen**: Teammates starten mit dem Berechtigungsmodus, der unter [Berechtigungen](#permissions) beschrieben ist.516* **Keine Berechtigungsmodi pro Teammate beim Erzeugen**: Teammates starten mit dem Berechtigungsmodus, der unter [Berechtigungen](#permissions) beschrieben ist.

500* **Split Panes erfordern tmux oder iTerm2**: der Standard-In-Process-Modus funktioniert in jedem Terminal. Der Split-Pane-Modus wird in VS Code's integriertem Terminal, Windows Terminal oder Ghostty nicht unterstützt.517* **Split Panes erfordern tmux oder iTerm2**: der Standard-In-Process-Modus funktioniert in jedem Terminal.

501 518 

502## Nächste Schritte519## Nächste Schritte

503 520 

agent-view.md +30 −39

Details

144| Form | Was es bedeutet |144| Form | Was es bedeutet |

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

146| `✻` oder animiert `✽` | Der Sitzungsprozess läuft, oder die Sitzung benötigt Ihre Eingabe |146| `✻` oder animiert `✽` | Der Sitzungsprozess läuft, oder die Sitzung benötigt Ihre Eingabe |

147| `∙` | Der Prozess wurde beendet. Sie können die Zeile immer noch einsehen, und wenn Sie antworten oder anhängen, startet Claude ihn aus seiner gespeicherten Konversation neu |147| `∙` | Der Prozess wurde beendet. Sie können die Zeile immer noch einsehen, und wenn Sie antworten oder `Enter` drücken, startet Claude ihn aus seiner gespeicherten Konversation neu |

148| `✢` | Eine [`/loop`](https://code.claude.com/docs/de/scheduled-tasks)-Sitzung, die zwischen Iterationen schläft. Die Zeile zeigt ihre Laufzahl und einen Countdown |148| `✢` | Eine [`/loop`](https://code.claude.com/docs/de/scheduled-tasks)-Sitzung, die zwischen Iterationen schläft. Die Zeile zeigt ihre Laufzahl und einen Countdown |

149 149 

150Das `#N`- oder `!N`-Label, das am rechten Rand einer Zeile erscheinen kann, ist ein Link zum [Pull Request oder Merge Request](#pull-request-status) der Sitzung, nicht Teil des Status-Symbols.150Das `#N`- oder `!N`-Label, das am rechten Rand einer Zeile erscheinen kann, ist ein Link zum [Pull Request oder Merge Request](#pull-request-status) der Sitzung, nicht Teil des Status-Symbols.


316* Drücken Sie `Enter` auf einem Gruppen-Header, um ihn einzuklappen, außer während ein [Filter](#filter-sessions) aktiv ist; dann bleiben alle Gruppen ausgeklappt316* Drücken Sie `Enter` auf einem Gruppen-Header, um ihn einzuklappen, außer während ein [Filter](#filter-sessions) aktiv ist; dann bleiben alle Gruppen ausgeklappt

317* Drücken Sie `Ctrl+X`, um eine Sitzung zu stoppen, und `Ctrl+X` erneut innerhalb von zwei Sekunden, um sie aus der Liste zu löschen, oder `Esc`, um die Bestätigung zu schließen, ohne zu löschen. Der zweite Tastendruck löscht die Sitzung auch, wenn der Stoppversuch fehlschlägt, z. B. weil der [Hintergrund-Service nicht reagiert](#agent-view-says-the-background-service-did-not-respond). In diesem Fall bleibt die Bestätigung für weitere zwei Sekunden aktiv, und das Löschen beendet den Prozess der Sitzung selbst317* Drücken Sie `Ctrl+X`, um eine Sitzung zu stoppen, und `Ctrl+X` erneut innerhalb von zwei Sekunden, um sie aus der Liste zu löschen, oder `Esc`, um die Bestätigung zu schließen, ohne zu löschen. Der zweite Tastendruck löscht die Sitzung auch, wenn der Stoppversuch fehlschlägt, z. B. weil der [Hintergrund-Service nicht reagiert](#agent-view-says-the-background-service-did-not-respond). In diesem Fall bleibt die Bestätigung für weitere zwei Sekunden aktiv, und das Löschen beendet den Prozess der Sitzung selbst

318 318 

319Wenn Sie `Ctrl+X` auf einem Gruppen-Header drücken, werden alle Sitzungen in dieser Gruppe nach Bestätigung gelöscht. Mit Ausnahme der beibehaltenen Fälle, die in [Was das Löschen einer Sitzung entfernt](#what-deleting-a-session-removes) behandelt werden, entfernt das Löschen die Sitzung aus der Liste. Ein Worktree, den Claude dafür erstellt hat, wird entfernt, beibehalten oder an Ort und Stelle gelassen, je nachdem, wie Sie löschen und was der Worktree enthält. Das Konversations-Transkript bleibt auf Ihrem lokalen Computer, verfügbar über `claude --resume`.319Drücken Sie `Ctrl+X` auf einem Gruppen-Header, um nach Bestätigung alle Sitzungen in dieser Gruppe zu löschen, mit Ausnahme derjenigen, deren Löschen Claude Code [verweigert](#delete-a-session-after-claude-code-refuses). Unter [Was das Löschen einer Sitzung entfernt](#what-deleting-a-session-removes) erfahren Sie, was mit dem Worktree jeder Sitzung geschieht. Das Konversations-Transkript bleibt auf Ihrem lokalen Computer, verfügbar über `claude --resume`.

320 320 

321Abgeschlossene Sitzungen, die nicht auf den Bildschirm passen, werden in eine `… N more`-Zeile zusammengefasst. Die `Completed`-Gruppe füllt den vertikalen Platz, der nach den Live-Gruppen verbleibt. Auf einem kurzen Terminal wird der Header zu einer einzelnen Zusammenfassungszeile komprimiert, sodass Sitzungen, die arbeiten oder Eingaben benötigen, sichtbar bleiben.321Abgeschlossene Sitzungen, die nicht auf den Bildschirm passen, werden in eine `… N more`-Zeile zusammengefasst. Die `Completed`-Gruppe füllt den vertikalen Platz, der nach den Live-Gruppen verbleibt. Auf einem kurzen Terminal wird der Header zu einer einzelnen Zusammenfassungszeile komprimiert, sodass Sitzungen, die arbeiten oder Eingaben benötigen, sichtbar bleiben.

322 322 


622 622 

623#### Was das Löschen einer Sitzung entfernt623#### Was das Löschen einer Sitzung entfernt

624 624 

625Löschen Sie eine Sitzung durch zweimaliges Drücken von `Ctrl+X` in der [Agenten-Ansicht](#organize-the-list) oder mit [`claude rm`](#manage-sessions-from-the-shell). Außer in den unten beschriebenen Fällen, in denen sie beibehalten wird, verschwindet die Sitzung aus der Liste. Ihr Transkript bleibt über `claude --resume` auf Ihrem Rechner verfügbar, und die Entfernung bleibt auch nach Supervisor-Neustarts bestehen.625Löschen Sie eine Sitzung durch zweimaliges Drücken von `Ctrl+X` in der [Agenten-Ansicht](#organize-the-list) oder mit [`claude rm`](#manage-sessions-from-the-shell). Die Sitzung verschwindet aus der Liste, es sei denn, Claude Code [lehnt das Löschen ab](#delete-a-session-after-claude-code-refuses). Ihr Transkript bleibt auf Ihrem Rechner und ist über `claude --resume` verfügbar.

626 626 

627Was mit einem Worktree geschieht, den Claude für die Sitzung erstellt hat:627Was mit einem Worktree geschieht, den Claude für die Sitzung erstellt hat:

628 628 

629* Die Agenten-Ansicht entfernt ihn, einschließlich nicht committeter Änderungen, committen Sie also zuerst, was Sie behalten möchten.629* Die Agenten-Ansicht entfernt ihn, einschließlich nicht committeter Änderungen, committen Sie also zuerst, was Sie behalten möchten.

630* `claude rm` behält ihn zusammen mit der Sitzungszeile, wenn er nicht committete Änderungen enthält.630* `claude rm` behält ihn zusammen mit der Sitzungszeile, wenn er nicht committete Änderungen enthält.

631* Weder die Agenten-Ansicht noch `claude rm` entfernen einen Worktree, den eine andere laufende Sitzung verwendet oder gesperrt hat, und erneutes Löschen ändert daran nichts. Claude Code behält den Worktree und die Sitzung und nennt das beibehaltene Verzeichnis und den Grund; in der Agenten-Ansicht zeigt die Zeile der Sitzung `not removed`. Schließen Sie die andere Sitzung und löschen Sie dann erneut.

632* Wenn Sie eine Sitzung löschen, deren Worktree Commits enthält, bei denen Claude Code nicht bestätigen kann, dass sie an anderer Stelle gesichert sind, behält Claude Code den Worktree und die Sitzung, und die Meldung nennt den Branch des Worktrees und die Anzahl der nicht gepushten Commits. Die Meldung bietet außerdem die zwei möglichen Wege an: die Commits pushen oder erneut löschen, um sie zu verwerfen.

633 631 

634 Commits auf einem Remote blockieren das Löschen nicht. Ebenso wenig Commits auf der lokalen Kopie des Standard-Branches Ihres `origin`-Remotes, solange dieser Branch in Ihrem Haupt-Checkout ausgecheckt ist, also im Repository-Verzeichnis selbst und nicht in einem Worktree.632Ein Grund, aus dem Claude Code das Löschen einer Sitzung ablehnt, sind [nicht gepushte Commits in ihrem Worktree](https://code.claude.com/docs/de/errors.md#worktree-has-commits-that-are-not-pushed-anywhere). Um diese Commits zu behalten, pushen Sie sie, bevor Sie die Sitzung löschen.

635 633 

636 Nach dieser Ablehnung haben Sie die Wahl:634Einige Worktrees bleiben auf der Festplatte erhalten, unabhängig davon, ob Sie die Agenten-Ansicht oder `claude rm` verwenden:

637 635 

638 * Um die Commits zu behalten, pushen Sie sie oder mergen Sie sie in diesen Standard-Branch und löschen Sie die Sitzung dann erneut.636* Wenn Sie einen Worktree selbst erstellt und die Sitzung darin gestartet haben, bleibt der Worktree auf der Festplatte, damit Sie ihn behalten oder entfernen können.

639 * Um sie zu verwerfen, löschen Sie die Sitzung erneut, ohne zu pushen: Drücken Sie zweimal `Ctrl+X` auf ihrer Zeile in der Agenten-Ansicht, oder führen Sie den Befehl `claude rm <id> --discard-unpushed` aus, den die Ablehnung ausgegeben hat. Dadurch werden die Sitzung und der Worktree samt seinem Branch entfernt, wobei die nicht gepushten Commits und alle nicht committeten Änderungen verworfen werden.637* Wenn ein Worktree-Verzeichnis, das Claude in Ihrem Repository erstellt hat, seine `.git`-Datei nicht mehr enthält, bleibt das Verzeichnis auf der Festplatte, damit Sie es entfernen können. Der Branch des Worktrees bleibt im Repository erhalten, sodass Sie die Commits auf diesem Branch behalten.

640 638 

641 Wenn Sie erneut löschen, verwirft Claude Code nur das, was die Ablehnung angezeigt hat: Ist im Worktree seitdem ein Commit hinzugekommen, behält Claude Code ihn erneut und zeigt den aktualisierten Zustand an.639##### Eine Sitzung löschen, nachdem Claude Code das Löschen abgelehnt hat

642 640 

643 Wenn die Datensätze einer anderen abgeschlossenen Sitzung den Worktree ebenfalls nennen, bleibt er beim erneuten Löschen erhalten; pushen Sie die Commits und löschen Sie dann erneut.641Wenn Claude Code das Löschen einer Sitzung wegen ihres Worktrees ablehnt, folgen Sie der angezeigten Meldung. Wenn die Meldung nicht gepushte Commits nennt, siehe [Worktree has commits that are not pushed anywhere](https://code.claude.com/docs/de/errors.md#worktree-has-commits-that-are-not-pushed-anywhere).

644* Ein Worktree, den Git nicht mehr erkennt, etwa nach `git worktree prune`, blockiert das Löschen nicht. Claude Code löscht die Sitzung und lässt das Verzeichnis auf der Festplatte.

645* Wenn Git oder Ihr [`WorktreeRemove`-Hook](https://code.claude.com/docs/de/hooks#worktreeremove) den Worktree nicht entfernen kann, behält Claude Code den Worktree und die Sitzung, und die Meldung nennt die Ursache. Bei einem Hook gibt die Meldung an, wie er endete, etwa `exited 1`, und zitiert den Anfang seiner stderr-Ausgabe. Die Meldung teilt Ihnen außerdem mit, welche der folgenden Schritte Sie als Nächstes ausführen können:

646 642 

647 * Löschen Sie die Sitzung erneut, um das Verzeichnis trotzdem zu entfernen, indem Sie zweimal `Ctrl+X` auf ihrer Zeile in der Agenten-Ansicht drücken oder den Befehl `claude rm <id> --force-remove-worktree <worktree-id>` ausführen, den die `claude rm`-Ablehnung ausgegeben hat. Der Branch des Worktrees bleibt im Repository erhalten.643##### Eine `Worktree not removed`-Meldung beheben

648 644 

649 Claude Code bietet dies nur an, wenn es alle folgenden Punkte bestätigen kann:645Eine `Worktree not removed`-Meldung bedeutet, dass Claude Code oder Ihr [`WorktreeRemove`-Hook](https://code.claude.com/docs/de/hooks#worktreeremove) das Entfernen des Worktrees der Sitzung nicht abgeschlossen hat. Pushen Sie alle Commits und kopieren Sie alle Dateien heraus, die Sie behalten möchten, und folgen Sie dann der Meldung.

650 646 

651 * Das Verzeichnis ist einer der verknüpften Worktrees des Repositorys unter `.claude/worktrees/`647##### Eine `files that weren't checked against a repository`-Meldung beheben

652 * Weder der Worktree noch ein ausgechecktes Submodul enthält nicht committete Änderungen an verfolgten Dateien

653 * Kein Datensatz einer anderen Sitzung nennt ihn

654 648 

655 Wenn Claude Code den Zustand eines Submodul-Checkouts nicht überprüfen kann, etwa eines, das durch ein separates Git-Repository ersetzt wurde, bietet es dies ebenfalls nicht an.649Diese Meldung von `claude rm` bedeutet, dass sich noch Dateien in einem Worktree-Verzeichnis befinden, das sich in keinem Git-Repository befindet oder das von einem [`WorktreeCreate`-Hook](https://code.claude.com/docs/de/hooks#worktreecreate) verwaltet wird. Kopieren Sie alle Dateien heraus, die Sie behalten möchten, und führen Sie dann den Schritt für Ihren Fall aus:

656 * Beheben Sie, was im Weg steht, etwa indem Sie die nicht committeten Änderungen committen oder stashen, ein separates Git-Repository aus dem Worktree verschieben, schließen, was das Verzeichnis verwendet, oder den Hook reparieren, und löschen Sie die Sitzung dann erneut.

657 * Entfernen Sie das Verzeichnis selbst und löschen Sie die Sitzung dann erneut.

658 650 

659Ein Worktree, den Sie selbst erstellt und in dem Sie die Sitzung gestartet haben, bleibt in jedem Fall erhalten.651| Ihr Fall | Was zu tun ist |

660 652| :- | :- |

661Eine Sitzung, deren Worktree-Verzeichnis zu keinem Git-Repository gehört, weil das Repository gelöscht wurde oder ein [`WorktreeCreate`-Hook](https://code.claude.com/docs/de/hooks#worktreecreate) das Verzeichnis an anderer Stelle erstellt hat, kann trotzdem gelöscht werden. Solange sich noch Dateien im Verzeichnis befinden:653| Kein `WorktreeCreate`-Hook verwaltet das Verzeichnis | Um die Dateien zu verwerfen, drücken Sie zweimal `Ctrl+X` auf der Zeile der Sitzung in der Agenten-Ansicht. Oder entfernen Sie das Verzeichnis selbst und führen Sie dann `claude rm <id>` erneut aus |

662 654| Ein `WorktreeCreate`-Hook verwaltet das Verzeichnis, und Sie haben einen [`WorktreeRemove`-Hook](https://code.claude.com/docs/de/hooks#worktreeremove) | Um zu versuchen, das Verzeichnis mit Ihrem Hook zu entfernen, drücken Sie zweimal `Ctrl+X` auf der Zeile der Sitzung in der Agenten-Ansicht. Oder entfernen Sie das Verzeichnis selbst und führen Sie dann `claude rm <id>` erneut aus |

663* Die Agenten-Ansicht verlangt dasselbe zweimalige Drücken von `Ctrl+X`, bevor sie verworfen werden. Bei einem von einem Hook erstellten Verzeichnis führt sie stattdessen Ihren [`WorktreeRemove`-Hook](https://code.claude.com/docs/de/hooks#worktreeremove) aus; ohne einen solchen lehnt sie das Löschen ab und behält die Sitzung.655| Ein `WorktreeCreate`-Hook verwaltet das Verzeichnis, und Sie haben keinen `WorktreeRemove`-Hook | Entfernen Sie das Verzeichnis selbst und führen Sie dann `claude rm <id>` erneut aus |

664* `claude rm` behält die Sitzung und den Worktree und nennt den Grund.

665 

666Beide Wege behalten ein Verzeichnis, das in den Datensätzen einer anderen abgeschlossenen Sitzung genannt wird.

667 656 

668### Modell, Effort-Stufe und Fast-Modus festlegen657### Modell, Effort-Stufe und Fast-Modus festlegen

669 658 


774| [`--add-dir <path>`](https://code.claude.com/docs/de/permissions#additional-directories-grant-file-access-not-configuration) | Dateizugriff auf ein zusätzliches Verzeichnis gewähren |763| [`--add-dir <path>`](https://code.claude.com/docs/de/permissions#additional-directories-grant-file-access-not-configuration) | Dateizugriff auf ein zusätzliches Verzeichnis gewähren |

775| [`--plugin-dir <path>`](https://code.claude.com/docs/de/plugins/create#load-a-directory-or-archive-for-one-session) | Ein Plugin aus einem lokalen Verzeichnis laden |764| [`--plugin-dir <path>`](https://code.claude.com/docs/de/plugins/create#load-a-directory-or-archive-for-one-session) | Ein Plugin aus einem lokalen Verzeichnis laden |

776| [`--mcp-config <file-or-json>`](https://code.claude.com/docs/de/mcp) | MCP-Server aus einer Konfigurationsdatei oder einem JSON-String laden |765| [`--mcp-config <file-or-json>`](https://code.claude.com/docs/de/mcp) | MCP-Server aus einer Konfigurationsdatei oder einem JSON-String laden |

777| `--strict-mcp-config` | Nur die MCP-Server aus `--mcp-config` verwenden und andere MCP-Konfigurationen ignorieren. Siehe [Exklusive Kontrolle mit managed-mcp.json](https://code.claude.com/docs/de/managed-mcp.md#exclusive-control-with-managed-mcp-json), um zu erfahren, was das Flag bei einer verwalteten MCP-Datei bewirkt |766| `--strict-mcp-config` | Die an Orten wie `.mcp.json` konfigurierten MCP-Server überspringen und die mit `--mcp-config` übergebenen laden. Siehe [Exklusive Kontrolle mit managed-mcp.json](https://code.claude.com/docs/de/managed-mcp.md#exclusive-control-with-managed-mcp-json), um zu erfahren, was das Flag bei einer verwalteten MCP-Datei bewirkt |

778 767 

779Wiederholen Sie `--add-dir`, `--plugin-dir` oder `--mcp-config` einmal pro Wert. `claude agents` unterstützt die durch Leerzeichen getrennte Form wie `--add-dir a b c` nicht.768Wiederholen Sie `--add-dir`, `--plugin-dir` oder `--mcp-config` einmal pro Wert. `claude agents` unterstützt die durch Leerzeichen getrennte Form wie `--add-dir a b c` nicht.

780 769 


802| `claude stop <id>` | Eine Sitzung stoppen. Akzeptiert auch `claude kill` |791| `claude stop <id>` | Eine Sitzung stoppen. Akzeptiert auch `claude kill` |

803| `claude respawn <id>` | Eine Sitzung neu starten (laufend oder gestoppt), z. B. um eine aktualisierte Claude Code-Binärdatei zu verwenden. Eine Sitzung mit einer gespeicherten Konversation setzt diese fort |792| `claude respawn <id>` | Eine Sitzung neu starten (laufend oder gestoppt), z. B. um eine aktualisierte Claude Code-Binärdatei zu verwenden. Eine Sitzung mit einer gespeicherten Konversation setzt diese fort |

804| `claude respawn --all` | Jede laufende Sitzung neu starten, z. B. um alle Sitzungen auf einmal auf eine aktualisierte Claude Code-Binärdatei zu verschieben |793| `claude respawn --all` | Jede laufende Sitzung neu starten, z. B. um alle Sitzungen auf einmal auf eine aktualisierte Claude Code-Binärdatei zu verschieben |

805| `claude rm <id>` | Eine Sitzung aus der Liste entfernen, zusammen mit einem Worktree, den Claude dafür erstellt hat, wenn es sicher zu löschen ist; siehe [Was das Löschen einer Sitzung entfernt](#what-deleting-a-session-removes). Das Gesprächstranskript bleibt auf Ihrem lokalen Computer und bleibt über `claude --resume` verfügbar |794| `claude rm <id>` | Eine Sitzung aus der Liste entfernen, zusammen mit einem Worktree, den Claude dafür erstellt hat, wenn dieser sicher gelöscht werden kann. Wenn Claude Code das Löschen der Sitzung wegen ihres Worktrees ablehnt, siehe [Eine Sitzung löschen, nachdem Claude Code abgelehnt hat](#delete-a-session-after-claude-code-refuses). Das Konversationstranskript bleibt auf Ihrem lokalen Computer und bleibt über `claude --resume` verfügbar |

806| `claude rm <id> --discard-unpushed <commit>@<worktree-id>` | Eine Sitzung löschen, deren Löschung wegen nicht gepushter Commits abgelehnt wurde, und dabei den Worktree zusammen mit seinem Branch und seinen Commits verwerfen. Übergeben Sie den genauen Wert, den die Ablehnung gedruckt hat; siehe [Was das Löschen einer Sitzung entfernt](#what-deleting-a-session-removes). Erfordert v2.1.260 oder später |795| `claude rm <id> --discard-unpushed <commit>@<worktree-id>` | Erneut versuchen, eine Sitzung zu löschen und ihren Worktree zu verwerfen, nachdem Claude Code dies wegen nicht gepushter Commits abgelehnt hat. Kopieren Sie den Befehl aus der `claude rm`-Meldung, die ihn anbietet; siehe [Worktree has commits that are not pushed anywhere](https://code.claude.com/docs/de/errors.md#worktree-has-commits-that-are-not-pushed-anywhere). Erfordert v2.1.260 oder später |

807| `claude rm <id> --force-remove-worktree <worktree-id>` | Eine Sitzung löschen, deren Löschung abgelehnt wurde, weil git oder der `WorktreeRemove`-Hook seinen Worktree nicht entfernen konnte, und dabei das Worktree-Verzeichnis trotzdem löschen und seinen Branch im Repository belassen. Übergeben Sie den genauen Wert, den die Ablehnung gedruckt hat; siehe [Was das Löschen einer Sitzung entfernt](#what-deleting-a-session-removes). Erfordert v2.1.268 oder später |796| `claude rm <id> --force-remove-worktree <worktree-id>` | Erneut versuchen, eine Sitzung zu löschen und ihr Worktree-Verzeichnis trotzdem zu entfernen, nachdem Claude Code dies abgelehnt hat, weil der Worktree nicht entfernt werden konnte. Kopieren Sie den Befehl aus der `claude rm`-Meldung, die ihn anbietet; siehe [Eine `Worktree not removed`-Meldung beheben](#resolve-a-worktree-not-removed-message). Erfordert v2.1.268 oder später |

808| `claude daemon status` | Den Status des [Supervisors](#the-supervisor-process), die Version, das Socket-Verzeichnis und die Anzahl der Worker drucken |797| `claude daemon status` | Den Status des [Supervisors](#the-supervisor-process), die Version, das Socket-Verzeichnis und die Anzahl der Worker drucken |

809| `claude daemon logs` | Der Logdatei des Supervisors, [`~/.claude/daemon.log`](#where-state-is-stored), folgen und neue Zeilen drucken, sobald sie eintreffen, bis Sie `Ctrl+C` drücken |798| `claude daemon logs` | Der Logdatei des Supervisors, [`~/.claude/daemon.log`](#where-state-is-stored), folgen und neue Zeilen drucken, sobald sie eintreffen, bis Sie `Ctrl+C` drücken |

810| `claude daemon stop --any` | Den Supervisor-Prozess und die Hintergrund-Sitzungen, die er hostet, stoppen. Übergeben Sie `--keep-workers`, um Hintergrund-Sitzungen laufen zu lassen, damit sich [der nächste Supervisor](#the-supervisor-process) mit ihnen verbinden kann. Der nächste `claude agents` oder `claude --bg` startet einen neuen Supervisor |799| `claude daemon stop --any` | Den Supervisor-Prozess und die Hintergrund-Sitzungen, die er hostet, stoppen. Übergeben Sie `--keep-workers`, um Hintergrund-Sitzungen laufen zu lassen, damit sich [der nächste Supervisor](#the-supervisor-process) mit ihnen verbinden kann. Der nächste `claude agents` oder `claude --bg` startet einen neuen Supervisor |


939 928 

940 Drücken Sie `Enter` auf der Zeile und die Fußzeile zeigt `Press enter again to resume this session (it ended while the background service was off), or ctrl+x to remove it.` Drücken Sie `Enter` auf derselben Zeile erneut, um die gespeicherte Konversation fortzusetzen. Eine Antwort oder `claude attach <id>` setzt sie fort, ohne diesen Hinweis in der Fußzeile.929 Drücken Sie `Enter` auf der Zeile und die Fußzeile zeigt `Press enter again to resume this session (it ended while the background service was off), or ctrl+x to remove it.` Drücken Sie `Enter` auf derselben Zeile erneut, um die gespeicherte Konversation fortzusetzen. Eine Antwort oder `claude attach <id>` setzt sie fort, ohne diesen Hinweis in der Fußzeile.

941 930 

942Wenn die [Transkript-Bereinigung](https://code.claude.com/docs/de/settings-reference.md#cleanupperioddays) die gespeicherte Konversation einer gestoppten Sitzung entfernt hat, weigert sich Claude Code, die Zeile zu öffnen: Die Meldung besagt, dass es nichts zum Fortsetzen gibt. `claude rm <id>` löscht die Zeile, außer in den [beibehaltenen Fällen](#what-deleting-a-session-removes), die oben beschrieben sind, und `claude respawn <id>` führt den ursprünglichen Prompt erneut aus. Siehe [Die gespeicherte Konversation dieser Sitzung ist nicht mehr auf der Festplatte](https://code.claude.com/docs/de/errors.md#this-sessions-saved-conversation-is-no-longer-on-disk).931Wenn die [Transkript-Bereinigung](https://code.claude.com/docs/de/settings-reference.md#cleanupperioddays) die gespeicherte Konversation einer gestoppten Sitzung entfernt hat, weigert sich Claude Code, die Zeile zu öffnen: Die Meldung besagt, dass es nichts zum Fortsetzen gibt. `claude rm <id>` löscht die Zeile, außer wenn [Claude Code dies verweigert](#what-deleting-a-session-removes), und `claude respawn <id>` führt den ursprünglichen Prompt erneut aus. Siehe [Die gespeicherte Konversation dieser Sitzung ist nicht mehr auf der Festplatte](https://code.claude.com/docs/de/errors.md#this-sessions-saved-conversation-is-no-longer-on-disk).

943 932 

944Der Ruhezustand allein stoppt Sitzungen nicht. Sitzungen werden über den Ruhezustand hinweg beibehalten und der Supervisor verbindet sich beim Aufwachen wieder mit ihnen.933Der Ruhezustand allein stoppt Sitzungen nicht. Sitzungen werden über den Ruhezustand hinweg beibehalten und der Supervisor verbindet sich beim Aufwachen wieder mit ihnen.

945 934 


973 962 

974Wenn der Prozess einer Hintergrund-Sitzung beendet wird, bevor er fertig startet, und der Host wenig Arbeitsspeicher hat, benennt der Status der Zeile den Exit und fügt `possibly low memory — free some up and retry` hinzu.963Wenn der Prozess einer Hintergrund-Sitzung beendet wird, bevor er fertig startet, und der Host wenig Arbeitsspeicher hat, benennt der Status der Zeile den Exit und fügt `possibly low memory — free some up and retry` hinzu.

975 964 

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

966>

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

977 968 

978Geben Sie Arbeitsspeicher auf dem Computer frei, dann hängen Sie sich an oder antworten Sie auf die Zeile und der Supervisor startet einen neuen Prozess für die Sitzung. Wenn der Arbeitsspeicher knapp bleibt, stoppt der Supervisor auch [untätige Sitzungen](#the-supervisor-process) von selbst, um Ressourcen freizugeben, und stoppt untätige angeheftete Sitzungen auch, wenn das Stoppen der anderen nichts freigegeben hat.969Geben Sie Arbeitsspeicher auf dem Host frei, drücken Sie dann `Enter` auf der Zeile und drücken Sie erneut, falls [die Fußzeile Sie dazu auffordert](#opening-a-session-says-it-has-no-saved-transcript). Der [Supervisor](#the-supervisor-process) startet einen neuen Prozess für die Sitzung. Wenn der Arbeitsspeicher knapp bleibt, [stoppt der Supervisor auch untätige Sitzungen](#the-supervisor-process) von selbst, um Ressourcen freizugeben, und stoppt untätige angeheftete Sitzungen auch, wenn das Stoppen der anderen nichts freigegeben hat.

979 970 

980### Agenten-Ansicht sagt, dass der Hintergrunddienst nicht geantwortet hat971### Agenten-Ansicht sagt, dass der Hintergrunddienst nicht geantwortet hat

981 972 


1036 1027 

1037### `.claude/worktrees/` füllt sich auf1028### `.claude/worktrees/` füllt sich auf

1038 1029 

1039Das Löschen einer Sitzung in der Agenten-Ansicht entfernt den Worktree, den Claude dafür erstellt hat, aber [einige Löschungen behalten den Worktree oder lassen sein Verzeichnis auf der Festplatte](#what-deleting-a-session-removes), daher können verwaiste Verzeichnisse sich ansammeln. Verzeichnisse, die Git nicht mehr erkennt, erscheinen nicht in `git worktree list`, daher entfernen Sie diese von Hand.1030Das Löschen einer Sitzung in der Agenten-Ansicht entfernt den Worktree, den Claude dafür erstellt hat, aber [einige Worktree-Verzeichnisse bleiben auf der Festplatte](#what-deleting-a-session-removes). Verzeichnisse, die Git nicht mehr erkennt, erscheinen nicht in `git worktree list`, daher entfernen Sie diese selbst.

1040 1031 

1041Listen Sie verbleibende Einträge mit `git worktree list` im Projektverzeichnis auf und entfernen Sie jeden mit `git worktree remove <path>`. Siehe [Worktrees bereinigen](https://code.claude.com/docs/de/worktrees.md#clean-up-worktrees).1032Listen Sie verbleibende Einträge mit `git worktree list` im Projektverzeichnis auf und entfernen Sie jeden mit `git worktree remove <path>`. Wenn Git dies verweigert, siehe [Worktrees von Subagenten und Hintergrund-Sitzungen bereinigen](https://code.claude.com/docs/de/worktrees.md#clean-up-subagent-and-background-session-worktrees).

1042 1033 

1043## Einschränkungen1034## Einschränkungen

1044 1035 


1046 1037 

1047* **Ratenlimits gelten**: Hintergrund-Sitzungen verbrauchen Ihre Abonnementnutzung genauso wie interaktive Sitzungen, daher verwendet das Ausführen von zehn Agenten parallel die Quote ungefähr zehnmal schneller.1038* **Ratenlimits gelten**: Hintergrund-Sitzungen verbrauchen Ihre Abonnementnutzung genauso wie interaktive Sitzungen, daher verwendet das Ausführen von zehn Agenten parallel die Quote ungefähr zehnmal schneller.

1048* **Sitzungen sind lokal**: Hintergrund-Sitzungen laufen auf Ihrem Computer. Sie werden über den Ruhezustand hinweg beibehalten, stoppen aber, wenn der Computer heruntergefahren wird.1039* **Sitzungen sind lokal**: Hintergrund-Sitzungen laufen auf Ihrem Computer. Sie werden über den Ruhezustand hinweg beibehalten, stoppen aber, wenn der Computer heruntergefahren wird.

1049* **Von Claude erstellte Worktrees werden mit der Sitzung in der Agenten-Ansicht gelöscht**: Führen Sie Änderungen zusammen, bevor Sie eine Sitzung löschen, die Dateien in ihrem eigenen Worktree bearbeitet hat. [Einige Löschungen behalten den Worktree stattdessen bei](#what-deleting-a-session-removes).1040* **Von Claude erstellte Worktrees werden mit der Sitzung in der Agenten-Ansicht gelöscht**: Committen Sie Änderungen, bevor Sie eine Sitzung löschen, die Dateien in ihrem eigenen Worktree bearbeitet hat. [Einige Worktrees bleiben auf der Festplatte erhalten](#what-deleting-a-session-removes).

1050 1041 

1051## Verwandte Ressourcen1042## Verwandte Ressourcen

1052 1043 

artifacts.md +2 −2

Details

432 432 

433Um festzulegen, wie lange Artefakte vor automatischer Löschung aufbewahrt werden, gehen Sie zu [**Organisationseinstellungen > Datenschutz und Datenschutz**](https://claude.ai/admin-settings/data-privacy-controls). Sie können separate Aufbewahrungszeiträume für Artefakte festlegen, die noch privat für ihren Autor sind, und Artefakte, die freigegeben wurden.433Um festzulegen, wie lange Artefakte vor automatischer Löschung aufbewahrt werden, gehen Sie zu [**Organisationseinstellungen > Datenschutz und Datenschutz**](https://claude.ai/admin-settings/data-privacy-controls). Sie können separate Aufbewahrungszeiträume für Artefakte festlegen, die noch privat für ihren Autor sind, und Artefakte, die freigegeben wurden.

434 434 

435### Überprüfen Sie das Audit-Protokoll435### Prüfen Sie Artefaktaktivitäten mit der Compliance API

436 436 

437Das Veröffentlichen, Freigeben und Löschen eines Artefakts wird jeweils in dem Audit-Protokoll Ihrer Organisation unter den `claude_artifact_*`-Ereignistypen angezeigt, der gleichen Familie, die für Artefakte verwendet wird, die in claude.ai-Gesprächen erstellt werden.437Fragen Sie bei Enterprise-Plänen den [Activity Feed](https://platform.claude.com/docs/en/manage-claude/compliance-activity-feed) der Compliance API ab, um zu sehen, wer ein Artefakt veröffentlicht, freigegeben oder gelöscht hat. Um die Aktivitätstypen zu finden, nach denen gefiltert werden soll, erweitern Sie `activity_types` in der [Activity-Feed-Referenz](https://platform.claude.com/docs/en/api/compliance/activities/list) und suchen Sie nach Namen, die `artifact` enthalten.

438 438 

439### Allowlist die Viewer-Domain439### Allowlist die Viewer-Domain

440 440 

Details

163Claude entscheidet, wohin jede Nachricht, die Sie in der Konversation senden, geht:163Claude entscheidet, wohin jede Nachricht, die Sie in der Konversation senden, geht:

164 164 

165* Eine schnelle Frage bekommt normalerweise eine Antwort in der Konversation.165* Eine schnelle Frage bekommt normalerweise eine Antwort in der Konversation.

166* Neue Arbeit geht zu einem neuen Thread oder zu einem Thread, der bereits in diesem Bereich arbeitet, und Claude teilt Ihnen mit, welcher. Jeder neue Thread wird unter Ihrer Nachricht als Karte angezeigt: ein Feld mit dem Titel und Status des Threads, auf das Sie klicken, um den Thread zu öffnen.166* Neue Arbeit geht zu einem neuen Thread oder zu einem Thread, der bereits in diesem Bereich arbeitet, und Claude teilt Ihnen mit, welcher. Jeder neue Thread wird in der Konversation angezeigt, und Sie klicken darauf, um den Thread zu öffnen.

167* Mehrere unabhängige Aufgaben in einer Nachricht werden zu separaten Threads.167* Mehrere unabhängige Aufgaben in einer Nachricht werden zu separaten Threads.

168 168 

169Wenn Claude etwas anders leitet als Sie wollten, sagen Sie es. [Tune how Claude runs a project](#tune-how-claude-runs-a-project) listet Dinge auf, die Sie ihm sagen können, wie z. B. die Wiederverwendung eines vorhandenen Threads für Folgefragen oder die Beantwortung an Ort und Stelle statt des Startens eines Threads.169Wenn Claude etwas anders leitet als Sie wollten, sagen Sie es. [Tune how Claude runs a project](#tune-how-claude-runs-a-project) listet Dinge auf, die Sie ihm sagen können, wie z. B. die Wiederverwendung eines vorhandenen Threads für Folgefragen oder die Beantwortung an Ort und Stelle statt des Startens eines Threads.

170 170 

171Die vollständigen Ergebnisse eines Threads bleiben im Thread, und Sie öffnen seine Karte in der Konversation, um sie zu lesen. Dateien, die ein Thread produziert hat, befinden sich auch in der [**Bibliothek**](#see-what-needs-you-in-overview) des Projekts.171Die vollständigen Ergebnisse eines Threads bleiben im Thread, öffnen Sie daher den Thread, um sie zu lesen. Dateien, die ein Thread produziert hat, befinden sich auch in der [**Bibliothek**](#see-what-needs-you-in-overview) des Projekts.

172 172 

173Manchmal schlägt Claude Threads vor, anstatt sie zu starten, in einer Liste **Vorgeschlagene Threads**. Klicken Sie auf den Pfeil bei einem Vorschlag, um diesen Thread zu starten. Wenn mehrere aufgelistet sind, startet ein Button unter der Liste alle.173Manchmal schlägt Claude Threads vor, anstatt sie zu starten, in einer Liste **Vorgeschlagene Threads**. Klicken Sie auf den Pfeil bei einem Vorschlag, um diesen Thread zu starten. Wenn mehrere aufgelistet sind, startet ein Button unter der Liste alle.

174 174 


180* **Pull Request**: öffnet einen, wenn Sie fragen, und kann einen selbst für einen Bug-Fix oder eine andere konkrete Änderung öffnen.180* **Pull Request**: öffnet einen, wenn Sie fragen, und kann einen selbst für einen Bug-Fix oder eine andere konkrete Änderung öffnen.

181* **Nachdem er geöffnet wird**: überwacht den Pull Request mit [Auto-Fix](https://code.claude.com/docs/de/claude-code-on-the-web.md#auto-fix-pull-requests) aktiviert, unabhängig davon, ob Auto-Fix für Ihre anderen Cloud-Sitzungen aktiviert ist. Er pusht Fixes, wenn CI fehlschlägt, adressiert Review-Kommentare und antwortet im Thread, wenn Checks bestanden werden und der Pull Request bereit für Sie ist.181* **Nachdem er geöffnet wird**: überwacht den Pull Request mit [Auto-Fix](https://code.claude.com/docs/de/claude-code-on-the-web.md#auto-fix-pull-requests) aktiviert, unabhängig davon, ob Auto-Fix für Ihre anderen Cloud-Sitzungen aktiviert ist. Er pusht Fixes, wenn CI fehlschlägt, adressiert Review-Kommentare und antwortet im Thread, wenn Checks bestanden werden und der Pull Request bereit für Sie ist.

182 182 

183Wenn ein Thread einen Branch gepusht oder einen Pull Request geöffnet hat, kann seine Karte in der Konversation einen Button für den nächsten Schritt anzeigen:

184 

185* **Konflikte auflösen**, **CI beheben**, **Kommentare adressieren** und **Merge it** senden diese Anweisung an den Thread als Nachricht von Ihnen, sodass Sie den Thread selbst auffordern können, anstatt zu warten, dass er auf den Pull Request reagiert.

186* **Review PR** öffnet den Pull Request auf GitHub.

187* **Create PR** wird angezeigt, wenn ein untätiger Thread einen Branch gepusht hat, aber keinen Pull Request geöffnet hat. Wenn Sie darauf klicken, wird der Pull Request direkt von diesem Branch erstellt, anstatt den Thread anzuweisen, einen zu öffnen.

188 

189Um zu ändern, wann Threads Pull Requests öffnen, z. B. nur wenn Sie fragen, oder von welchem Branch sie starten, sagen Sie es in der Aufgabe oder in [Projektanweisungen](#write-project-instructions).183Um zu ändern, wann Threads Pull Requests öffnen, z. B. nur wenn Sie fragen, oder von welchem Branch sie starten, sagen Sie es in der Aufgabe oder in [Projektanweisungen](#write-project-instructions).

190 184 

191### Sehen Sie in der Übersicht, was auf Sie wartet185### Sehen Sie in der Übersicht, was auf Sie wartet


212 206 

213### Öffnen Sie einen Thread, wenn Sie Kontrolle benötigen207### Öffnen Sie einen Thread, wenn Sie Kontrolle benötigen

214 208 

215Klicken Sie auf die Karte eines Threads in der Konversation oder seine Zeile in der Übersicht, um sein Transkript im Bereich Übersicht zu öffnen. Von dort aus können Sie:209Klicken Sie auf einen Thread in der Konversation oder seine Zeile in der Übersicht, um den Thread im Bereich Übersicht zu öffnen. Von dort aus können Sie:

216 210 

217* Lesen Sie, was Claude Schritt für Schritt getan hat.211* Lesen Sie, was Claude Schritt für Schritt getan hat.

218* Lenken Sie die Aufgabe, indem Sie in das eigene Nachrichtenfeld des Threads schreiben. Eine Nachricht dort geht direkt an diesen Thread, während eine Folgefrage in der Projektkonversation ihn nur erreicht, wenn Claude die Folgefrage diesem Thread zuordnet.212* Lenken Sie die Aufgabe, indem Sie in das eigene Nachrichtenfeld des Threads schreiben. Eine Nachricht dort geht direkt an diesen Thread, während eine Folgefrage in der Projektkonversation ihn nur erreicht, wenn Claude die Folgefrage diesem Thread zuordnet.

Details

128| `--session-id` | Verwenden Sie eine bestimmte Sitzungs-ID für die Konversation (muss eine gültige UUID sein) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |128| `--session-id` | Verwenden Sie eine bestimmte Sitzungs-ID für die Konversation (muss eine gültige UUID sein) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |

129| `--setting-sources` | Durch Kommas getrennte Liste von Einstellungsquellen zum Laden (`user`, `project`, `local`). Siehe [Agent-Ansicht](https://code.claude.com/docs/de/agent-view.md#what-carries-over-when-you-background) und [Agent-Teams](https://code.claude.com/docs/de/agent-teams.md#context-and-communication) für die Sitzungen, die Sie von dieser aus starten und die Liste erben | `claude --setting-sources user,project` |129| `--setting-sources` | Durch Kommas getrennte Liste von Einstellungsquellen zum Laden (`user`, `project`, `local`). Siehe [Agent-Ansicht](https://code.claude.com/docs/de/agent-view.md#what-carries-over-when-you-background) und [Agent-Teams](https://code.claude.com/docs/de/agent-teams.md#context-and-communication) für die Sitzungen, die Sie von dieser aus starten und die Liste erben | `claude --setting-sources user,project` |

130| `--settings` | Pfad zu einer Einstellungs-JSON-Datei oder ein Inline-JSON-String. Werte, die Sie hier setzen, überschreiben die gleichen Schlüssel in Ihren `settings.json`-Dateien für diese Sitzung. Schlüssel, die Sie weglassen, behalten ihre dateigestützten Werte. Die Datei muss eine reguläre Datei sein, nicht größer als 2 MiB. Siehe [Einstellungspriorität](https://code.claude.com/docs/de/settings.md#settings-precedence) | `claude --settings ./settings.json` |130| `--settings` | Pfad zu einer Einstellungs-JSON-Datei oder ein Inline-JSON-String. Werte, die Sie hier setzen, überschreiben die gleichen Schlüssel in Ihren `settings.json`-Dateien für diese Sitzung. Schlüssel, die Sie weglassen, behalten ihre dateigestützten Werte. Die Datei muss eine reguläre Datei sein, nicht größer als 2 MiB. Siehe [Einstellungspriorität](https://code.claude.com/docs/de/settings.md#settings-precedence) | `claude --settings ./settings.json` |

131| `--strict-mcp-config` | Verwenden Sie nur MCP-Server aus `--mcp-config`, ignorieren Sie alle anderen MCP-Konfigurationen. Siehe [Exklusive Kontrolle mit managed-mcp.json](https://code.claude.com/docs/de/managed-mcp.md#exclusive-control-with-managed-mcp-json) für das, was der Flag unter einer verwalteten MCP-Datei tut | `claude --strict-mcp-config --mcp-config ./mcp.json` |131| `--strict-mcp-config` | Überspringen Sie die MCP-Server, die an Orten wie `.mcp.json`, `~/.claude.json` oder in einem Plugin konfiguriert sind, und laden Sie diejenigen, die Sie mit `--mcp-config` übergeben. Siehe [Exklusive Kontrolle mit managed-mcp.json](https://code.claude.com/docs/de/managed-mcp.md#exclusive-control-with-managed-mcp-json) für das, was der Flag unter einer verwalteten MCP-Datei tut | `claude --strict-mcp-config --mcp-config ./mcp.json` |

132| `--system-prompt` | Ersetzen Sie den gesamten System-Prompt durch benutzerdefinierten Text | `claude --system-prompt "You are a Python expert"` |132| `--system-prompt` | Ersetzen Sie den gesamten System-Prompt durch benutzerdefinierten Text | `claude --system-prompt "You are a Python expert"` |

133| `--system-prompt-file` | Laden Sie den System-Prompt aus einer Datei, ersetzen Sie den Standard-Prompt | `claude --system-prompt-file ./custom-prompt.txt` |133| `--system-prompt-file` | Laden Sie den System-Prompt aus einer Datei, ersetzen Sie den Standard-Prompt | `claude --system-prompt-file ./custom-prompt.txt` |

134| `--system-prompt-snapshot` | Übergeben Sie `off`, um den System-Prompt bei jeder Anfrage neu zu erstellen, anstatt den Prompt [aufgezeichnet bei der ersten Anfrage der Konversation](#system-prompt-flags-in-resumed-conversations) wiederzuverwenden, z. B. während Sie den `--append-system-prompt`-Text über `--continue`-Läufe hinweg iterieren. Erfordert Claude Code v2.1.257 oder später | `claude --system-prompt-snapshot off` |134| `--system-prompt-snapshot` | Übergeben Sie `off`, um den System-Prompt bei jeder Anfrage neu zu erstellen, anstatt den Prompt [aufgezeichnet bei der ersten Anfrage der Konversation](#system-prompt-flags-in-resumed-conversations) wiederzuverwenden, z. B. während Sie den `--append-system-prompt`-Text über `--continue`-Läufe hinweg iterieren. Erfordert Claude Code v2.1.257 oder später | `claude --system-prompt-snapshot off` |

desktop.md +2 −1

Details

2127 2127 

2128Um das zu verhindern, stellen Sie zusätzlich `forceLoginOrgUUID` mit Ihrer claude.ai-Organisations-ID in der Claude-Desktop-Richtlinie bereit (unter Windows in `HKLM`). Sofern die Richtlinie nicht selbst [die Claude API auswählt](https://claude.com/docs/third-party/claude-desktop/claude-api#choose-an-authentication-approach), verwendet Claude Desktop beim nächsten Start der App den eigenen API-Schlüssel oder das eigene Console-Konto einer Person nicht mehr.2128Um das zu verhindern, stellen Sie zusätzlich `forceLoginOrgUUID` mit Ihrer claude.ai-Organisations-ID in der Claude-Desktop-Richtlinie bereit (unter Windows in `HKLM`). Sofern die Richtlinie nicht selbst [die Claude API auswählt](https://claude.com/docs/third-party/claude-desktop/claude-api#choose-an-authentication-approach), verwendet Claude Desktop beim nächsten Start der App den eigenen API-Schlüssel oder das eigene Console-Konto einer Person nicht mehr.

2129 2129 

2130Prüfen Sie vor der Bereitstellung zwei Fälle:2130Prüfen Sie vor der Bereitstellung drei Fälle:

2131 2131 

2132* **Claude-Console-Organisationen**: Stellen Sie `forceLoginOrgUUID` nicht allein mit der ID einer Claude-Console-Organisation bereit, da Sie sonst Ihre Personen von Claude Desktop aussperren würden. Siehe stattdessen [Welche Geräte die Anmeldung mit einem Claude-API-Konto anbieten](https://claude.com/docs/third-party/claude-desktop/claude-api#which-devices-offer-the-claude-api-account-sign-in).2132* **Claude-Console-Organisationen**: Stellen Sie `forceLoginOrgUUID` nicht allein mit der ID einer Claude-Console-Organisation bereit, da Sie sonst Ihre Personen von Claude Desktop aussperren würden. Siehe stattdessen [Welche Geräte die Anmeldung mit einem Claude-API-Konto anbieten](https://claude.com/docs/third-party/claude-desktop/claude-api#which-devices-offer-the-claude-api-account-sign-in).

2133* **Enterprise Admin Console**: Wenn sie die Claude-Desktop-Konfiguration Ihrer Computer bereitstellt, aktualisieren Sie diese zuerst auf Claude Desktop v2.37337.0 oder später, da frühere Versionen diese Konfiguration ignorieren, sobald dieser Schlüssel gesetzt ist. Siehe [Ein Gerät auf seinem verwalteten Profil halten](https://claude.com/docs/third-party/claude-desktop/admin-console#keep-a-device-on-its-managed-profile).2133* **Enterprise Admin Console**: Wenn sie die Claude-Desktop-Konfiguration Ihrer Computer bereitstellt, aktualisieren Sie diese zuerst auf Claude Desktop v2.37337.0 oder später, da frühere Versionen diese Konfiguration ignorieren, sobald dieser Schlüssel gesetzt ist. Siehe [Ein Gerät auf seinem verwalteten Profil halten](https://claude.com/docs/third-party/claude-desktop/admin-console#keep-a-device-on-its-managed-profile).

2134* **Drittanbieter**: Wenn Personen in der App ihre eigene [Drittanbieter-Inferenzkonfiguration](https://claude.com/docs/third-party/claude-desktop/in-app-configuration) eingerichtet haben, ignoriert Claude Desktop diese Konfiguration ab dem nächsten Start, nachdem Sie diesen Schlüssel bereitgestellt haben. Damit Personen weiterhin Amazon Bedrock, die Agent Platform von Google Cloud, Microsoft Foundry oder ein LLM-Gateway verwenden, [stellen Sie in derselben Claude-Desktop-Richtlinie eine Konfiguration](https://claude.com/docs/third-party/claude-desktop/configuration) auf ihren Computern bereit.

2134 2135 

2135### Netzwerkzugriffsanforderungen2136### Netzwerkzugriffsanforderungen

2136 2137 

Details

182* **Zulässige Berechtigungen überprüfen**: Sehen Sie und widerrufen Sie gespeicherte Tool-Genehmigungen für diese Aufgabe aus dem Bereich **Immer zulässig**182* **Zulässige Berechtigungen überprüfen**: Sehen Sie und widerrufen Sie gespeicherte Tool-Genehmigungen für diese Aufgabe aus dem Bereich **Immer zulässig**

183* **Löschen**: Entfernen Sie die Aufgabe. Die Sitzungen, die die Aufgabe erstellt hat, werden [archiviert](https://code.claude.com/docs/de/desktop.md#organize-and-find-sessions), nicht gelöscht. Der Ordner mit der Datei `SKILL.md` der Aufgabe verbleibt auf der Festplatte unter `~/.claude/scheduled-tasks/<task-name>/` bzw. unter `scheduled-tasks/<task-name>/` in [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/de/env-vars), falls Sie diese Variable gesetzt haben. Um diesen Ordner zu entfernen, löschen Sie ihn selbst.183* **Löschen**: Entfernen Sie die Aufgabe. Die Sitzungen, die die Aufgabe erstellt hat, werden [archiviert](https://code.claude.com/docs/de/desktop.md#organize-and-find-sessions), nicht gelöscht. Der Ordner mit der Datei `SKILL.md` der Aufgabe verbleibt auf der Festplatte unter `~/.claude/scheduled-tasks/<task-name>/` bzw. unter `scheduled-tasks/<task-name>/` in [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/de/env-vars), falls Sie diese Variable gesetzt haben. Um diesen Ordner zu entfernen, löschen Sie ihn selbst.

184 184 

185Sie können Aufgaben auch auflisten, erstellen, bearbeiten und pausieren, indem Sie Claude in einer beliebigen Desktop-Sitzung bitten. Zum Beispiel „Pausieren Sie meine Aufgabe zur Abhängigkeitsprüfung“ oder „Zeigen Sie mir meine geplanten Aufgaben.“ Um eine Aufgabe zu löschen, verwenden Sie die Schaltfläche **Löschen** auf ihrer Detailseite.185Sie können Aufgaben auch verwalten, indem Sie Claude bitten, eine Aufgabe sich selbst aktualisieren lassen oder den Prompt einer Aufgabe auf der Festplatte bearbeiten:

186 186 

187Damit eine Aufgabe ihren eigenen Zeitplan oder Prompt mit dem MCP-Tool `update_scheduled_task` ändern kann, klicken Sie auf **Jetzt ausführen** und genehmigen Sie den Aufruf jedes Mal.187* **Claude bitten**: Listen Sie Aufgaben auf, erstellen, bearbeiten und pausieren Sie sie, indem Sie Claude in einer beliebigen Desktop-Sitzung bitten. Zum Beispiel „Pausieren Sie meine Aufgabe zur Abhängigkeitsprüfung“ oder „Zeigen Sie mir meine geplanten Aufgaben.“ Um eine Aufgabe zu löschen, verwenden Sie die Schaltfläche **Löschen** auf ihrer Detailseite.

188 188* **Eine Aufgabe sich selbst aktualisieren lassen**: Damit eine Aufgabe ihren eigenen Zeitplan oder Prompt mit dem MCP-Tool `update_scheduled_task` ändern kann, klicken Sie auf **Jetzt ausführen** und genehmigen Sie den Aufruf jedes Mal

189Um den Prompt einer Aufgabe auf der Festplatte zu bearbeiten, öffnen Sie `~/.claude/scheduled-tasks/<task-name>/SKILL.md` (oder unter [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/de/env-vars), falls gesetzt). Die Datei verwendet YAML-Frontmatter für `name` und `description`, mit dem Prompt als Text. Änderungen werden bei der nächsten Ausführung wirksam. Zeitplan, Ordner und aktivierter Status befinden sich nicht in dieser Datei: Ändern Sie sie über das Bearbeitungsformular oder bitten Sie Claude.189* **Den Prompt auf der Festplatte bearbeiten**: Öffnen Sie `~/.claude/scheduled-tasks/<task-name>/SKILL.md` bzw. `scheduled-tasks/<task-name>/SKILL.md` in [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/de/env-vars), falls Sie diese Variable gesetzt haben. Die Datei verwendet YAML-Frontmatter für `name` und `description`, mit dem Prompt als Text. Änderungen werden bei der nächsten Ausführung wirksam. Zeitplan, Ordner und aktivierter Status befinden sich nicht in dieser Datei: Ändern Sie sie über das Bearbeitungsformular oder bitten Sie Claude.

190 190 

191## Verwandte Ressourcen191## Verwandte Ressourcen

192 192 

env-vars.md +1 −1

Details

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

357| `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 unter diesem Pfad. Standardmäßig `~/.claude/plugins` |357| `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 unter diesem Pfad. Standardmäßig `~/.claude/plugins` |

358| `CLAUDE_CODE_PLUGIN_DIRS` | Plugin-Verzeichnisse, die für die Sitzung geladen werden, jeweils so, wie ein [`--plugin-dir`](https://code.claude.com/docs/de/plugins/cli-reference#flags-that-load-a-plugin-for-one-session)-Flag es lädt. Trennen Sie mehrere Pfade mit `:` unter Unix oder `;` unter Windows. 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](https://code.claude.com/docs/de/plugins/create.md#load-a-directory-or-archive-for-one-session) |358| `CLAUDE_CODE_PLUGIN_DIRS` | Plugin-Verzeichnisse, die für die Sitzung geladen werden, jeweils so, wie ein [`--plugin-dir`](https://code.claude.com/docs/de/plugins/cli-reference#flags-that-load-a-plugin-for-one-session)-Flag es lädt. Trennen Sie mehrere Pfade mit `:` unter Unix oder `;` unter Windows. 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](https://code.claude.com/docs/de/plugins/create.md#load-a-directory-or-archive-for-one-session) |

359| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | Steuert, ob Claude Code einen [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) neu lädt, wenn sich die Dateien des Mods ändern. Das Neuladen gilt für einen Mod, den Sie mit `--plugin-dir` aus einem Verzeichnis laden, und ist in interaktiven Sitzungen standardmäßig aktiviert. Auf `1` setzen, um es auch in nicht interaktiven Sitzungen zu aktivieren, oder auf `0`, um es in jeder Sitzung zu deaktivieren. Erfordert Claude Code v2.1.287 oder höher. Siehe [Mod-Einstellungen und Umgebungsvariablen](https://code.claude.com/docs/de/plugins/mods/reference.md#settings-and-environment-variables) |359| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | Steuert, ob ein [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) neu geladen wird, wenn sich seine Dateien ändern. Standardmäßig werden Mods in [Skills-Verzeichnissen](https://code.claude.com/docs/de/plugins/org.md#keep-skills-directory-plugins-loading) in jeder Sitzung neu geladen, die mehr als einen Prompt umfasst, [nicht interaktive](https://code.claude.com/docs/de/headless.md) eingeschlossen. Mods in `--plugin-dir`-Verzeichnissen werden nur in interaktiven Terminalsitzungen neu geladen. Auf `1` setzen, um sie so neu zu laden wie Mods aus Skills-Verzeichnissen, oder auf `0`, um das Neuladen überall auszuschalten. Erfordert Claude Code v2.1.287 oder höher |

360| `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](https://code.claude.com/docs/de/plugins/troubleshooting.md#git-clone-timed-out-after-120s) |360| `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](https://code.claude.com/docs/de/plugins/troubleshooting.md#git-clone-timed-out-after-120s) |

361| `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 daran authentifizieren kann. Nützlich in Offline- oder Air-Gap-Umgebungen, in denen ein erneutes Klonen auf dieselbe Weise fehlschlagen würde. Siehe [Marketplace-Updates schlagen in Offline-Umgebungen fehl](https://code.claude.com/docs/de/plugins/troubleshooting.md#marketplace-updates-keep-failing-offline) |361| `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 daran authentifizieren kann. Nützlich in Offline- oder Air-Gap-Umgebungen, in denen ein erneutes Klonen auf dieselbe Weise fehlschlagen würde. Siehe [Marketplace-Updates schlagen in Offline-Umgebungen fehl](https://code.claude.com/docs/de/plugins/troubleshooting.md#marketplace-updates-keep-failing-offline) |

362| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Auf `1` setzen, um GitHub-Quellen in der Kurzform `owner/repo` über HTTPS statt 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` |362| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Auf `1` setzen, um GitHub-Quellen in der Kurzform `owner/repo` über HTTPS statt 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` |

errors.md +4 −8

Details

5556 5556 

5557### Worktree hat Commits, die nirgendwo gepusht werden5557### Worktree hat Commits, die nirgendwo gepusht werden

5558 5558 

5559Sie haben versucht, eine [Hintergrund-Sitzung](https://code.claude.com/docs/de/agent-view.md#what-deleting-a-session-removes) zu löschen, deren Worktree Commits enthält, bei denen Claude Code nicht bestätigen kann, dass sie anderswo gespeichert sind. Claude Code behält den Worktree und die Sitzungszeile bei, anstatt die Commits ungesehen zu zerstören. `claude rm` nennt den Branch und die nicht gepushten Commits und sagt, wie Sie vorgehen:5559Sie haben versucht, eine [Hintergrund-Sitzung](https://code.claude.com/docs/de/agent-view.md#what-deleting-a-session-removes) zu löschen, deren Worktree Commits enthält, bei denen Claude Code nicht bestätigen kann, dass sie anderswo gespeichert sind. `claude rm` sagt, wie Sie vorgehen:

5560 5560 

5561```text theme={null}5561```text theme={null}

5562kept 7c5dcf5d — its worktree is still at “/home/you/project/.claude/worktrees/fix-login”5562kept 7c5dcf5d — its worktree is still at “/home/you/project/.claude/worktrees/fix-login”


5566 5566 

5567Wenn Claude Code die Commits nicht zusammenfassen kann, lautet die Detailzeile stattdessen `The worktree has unpushed commits`. In der [Agent-Ansicht](https://code.claude.com/docs/de/agent-view.md) zeigt die Sitzungszeile `not removed` mit dem gleichen Grund.5567Wenn Claude Code die Commits nicht zusammenfassen kann, lautet die Detailzeile stattdessen `The worktree has unpushed commits`. In der [Agent-Ansicht](https://code.claude.com/docs/de/agent-view.md) zeigt die Sitzungszeile `not removed` mit dem gleichen Grund.

5568 5568 

5569Commits auf einem Remote blockieren die Löschung nicht. Auch nicht Commits auf der lokalen Kopie des Standard-Branches Ihres `origin`-Remote, solange dieser Branch in Ihrem Haupt-Checkout ausgecheckt ist, dem Repository-Verzeichnis selbst, nicht einem Worktree.

5570 

5571**Was zu tun ist:**5569**Was zu tun ist:**

5572 5570 

5573* Um die Commits zu behalten, pushen Sie den Branch des Worktree, oder mergen Sie ihn in den Standard-Branch, der in Ihrem Haupt-Checkout ausgecheckt ist, dann löschen Sie die Sitzung erneut5571* Um die Commits zu behalten, pushen Sie sie. Sobald der Push sie auf einen Remote-Tracking-Branch wie `origin/claude/fix-login` bringt, versuchen Sie erneut, die Sitzung zu löschen.

5574* Um die Commits zu verwerfen, führen Sie den `claude rm <id> --discard-unpushed`-Befehl aus, den die Meldung ausgegeben hat, oder drücken Sie `Ctrl+X` zweimal auf der Sitzungszeile in der Agent-Ansicht erneut. Dies entfernt die Sitzung und den Worktree zusammen mit seinem Branch, den nicht gepushten Commits und allen nicht committeten Änderungen. Wenn das Löschen erneut abgelehnt wird, folgen Sie der neuen Meldung.5572* Wenn die Meldung anbietet, die Commits zu verwerfen, stellen Sie zuerst sicher, dass Sie den Worktree, die Commits und alle nicht committeten Änderungen nicht benötigen. Führen Sie dann den Schritt aus, den die Meldung angibt: Drücken Sie `Ctrl+X` zweimal auf der Sitzungszeile in der Agent-Ansicht, oder führen Sie den `claude rm <id> --discard-unpushed <commit>@<worktree-id>`-Befehl aus, den `claude rm` ausgegeben hat. Wenn Claude Code erneut ablehnt, folgen Sie der neuen Meldung.

5575* Wenn die Meldung sagt, dass der Worktree auch von einer anderen beendeten Sitzung aufgezeichnet wird, verwirft erneutes Löschen ihn nicht: Pushen Sie die Commits, dann löschen Sie die Sitzung erneut5573* Wenn die Meldung sagt, dass der Worktree auch von einer anderen beendeten Sitzung aufgezeichnet wird, verwirft erneutes Löschen ihn nicht: Pushen Sie die Commits, dann versuchen Sie erneut, die Sitzung zu löschen

5576 5574 

5577Vor v2.1.268 setzte `claude rm` die Commit-Zusammenfassung auf die `kept`-Zeile selbst. Wenn `claude rm` die Commits nicht zusammenfassen konnte, lautete die `kept`-Zeile `worktree has commits that are not pushed anywhere` anstelle der Zusammenfassung.5575Vor v2.1.268 setzte `claude rm` die Commit-Zusammenfassung auf die `kept`-Zeile selbst. Wenn `claude rm` die Commits nicht zusammenfassen konnte, lautete die `kept`-Zeile `worktree has commits that are not pushed anywhere` anstelle der Zusammenfassung.

5578 5576 

5579Vor v2.1.260 nannte die Meldung nicht den Branch oder die Commits, und es gab keine Möglichkeit zum Verwerfen. Sie können die Sitzung trotzdem löschen, wobei nicht committete Änderungen verloren gehen, der Branch und die Commits aber erhalten bleiben. Führen Sie `git worktree remove --force --force <path>` mit dem Pfad aus, den die Ablehnung ausgegeben hat, dann `claude rm <id>`. Git benötigt `--force` zweimal für einen gesperrten Worktree.5577Vor v2.1.260 nannte die Meldung nicht den Branch oder die Commits, und es gab keine Möglichkeit zum Verwerfen. Sie können die Sitzung trotzdem löschen, wobei nicht committete Änderungen verloren gehen, der Branch und die Commits aber erhalten bleiben. Führen Sie `git worktree remove --force --force <path>` mit dem Pfad aus, den die Ablehnung ausgegeben hat, dann `claude rm <id>`. Git benötigt `--force` zweimal für einen gesperrten Worktree.

5580 5578 

5581Vor v2.1.248 zählte der Standard-Branch, der in Ihrem Haupt-Checkout ausgecheckt ist, nicht: Ein Branch, den Sie bereits dort gemergt hatten, löste diese Ablehnung immer noch aus, bis seine Commits einen Remote erreichten.

5582 

5583### Terminal-Host-Prozess ist gestorben5579### Terminal-Host-Prozess ist gestorben

5584 5580 

5585Das Terminal jeder [Hintergrund-Sitzung](https://code.claude.com/docs/de/agent-view.md) läuft in einem Host-Prozess unter dem Hintergrund-Service, und dieser Prozess ist gestorben, während der Service seine Verbindung noch hielt, daher konnte die Sitzung nicht erreicht werden.5581Das Terminal jeder [Hintergrund-Sitzung](https://code.claude.com/docs/de/agent-view.md) läuft in einem Host-Prozess unter dem Hintergrund-Service, und dieser Prozess ist gestorben, während der Service seine Verbindung noch hielt, daher konnte die Sitzung nicht erreicht werden.

Details

35Diese haben anbieter-spezifische Unterschiede:35Diese haben anbieter-spezifische Unterschiede:

36 36 

37* **MCP-Server**: [Konnektoren von claude.ai](https://code.claude.com/docs/de/mcp.md#use-mcp-servers-from-claude-ai) werden nur geladen, wenn Ihr claude.ai-Abonnement die aktive Authentifizierungsmethode ist. [Tool-Suche](https://code.claude.com/docs/de/mcp.md#configure-tool-search) wird auf Microsoft Foundry [Bereitstellungen, die auf Azure gehostet werden](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) nicht unterstützt. Auf Google Cloud's Agent Platform wird die Tool-Suche auf Modellen vor Claude Opus 4.5, Claude Sonnet 4.5 und Claude Haiku 4.5 nicht unterstützt37* **MCP-Server**: [Konnektoren von claude.ai](https://code.claude.com/docs/de/mcp.md#use-mcp-servers-from-claude-ai) werden nur geladen, wenn Ihr claude.ai-Abonnement die aktive Authentifizierungsmethode ist. [Tool-Suche](https://code.claude.com/docs/de/mcp.md#configure-tool-search) wird auf Microsoft Foundry [Bereitstellungen, die auf Azure gehostet werden](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) nicht unterstützt. Auf Google Cloud's Agent Platform wird die Tool-Suche auf Modellen vor Claude Opus 4.5, Claude Sonnet 4.5 und Claude Haiku 4.5 nicht unterstützt

38* **Subagents**: Wenn die Hauptkonversation Fable ausführt, läuft der integrierte [Explore Subagent](https://code.claude.com/docs/de/sub-agents.md#built-in-subagents) mit einem Claude-Abonnement, einem Anthropic Console-Konto oder einem über `ANTHROPIC_BASE_URL` erreichten [LLM-Gateway](https://code.claude.com/docs/de/llm-gateway) auf Opus. Bei anderen Anbietern, einschließlich Claude Platform on AWS, läuft er auf Fable38* **Subagenten**: Wenn die übergeordnete Konversation Fable ausführt, läuft der integrierte [Explore-Subagent](https://code.claude.com/docs/de/sub-agents.md#built-in-subagents) auf Opus, sofern Sie ein Claude-Abonnement, ein Anthropic Console-Konto oder ein [LLM-Gateway](https://code.claude.com/docs/de/llm-gateway) verwenden, das über `ANTHROPIC_BASE_URL` erreicht wird. Bei anderen Anbietern, einschließlich Claude Platform on AWS, läuft er auf Fable

39* **[Commands](https://code.claude.com/docs/de/commands.md#all-commands)**:39* **[Commands](https://code.claude.com/docs/de/commands.md#all-commands)**:

40 * `/design-sync` und `/import` mit seiner `claude import` Subbefehlsform sind auf Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry und Claude Platform on AWS nicht verfügbar, und über ein [Claude apps gateway](https://code.claude.com/docs/de/claude-apps-gateway#availability-and-limitations)40 * `/design-sync` und `/import` mit seiner `claude import` Subbefehlsform sind auf Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry und Claude Platform on AWS nicht verfügbar, und über ein [Claude apps gateway](https://code.claude.com/docs/de/claude-apps-gateway#availability-and-limitations)

41 * `/voice` erfordert ein claude.ai-Konto41 * `/voice` erfordert ein claude.ai-Konto

Details

188>188>

189> **Legen Sie Schutzmaßnahmen in Hooks.** Eine Anweisung wie „niemals `.env` bearbeiten“ in CLAUDE.md oder einem Skill ist eine Anfrage, keine Garantie. Ein `PreToolUse`-Hook, der die Bearbeitung blockiert, ist Durchsetzung. Wenn eine Regel jedes Mal gelten muss, machen Sie sie zu einem Hook statt zu einer Prompt-Anweisung.189> **Legen Sie Schutzmaßnahmen in Hooks.** Eine Anweisung wie „niemals `.env` bearbeiten“ in CLAUDE.md oder einem Skill ist eine Anfrage, keine Garantie. Ein `PreToolUse`-Hook, der die Bearbeitung blockiert, ist Durchsetzung. Wenn eine Regel jedes Mal gelten muss, machen Sie sie zu einem Hook statt zu einer Prompt-Anweisung.

190>190>

191> **Hook-Ausgabe landet im Kontext.** Ein `PostToolUse`-Hook, der Ihren Linter ausführt, gibt Ergebnisse als Text zurück, den Claude liest; ein `/fix-lint`-Skill sagt Claude, wie man sie löst.191> **Kombinieren Sie einen Hook mit einem Skill.** Verwenden Sie einen `PostToolUse`-Hook, um Ihren Linter auszuführen und [die Fehler an Claude zu senden](https://code.claude.com/docs/de/hooks.md#exit-code-2-behavior-per-event). Um Claude Ihre eigenen Regeln zur Behebung der Fehler zu geben, schreiben Sie einen Skill wie `/fix-lint`.

192 192 

193### Verstehen Sie, wie Funktionen sich schichten193### Verstehen Sie, wie Funktionen sich schichten

194 194 

glossary.md +1 −1

Details

283 283 

284### Sandboxing284### Sandboxing

285 285 

286OS-Level-Dateisystem- und Netzwerkisolation für das Bash-Tool. Befehle werden innerhalb einer Grenze ausgeführt, die Sie im Voraus definieren, sodass Claude frei darin arbeiten kann, ohne Berechtigungsabfragen pro Befehl. Sandboxing ist eine separate Schicht von [Berechtigungsregeln](#permission-rule).286OS-Level-Dateisystem- und Netzwerkisolation für das Bash-Tool. Befehle werden innerhalb einer Grenze ausgeführt, die Sie im Voraus definieren. Sandboxing ist eine separate Schicht von [Berechtigungsregeln](#permission-rule).

287 287 

288Weitere Informationen: [Sandboxing](https://code.claude.com/docs/de/sandboxing.md)288Weitere Informationen: [Sandboxing](https://code.claude.com/docs/de/sandboxing.md)

289 289 

hooks-guide.md +5 −1

Details

242 242 

243### Bearbeitungen an geschützten Dateien blockieren243### Bearbeitungen an geschützten Dateien blockieren

244 244 

245Verhindern Sie, dass Claude sensible Dateien wie `.env`, `package-lock.json` oder alles in `.git/` ändert. Claude erhält Feedback, das erklärt, warum die Bearbeitung blockiert wurde, sodass es seine Vorgehensweise anpassen kann.245Verhindern Sie, dass die Tools `Edit` und `Write` von Claude sensible Dateien wie `.env`, `package-lock.json` oder alles in `.git/` ändern. Claude erhält Feedback, das erklärt, warum die Bearbeitung blockiert wurde, sodass es seine Vorgehensweise anpassen kann.

246 246 

247Dieses Beispiel verwendet eine separate Skriptdatei, die der Hook aufruft. Das Skript prüft den Zieldateipfad anhand einer Liste geschützter Muster und beendet sich mit Exit-Code 2, um die Bearbeitung zu blockieren.247Dieses Beispiel verwendet eine separate Skriptdatei, die der Hook aufruft. Das Skript prüft den Zieldateipfad anhand einer Liste geschützter Muster und beendet sich mit Exit-Code 2, um die Bearbeitung zu blockieren.

248 248 


306 306 

307Bitten Sie Claude, Ihrer `.env`-Datei einen Kommentar hinzuzufügen. Claude Code blockiert die Bearbeitung, bevor sie ausgeführt wird, und übergibt die `Blocked:`-Meldung des Skripts als Feedback an Claude.307Bitten Sie Claude, Ihrer `.env`-Datei einen Kommentar hinzuzufügen. Claude Code blockiert die Bearbeitung, bevor sie ausgeführt wird, und übergibt die `Blocked:`-Meldung des Skripts als Feedback an Claude.

308 308 

309Claude kann die geschützten Dateien weiterhin mit Shell-Befehlen ändern. Um einige dieser Befehle zu blockieren, fügen Sie pro Pfad eine [`Edit`-Deny-Regel](https://code.claude.com/docs/de/permissions#what-read-and-edit-rules-cover) unter `permissions.deny` in `.claude/settings.json` hinzu, etwa `Edit(/.env)` für die `.env` im Stammverzeichnis des Projekts.

310 

311Selbst mit diesen Regeln kann Claude `.env` auf andere Weise ändern. Um einzuschränken, in welche Dateien Befehle schreiben können, lesen Sie [Sandboxing konfigurieren](https://code.claude.com/docs/de/sandboxing.md#configure-sandboxing).

312 

309### Kontext nach der Komprimierung erneut einfügen313### Kontext nach der Komprimierung erneut einfügen

310 314 

311Wenn sich das Kontextfenster von Claude füllt, fasst die Komprimierung die Konversation zusammen, um Platz zu schaffen. Dabei können wichtige Details verloren gehen. Verwenden Sie einen `SessionStart`-Hook mit einem `compact`-Matcher, um nach jeder Komprimierung wichtigen Kontext erneut einzufügen.315Wenn sich das Kontextfenster von Claude füllt, fasst die Komprimierung die Konversation zusammen, um Platz zu schaffen. Dabei können wichtige Details verloren gehen. Verwenden Sie einen `SessionStart`-Hook mit einem `compact`-Matcher, um nach jeder Komprimierung wichtigen Kontext erneut einzufügen.

Details

296* Das Feld `output_config.effort` auf oberster Ebene. [Automatische Wiederholungsversuche und Fehlerweiterleitung](#automatic-retry-and-error-forwarding) behandelt ein Upstream, das es ablehnt296* Das Feld `output_config.effort` auf oberster Ebene. [Automatische Wiederholungsversuche und Fehlerweiterleitung](#automatic-retry-and-error-forwarding) behandelt ein Upstream, das es ablehnt

297* Das `thinking` Feld für Adaptive Reasoning, das keinen Beta-Header hat297* Das `thinking` Feld für Adaptive Reasoning, das keinen Beta-Header hat

298* Die `role: "system"`-Einträge, die [Systemnachrichten mitten in der Konversation](#feature-pass-through) enthalten298* Die `role: "system"`-Einträge, die [Systemnachrichten mitten in der Konversation](#feature-pass-through) enthalten

299* Der `anthropic-beta`-Wert und das `safeguards`-Feld für die [serverseitige Klassifikator-Überprüfung](https://code.claude.com/docs/de/permission-modes.md#server-side-classifier-review) des Auto-Modus in Sitzungen, in denen diese Überprüfung aktiviert bleibt, etwa wenn `/status` **Auto mode server** als `Enabled` anzeigt. Um die Überprüfung auszuschalten, setzen Sie `CLAUDE_CODE_AUTO_MODE_SERVER=0`, bevor Sie die Sitzung starten. Im Terminal zeigt `/status` dann **Auto mode server** als `Disabled` an.

299* Der OAuth-`anthropic-beta`-Wert, den die Abonnement-Authentifizierung benötigt300* Der OAuth-`anthropic-beta`-Wert, den die Abonnement-Authentifizierung benötigt

300* Header-Werte und Body-Felder, die Entwickler selbst über [`ANTHROPIC_BETAS`](https://code.claude.com/docs/de/env-vars) oder [`CLAUDE_CODE_EXTRA_BODY`](https://code.claude.com/docs/de/env-vars) hinzufügen301* Header-Werte und Body-Felder, die Entwickler selbst über [`ANTHROPIC_BETAS`](https://code.claude.com/docs/de/env-vars) oder [`CLAUDE_CODE_EXTRA_BODY`](https://code.claude.com/docs/de/env-vars) hinzufügen

301 302 

managed-mcp.md +3 −2

Details

30| Muster | Funktion | Konfigurieren |30| Muster | Funktion | Konfigurieren |

31| :- | :- | :- |31| :- | :- | :- |

32| **MCP deaktivieren** | Keine Server werden geladen, außer den wenigen, die [unter exklusiver Kontrolle geladen werden](#exclusive-control-with-managed-mcp-json) | `managed-mcp.json` mit einer leeren Serverzuordnung |32| **MCP deaktivieren** | Keine Server werden geladen, außer den wenigen, die [unter exklusiver Kontrolle geladen werden](#exclusive-control-with-managed-mcp-json) | `managed-mcp.json` mit einer leeren Serverzuordnung |

33| **Feste Bereitstellung** | Jeder Benutzer erhält die gleichen Server und kann keine anderen hinzufügen | `managed-mcp.json` mit den gewünschten Servern |33| **Feste Bereitstellung** | Jeder Benutzer erhält die Server, die Sie auflisten, und von ihm selbst konfigurierte Server werden nicht geladen | `managed-mcp.json` mit den gewünschten Servern |

34| **Bereitgestellte Server** | Jeder Benutzer erhält die Remote-Server, die Sie auflisten, und behält seine eigenen | `managedMcpServers` in verwalteten Einstellungen |34| **Bereitgestellte Server** | Jeder Benutzer erhält die Remote-Server, die Sie auflisten, und behält seine eigenen | `managedMcpServers` in verwalteten Einstellungen |

35| **Genehmigter Katalog** | Veröffentlichen Sie eine Liste genehmigter Server; Benutzer fügen die gewünschten hinzu, alles andere wird blockiert | `allowedMcpServers` + `allowManagedMcpServersOnly: true` |35| **Genehmigter Katalog** | Veröffentlichen Sie eine Liste genehmigter Server; Benutzer fügen die gewünschten hinzu, alles andere wird blockiert | `allowedMcpServers` + `allowManagedMcpServersOnly: true` |

36| **Nur Plugin-Server** | Benutzer können keine Server über `~/.claude.json` oder `.mcp.json` hinzufügen; [Skills-Verzeichnis-Plugins](https://code.claude.com/docs/de/plugins/loading.md#skills-directory-plugins-blocked-by-managed-settings) werden nicht mehr als Plugins geladen, und Server aus anderen Plugins werden weiterhin geladen | [`strictPluginOnlyCustomization`](https://code.claude.com/docs/de/settings-reference#strictpluginonlycustomization) mit `mcp` in der Liste |36| **Nur Plugin-Server** | Benutzer können keine Server über `~/.claude.json` oder `.mcp.json` hinzufügen; [Skills-Verzeichnis-Plugins](https://code.claude.com/docs/de/plugins/loading.md#skills-directory-plugins-blocked-by-managed-settings) werden nicht mehr als Plugins geladen, und Server aus anderen Plugins werden weiterhin geladen | [`strictPluginOnlyCustomization`](https://code.claude.com/docs/de/settings-reference#strictpluginonlycustomization) mit `mcp` in der Liste |


49* Die Server, die die Datei definiert49* Die Server, die die Datei definiert

50* Server, die Sie [über `managedMcpServers` bereitstellen](#provide-servers-through-managed-settings)50* Server, die Sie [über `managedMcpServers` bereitstellen](#provide-servers-through-managed-settings)

51* In-Process-Server, die die Anwendung registriert, die die Sitzung gestartet hat, wie beispielsweise der eigene Server der VS Code-Erweiterung oder die [Konnektoren, die die Desktop-Anwendung bereitstellt](https://code.claude.com/docs/de/mcp.md#how-connectors-reach-claude-code)51* In-Process-Server, die die Anwendung registriert, die die Sitzung gestartet hat, wie beispielsweise der eigene Server der VS Code-Erweiterung oder die [Konnektoren, die die Desktop-Anwendung bereitstellt](https://code.claude.com/docs/de/mcp.md#how-connectors-reach-claude-code)

52* Der Server, den Claude Code erstellt, wenn ein [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) [Tools hinzufügt](https://code.claude.com/docs/de/plugins/mods/api.md#add-a-tool). Um die Tools zu blockieren, die die Mods Ihrer Benutzer hinzufügen, [verhindern Sie, dass von Benutzern installierte Mods geladen werden](https://code.claude.com/docs/de/plugins/mods/admin.md#stop-user-installed-mods-from-loading).

52* Der integrierte [Claude in Chrome](https://code.claude.com/docs/de/chrome.md)-Server, wenn Sie [ihn neben dem verwalteten Satz erlauben](#allow-claude-in-chrome-alongside-the-managed-set)53* Der integrierte [Claude in Chrome](https://code.claude.com/docs/de/chrome.md)-Server, wenn Sie [ihn neben dem verwalteten Satz erlauben](#allow-claude-in-chrome-alongside-the-managed-set)

53 54 

54Benutzer können keine anderen MCP-Server hinzufügen, ändern oder verwenden, einschließlich Plugin-bereitgestellter Server und Server, die mit dem [`--mcp-config`-CLI-Flag](https://code.claude.com/docs/de/cli-reference#cli-flags) übergeben werden. Die Datei unterdrückt auch die claude.ai-Konnektoren, die Claude Code selbst abruft, es sei denn, Sie [erlauben sie neben dem verwalteten Satz](#allow-claude-ai-connectors-alongside-the-managed-set).55Benutzer können keine anderen MCP-Server hinzufügen, ändern oder verwenden, einschließlich Plugin-bereitgestellter Server und Server, die mit dem [`--mcp-config`-CLI-Flag](https://code.claude.com/docs/de/cli-reference#cli-flags) übergeben werden. Die Datei unterdrückt auch die claude.ai-Konnektoren, die Claude Code selbst abruft, es sei denn, Sie [erlauben sie neben dem verwalteten Satz](#allow-claude-ai-connectors-alongside-the-managed-set).


137}138}

138```139```

139 140 

140`claude mcp add` schlägt mit dem oben genannten Enterprise-Richtlinienfehler fehl. Server, die Benutzer zuvor konfiguriert hatten, werden beim nächsten Start einer Sitzung nicht mehr geladen, ohne Warnung, dass die Richtlinie der Grund ist. Server, die Sie über `managedMcpServers` bereitstellen, und alles andere, das Sie neben dem verwalteten Satz erlauben, werden weiterhin unter einer leeren Zuordnung geladen, daher lassen Sie diese Schlüssel ungesetzt, um MCP vollständig zu deaktivieren.141`claude mcp add` schlägt mit dem oben genannten Enterprise-Richtlinienfehler fehl. Server, die Benutzer zuvor konfiguriert hatten, werden beim nächsten Start einer Sitzung nicht mehr geladen, ohne Warnung, dass die Richtlinie der Grund ist. Server, die Sie über `managedMcpServers` bereitstellen, und alles andere, das Sie neben dem verwalteten Satz erlauben, [werden weiterhin](#exclusive-control-with-managed-mcp-json) unter einer leeren Zuordnung geladen, daher lassen Sie diese Schlüssel ungesetzt.

141 142 

142### claude.ai-Konnektoren neben dem verwalteten Satz erlauben143### claude.ai-Konnektoren neben dem verwalteten Satz erlauben

143 144 

mcp.md +1 −1

Details

806 806 

807* Fügen Sie ihn zu [`disabledMcpjsonServers`](https://code.claude.com/docs/de/settings-reference#disabledmcpjsonservers) hinzu, was ihn in jedem Berechtigungsmodus blockiert.807* Fügen Sie ihn zu [`disabledMcpjsonServers`](https://code.claude.com/docs/de/settings-reference#disabledmcpjsonservers) hinzu, was ihn in jedem Berechtigungsmodus blockiert.

808* Schließen Sie Projekteinstellungen vollständig mit [`--setting-sources`](https://code.claude.com/docs/de/cli-reference#cli-flags) oder der SDK-Option `settingSources` aus.808* Schließen Sie Projekteinstellungen vollständig mit [`--setting-sources`](https://code.claude.com/docs/de/cli-reference#cli-flags) oder der SDK-Option `settingSources` aus.

809* Starten Sie die Sitzung mit [`--strict-mcp-config`](https://code.claude.com/docs/de/cli-reference#cli-flags). Claude Code verwendet dann nur die MCP-Server, die Sie mit `--mcp-config` übergeben. Das Überspringen der Genehmigungsaufforderung für die projektbegrenzten Server, die Claude Code nicht lädt, erfordert Claude Code v2.1.246 oder später; vor v2.1.246 wartete eine strikte Sitzung immer noch auf Genehmigung für diese, was Hintergrundsitzungen beim Start wartend ließ. Siehe [Exklusive Kontrolle mit managed-mcp.json](https://code.claude.com/docs/de/managed-mcp.md#exclusive-control-with-managed-mcp-json) für das, was das Flag unter einer verwalteten MCP-Datei tut.809* Starten Sie die Sitzung mit [`--strict-mcp-config`](https://code.claude.com/docs/de/cli-reference#cli-flags). Claude Code lädt dann die Server, die Sie mit `--mcp-config` übergeben, und überspringt diejenigen, die an Orten wie `.mcp.json` konfiguriert sind. Das Überspringen der Genehmigungsabfrage für die projektbegrenzten Server, die Claude Code nicht lädt, erfordert Claude Code v2.1.246 oder später. Siehe [Exklusive Kontrolle mit managed-mcp.json](https://code.claude.com/docs/de/managed-mcp.md#exclusive-control-with-managed-mcp-json) für das, was das Flag unter einer verwalteten MCP-Datei tut.

810 810 

811[Projektserver-Genehmigungen und Workspace-Vertrauen](#project-server-approvals-and-workspace-trust) behandelt, wie Genehmigungen, die im Repository committed sind, mit Workspace-Vertrauen interagieren.811[Projektserver-Genehmigungen und Workspace-Vertrauen](#project-server-approvals-and-workspace-trust) behandelt, wie Genehmigungen, die im Repository committed sind, mit Workspace-Vertrauen interagieren.

812 812 

model-config.md +2 −2

Details

273* **`/model`**: Claude Code lehnt den Wechsel mit einem Fehler ab273* **`/model`**: Claude Code lehnt den Wechsel mit einem Fehler ab

274* **Flag `--model`, `ANTHROPIC_MODEL` oder die Einstellung `model`**: Claude Code ersetzt den Wert beim Start mit einer Warnung, die sowohl das angeforderte als auch das ersetzte Modell nennt, und die Sitzung startet mit dem Standardmodell274* **Flag `--model`, `ANTHROPIC_MODEL` oder die Einstellung `model`**: Claude Code ersetzt den Wert beim Start mit einer Warnung, die sowohl das angeforderte als auch das ersetzte Modell nennt, und die Sitzung startet mit dem Standardmodell

275* **[`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions)**: Claude Code ignoriert die Variable275* **[`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions)**: Claude Code ignoriert die Variable

276* **Überschreibung für Subagenten oder Teammitglieder**: Claude Code führt den Subagenten oder das Teammitglied mit einem Fallback-Modell aus, anstatt die Anfrage fehlschlagen zu lassen. Siehe [Ein Modell auswählen](https://code.claude.com/docs/de/sub-agents.md#choose-a-model) für den Fallback bei Subagenten und [Teammitglieder und Modelle angeben](https://code.claude.com/docs/de/agent-teams.md#specify-teammates-and-models) für den Fallback bei Teammitgliedern.276* **Überschreibung für Subagenten oder Teammitglieder**: Claude Code führt den Subagenten oder das Teammitglied mit einem Fallback-Modell aus, anstatt die Anfrage fehlschlagen zu lassen. Siehe [Wenn eine Allowlist ein Subagenten-Modell blockiert](https://code.claude.com/docs/de/sub-agents.md#when-an-allowlist-blocks-a-subagent-model) für den Fallback bei Subagenten und [Teammitglieder und Modelle angeben](https://code.claude.com/docs/de/agent-teams.md#specify-teammates-and-models) für den Fallback bei Teammitgliedern.

277 277 

278 In interaktiven Sitzungen warnt Claude Code Sie, wenn es das Modell eines Subagenten ersetzt, sei es durch diesen Fallback oder durch die oben beschriebene Ersetzung durch die neueste zulässige Version, und nennt dabei das angeforderte und das ersetzte Modell; den Fallback eines Teammitglieds meldet es nicht.278 In interaktiven Sitzungen warnt Claude Code Sie, wenn es das Modell eines Subagenten der obersten Ebene ersetzt. Den Fallback eines Teammitglieds meldet es nicht.

279 279 

280 Wo die oben beschriebene Ersetzung durch die neueste zulässige Version greift, folgt ein blockierter Familien-Alias stattdessen dieser. Vor v2.1.222 fiel ein Alias bei jedem Anbieter wie jeder andere blockierte Wert auf den Fallback zurück280 Wo die oben beschriebene Ersetzung durch die neueste zulässige Version greift, folgt ein blockierter Familien-Alias stattdessen dieser. Vor v2.1.222 fiel ein Alias bei jedem Anbieter wie jeder andere blockierte Wert auf den Fallback zurück

281* **Überschreibung für Skills oder Befehle**: Claude Code ignoriert die Überschreibung, einschließlich eines blockierten Familien-Alias, und der Skill oder Befehl wird mit dem Sitzungsmodell ausgeführt. Ein Skill oder Befehl, der [in einem Subagenten ausgeführt wird](https://code.claude.com/docs/de/skills.md#run-skills-in-a-subagent), folgt stattdessen dem oben beschriebenen Verhalten für Subagenten281* **Überschreibung für Skills oder Befehle**: Claude Code ignoriert die Überschreibung, einschließlich eines blockierten Familien-Alias, und der Skill oder Befehl wird mit dem Sitzungsmodell ausgeführt. Ein Skill oder Befehl, der [in einem Subagenten ausgeführt wird](https://code.claude.com/docs/de/skills.md#run-skills-in-a-subagent), folgt stattdessen dem oben beschriebenen Verhalten für Subagenten

Details

50| Sie möchten | Starten Sie mit | Isolation erforderlich | Notizen |50| Sie möchten | Starten Sie mit | Isolation erforderlich | Notizen |

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

52| Jede Aktion selbst überprüfen | Manual-Modus: `claude --permission-mode default` | Keine | Sensible Arbeiten, unbekannter Code |52| Jede Aktion selbst überprüfen | Manual-Modus: `claude --permission-mode default` | Keine | Sensible Arbeiten, unbekannter Code |

53| Lokal mit weniger Berechtigungsabfragen iterieren, ohne einen Klassifikator | Manual-Modus plus die Bash-Sandbox im [Auto-Allow-Modus](https://code.claude.com/docs/de/sandboxing.md#sandbox-modes): `claude --permission-mode default`, dann `/sandbox` ausführen und Auto-Allow auswählen | Die integrierte Bash-Sandbox, auf macOS, Linux und WSL2 | Deny-Regeln gelten weiterhin, und Ask-Regeln, die einen Befehl benennen, wie `Bash(git push *)`, fragen weiterhin nach. Der [Auto-Allow-Modus](https://code.claude.com/docs/de/sandboxing.md#auto-allow-mode) behandelt andere Befehle, die nachfragen können. Um die Sandbox stattdessen aus einer Einstellungsdatei zu aktivieren, setzen Sie [`sandbox.enabled`](https://code.claude.com/docs/de/settings-reference#sandbox-enabled) auf `true` |53| Lokal mit weniger Berechtigungsabfragen iterieren, ohne einen Klassifikator | Manual-Modus plus die Bash-Sandbox im [Auto-Allow-Modus](https://code.claude.com/docs/de/sandboxing.md#sandbox-modes): `claude --permission-mode default`, dann `/sandbox` ausführen und Auto-Allow auswählen | Die integrierte Bash-Sandbox, auf macOS, Linux und WSL2 | Deny-Regeln gelten weiterhin, und Ask-Regeln, die einen Befehl benennen, wie `Bash(git push *)`, fragen weiterhin nach. Der [Auto-Allow-Modus](https://code.claude.com/docs/de/sandboxing.md#auto-allow-mode) behandelt andere Befehle, die nachfragen können. Um die Sandbox stattdessen aus einer Einstellungsdatei zu aktivieren, setzen Sie [`sandbox.enabled`](https://code.claude.com/docs/de/settings-reference#sandbox-enabled) und [`sandbox.autoAllowBashIfSandboxed`](https://code.claude.com/docs/de/settings-reference#sandbox-autoallowbashifsandboxed) auf `true` |

54| Erkunden Sie, bevor Sie etwas ändern | `claude --permission-mode plan` | Keine | Claude Code blockiert Bearbeitungen, bis Sie einen Plan [genehmigen](#review-and-approve-a-plan) |54| Erkunden Sie, bevor Sie etwas ändern | `claude --permission-mode plan` | Keine | Claude Code blockiert Bearbeitungen, bis Sie einen Plan [genehmigen](#review-and-approve-a-plan) |

55| Arbeiten Sie freihändig im Auto-Modus | `claude --permission-mode auto`, der [integrierte Start-Berechtigungsmodus](#which-mode-a-session-starts-in) mit v2.1.283 oder später | Keine; eine Sandbox oder ein Container fügt Verteidigungstiefe hinzu | Erfordert ein [unterstütztes Modell](#eliminate-prompts-with-auto-mode), und Ihre Organisation kann [Auto-Modus ausschalten](#eliminate-prompts-with-auto-mode) |55| Arbeiten Sie freihändig im Auto-Modus | `claude --permission-mode auto`, der [integrierte Start-Berechtigungsmodus](#which-mode-a-session-starts-in) mit v2.1.283 oder später | Keine; eine Sandbox oder ein Container fügt Verteidigungstiefe hinzu | Erfordert ein [unterstütztes Modell](#eliminate-prompts-with-auto-mode), und Ihre Organisation kann [Auto-Modus ausschalten](#eliminate-prompts-with-auto-mode) |

56| Führen Sie in CI mit einer genauen Allowlist aus | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | Keine über das hinaus, was Ihr CI-Runner bietet | [Cloud-Sitzungen](https://code.claude.com/docs/de/claude-code-on-the-web.md) ignorieren `dontAsk` aus Einstellungsdateien |56| Führen Sie in CI mit einer genauen Allowlist aus | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | Keine über das hinaus, was Ihr CI-Runner bietet | [Cloud-Sitzungen](https://code.claude.com/docs/de/claude-code-on-the-web.md) ignorieren `dontAsk` aus Einstellungsdateien |

permissions.md +1 −1

Details

743 743 

744Verwenden Sie beide für Defense-in-Depth, da Sandbox-Einschränkungen weiterhin gelten, selbst wenn eine Prompt-Injection Claude's Entscheidungsfindung umgeht. Pfade und Domänen sowohl aus Sandbox-Einstellungen als auch aus Berechtigungsregeln werden [in die endgültige Sandbox-Konfiguration zusammengeführt](https://code.claude.com/docs/de/sandboxing.md#permission-rules).744Verwenden Sie beide für Defense-in-Depth, da Sandbox-Einschränkungen weiterhin gelten, selbst wenn eine Prompt-Injection Claude's Entscheidungsfindung umgeht. Pfade und Domänen sowohl aus Sandbox-Einstellungen als auch aus Berechtigungsregeln werden [in die endgültige Sandbox-Konfiguration zusammengeführt](https://code.claude.com/docs/de/sandboxing.md#permission-rules).

745 745 

746Wenn Sie Sandboxing aktivieren und `autoAllowBashIfSandboxed` auf seinen Standardwert von `true` belassen, laufen sandboxed Bash-Befehle ohne Aufforderung, selbst wenn Ihre Berechtigungen eine einfache `Bash` Ask-Regel oder die [äquivalente `Bash(*)` Form](#match-all-uses-of-a-tool) enthalten: die Sandbox-Grenze ersetzt diese Ganz-Werkzeug-Aufforderung.746Wenn Sie Sandboxing aktivieren und [`sandbox.autoAllowBashIfSandboxed`](https://code.claude.com/docs/de/settings-reference#sandbox-autoallowbashifsandboxed) auf `true` setzen, werden Bash-Befehle in der Sandbox ohne Nachfrage ausgeführt. Das gilt auch bei einer einfachen `Bash`-ask-Regel oder der [äquivalenten Form `Bash(*)`](#match-all-uses-of-a-tool): Die Sandbox-Grenze ersetzt diese Berechtigungsabfrage für das gesamte Tool.

747 747 

748Im [Plan-Modus](https://code.claude.com/docs/de/permission-modes.md#analyze-before-you-edit-with-plan-mode) überspringt Claude Code diese Ersetzung. Ohne eine ask-Regel laufen die [integrierten nur lesenden Befehle](#read-only-commands) weiterhin ohne Nachfrage, und alle anderen Shell-Befehle durchlaufen den regulären Berechtigungsablauf, während Sie noch planen; unter [Plan-Modus](https://code.claude.com/docs/de/permission-modes.md#analyze-before-you-edit-with-plan-mode) erfahren Sie, wie Claude Code Befehle dort absichert. Mit einer einfachen `Bash`-ask-Regel fragt jeder Bash-Befehl nach, einschließlich nur lesender Befehle in der Sandbox, genauso wie außerhalb von Sandboxing.748Im [Plan-Modus](https://code.claude.com/docs/de/permission-modes.md#analyze-before-you-edit-with-plan-mode) überspringt Claude Code diese Ersetzung. Ohne eine ask-Regel laufen die [integrierten nur lesenden Befehle](#read-only-commands) weiterhin ohne Nachfrage, und alle anderen Shell-Befehle durchlaufen den regulären Berechtigungsablauf, während Sie noch planen; unter [Plan-Modus](https://code.claude.com/docs/de/permission-modes.md#analyze-before-you-edit-with-plan-mode) erfahren Sie, wie Claude Code Befehle dort absichert. Mit einer einfachen `Bash`-ask-Regel fragt jeder Bash-Befehl nach, einschließlich nur lesender Befehle in der Sandbox, genauso wie außerhalb von Sandboxing.

749 749 

Details

438 438 

439* **Die Felder von `backdrop`**: `scene` ist ein von Ihnen gewählter [Name](https://code.claude.com/docs/de/plugins/mods/reference.md#limits) für einen Hintergrund, den Ihr Hook zeichnet. Zu den übrigen Feldern und zu `overrideColorScheme` siehe [die Typen für Ihren Build](https://code.claude.com/docs/de/plugins/mods/create.md#get-the-types-for-your-build).439* **Die Felder von `backdrop`**: `scene` ist ein von Ihnen gewählter [Name](https://code.claude.com/docs/de/plugins/mods/reference.md#limits) für einen Hintergrund, den Ihr Hook zeichnet. Zu den übrigen Feldern und zu `overrideColorScheme` siehe [die Typen für Ihren Build](https://code.claude.com/docs/de/plugins/mods/create.md#get-the-types-for-your-build).

440* **Ob der Hintergrund gezeichnet wird**: `$.theme.set` wird mit `isDrawn: true` aufgelöst, wenn eine mit der Sitzung verbundene Desktop- oder mobile App meldet, dass sie Hintergründe zeichnet. Andernfalls ist `isDrawn` `false`, und `reason` gibt den Grund an.440* **Ob der Hintergrund gezeichnet wird**: `$.theme.set` wird mit `isDrawn: true` aufgelöst, wenn eine mit der Sitzung verbundene Desktop- oder mobile App meldet, dass sie Hintergründe zeichnet. Andernfalls ist `isDrawn` `false`, und `reason` gibt den Grund an.

441* **Ein Hintergrund pro Sitzung**: Ein Aufruf von `$.theme.set` ersetzt den Hintergrund der Sitzung, und `$.theme.clear()` entfernt diesen Hintergrund, unabhängig davon, welcher Mod ihn gesetzt hat. Rufen Sie `$.theme.clear()` nur auf, wenn der Benutzer dies verlangt.441* **Ein Theme pro Sitzung**: Ein Mod, der `$.theme.set` aufruft, ersetzt den Hintergrund und die [Farben](#change-the-colors-of-the-desktop-app) der Sitzung, und ein Mod, der `$.theme.clear()` aufruft, entfernt sie, unabhängig davon, welcher Mod sie gesetzt hat. Rufen Sie `$.theme.clear()` nur auf, wenn der Benutzer dies verlangt.

442 

443### Die Farben der Desktop-App ändern

444 

445Um die Farben des Code-Tabs der Desktop-App mit einem Mod zu ändern, [bitten Sie Claude um einen](#ask-claude-for-a-colors-mod) oder [schreiben Sie selbst einen](#write-a-colors-mod-yourself). Beide Wege erfordern Claude Code v2.1.324 oder höher im Code-Tab, daher sollten Sie zuerst [die Version dort prüfen](https://code.claude.com/docs/de/desktop.md#claude-code-version-in-the-code-tab). Claude Code im Terminal behält seine eigenen Farben.

446 

447#### Claude um einen Farb-Mod bitten

448 

449**1. Die Farben beschreiben**

450 

451Starten Sie eine lokale Sitzung im Code-Tab und teilen Sie Claude mit, welche Farben Sie möchten. Geben Sie zum Beispiel `make a mod that makes the app cream in light mode and dark brown in dark mode` ein. Claude schreibt die Dateien des Mods.

452 

453**2. Den Mod genehmigen**

454 

455Beantworten Sie die Fragen, die Claude Code zu den Dateien des Mods und zum Hot Reloading stellt. Was jede Antwort bewirkt, erfahren Sie unter [Claude um einen Mod bitten](https://code.claude.com/docs/de/plugins/mods/create.md#ask-claude-for-a-mod).

456 

457**3. Die Farben prüfen**

458 

459Der Code-Tab ändert seine Farbe, wenn der Mod geladen wird. Um eine Farbe anzupassen, teilen Sie Claude mit, was geändert werden soll. Wenn sich nichts ändert, siehe [Fehlende Mod-Farben beheben](#fix-missing-mod-colors-in-the-desktop-app).

460 

461#### Einen Farb-Mod selbst schreiben

462 

463`makeColors` ist eine Funktion, die aus einigen Hex-Farben ein Theme erstellt. Diese Schritte erstellen einen Mod namens `paper`, der sie verwendet.

464 

465**1. makeColors von Claude kopieren lassen**

466 

467Starten Sie eine lokale Sitzung im Code-Tab und geben Sie `copy make-colors.js and make-colors.d.ts from your plugin-authoring skill into ~/.claude/skills/paper/hooks/` ein. Prüfen Sie, ob sich beide Dateien in diesem Verzeichnis befinden.

468 

469**2. Das Manifest und hooks.json speichern**

470 

471Speichern Sie aus [Einen Mod selbst schreiben](https://code.claude.com/docs/de/plugins/mods/create.md#write-a-mod-yourself) die Dateien `.claude-plugin/plugin.json` und `hooks/hooks.json` in `~/.claude/skills/paper/`, und ändern Sie in beiden Dateien `first-mod` in `paper`. Ein Mod [unter `~/.claude/skills/`](https://code.claude.com/docs/de/plugins/create#scaffold-a-plugin-that-loads-every-session) wird geladen, wenn Sie eine Sitzung starten.

472 

473**3. Den Code schreiben**

474 

475Speichern Sie diese Datei als `~/.claude/skills/paper/hooks/register.js`. Beim Start einer Sitzung ruft der Code `$.theme.set` mit den Farben für den hellen und den dunklen Modus auf:

476 

477```javascript theme={null}

478import { makeColors } from './make-colors.js'

479 

480const { theme } = makeColors({

481 label: 'Paper',

482 // surface-0 is the background, text-primary is the main text, and text-muted is the faint text

483 light: {

484 gray: { anchors: { 'surface-0': '#efe6d3', 'text-primary': '#2a241d', 'text-muted': '#6a5f50' } },

485 },

486 dark: {

487 gray: { anchors: { 'surface-0': '#1f1a15', 'text-primary': '#f0e7d7', 'text-muted': '#aca08d' } },

488 },

489})

490 

491export function register(on) {

492 on('session.start', async ($, e, next) => {

493 await $.theme.set({ colors: theme })

494 return next(e)

495 })

496}

497```

498 

499Um eigene Farben zu verwenden, ersetzen Sie die Hex-Werte durch andere sechsstellige Hex-Farben.

500 

501**4. Die Farben prüfen**

502 

503Starten Sie eine neue lokale Sitzung im Code-Tab. Mit den Werten des Beispiels ist der Hintergrund im hellen Modus cremefarben und im dunklen Modus dunkelbraun. Wenn sich nichts ändert, siehe [Fehlende Mod-Farben beheben](#fix-missing-mod-colors-in-the-desktop-app).

504 

505### Fehlende Mod-Farben in der Desktop-App beheben

506 

507Wenn Sie in [Claude Desktop v5.11492.5 oder früher](https://code.claude.com/docs/de/desktop.md#check-your-version) einen [Drittanbieter](https://code.claude.com/docs/de/third-party-integrations.md) statt eines Claude-Kontos verwenden, behält der Code-Tab seine eigenen Farben, daher können Sie diese Prüfungen überspringen. Wenn die Farben eines Mods andernfalls nicht im Code-Tab erscheinen oder verschwinden, prüfen Sie diese Ursachen:

508 

509* **Alte Version**: [Aktualisieren Sie die Desktop-App](https://code.claude.com/docs/de/desktop.md#claude-code-version-in-the-code-tab), starten Sie sie neu und starten Sie eine neue lokale Sitzung im Code-Tab. Wenn Claude den Mod geschrieben hat, bitten Sie dort erneut darum.

510* **Mod nicht geladen**: Wenn Claude den Mod geschrieben hat, sehen Sie unter [Claude um einen Mod bitten](https://code.claude.com/docs/de/plugins/mods/create.md#ask-claude-for-a-mod) nach, wann er geladen wird. Wenn Sie ihn selbst geschrieben haben, vergleichen Sie Ihre Dateien und deren Pfade mit [Einen Farb-Mod selbst schreiben](#write-a-colors-mod-yourself).

511* **Abgelehntes Theme**: Bitten Sie Claude, den [`makeColors`](#write-a-colors-mod-yourself)-Aufruf des Mods auszuführen. Wenn der Aufruf einen Fehler auslöst oder seine Liste `problems` einen Eintrag enthält, der mit `Desktop won't paint this theme` beginnt, lassen Sie Claude das Theme korrigieren. Wenn Sie den Mod installiert haben, senden Sie das, was Claude findet, an dessen Autor.

512* **Ein weiterer `$.theme`-Aufruf**: Wenn ein beliebiger Mod in der Sitzung `$.theme.set` oder `$.theme.clear()` aufruft, verschwinden die Farben und der [Hintergrund](#put-a-backdrop-behind-the-conversation) eines früheren Aufrufs. Übergeben Sie in Ihrem eigenen Mod `colors` und `backdrop` im selben `$.theme.set`-Aufruf. Verwenden Sie jeweils nur einen Mod, der ein Theme festlegt.

513 

514### Mod-Farben aus der Desktop-App entfernen

515 

516Um die Farben eines Mods aus dem Code-Tab zu entfernen, schalten Sie zuerst den Mod aus. Ein Mod, der noch eingeschaltet ist, kann seine Farben erneut setzen.

517 

518**1. Den Mod ausschalten**

519 

520* **Claude hat den Mod geschrieben**: Verschieben Sie sein Verzeichnis aus dem [Mods-Ordner](https://code.claude.com/docs/de/plugins/mods/create.md#ask-claude-for-a-mod) der Sitzung heraus, in der Claude ihn geschrieben hat.

521* **Sie haben den Mod unter `~/.claude/skills/` abgelegt**: Verschieben Sie sein Verzeichnis, etwa `~/.claude/skills/paper/`, an einen Ort außerhalb von `~/.claude/skills/`.

522* **Sie haben den Mod installiert**: [Deaktivieren oder deinstallieren Sie sein Plugin](https://code.claude.com/docs/de/desktop.md#install-plugins) in der Desktop-App über **Manage plugins**. Wenn Sie **Manage plugins** nicht sehen und [die CLI](https://code.claude.com/docs/de/quickstart.md) haben, können Sie [ein Marketplace-Plugin über Ihre Shell deaktivieren oder deinstallieren](https://code.claude.com/docs/de/plugins/install.md#manage-plugins-from-your-shell).

523 

524**2. Eine neue Sitzung starten**

525 

526Starten Sie eine neue lokale Sitzung im Code-Tab.

527 

528**3. Verbleibende Farben entfernen**

529 

530Wenn die Farben immer noch vorhanden sind, öffnen Sie **Settings** über den Code-Tab und suchen Sie dort nach `code appearance`. Öffnen Sie das Ergebnis und wählen Sie **Remove colors** aus.

442 531 

443## Einen Baum aus Elementen erstellen532## Einen Baum aus Elementen erstellen

444 533 


677 766 

678Dieselben Tasten oder, im Vollbild-Rendering, ein Klick auf die Zeile klappen das Band wieder aus. Bis dahin drückt nichts eine Schaltfläche darin: kein Hotkey, keine in einen leeren Prompt getippte Ziffer und keine Tastenkombination für die [`action`](https://code.claude.com/docs/de/plugins/mods/reference#elements) einer Schaltfläche. Wenn das Band beim Einklappen den Tastaturfokus hat, kehrt der Fokus zum Prompt zurück, und Ctrl+X und dann Tab überspringt das Band, solange es eingeklappt ist.767Dieselben Tasten oder, im Vollbild-Rendering, ein Klick auf die Zeile klappen das Band wieder aus. Bis dahin drückt nichts eine Schaltfläche darin: kein Hotkey, keine in einen leeren Prompt getippte Ziffer und keine Tastenkombination für die [`action`](https://code.claude.com/docs/de/plugins/mods/reference#elements) einer Schaltfläche. Wenn das Band beim Einklappen den Tastaturfokus hat, kehrt der Fokus zum Prompt zurück, und Ctrl+X und dann Tab überspringt das Band, solange es eingeklappt ist.

679 768 

680Das Band bleibt eingeklappt, bis der Benutzer es ausklappt, auch nach `/clear`, und ist beim nächsten Start von Claude Code wieder ausgeklappt. Ihr Mod kann es weder ausklappen noch erkennen, dass es eingeklappt ist: Der `ui.render`-Hook läuft weiter, und nichts in `e.props` weist darauf hin. Machen Sie das Band nicht zum einzigen Ort, an dem Ihr Mod etwas anzeigt, worauf der Benutzer antworten muss.769Das Band bleibt eingeklappt, bis der Benutzer es ausklappt, auch nach `/clear`, und ist beim nächsten Start von Claude Code wieder ausgeklappt. Ihr Mod kann es nicht ausklappen. Machen Sie das Band nicht zum einzigen Ort, an dem Ihr Mod etwas anzeigt, worauf der Benutzer antworten muss. Um dies nur während des eingeklappten Zustands des Bands an anderer Stelle anzuzeigen, lesen Sie `e.props.isCollapsed` in Ihrem `ui.render`-Hook, der weiterläuft. `isCollapsed` erfordert Claude Code v2.1.321 oder höher.

681 770 

682### Texteingaben entgegennehmen und für jedes Element eine Zeile zeichnen771### Texteingaben entgegennehmen und für jedes Element eine Zeile zeichnen

683 772 

Details

212 212 

213Einige dieser Events werden auch für die eigenen Aktionen von Claude Code ausgelöst. Prüfen Sie daher, ob `next.origin.plugin` gleich `engine` ist, bevor Sie eines ablehnen.213Einige dieser Events werden auch für die eigenen Aktionen von Claude Code ausgelöst. Prüfen Sie daher, ob `next.origin.plugin` gleich `engine` ist, bevor Sie eines ablehnen.

214 214 

215#### Felder bei den eigenen `http.fetch`-Anfragen von Claude Code

216 

217In einem `http.fetch`-Hook kennzeichnet ein [`next.origin`](#the-hook-function) mit dem Wert `{ plugin: 'engine', tier: 'core' }` eine der eigenen Anfragen von Claude Code, etwa eine Modellanfrage, und keinen `$.http.fetch`-Aufruf eines Mods. Wo der [integrierte Wächter](https://code.claude.com/docs/de/plugins/mods/admin.md#know-what-happens-by-default) geladen ist, erhält Ihr Hook diese Events nicht, es sei denn, Ihr Mod [gilt als Mod Ihrer Organisation](https://code.claude.com/docs/de/plugins/mods/admin.md#install-your-organizations-mods).

218 

219Bei diesen Events können `e.init` und der `value`, zu dem `next(e)` aufgelöst wird, unter anderem diese Felder enthalten:

220 

221| Feld | Was es bedeutet |

222| :- | :- |

223| `e.init.compress` | Gesetzt, wenn Claude Code den Body nach Ihrem Hook komprimiert. `e.init.body` enthält den unkomprimierten Body. Um den Body unkomprimiert zu senden, rufen Sie `next({ ...e, init: { ...e.init, compress: undefined } })` auf. |

224| `value.isStreaming` | Auf `true` gesetzt, weil Claude Code den Response-Body selbst liest, sodass `value.text` leer ist. Lesen Sie stattdessen `value.status` und `value.headers`. Um mit Ihrem eigenen `text` zu antworten, geben Sie einen `value` ohne `isStreaming` zurück. |

225 

226Diese Events und Felder erfordern Claude Code v2.1.321 oder höher.

227 

215## Methoden der Mods-API228## Methoden der Mods-API

216 229 

217Die Mods-API ist das Argument `$`, das jeder Hook erhält. Ihre Methoden sind in Namespaces gruppiert, etwa `$.ui`. Diese Tabelle listet die Methoden jedes Namespace nach Namen auf, sodass `open` in der Zeile `$.ui` dem Aufruf `$.ui.open(...)` entspricht. Die Leitfäden zeigen die gängigen Methoden im Einsatz, und [die Typen für Ihren Build](https://code.claude.com/docs/de/plugins/mods/create.md#get-the-types-for-your-build) dokumentieren jede Methode mit einem Beispiel.230Die Mods-API ist das Argument `$`, das jeder Hook erhält. Ihre Methoden sind in Namespaces gruppiert, etwa `$.ui`. Diese Tabelle listet die Methoden jedes Namespace nach Namen auf, sodass `open` in der Zeile `$.ui` dem Aufruf `$.ui.open(...)` entspricht. Die Leitfäden zeigen die gängigen Methoden im Einsatz, und [die Typen für Ihren Build](https://code.claude.com/docs/de/plugins/mods/create.md#get-the-types-for-your-build) dokumentieren jede Methode mit einem Beispiel.


222| [`$.ui`](https://code.claude.com/docs/de/plugins/mods/interface#pick-where-to-draw) | `resolve`, `invalidate`, `open`, `close`, `panes`, [`place`](https://code.claude.com/docs/de/plugins/mods/interface#place-a-row-in-the-transcript), `focus`, `scroll`, `toast`, `notify`, `status`, `log`, `notice`, `ask`, `copy`, `selection`, `blit`, `view`. `view` erfordert Claude Code v2.1.300 oder neuer und `place` v2.1.314 oder neuer. |235| [`$.ui`](https://code.claude.com/docs/de/plugins/mods/interface#pick-where-to-draw) | `resolve`, `invalidate`, `open`, `close`, `panes`, [`place`](https://code.claude.com/docs/de/plugins/mods/interface#place-a-row-in-the-transcript), `focus`, `scroll`, `toast`, `notify`, `status`, `log`, `notice`, `ask`, `copy`, `selection`, `blit`, `view`. `view` erfordert Claude Code v2.1.300 oder neuer und `place` v2.1.314 oder neuer. |

223| [`$.theme`](https://code.claude.com/docs/de/plugins/mods/interface#put-a-backdrop-behind-the-conversation) | `set`, `clear`: einen Hintergrund festlegen, den die Desktop- oder Mobile-App zeichnet, und den Hintergrund wieder entfernen. Erfordert Claude Code v2.1.319 oder neuer. |236| [`$.theme`](https://code.claude.com/docs/de/plugins/mods/interface#put-a-backdrop-behind-the-conversation) | `set`, `clear`: einen Hintergrund festlegen, den die Desktop- oder Mobile-App zeichnet, und den Hintergrund wieder entfernen. Erfordert Claude Code v2.1.319 oder neuer. |

224| [`$.command`](https://code.claude.com/docs/de/plugins/mods/api#add-a-command) | `register`, `run`, `list` |237| [`$.command`](https://code.claude.com/docs/de/plugins/mods/api#add-a-command) | `register`, `run`, `list` |

225| [`$.tool`](https://code.claude.com/docs/de/plugins/mods/api#add-a-tool) | `register`, `call`, `check`, `list` |238| [`$.tool`](https://code.claude.com/docs/de/plugins/mods/api#add-a-tool) | `register`, `call`, `check`, `list`. Wenn ein `call` die Genehmigung einer Person benötigt, etwa einer, den ein Hook oder Ihre Organisation mit `ask` beantwortet, wird er mit `{ deny: "<tool> wasn't run: this call needs a person's approval, and a mod's own call can't ask for it." }` aufgelöst, wobei `<tool>` der Name des Tools ist. |

226| `$.agent` | `register`, `spawn`, `list`. `list()` gibt die Subagenten und Teammitglieder dieser Sitzung zurück, jeweils mit einem `status` von `pending`, `running`, `waiting`, `idle`, `completed`, `failed` oder `killed`, wobei `idle` und `waiting` Claude Code v2.1.289 oder neuer erfordern. |239| `$.agent` | `register`, `spawn`, `list`. `list()` gibt die Subagenten und Teammitglieder dieser Sitzung zurück, jeweils mit einem `status` von `pending`, `running`, `waiting`, `idle`, `completed`, `failed` oder `killed`, wobei `idle` und `waiting` Claude Code v2.1.289 oder neuer erfordern. |

227| [`$.model`](https://code.claude.com/docs/de/plugins/mods/api#call-a-model) | `complete`, `fork`, `classify` |240| [`$.model`](https://code.claude.com/docs/de/plugins/mods/api#call-a-model) | `complete`, `fork`, `classify` |

228| [`$.prompt`](https://code.claude.com/docs/de/plugins/mods/api#start-a-turn-from-a-background-job) | `submit`, `read`, `fill`, `suggest`, `compose`. Claude liest Text aus `submit({ text })` nach einem Satz, der Ihren Mod als Absender nennt. `submit({ text, asUser: true })` sendet den Text als eigene Worte des Benutzers, ohne diesen Satz. |241| [`$.prompt`](https://code.claude.com/docs/de/plugins/mods/api#start-a-turn-from-a-background-job) | `submit`, `read`, `fill`, `suggest`, `compose`. Claude liest Text aus `submit({ text })` nach einem Satz, der Ihren Mod als Absender nennt. `submit({ text, asUser: true })` sendet den Text als eigene Worte des Benutzers, ohne diesen Satz. |


250| Stelle | `e.props` | `e.requestId` | Gerendert in |263| Stelle | `e.props` | `e.requestId` | Gerendert in |

251| :- | :- | :- | :- |264| :- | :- | :- | :- |

252| [`Pane`](https://code.claude.com/docs/de/plugins/mods/interface#pick-where-to-draw) | `title`, `isFocused`, `bodyColumns`, `placement`, `scroll`, `view` | Die `id` des Bereichs | Terminal, Desktop, VS Code |265| [`Pane`](https://code.claude.com/docs/de/plugins/mods/interface#pick-where-to-draw) | `title`, `isFocused`, `bodyColumns`, `placement`, `scroll`, `view` | Die `id` des Bereichs | Terminal, Desktop, VS Code |

253| [`AbovePrompt`](https://code.claude.com/docs/de/plugins/mods/interface#pick-where-to-draw) | `hasSurvey`, `isWorking`, `maxRows`, `bodyColumns`, `scroll`, `view` | Eine Instanz | Terminal, Desktop |266| [`AbovePrompt`](https://code.claude.com/docs/de/plugins/mods/interface#pick-where-to-draw) | `hasSurvey`, [`isCollapsed`](https://code.claude.com/docs/de/plugins/mods/interface#when-the-user-collapses-the-band), `isWorking`, `maxRows`, `bodyColumns`, `scroll`, `view` | Eine Instanz | Terminal, Desktop |

254| `AbovePromptList`, der Stapel der `AbovePrompt`-Zeilen | `rows`, eine Liste mit einem `{ plugin, tree }` für die Zeile jedes Mods, sowie die `AbovePrompt`-Props | Eine Instanz | Terminal, Desktop. Erfordert Claude Code v2.1.323 oder höher. |267| `AbovePromptList`, der Stapel der `AbovePrompt`-Zeilen | `rows`, eine Liste mit einem `{ plugin, tree }` für die Zeile jedes Mods, sowie die `AbovePrompt`-Props | Eine Instanz | Terminal, Desktop. Erfordert Claude Code v2.1.323 oder höher. |

255| [`Placed`](https://code.claude.com/docs/de/plugins/mods/interface#place-a-row-in-the-transcript) | `id`, `plugin`, `onScreen` | Die `requestId`, die `$.ui.place` zurückgegeben hat | Terminal |268| [`Placed`](https://code.claude.com/docs/de/plugins/mods/interface#place-a-row-in-the-transcript) | `id`, `plugin`, `onScreen` | Die `requestId`, die `$.ui.place` zurückgegeben hat | Terminal |

256| [`Backdrop`](https://code.claude.com/docs/de/plugins/mods/interface#put-a-backdrop-behind-the-conversation) | `scene`, `plugin`, `glass`, `overrideColorScheme`. Vor v2.1.323 hieß `scene` noch `id` und `overrideColorScheme` noch `colorScheme`. | `backdrop` | Oberflächen `desktop` und `mobile`. Ihr Hook wird ausgeführt, wenn die Desktop- oder die mobile App das Zeichnen eines Hintergrunds anfordert. |269| [`Backdrop`](https://code.claude.com/docs/de/plugins/mods/interface#put-a-backdrop-behind-the-conversation) | `scene`, `plugin`, `glass`, `overrideColorScheme`. Vor v2.1.323 hieß `scene` noch `id` und `overrideColorScheme` noch `colorScheme`. | `backdrop` | Oberflächen `desktop` und `mobile`. Ihr Hook wird ausgeführt, wenn die Desktop- oder die mobile App das Zeichnen eines Hintergrunds anfordert. |


426| Name | Ort | Funktion |439| Name | Ort | Funktion |

427| :- | :- | :- |440| :- | :- | :- |

428| `CLAUDE_CODE_PLUGIN_DIRS` | Umgebung oder `env` in `~/.claude/settings.json` | Plugin-Verzeichnisse, die wie mit `--plugin-dir` geladen werden, für Anwendungen, denen Sie kein Flag übergeben können. Absolute Pfade, getrennt durch `:` bzw. unter Windows durch `;`. |441| `CLAUDE_CODE_PLUGIN_DIRS` | Umgebung oder `env` in `~/.claude/settings.json` | Plugin-Verzeichnisse, die wie mit `--plugin-dir` geladen werden, für Anwendungen, denen Sie kein Flag übergeben können. Absolute Pfade, getrennt durch `:` bzw. unter Windows durch `;`. |

429| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | Umgebung | `1` bewirkt, dass eine lang laufende nicht-interaktive Sitzung `--plugin-dir`-Mods beim Speichern neu lädt |442| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | Umgebung | Legt fest, ob Mods beim Speichern neu geladen werden. Die Standardwerte und möglichen Werte finden Sie in der [Referenz zu Umgebungsvariablen](https://code.claude.com/docs/de/env-vars.md) |

430| `prependPlugins`, `appendPlugins` | Verwaltete Einstellungen. Benutzereinstellungen nur auf einem Rechner ohne verwaltete Einstellungen oder [`managed-mcp.json`](https://code.claude.com/docs/de/managed-mcp#deploy-managed-mcp-json)-Datei und in einer Sitzung, deren Anmeldedaten nicht aus einem Team- oder Enterprise-`/login` stammen. | Listen von Plugin-IDs, etwa `acme-guard@acme-tools`. Mods in `prependPlugins` laufen vor jedem Mod, den ein Benutzer installiert, und Mods in `appendPlugins` danach, jeweils in der aufgeführten Reihenfolge. Siehe [Die Reihenfolge, in der Mods ausgeführt werden](https://code.claude.com/docs/de/plugins/mods/events.md#the-order-mods-run-in). |443| `prependPlugins`, `appendPlugins` | Verwaltete Einstellungen. Benutzereinstellungen nur auf einem Rechner ohne verwaltete Einstellungen oder [`managed-mcp.json`](https://code.claude.com/docs/de/managed-mcp#deploy-managed-mcp-json)-Datei und in einer Sitzung, deren Anmeldedaten nicht aus einem Team- oder Enterprise-`/login` stammen. | Listen von Plugin-IDs, etwa `acme-guard@acme-tools`. Mods in `prependPlugins` laufen vor jedem Mod, den ein Benutzer installiert, und Mods in `appendPlugins` danach, jeweils in der aufgeführten Reihenfolge. Siehe [Die Reihenfolge, in der Mods ausgeführt werden](https://code.claude.com/docs/de/plugins/mods/events.md#the-order-mods-run-in). |

431| `allowManagedModsOnly` | Verwaltete Einstellungen, als [Option des integrierten Wächters](https://code.claude.com/docs/de/plugins/mods/admin.md#set-options-on-the-built-in-guard) | Nur Mods, die [als Mods Ihrer Organisation gelten](https://code.claude.com/docs/de/plugins/mods/admin.md#install-your-organizations-mods), sowie die in Claude Code integrierten Mods führen ihre Hooks aus. Die Einstellungs-Hooks der Benutzer laufen weiter. |444| `allowManagedModsOnly` | Verwaltete Einstellungen, als [Option des integrierten Wächters](https://code.claude.com/docs/de/plugins/mods/admin.md#set-options-on-the-built-in-guard) | Nur Mods, die [als Mods Ihrer Organisation gelten](https://code.claude.com/docs/de/plugins/mods/admin.md#install-your-organizations-mods), sowie die in Claude Code integrierten Mods führen ihre Hooks aus. Die Einstellungs-Hooks der Benutzer laufen weiter. |

432| `allowModsToOverrideDenyRules` | Verwaltete Einstellungen, als [Option des integrierten Wächters](https://code.claude.com/docs/de/plugins/mods/admin.md#set-options-on-the-built-in-guard) | Erlaubt einem von einem Benutzer installierten Mod, einen Tool-Aufruf über die meisten [standardmäßig bestehen bleibenden Ergebnisse](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods) hinweg zu genehmigen, einschließlich einer `deny`-Regel |445| `allowModsToOverrideDenyRules` | Verwaltete Einstellungen, als [Option des integrierten Wächters](https://code.claude.com/docs/de/plugins/mods/admin.md#set-options-on-the-built-in-guard) | Erlaubt einem von einem Benutzer installierten Mod, einen Tool-Aufruf über die meisten [standardmäßig bestehen bleibenden Ergebnisse](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods) hinweg zu genehmigen, einschließlich einer `deny`-Regel |

Details

115 115 

116### Die Regeln des Test-Kits befolgen116### Die Regeln des Test-Kits befolgen

117 117 

118Das Test-Kit hat einige eigene Regeln, und ein Verstoß dagegen erzeugt die Fehler, auf die neue Testautoren zuerst stoßen:

119 

120* **Registrieren Sie jeden Stub vor dem ersten Aufruf des Tests auf `$`.** Ein Aufruf von `on` danach löst einen Fehler wie `on("ui.render") after the test first called $` aus.118* **Registrieren Sie jeden Stub vor dem ersten Aufruf des Tests auf `$`.** Ein Aufruf von `on` danach löst einen Fehler wie `on("ui.render") after the test first called $` aus.

121 119 

122* **[`session.start`](https://code.claude.com/docs/de/plugins/mods/reference#session) läuft nicht von selbst.** Jeder Test beginnt mit Ihrem frisch geladenen Modul, ohne dass einer seiner Hooks aufgerufen wurde, sodass Variablen auf Modulebene ihre Anfangswerte haben. Wenn ein Hook von dem abhängt, was `session.start` einrichtet, lösen Sie es zuerst aus:120* **[`session.start`](https://code.claude.com/docs/de/plugins/mods/reference#session) läuft nicht von selbst.** Jeder Test beginnt mit Ihrem frisch geladenen Modul, ohne dass einer seiner Hooks aufgerufen wurde, sodass Variablen auf Modulebene ihre Anfangswerte haben. Wenn ein Hook von dem abhängt, was `session.start` einrichtet, lösen Sie es zuerst aus:


132 130 

133 Der zweite Stub beantwortet den `$.command.register`-Aufruf, den ein `session.start`-Hook wie der [aus dem Tutorial](https://code.claude.com/docs/de/plugins/mods/create.md#write-a-mod-yourself) ausführt. Ohne ihn wird dieser Aufruf mit `no implementation for command.register` abgelehnt, und das Kit überspringt Ihren Hook, sodass nichts nach dem Aufruf im Hook ausgeführt wird. Der Test schlägt an dieser Stelle nicht fehl. Der übersprungene Hook wird unter `the engine reported:` nur aufgeführt, wenn eine spätere Prüfung fehlschlägt.131 Der zweite Stub beantwortet den `$.command.register`-Aufruf, den ein `session.start`-Hook wie der [aus dem Tutorial](https://code.claude.com/docs/de/plugins/mods/create.md#write-a-mod-yourself) ausführt. Ohne ihn wird dieser Aufruf mit `no implementation for command.register` abgelehnt, und das Kit überspringt Ihren Hook, sodass nichts nach dem Aufruf im Hook ausgeführt wird. Der Test schlägt an dieser Stelle nicht fehl. Der übersprungene Hook wird unter `the engine reported:` nur aufgeführt, wenn eine spätere Prüfung fehlschlägt.

134 132 

135* **Ein Hook, der `next(e)` zurückgibt, benötigt einen Stub, der antwortet.** Wenn Ihr [`ui.render`](https://code.claude.com/docs/de/plugins/mods/reference#interface)-Hook `next(e)` zurückgibt, etwa um nichts zu zeichnen, während Claude untätig ist, schlägt das [Mounten](#test-a-drawing) mit `no implementation for ui.render` fehl. Registrieren Sie einen Stub, der ein Element als einfache Daten zurückgibt:133* **Registrieren Sie einen `ui.render`-Stub, um festzulegen, was `next(e)` zurückgibt.** Wenn Ihr [`ui.render`](https://code.claude.com/docs/de/plugins/mods/reference#interface)-Hook `next(e)` zurückgibt, etwa um nichts zu zeichnen, während Claude untätig ist, gelingt das [Mounten](#test-a-drawing) auch ohne Stub. Damit `next(e)` ein Element Ihrer Wahl zurückgibt, registrieren Sie einen Stub, der es als einfache Daten zurückgibt:

136 134 

137 ```typescript theme={null}135 ```typescript theme={null}

138 // Stands for what Claude Code would draw at the site136 // Stands for what Claude Code would draw at the site

139 on('ui.render', () => ({ type: 'Text', props: {}, children: ['drawn by Claude Code'] }))137 on('ui.render', () => ({ type: 'Text', props: {}, children: ['drawn by Claude Code'] }))

140 ```138 ```

141 139 

142 Mit registriertem Stub gelingt das Mounten, und `ui.find({ type: 'Text' })` gibt dieses Element zurück, wann immer Ihr Hook `next(e)` zurückgegeben hat. Ab v2.1.323 übergeben Sie für das Band den Namen Ihres Mods als zweites Argument an `on`, etwa `{ plugin: 'my-mod' }`. Ohne ihn beantwortet der Stub Ihr `next(e)` nicht.140 Wo die Stelle [dieses Element zeichnen kann](https://code.claude.com/docs/de/plugins/mods/interface.md#change-what-claude-code-already-draws), gibt `ui.find({ type: 'Text' })` es zurück, wenn Ihr Hook `next(e)` zurückgegeben hat. Ab v2.1.323 übergeben Sie für das Band den Namen Ihres Mods als zweites Argument an `on`, etwa `{ plugin: 'my-mod' }`. Ohne ihn beantwortet der Stub Ihr `next(e)` nicht. Vor v2.1.321 schlägt das Mounten mit `no implementation for ui.render` fehl, sofern Sie den Stub nicht registrieren.

143 141 

144* **Ein Stub für `turn.step` ist ein asynchroner Generator**, und der Test liest den Stream bis zum Ende, um das Ergebnis zu erhalten:142* **Ein Stub für `turn.step` ist ein asynchroner Generator**, und der Test liest den Stream bis zum Ende, um das Ergebnis zu erhalten:

145 143 


316| `press({ key: 'more' })` | Drückt den `Button` mit diesem Key |314| `press({ key: 'more' })` | Drückt den `Button` mit diesem Key |

317| `input({ key: 'new-note', text: 'buy milk' })` | Gibt den Text in das `Input` mit diesem Key ein und drückt Enter. Fügen Sie `kind: 'change'` hinzu, um ohne Absenden einzugeben. Bei einem Feld mit `rows` kann der Text `\n` enthalten. |315| `input({ key: 'new-note', text: 'buy milk' })` | Gibt den Text in das `Input` mit diesem Key ein und drückt Enter. Fügen Sie `kind: 'change'` hinzu, um ohne Absenden einzugeben. Bei einem Feld mit `rows` kann der Text `\n` enthalten. |

318| `select({ key: 'size', value: 'large' })` | Wählt im `Select` mit diesem Key die Option mit diesem Wert aus |316| `select({ key: 'size', value: 'large' })` | Wählt im `Select` mit diesem Key die Option mit diesem Wert aus |

317| `keepsBeneath()` | In einem Test ohne `ui.render`-Stub wird es zu `true` aufgelöst, wenn die Zeichnung enthält, was `next(e)` zurückgegeben hat, und zu `false`, wenn Ihr Hook es weggelassen hat. In einem Test, der einen solchen Stub registriert, verwenden Sie `find`, um nach dem zu suchen, was der Stub gezeichnet hat. Erfordert Claude Code v2.1.321 oder höher. |

319| `find({ key: 'more' })` oder `find({ type: 'Text', text: 'Count: 2' })` | Gibt das erste passende Element als `{ type, props, children }` zurück oder `undefined`. `text` kann ein String oder ein regulärer Ausdruck sein. |318| `find({ key: 'more' })` oder `find({ type: 'Text', text: 'Count: 2' })` | Gibt das erste passende Element als `{ type, props, children }` zurück oder `undefined`. `text` kann ein String oder ein regulärer Ausdruck sein. |

320| `unmount()` | Entfernt die Zeichnung |319| `unmount()` | Entfernt die Zeichnung |

321 320 

Details

41 41 

42| Sie möchten | Beginnen Sie mit |42| Sie möchten | Beginnen Sie mit |

43| :- | :- |43| :- | :- |

44| Genehmigungseingaben während der täglichen Arbeit auf Ihrem eigenen Computer reduzieren | Das [Sandboxed Bash tool](https://code.claude.com/docs/de/sandboxing.md), aktiviert mit `/sandbox` |44| Berechtigungsabfragen während der täglichen Arbeit auf Ihrem eigenen Computer reduzieren | Dem [in einer Sandbox ausgeführten Bash-Tool](https://code.claude.com/docs/de/sandboxing.md) im Auto-Allow-Modus, konfiguriert mit `/sandbox` |

45| Claude unbeaufsichtigt mit `--dangerously-skip-permissions` oder Auto-Modus arbeiten lassen | Der vorkonfigurierte [Dev Container](https://code.claude.com/docs/de/devcontainer.md), ein beliebiger Container oder VM, oder die [Sandbox Runtime](#sandbox-runtime) |45| Claude unbeaufsichtigt mit `--dangerously-skip-permissions` oder Auto-Modus arbeiten lassen | Der vorkonfigurierte [Dev Container](https://code.claude.com/docs/de/devcontainer.md), ein beliebiger Container oder VM, oder die [Sandbox Runtime](#sandbox-runtime) |

46| MCP-Server und Hooks sowie Bash isolieren, ohne Docker | Die Sandbox Runtime |46| MCP-Server und Hooks sowie Bash isolieren, ohne Docker | Die Sandbox Runtime |

47| Eine Sandbox-Umgebung über ein Team standardisieren | Der vorkonfigurierte [Dev Container](https://code.claude.com/docs/de/devcontainer.md), kopiert in Ihr Repository |47| Eine Sandbox-Umgebung über ein Team standardisieren | Der vorkonfigurierte [Dev Container](https://code.claude.com/docs/de/devcontainer.md), kopiert in Ihr Repository |

sandboxing.md +4 −7

Details

6 6 

7> Beschränken Sie mit der integrierten Sandbox, auf welche Dateien und Netzwerk-Hosts die Shell-Befehle von Claude Code zugreifen können. Aktivieren Sie sie, legen Sie die Grenze fest und beheben Sie, was dadurch nicht mehr funktioniert.7> Beschränken Sie mit der integrierten Sandbox, auf welche Dateien und Netzwerk-Hosts die Shell-Befehle von Claude Code zugreifen können. Aktivieren Sie sie, legen Sie die Grenze fest und beheben Sie, was dadurch nicht mehr funktioniert.

8 8 

9Die Bash-Sandbox ist eine Grenze, die das Betriebssystem um die Shell-Befehle durchsetzt, die Claude auf Ihrem Rechner ausführt. Sie legen fest, auf welche Dateien und Netzwerkdomänen diese Befehle zugreifen können, und die Beschränkungen gelten für Bash-, PowerShell- und Monitor-Befehle sowie für die Prozesse, die diese starten. Da das Betriebssystem die Beschränkungen während der Ausführung eines Befehls anwendet, kann Claude Code [Befehle in der Sandbox ausführen, ohne Sie zu fragen](#sandbox-modes), ob Sie jeden einzelnen genehmigen.9Die Bash-Sandbox ist eine Grenze, die das Betriebssystem um die Shell-Befehle durchsetzt, die Claude auf Ihrem Rechner ausführt. Sie legen fest, auf welche Dateien und Netzwerkdomänen diese Befehle zugreifen können, und die Beschränkungen gelten für Bash-, PowerShell- und Monitor-Befehle sowie für die Prozesse, die diese starten. Befehle in der Sandbox durchlaufen weiterhin den regulären Berechtigungsablauf, es sei denn, Sie wählen den [Modus für automatisches Zulassen](#sandbox-modes), der sie ausführen kann, ohne Sie zu fragen.

10 10 

11Die Sandbox umfasst nur Shell-Befehle. Die Datei-Tools von Claude, MCP-Server und Hooks [laufen außerhalb davon](#what-runs-outside-the-sandbox).11Die Sandbox umfasst nur Shell-Befehle. Die Datei-Tools von Claude, MCP-Server und Hooks [laufen außerhalb davon](#what-runs-outside-the-sandbox).

12 12 


394| `deny`- und `mask`-Einträge in `credentials.envVars` | Durchgesetzt. Das Bereinigen von Umgebungsvariablen ist unabhängig von der Dateisystemebene |394| `deny`- und `mask`-Einträge in `credentials.envVars` | Durchgesetzt. Das Bereinigen von Umgebungsvariablen ist unabhängig von der Dateisystemebene |

395| [`mask`-Einträge in `credentials.files`](#mask-credential-files), die als Masken angewendet werden | Durchgesetzt: Die Maskierung ist unabhängig von der Dateisystemebene. Ein Eintrag, der [auf `deny` zurückgefallen](#mask-credential-files) ist, wird wie jeder `deny`-Eintrag nicht durchgesetzt |395| [`mask`-Einträge in `credentials.files`](#mask-credential-files), die als Masken angewendet werden | Durchgesetzt: Die Maskierung ist unabhängig von der Dateisystemebene. Ein Eintrag, der [auf `deny` zurückgefallen](#mask-credential-files) ist, wird wie jeder `deny`-Eintrag nicht durchgesetzt |

396 396 

397Zwei weitere Dinge ändern sich:397Befehle in der Sandbox übernehmen außerdem das `$TMPDIR` Ihrer Shell anstelle des benutzerspezifischen temporären Verzeichnisses, da jedes temporäre Verzeichnis beschreibbar ist und Claude Code Befehle nicht mehr auf das benutzerspezifische umleitet.

398 398 

399* Befehle in der Sandbox übernehmen das `$TMPDIR` Ihrer Shell anstelle des benutzerspezifischen temporären Verzeichnisses, da jedes temporäre Verzeichnis beschreibbar ist und Claude Code Befehle nicht mehr auf das benutzerspezifische umleitet.399Unter Linux ist die Variable in der übergeordneten Shell oft nicht gesetzt. Die Hinweise des Bash-Tools weisen Claude an, temporäre Arbeitsverzeichnisse mit `mktemp -d` zu erstellen, anstatt sich auf `$TMPDIR` zu verlassen.

400 

401 Unter Linux ist die Variable in der übergeordneten Shell oft nicht gesetzt. Die Hinweise des Bash-Tools weisen Claude an, temporäre Arbeitsverzeichnisse mit `mktemp -d` zu erstellen, anstatt sich auf `$TMPDIR` zu verlassen.

402* [`autoAllowBashIfSandboxed`](https://code.claude.com/docs/de/settings-reference#sandbox-autoallowbashifsandboxed) ist weiterhin standardmäßig `true`, sodass Befehle in der Sandbox weiterhin ohne Nachfrage ausgeführt werden. Setzen Sie den Wert auf `false`, um bei Befehlen in der Sandbox nachfragen zu lassen.

403 400 

404### Anmeldedaten schützen401### Anmeldedaten schützen

405 402 


1095}1092}

1096```1093```

1097 1094 

1098Dadurch wird der [Auto-Allow-Modus](#sandbox-modes) aktiviert. Für den regulären Berechtigungsmodus setzen Sie zusätzlich [`sandbox.autoAllowBashIfSandboxed`](https://code.claude.com/docs/de/settings-reference#sandbox-autoallowbashifsandboxed) auf `false`. Die Änderung wird in Ihrer laufenden Sitzung beim nächsten Shell-Befehl wirksam, den Claude ausführt, und der Tab **Mode** von `/sandbox` markiert anschließend den aktiven Modus.1095Dadurch wird der [reguläre Berechtigungsmodus](#sandbox-modes) aktiviert. Für den Auto-Allow-Modus setzen Sie zusätzlich [`sandbox.autoAllowBashIfSandboxed`](https://code.claude.com/docs/de/settings-reference#sandbox-autoallowbashifsandboxed) auf `true`. Die Änderung wird in Ihrer laufenden Sitzung beim nächsten Shell-Befehl wirksam, den Claude ausführt, und der Tab **Mode** von `/sandbox` markiert anschließend den aktiven Modus.

1099 1096 

1100## Einschränkungen1097## Einschränkungen

1101 1098 

security.md +2 −2

Details

25 25 

26Um Risiken in agentengestützten Systemen zu mindern:26Um Risiken in agentengestützten Systemen zu mindern:

27 27 

28* **Sandbox-Bash-Tool**: [Sandbox](https://code.claude.com/docs/de/sandboxing.md) Bash-Befehle mit Dateisystem- und Netzwerkisolation, wodurch Berechtigungsaufforderungen reduziert werden, während die Sicherheit gewährleistet bleibt. Konfigurieren Sie mit `/sandbox`, um Grenzen zu definieren, in denen Claude Code autonom arbeiten kann28* **Sandbox-Bash-Tool**: Führen Sie Bash-Befehle in einer [Sandbox](https://code.claude.com/docs/de/sandboxing.md) mit Dateisystem- und Netzwerkisolation aus. Konfigurieren Sie dies mit `/sandbox`

29* **Arbeitsverzeichnis-Grenze**: Im Manual-Modus fragt Claude Code Sie, bevor seine Datei-Tools außerhalb des Ordners, in dem es gestartet wurde, und dessen Unterordnern lesen oder schreiben. Die Grenze ist eine Berechtigungsabfrage, sodass ein von Ihnen genehmigter Bash-Befehl weiterhin überall dort schreiben kann, wo Ihr Benutzerkonto Schreibrechte hat29* **Arbeitsverzeichnis-Grenze**: Im Manual-Modus fragt Claude Code Sie, bevor seine Datei-Tools außerhalb des Ordners, in dem es gestartet wurde, und dessen Unterordnern lesen oder schreiben. Die Grenze ist eine Berechtigungsabfrage, sodass ein von Ihnen genehmigter Bash-Befehl weiterhin überall dort schreiben kann, wo Ihr Benutzerkonto Schreibrechte hat

30 * Um einen Ordner ohne Abfrage zu lesen, fügen Sie ihn als [zusätzliches Verzeichnis](https://code.claude.com/docs/de/permissions.md#working-directories) hinzu30 * Um einen Ordner ohne Abfrage zu lesen, fügen Sie ihn als [zusätzliches Verzeichnis](https://code.claude.com/docs/de/permissions.md#working-directories) hinzu

31 * Um Bash-Befehle auf Betriebssystemebene einzuschränken, aktivieren Sie [Sandboxing](https://code.claude.com/docs/de/sandboxing.md#filesystem-isolation)31 * Um Bash-Befehle auf Betriebssystemebene einzuschränken, aktivieren Sie [Sandboxing](https://code.claude.com/docs/de/sandboxing.md#filesystem-isolation)


62* **Vertrauensüberprüfung**: In einer interaktiven Sitzung zeigt Claude Code den Vertrauensdialog für den Workspace an, wenn Sie es in einem Ordner starten, dem Sie noch nicht vertraut haben. Server in der `.mcp.json` eines Projekts haben eine eigene Genehmigungsabfrage, und unter [Projekt-Geltungsbereich](https://code.claude.com/docs/de/mcp.md#project-scope) sind die Sitzungen aufgeführt, die diese überspringen62* **Vertrauensüberprüfung**: In einer interaktiven Sitzung zeigt Claude Code den Vertrauensdialog für den Workspace an, wenn Sie es in einem Ordner starten, dem Sie noch nicht vertraut haben. Server in der `.mcp.json` eines Projekts haben eine eigene Genehmigungsabfrage, und unter [Projekt-Geltungsbereich](https://code.claude.com/docs/de/mcp.md#project-scope) sind die Sitzungen aufgeführt, die diese überspringen

63 * Hinweis: Eine `-p`-Sitzung zeigt keine der beiden Abfragen an. [Was ausgeführt wird, bevor Sie einem Ordner vertrauen](https://code.claude.com/docs/de/permissions.md#what-runs-before-you-trust-a-folder) listet auf, was die Dateien eines Repositorys dort ausführen können63 * Hinweis: Eine `-p`-Sitzung zeigt keine der beiden Abfragen an. [Was ausgeführt wird, bevor Sie einem Ordner vertrauen](https://code.claude.com/docs/de/permissions.md#what-runs-before-you-trust-a-folder) listet auf, was die Dateien eines Repositorys dort ausführen können

64 * Hinweis: Wenn Sie Claude Code direkt in Ihrem Home-Verzeichnis starten, wird die Vertrauensannahme nur für die aktuelle Sitzung beibehalten und nicht auf die Festplatte geschrieben, sodass die Eingabeaufforderung bei jedem Start erneut angezeigt wird. Es gibt keine Einstellung, um sie beizubehalten. Starten Sie Claude Code stattdessen aus einem Projektunterverzeichnis, in dem die Vertrauensannahme pro Verzeichnis gespeichert wird64 * Hinweis: Wenn Sie Claude Code direkt in Ihrem Home-Verzeichnis starten, wird die Vertrauensannahme nur für die aktuelle Sitzung beibehalten und nicht auf die Festplatte geschrieben, sodass die Eingabeaufforderung bei jedem Start erneut angezeigt wird. Es gibt keine Einstellung, um sie beizubehalten. Starten Sie Claude Code stattdessen aus einem Projektunterverzeichnis, in dem die Vertrauensannahme pro Verzeichnis gespeichert wird

65* **Erkennung von Befehlsinjektionen**: Im Manual-Modus fragt Claude Code nach, bevor ein Bash-Befehl ausgeführt wird, den es nicht vollständig analysieren kann. Eine Zulassungsregel für einen Teil eines Befehls, etwa `Bash(git *)`, überspringt diese Abfrage nicht. [In einer Sandbox ausgeführte Befehle](https://code.claude.com/docs/de/permissions.md#how-permissions-interact-with-sandboxing) können ohne sie ausgeführt werden65* **Erkennung von Befehlsinjektionen**: Im Manual-Modus fragt Claude Code nach, bevor ein Bash-Befehl ausgeführt wird, den es nicht vollständig analysieren kann. Eine Zulassungsregel für einen Teil eines Befehls, etwa `Bash(git *)`, überspringt diese Abfrage nicht. [In einer Sandbox ausgeführte Befehle](https://code.claude.com/docs/de/permissions.md#how-permissions-interact-with-sandboxing) im [Auto-Allow-Modus](https://code.claude.com/docs/de/sandboxing.md#auto-allow-mode) können ohne sie ausgeführt werden

66* **Fail-Closed-Matching**: Im Manual-Modus erfordern nicht übereinstimmende Befehle standardmäßig Genehmigung66* **Fail-Closed-Matching**: Im Manual-Modus erfordern nicht übereinstimmende Befehle standardmäßig Genehmigung

67* **Sichere Anmeldedatenspeicherung**: API-Schlüssel und Token werden im macOS Keychain gespeichert, wenn verfügbar. Unter Linux werden sie in einer Datei mit dem Modus `0600` gespeichert, unter Windows in einer Datei, die die Zugriffssteuerungen Ihres Benutzerprofilverzeichnisses erbt. Siehe [Credential Management](https://code.claude.com/docs/de/authentication.md#credential-management)67* **Sichere Anmeldedatenspeicherung**: API-Schlüssel und Token werden im macOS Keychain gespeichert, wenn verfügbar. Unter Linux werden sie in einer Datei mit dem Modus `0600` gespeichert, unter Windows in einer Datei, die die Zugriffssteuerungen Ihres Benutzerprofilverzeichnisses erbt. Siehe [Credential Management](https://code.claude.com/docs/de/authentication.md#credential-management)

68 68 

Details

1355 1355 

1356### `sandbox.autoAllowBashIfSandboxed`1356### `sandbox.autoAllowBashIfSandboxed`

1357 1357 

1358Lassen Sie Claude Code Bash-Befehle in der Sandbox ohne Berechtigungsabfrage ausführen. Befehle, die nicht in der Sandbox ausgeführt werden können, durchlaufen weiterhin den regulären Berechtigungsfluss, und `deny`-Regeln sowie inhaltsbezogene `ask`-Regeln wie `Bash(git push *)` gelten weiterhin; eine bloße `Bash`-ask-Regel wird für Befehle in der Sandbox übersprungen. Setzen Sie den Schlüssel auf `false`, um auch Befehle in der Sandbox durch den regulären Berechtigungsfluss zu leiten, den die **Mode**-Registerkarte von `/sandbox` als regulären Berechtigungsmodus bezeichnet.1358Lassen Sie Claude Code in der Sandbox ausgeführte Bash-Befehle ohne Berechtigungsabfrage ausführen. Befehle, die nicht in der Sandbox laufen können, durchlaufen weiterhin den regulären Berechtigungsablauf. `deny`-Regeln und inhaltsbezogene `ask`-Regeln wie `Bash(git push *)` gelten weiterhin, aber eine reine `Bash`-ask-Regel wird für Befehle in der Sandbox übersprungen. Um den Schlüssel in verwalteten Einstellungen auf `true` zu setzen, fügen Sie ihn dem `sandbox`-Block Ihrer [höchstrangigen verwalteten Quelle](https://code.claude.com/docs/de/managed-settings.md#how-claude-code-combines-managed-sources) hinzu.

1359 1359 

1360* **Bereich**: [`Any file`](#scopes)1360* **Bereich**: [`Any file`](#scopes)

1361* **Typ**: Boolescher Wert1361* **Typ**: Boolescher Wert

1362 * `true`: Claude Code führt Bash-Befehle in der Sandbox ohne Berechtigungsabfrage aus, außer in den Fällen, die [Auto-allow mode](https://code.claude.com/docs/de/sandboxing.md#auto-allow-mode) beschreibt; `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` deaktiviert die automatische Freigabe1362 * `true`: Claude Code führt Bash-Befehle in der Sandbox ohne Berechtigungsabfrage aus, außer in den Fällen, die [Auto-allow mode](https://code.claude.com/docs/de/sandboxing.md#auto-allow-mode) beschreibt; `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` deaktiviert die automatische Freigabe

1363 * `false`: Befehle in der Sandbox durchlaufen den regulären Berechtigungsfluss, daher entscheiden Ihre allow-Regeln und Ihr Berechtigungsmodus. Die **Mode**-Registerkarte von `/sandbox` nennt dies regulären Berechtigungsmodus1363 * `false`: Befehle in der Sandbox durchlaufen den regulären Berechtigungsfluss, daher entscheiden Ihre allow-Regeln und Ihr Berechtigungsmodus. Die **Mode**-Registerkarte von `/sandbox` nennt dies regulären Berechtigungsmodus

1364* **Standard**: `true`1364* **Standard**: `false`. Vor v2.1.324 war der Standard `true`

1365 1365 

1366Dies behält die Sandbox bei und leitet Befehle in der Sandbox durch den regulären Berechtigungsfluss:1366Um die Sandbox eingeschaltet zu lassen und Befehle in der Sandbox ohne Berechtigungsabfrage auszuführen, setzen Sie beide Schlüssel in Ihrem `sandbox`-Block:

1367 1367 

1368```json settings.json theme={null}1368```json settings.json theme={null}

1369{1369{

1370 "sandbox": {1370 "sandbox": {

1371 "enabled": true,1371 "enabled": true,

1372 "autoAllowBashIfSandboxed": false1372 "autoAllowBashIfSandboxed": true

1373 }1373 }

1374}1374}

1375```1375```


1653}1653}

1654```1654```

1655 1655 

1656Bei ausgeschalteter Ebene setzt Claude Code weder `denyRead`- noch `deny`-Einträge in `credentials.files` durch, während `credentials.envVars`-Einträge und angewendete `mask`-Einträge weiterhin funktionieren. [`autoAllowBashIfSandboxed`](#sandbox-autoallowbashifsandboxed) ist weiterhin standardmäßig `true`, setzen Sie es also auf `false`, um weiterhin nachfragen zu lassen. Die vollständige Liste der Quellen, die den Schlüssel setzen können, und was sich bei ausgeschalteter Isolierung ändert, finden Sie unter [Dateisystemisolierung deaktivieren](https://code.claude.com/docs/de/sandboxing.md#disable-filesystem-isolation).1656Bei ausgeschalteter Ebene setzt Claude Code weder `denyRead`- noch `credentials.files`-`deny`-Einträge durch, während `credentials.envVars`-Einträge und angewendete `mask`-Einträge weiter funktionieren. Unter [Dateisystemisolierung deaktivieren](https://code.claude.com/docs/de/sandboxing.md#disable-filesystem-isolation) finden Sie die vollständige Liste der Quellen, die den Schlüssel setzen können, und was sich ändert, wenn die Isolierung ausgeschaltet ist.

1657 1657 

1658### `sandbox.ignoreViolations`1658### `sandbox.ignoreViolations`

1659 1659 


4870 4870 

4871### `agentPushNotifEnabled`4871### `agentPushNotifEnabled`

4872 4872 

4873Erlauben Sie Claude, eine Push-Benachrichtigung an Ihr Telefon zu senden, wenn es entscheidet, dass dies sinnvoll ist, beispielsweise wenn eine lange Aufgabe abgeschlossen ist. In einer lokalen Sitzung kann Claude eine solche Benachrichtigung senden, während [Remote Control](https://code.claude.com/docs/de/remote-control.md) verbunden ist. Wird in `/config` als **Push when Claude decides** angezeigt. Wenn Sie den Wert dort ändern, speichert Claude Code ihn auch in Ihrem Konto.4873Erlauben Sie Claude, eine Push-Benachrichtigung an Ihr Telefon zu senden, wenn es entscheidet, dass dies sinnvoll ist, beispielsweise wenn eine lange Aufgabe abgeschlossen ist. In einer lokalen Sitzung kann Claude eine solche Benachrichtigung senden, während [Remote Control](https://code.claude.com/docs/de/remote-control.md) verbunden ist. Wird in `/config` als **Push when Claude decides** angezeigt.

4874 4874 

4875* **Geltungsbereich**: [`Any file`](#scopes). Claude Code liest auch einen Wert, der von älteren Versionen in `~/.claude.json` hinterlassen wurde.4875* **Geltungsbereich**: [`Any file`](#scopes). Claude Code liest auch einen Wert, der von älteren Versionen in `~/.claude.json` hinterlassen wurde.

4876* **Typ**: Boolean4876* **Typ**: Boolean


4884}4884}

4885```4885```

4886 4886 

4887Wenn Sie Sitzungen unter einem [`claude remote-control`](https://code.claude.com/docs/de/remote-control#start-a-remote-control-session)-Server ausführen, folgen diese dem in Ihrem Konto gespeicherten Wert statt diesem Schlüssel. Um diesen Wert zu ändern, führen Sie `/config` in einer Claude Code-Sitzung in Ihrem Terminal aus und schalten Sie **Push when Claude decides** ein oder aus. Wenn der Schalter bereits den gewünschten Wert anzeigt, ändern Sie ihn und stellen Sie ihn anschließend wieder zurück, damit Claude Code diesen Wert in Ihrem Konto speichert.4887Mit diesem Schlüssel allein erhalten Sie keine Benachrichtigungen. Um sie einzurichten, folgen Sie den Schritten unter [Mobile Push-Benachrichtigungen](https://code.claude.com/docs/de/remote-control.md#mobile-push-notifications).

4888 4888 

4889Siehe [Mobile Push-Benachrichtigungen](https://code.claude.com/docs/de/remote-control.md#mobile-push-notifications).4889Wenn Sie Sitzungen unter einem [`claude remote-control`](https://code.claude.com/docs/de/remote-control#start-a-remote-control-session)-Server ausführen, folgen diese dem in Ihrem Konto gespeicherten Wert statt diesem Schlüssel. Um diesen Wert zu ändern, führen Sie `/config` in einer Claude Code-Sitzung in Ihrem Terminal aus und schalten Sie **Push when Claude decides** ein oder aus. Wenn der Schalter bereits den gewünschten Wert anzeigt, ändern Sie ihn und stellen Sie ihn anschließend wieder zurück, damit Claude Code diesen Wert in Ihrem Konto speichert.

4890 4890 

4891### `awaySummaryEnabled`4891### `awaySummaryEnabled`

4892 4892 


5043}5043}

5044```5044```

5045 5045 

5046Siehe [Mobile Push-Benachrichtigungen](https://code.claude.com/docs/de/remote-control.md#mobile-push-notifications).5046Mit diesem Schlüssel allein erhalten Sie keine Benachrichtigungen. Um sie einzurichten, folgen Sie den Schritten unter [Mobile Push-Benachrichtigungen](https://code.claude.com/docs/de/remote-control.md#mobile-push-notifications).

5047 5047 

5048### `preferredNotifChannel`5048### `preferredNotifChannel`

5049 5049 


5421 5421 

5422### `minimumVersion`5422### `minimumVersion`

5423 5423 

5424Verhindern Sie, dass Hintergrund-Autoupdates und `claude update` eine Version unterhalb dieser installieren, damit ein Wechsel zum `"stable"` Kanal Sie nicht von einem neueren `"latest"` Build herabstuft. Claude Code schreibt diesen Schlüssel für Sie, wenn Sie sich entscheiden, bei Ihrer aktuellen Version zu bleiben, während Sie Kanäle in `/config` wechseln, und löscht ihn, wenn Sie zurück zu `"latest"` wechseln.5424Verhindern Sie, dass Hintergrund-Autoupdates und `claude update` eine Version unterhalb der von Ihnen festgelegten installieren. Claude Code schreibt diesen Schlüssel für Sie, wenn Sie sich entscheiden, bei Ihrer aktuellen Version zu bleiben, während Sie Kanäle in `/config` wechseln. Claude Code löscht den Schlüssel, wenn Sie in `/config` zurück zu `"latest"` wechseln.

5425 5425 

5426* **Bereich**: [`Any file`](#scopes). Legen Sie es in verwalteten Einstellungen fest, um ein organisationsweites Minimum zu fixieren, das Benutzer- und Projekteinstellungen nicht senken können.5426* **Bereich**: [`Any file`](#scopes). Legen Sie diesen Schlüssel in verwalteten Einstellungen fest, um ein organisationsweites Minimum zu fixieren, das Benutzer- und Projekteinstellungen nicht überschreiben können.

5427* **Typ**: string, eine Versionsnummer wie `"2.1.100"`; ein Wert, der keine gültige Version ist, wird ignoriert5427* **Typ**: string, eine Versionsnummer wie `"2.1.323"`; ein Wert, der keine gültige Version ist, wird ignoriert

5428* **Standard**: nicht gesetzt, daher können Aktualisierungen jede Version installieren, die der Kanal anbietet5428* **Standard**: nicht gesetzt, daher können Aktualisierungen jede Version installieren, die der Kanal anbietet

5429 5429 

5430Dieses Beispiel folgt dem stabilen Kanal und weigert sich, eine Version unterhalb von 2.1.100 zu installieren:5430Dieses Beispiel folgt dem stabilen Kanal und weigert sich, eine Version unterhalb von 2.1.323 zu installieren:

5431 5431 

5432```json settings.json theme={null}5432```json settings.json theme={null}

5433{5433{

5434 "autoUpdatesChannel": "stable",5434 "autoUpdatesChannel": "stable",

5435 "minimumVersion": "2.1.100"5435 "minimumVersion": "2.1.323"

5436}5436}

5437```5437```

5438 5438 

setup.md +19 −10

Details

40>40>

41> **macOS, Linux, WSL:**41> **macOS, Linux, WSL:**

42>42>

43> ```bash theme={null}43> ```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} 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} theme={null} theme={null}

44> curl -fsSL https://claude.ai/install.sh | bash44> curl -fsSL https://claude.ai/install.sh | bash

45> ```45> ```

46>46>


48>48>

49> **Windows PowerShell:**49> **Windows PowerShell:**

50>50>

51> ```powershell theme={null}51> ```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} 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} theme={null} theme={null}

52> irm https://claude.ai/install.ps1 | iex52> irm https://claude.ai/install.ps1 | iex

53> ```53> ```

54>54>

55> **Windows CMD:**55> **Windows CMD:**

56>56>

57> ```batch theme={null}57> ```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} 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} theme={null} theme={null}

58> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd58> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

59> ```59> ```

60>60>


72 72 

73> [tab] Homebrew73> [tab] Homebrew

74>74>

75> ```bash theme={null}75> ```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} 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} theme={null} theme={null}

76> brew install --cask claude-code76> brew install --cask claude-code

77> ```77> ```

78>78>


84 84 

85> [tab] WinGet85> [tab] WinGet

86>86>

87> ```powershell theme={null}87> ```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} 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} theme={null} theme={null}

88> winget install Anthropic.ClaudeCode88> winget install Anthropic.ClaudeCode

89> ```89> ```

90>90>


220}220}

221```221```

222 222 

223Mit dieser Einstellung aktualisiert sich eine native Installation auf die stabile Version, auch wenn diese Version älter ist als Ihre. Um das Downgrade zu vermeiden, [legen Sie zusätzlich eine Mindestversion fest](#pin-a-minimum-version).

224 

223Ein neu veröffentlichtes Modell kann eine Claude Code-Version erfordern, die neuer ist als die Version, die der stabile Kanal bereitstellt. Um das Modell sofort zu verwenden, wechseln Sie zum Kanal latest.225Ein neu veröffentlichtes Modell kann eine Claude Code-Version erfordern, die neuer ist als die Version, die der stabile Kanal bereitstellt. Um das Modell sofort zu verwenden, wechseln Sie zum Kanal latest.

224 226 

225Für Enterprise-Bereitstellungen können Sie einen konsistenten Release-Kanal in Ihrer Organisation mit [verwalteten Einstellungen](https://code.claude.com/docs/de/managed-settings.md) erzwingen.227Für Enterprise-Bereitstellungen können Sie einen konsistenten Release-Kanal in Ihrer Organisation mit [verwalteten Einstellungen](https://code.claude.com/docs/de/managed-settings.md) erzwingen.


230 232 

231### Mindestversion festlegen233### Mindestversion festlegen

232 234 

233Die Einstellung `minimumVersion` etabliert eine Untergrenze. Hintergrund-Auto-Updates und `claude update` weigern sich, eine Version unter diesem Wert zu installieren, daher führt ein Wechsel zum Kanal `"stable"` nicht zu einem Downgrade, wenn Sie bereits auf einem neueren `"latest"`-Build sind.235Um eine native Installation ohne Downgrade auf den [Release-Kanal](#configure-release-channel) `"stable"` umzustellen, setzen Sie [`minimumVersion`](https://code.claude.com/docs/de/settings-reference#minimumversion) auf die Version, die Sie gerade ausführen. Hintergrund-Auto-Updates und `claude update` weigern sich, eine Version unter diesem Minimum zu installieren.

236 

237Legen Sie das Minimum in `/config` fest, damit Claude Code Ihre aktuelle Version einträgt, oder in Ihrer Einstellungsdatei, um die Nummer selbst einzugeben:

234 238 

235Ein Wechsel von `"latest"` zu `"stable"` über `/config` fordert Sie auf, entweder bei der aktuellen Version zu bleiben oder das Downgrade zuzulassen. Wenn Sie sich entscheiden zu bleiben, wird `minimumVersion` auf diese Version gesetzt. Ein Wechsel zurück zu `"latest"` löscht es.239* **In `/config`**: Stellen Sie **Auto-update channel** auf stable um und wählen Sie dann **Stay on current version**. Wenn Sie in `/config` zurück zu latest wechseln, löscht Claude Code das Minimum.

240* **In Ihrer [Einstellungsdatei](https://code.claude.com/docs/de/settings.md)**: Führen Sie `claude --version` in Ihrer Shell aus und setzen Sie `minimumVersion` auf die Nummer am Anfang der Ausgabe. Setzen Sie in derselben Bearbeitung `autoUpdatesChannel` auf `"stable"`.

236 241 

237Fügen Sie es zu Ihrer [settings.json-Datei](https://code.claude.com/docs/de/settings.md) hinzu, um eine Untergrenze explizit festzulegen:242Diese `~/.claude/settings.json` stellt eine Installation mit Version 2.1.323 auf stable um:

238 243 

239```json theme={null}244```json theme={null}

240{245{

241 "autoUpdatesChannel": "stable",246 "autoUpdatesChannel": "stable",

242 "minimumVersion": "2.1.100"247 "minimumVersion": "2.1.323"

243}248}

244```249```

245 250 

246In [verwalteten Einstellungen](https://code.claude.com/docs/de/managed-settings.md) erzwingt dies ein organisationsweites Minimum, das Benutzer- und Projekteinstellungen nicht überschreiben können.251Die Installation bleibt auf 2.1.323, bis der stabile Kanal eine neuere Version bereitstellt.

252 

253#### Versionsgrenzen für Ihre Organisation festlegen

254 

255In [verwalteten Einstellungen](https://code.claude.com/docs/de/managed-settings.md) erzwingt `minimumVersion` ein organisationsweites Minimum, das Benutzer- und Projekteinstellungen nicht überschreiben können.

247 256 

248Die `minimumVersion`-Festlegung beschränkt nur Updates. Um Claude Code zu zwingen, außerhalb eines Versionsbereichs nicht zu starten, verwenden Sie stattdessen die verwalteten Einstellungen `requiredMinimumVersion` und `requiredMaximumVersion`. Updates respektieren auch die `requiredMaximumVersion`-Obergrenze. Siehe [`requiredMinimumVersion`](https://code.claude.com/docs/de/settings-reference#requiredminimumversion) und [`requiredMaximumVersion`](https://code.claude.com/docs/de/settings-reference#requiredmaximumversion).257Die `minimumVersion`-Festlegung beschränkt nur Updates. Um Claude Code zu zwingen, außerhalb eines Versionsbereichs nicht zu starten, verwenden Sie stattdessen die verwalteten Einstellungen `requiredMinimumVersion` und `requiredMaximumVersion`. Updates respektieren auch die `requiredMaximumVersion`-Obergrenze. Siehe [`requiredMinimumVersion`](https://code.claude.com/docs/de/settings-reference#requiredminimumversion) und [`requiredMaximumVersion`](https://code.claude.com/docs/de/settings-reference#requiredmaximumversion).

249 258 

skills.md +4 −2

Details

22 22 

23Claude Code enthält eine Reihe von gebündelten Skills wie `/doctor`, `/code-review`, `/batch`, `/debug`, `/loop` und `/claude-api`. Gebündelte Skills sind prompt-basiert: Sie geben Claude detaillierte Anweisungen und ermöglichen es ihm, die Arbeit mit seinen Tools zu orchestrieren. Die meisten integrierten Befehle führen stattdessen direkt eine feste Logik aus.23Claude Code enthält eine Reihe von gebündelten Skills wie `/doctor`, `/code-review`, `/batch`, `/debug`, `/loop` und `/claude-api`. Gebündelte Skills sind prompt-basiert: Sie geben Claude detaillierte Anweisungen und ermöglichen es ihm, die Arbeit mit seinen Tools zu orchestrieren. Die meisten integrierten Befehle führen stattdessen direkt eine feste Logik aus.

24 24 

25Sie rufen einen mitgelieferten Skill auf, indem Sie `/` gefolgt vom Skill-Namen eingeben. Claude ruft einige mitgelieferte Skills automatisch auf, wenn sie relevant sind; andere, einschließlich [`/verify`](#run-and-verify-your-app), werden nur ausgeführt, wenn Sie sie aufrufen.25Sie rufen einen mitgelieferten Skill auf, indem Sie `/` gefolgt vom Skill-Namen eingeben. Claude ruft einige mitgelieferte Skills automatisch auf, wenn sie relevant sind.

26 26 

27Die meisten gebündelten Skills sind in jeder Sitzung verfügbar. Einige hängen von einer bestimmten Funktion ab: `/workflow-authoring` ist beispielsweise nur verfügbar, wenn [dynamische Workflows](https://code.claude.com/docs/de/workflows.md) aktiviert sind.27Die meisten gebündelten Skills sind in jeder Sitzung verfügbar. Einige hängen von einer bestimmten Funktion ab: `/workflow-authoring` ist beispielsweise nur verfügbar, wenn [dynamische Workflows](https://code.claude.com/docs/de/workflows.md) aktiviert sind.

28 28 


320 320 

321Wenn Sie ein Top-Level-Skills-Verzeichnis erstellen, das beim Start der Sitzung nicht vorhanden war, führen Sie [`/reload-skills`](https://code.claude.com/docs/de/commands#all-commands) aus, um die Skills zu laden, die Sie dort eingefügt haben. Claude Code überwacht dieses Verzeichnis noch nicht, daher führen Sie `/reload-skills` erneut aus, nachdem Sie später Änderungen dort vornehmen.321Wenn Sie ein Top-Level-Skills-Verzeichnis erstellen, das beim Start der Sitzung nicht vorhanden war, führen Sie [`/reload-skills`](https://code.claude.com/docs/de/commands#all-commands) aus, um die Skills zu laden, die Sie dort eingefügt haben. Claude Code überwacht dieses Verzeichnis noch nicht, daher führen Sie `/reload-skills` erneut aus, nachdem Sie später Änderungen dort vornehmen.

322 322 

323Die Live-Änderungserkennung deckt nur `SKILL.md`-Text ab. Für einen Skill-Ordner, der auch ein [Plugin](https://code.claude.com/docs/de/plugins/loading.md#plugins-shared-through-a-repository) ist, benötigen Änderungen an `hooks/`, `.mcp.json`, `agents/` und `output-styles/` `/reload-plugins`, um wirksam zu werden.323> [!NOTE]

324>

325> Die Live-Änderungserkennung deckt `SKILL.md`-Text ab. Für einen Skill-Ordner, der auch ein [Plugin](https://code.claude.com/docs/de/plugins/loading.md#plugins-shared-through-a-repository) ist, benötigen Änderungen an `.mcp.json`, `agents/` und `output-styles/` `/reload-plugins`, um wirksam zu werden. Änderungen an `hooks/` benötigen es ebenfalls, außer bei der Moduldatei eines [Mods](https://code.claude.com/docs/de/plugins/mods/overview.md), wenn diese [sich selbst neu lädt](https://code.claude.com/docs/de/env-vars.md).

324 326 

325### Einen Skill entfernen327### Einen Skill entfernen

326 328 

sub-agents.md +62 −45

Details

36>36>

37> Ein schneller, schreibgeschützter Agent, der für die Suche und Analyse von Codebases optimiert ist.37> Ein schneller, schreibgeschützter Agent, der für die Suche und Analyse von Codebases optimiert ist.

38>38>

39> * **Modell**: das Modell der Hauptkonversation. Wenn die Hauptkonversation Fable ausführt, hängt das Modell von Explore davon ab, wie Sie sich verbinden:39> * **Modell**: das Modell der [übergeordneten Konversation](#which-model-a-nested-subagent-runs-on). Wenn die übergeordnete Konversation Fable ausführt, läuft Explore auf Opus oder bleibt auf Fable, je nachdem, wie Sie sich verbinden.

40> * Mit einem Claude-Abonnement, einem Anthropic Console-Konto oder einem [LLM-Gateway](https://code.claude.com/docs/de/llm-gateway), das über `ANTHROPIC_BASE_URL` erreicht wird, läuft Explore auf dem Opus-Modell, auf das der [`opus`-Alias](https://code.claude.com/docs/de/model-config#model-aliases) verweist.40> * Mit einem Claude-Abonnement, einem Anthropic Console-Konto oder einem [LLM-Gateway](https://code.claude.com/docs/de/llm-gateway), das über `ANTHROPIC_BASE_URL` erreicht wird, läuft Explore auf dem Opus-Modell, auf das der [`opus`-Alias](https://code.claude.com/docs/de/model-config#model-aliases) verweist.

41> * Auf Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, [Claude Platform on AWS](https://code.claude.com/docs/de/claude-platform-on-aws.md) oder einem [Claude apps gateway](https://code.claude.com/docs/de/claude-apps-gateway) bleibt Explore auf dem Modell der Hauptkonversation.41> * Auf Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, [Claude Platform on AWS](https://code.claude.com/docs/de/claude-platform-on-aws.md) oder einem [Claude apps gateway](https://code.claude.com/docs/de/claude-apps-gateway) bleibt Explore auf Fable.

42> * **Tools**: Tools mit reinem Lesezugriff; Write und Edit sind nicht zulässig42> * **Tools**: Tools mit reinem Lesezugriff; Write und Edit sind nicht zulässig

43> * **Zweck**: Dateiermittlung, Codesuche, Erkundung der Codebasis43> * **Zweck**: Dateiermittlung, Codesuche, Erkundung der Codebasis

44>44>


52>52>

53> Ein Forschungsagent, der während des [Plan-Modus](https://code.claude.com/docs/de/permission-modes.md#analyze-before-you-edit-with-plan-mode) verwendet wird, um Kontext zu sammeln, bevor ein Plan präsentiert wird.53> Ein Forschungsagent, der während des [Plan-Modus](https://code.claude.com/docs/de/permission-modes.md#analyze-before-you-edit-with-plan-mode) verwendet wird, um Kontext zu sammeln, bevor ein Plan präsentiert wird.

54>54>

55> * **Modell**: Erbt von der Hauptkonversation, es sei denn, Sie setzen `CLAUDE_CODE_SUBAGENT_MODEL` und [erzwingen es auf jeden Subagenten](#run-every-subagent-on-one-model)55> * **Modell**: Erbt von der [übergeordneten Konversation](#which-model-a-nested-subagent-runs-on), es sei denn, Sie setzen `CLAUDE_CODE_SUBAGENT_MODEL` und [erzwingen es auf jeden Subagenten](#run-every-subagent-on-one-model)

56> * **Werkzeuge**: Schreibgeschützte Werkzeuge; Write und Edit sind nicht zulässig56> * **Tools**: Tools mit reinem Lesezugriff; Write und Edit sind nicht zulässig

57> * **Zweck**: Codebase-Recherche für Planung57> * **Zweck**: Recherche in der Codebasis für die Planung

58>58>

59> Wenn Sie sich im Plan-Modus befinden und Claude Ihre Codebase verstehen muss, delegiert es die Recherche an den Plan-Subagenten, damit die Explorationsergebnisse in einem separaten Kontextfenster bleiben, während die Hauptkonversation schreibgeschützt bleibt.59> Wenn Sie sich im Plan-Modus befinden und Claude Ihre Codebase verstehen muss, delegiert es die Recherche an den Plan-Subagenten, damit die Explorationsergebnisse in einem separaten Kontextfenster bleiben, während die Hauptkonversation schreibgeschützt bleibt.

60 60 


62>62>

63> Ein fähiger Agent für komplexe, mehrstufige Aufgaben, die sowohl Exploration als auch Aktion erfordern.63> Ein fähiger Agent für komplexe, mehrstufige Aufgaben, die sowohl Exploration als auch Aktion erfordern.

64>64>

65> * **Modell**: das [`CLAUDE_CODE_SUBAGENT_MODEL`](#choose-a-model)-Modell, wenn Sie eines setzen und nichts anderes ein Modell auf andere Weise zuweist, ansonsten das Modell der Hauptkonversation; [Wählen Sie ein Modell](#choose-a-model) gibt die vollständige Reihenfolge an, und [Führen Sie jeden Subagenten auf einem Modell aus](#run-every-subagent-on-one-model) zeigt, wie die Variable diese Quellen überschreibt65> * **Modell**: standardmäßig das Modell der übergeordneten Konversation, gemäß der [Modellreihenfolge](#choose-a-model)

66> * **Werkzeuge**: Alle Werkzeuge [verfügbar für Subagenten](#available-tools)66> * **Tools**: Alle Tools, die [für Subagenten verfügbar](#available-tools) sind

67> * **Zweck**: Komplexe Recherche, mehrstufige Operationen, Code-Änderungen67> * **Zweck**: Komplexe Recherche, mehrstufige Operationen, Code-Änderungen

68>68>

69> Claude delegiert an general-purpose, wenn die Aufgabe sowohl Exploration als auch Änderung, komplexes Denken zur Interpretation von Ergebnissen oder mehrere abhängige Schritte erfordert.69> Claude delegiert an general-purpose, wenn die Aufgabe sowohl Exploration als auch Änderung, komplexes Denken zur Interpretation von Ergebnissen oder mehrere abhängige Schritte erfordert.


346 346 

347### Wählen Sie ein Modell347### Wählen Sie ein Modell

348 348 

349Das `model`-Feld steuert, welches Modell der Subagent verwendet:349Standardmäßig läuft ein von Ihnen definierter Subagent auf demselben Modell wie die Konversation, die ihn startet. Um sein Modell selbst zu wählen, setzen Sie das Feld [`model`](#supported-frontmatter-fields) in seiner Definition auf einen dieser Werte:

350 

351* **Modell-Alias**: Verwenden Sie einen der verfügbaren Aliase: `sonnet`, `opus`, `haiku` oder `fable`

352* **Vollständige Modell-ID**: Verwenden Sie eine vollständige Modell-ID wie `claude-opus-5-5` oder `claude-sonnet-5`. Akzeptiert dieselben Werte wie das `--model`-Flag

353* **inherit**: Verwenden Sie dasselbe Modell wie die Hauptkonversation

354 

355Wenn Claude einen Subagenten aufruft, kann es auch einen `model`-Parameter für diese spezifische Invokation übergeben. Bei einem Aufruf des Agent-Tools akzeptiert dieser Parameter einen Modell-Alias: `sonnet`, `opus`, `haiku` oder `fable`. Claude kann bei diesem Aufruf keine vollständige Modell-ID und kein `inherit` übergeben. Claude Code löst das Modell des Subagenten in dieser Reihenfolge auf:

356 350 

3571. Der Per-Invokation-`model`-Parameter351* **Modell-Alias**: `sonnet`, `opus`, `haiku` oder `fable`

3582. Das `model`-Frontmatter des Subagenten, wobei `inherit` das Modell der Hauptkonversation auswählt352* **Vollständige Modell-ID**: ein Wert, den das Flag [`--model`](https://code.claude.com/docs/de/cli-reference#cli-flags) akzeptiert, etwa `claude-opus-5-5` oder `claude-sonnet-5`

3593. Die [`CLAUDE_CODE_SUBAGENT_MODEL`](https://code.claude.com/docs/de/model-config#environment-variables)-Umgebungsvariable, wenn Sie sie auf einen Modell-Alias oder eine Modell-ID setzen353* **`inherit`**: das Modell der Hauptkonversation oder, bei einem [verschachtelten Subagenten](#which-model-a-nested-subagent-runs-on), das Modell des Subagenten, der ihn startet

3604. Das Modell der Hauptkonversation

361 354 

362Wenn ein installierter [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) in seinem [`agent.spawn`](https://code.claude.com/docs/de/plugins/mods/reference#subagents)-Hook ein Modell festlegt, verwendet Claude Code dieses Modell anstelle des Parameters pro Aufruf.355Wenn mehr als eine Quelle ein Modell festlegt, verwendet Claude Code die erste in dieser Reihenfolge:

363 356 

364In zwei Fällen wird ein Familien-Alias wie `opus` im Per-Invokation-Parameter oder im Frontmatter stattdessen zum Modell der Hauptkonversation aufgelöst, anstatt zur [Version, auf die der Alias verweist](https://code.claude.com/docs/de/model-config.md#model-aliases):3571. Der `model`-Parameter pro Aufruf, den Claude beim Starten des Subagenten übergeben kann. Bei einem Aufruf des Agent-Tools akzeptiert der Parameter einen Modell-Alias, keine vollständige Modell-ID und kein `inherit`.

3582. Das `model`-Feld in der Definition des Subagenten, einschließlich `inherit`

3593. Die Umgebungsvariable [`CLAUDE_CODE_SUBAGENT_MODEL`](https://code.claude.com/docs/de/model-config#environment-variables)

3604. Das Modell der Hauptkonversation oder, bei einem verschachtelten Subagenten, das Modell des Subagenten, der ihn startet

365 361 

366* **Das Modell der Hauptkonversation gehört zu dieser Familie**: Der Subagent läuft auf dem genauen Modell der Hauptkonversation, einschließlich aller `[1m]`-Suffixe, sodass er das gleiche [erweiterte Kontextfenster](https://code.claude.com/docs/de/model-config.md#extended-context) wie die Hauptkonversation erhält.362Wenn Claude einen Alias übergeben hat, behält der Subagent diesen Alias, wenn er [fortgesetzt wird oder eine Folgenachricht erhält](#resume-subagents). Wenn ein installierter [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) in seinem [`agent.spawn`](https://code.claude.com/docs/de/plugins/mods/reference#subagents)-Hook ein Modell festlegt, verwendet Claude Code dieses Modell anstelle des Parameters pro Aufruf.

367* **Claude Code kann die Modellfamilie der Hauptkonversation nicht bestimmen, auf [einem anderen Provider als der Anthropic API](https://code.claude.com/docs/de/third-party-integrations.md)**: Dies kann mit einem [Application Inference Profile ARN](https://code.claude.com/docs/de/amazon-bedrock.md#iam-configuration) auf Amazon Bedrock passieren, das Claude Code nicht zu einem Backing-Modell aufgelöst hat. Dieser Fall deckt nur den `opus`-Alias ab und gilt nicht, wenn Sie [`ANTHROPIC_DEFAULT_OPUS_MODEL`](https://code.claude.com/docs/de/model-config#environment-variables) setzen, da `opus` dann zum von Ihnen gesetzten Modell aufgelöst wird.

368 

369Ein Alias in `CLAUDE_CODE_SUBAGENT_MODEL` wird immer zur Version aufgelöst, auf die der Alias verweist, auch wenn er die Familie der Hauptkonversation benennt. Das Setzen der Variablen auf `inherit` ist dasselbe wie das Nichtsetzen.

370 363 

371Das Setzen von `CLAUDE_CODE_SUBAGENT_MODEL` allein ändert nicht das Modell, auf dem die integrierten Explore- und Plan-Subagenten laufen. Um es zu ändern, siehe [Führen Sie jeden Subagenten auf einem Modell aus](#run-every-subagent-on-one-model).364Das Setzen von `CLAUDE_CODE_SUBAGENT_MODEL` allein ändert nicht das Modell, auf dem die integrierten Explore- und Plan-Subagenten laufen. Um es zu ändern, siehe [Führen Sie jeden Subagenten auf einem Modell aus](#run-every-subagent-on-one-model).

372 365 

373Vor v2.1.251 kam `CLAUDE_CODE_SUBAGENT_MODEL` zuerst in dieser Reihenfolge und überschrieb sowohl den Per-Invokation-Parameter als auch das Frontmatter, einschließlich `model: inherit`.366#### Auf welchem Modell ein verschachtelter Subagent läuft

374 367 

375Claude Code überprüft die Per-Invokation-Parameter, Frontmatter und Umgebungsvariablenwerte gegen die [`availableModels`](https://code.claude.com/docs/de/model-config#restrict-model-selection)-Allowlist Ihrer Organisation. Für einen blockierten Wert ersetzt es ein anderes Modell:368Standardmäßig läuft ein von Ihnen definierter [verschachtelter Subagent](#let-subagents-spawn-their-own-subagents) auf dem Modell seines übergeordneten Subagenten, also des Subagenten, der ihn gestartet hat. Um den verschachtelten Subagenten auf einem anderen Modell auszuführen, setzen Sie sein `model`-Feld auf dieses Modell.

376 369 

377* Wenn der blockierte Wert ein Familien-Alias wie `opus` ist, führt Claude Code den Subagenten auf der neuesten Version dieser Familie aus, die die Allowlist zulässt, und folgt den gleichen [Substitutionsregeln und Provider-Umfang](https://code.claude.com/docs/de/model-config.md#restrict-model-selection) wie `/model`. Vor v2.1.222 führte Claude Code den Subagenten auf dem geerbten Modell für einen blockierten Familien-Alias aus.370Angenommen, Ihre Hauptkonversation läuft auf Opus und startet einen Reviewer-Subagenten auf Haiku. Standardmäßig laufen diese Subagenten auf Haiku, nicht auf Opus, wenn der Reviewer sie startet:

378* Für jeden anderen blockierten Wert, auf Providern, wo diese Substitution nicht funktioniert, oder wenn die Allowlist keine Version der Familie zulässt, führt Claude Code den Subagenten stattdessen auf dem geerbten Modell aus. Wenn Sie `CLAUDE_CODE_SUBAGENT_MODEL` setzen, versucht Claude Code zuerst dieses Modell unter den gleichen Regeln.

379 371 

380In interaktiven Sitzungen zeigt Claude Code eine Warnung an, die das angeforderte Modell und das Modell benennt, auf dem der Subagent läuft, für beide Substitutionen.372* Ein Subagent mit `model: inherit` oder ohne `model`-Feld

373* Die integrierten Subagenten Explore, Plan und general-purpose

374* Ein [Fork](#fork-the-current-conversation)

381 375 

382Um zu überprüfen, auf welchem Modell ein Subagent läuft, führen Sie [`/tasks`](https://code.claude.com/docs/de/commands) aus. Claude Code benennt das Modell in der Zeile des Subagenten und fügt gegebenenfalls die für diesen Subagenten festgelegte [Effort-Stufe](https://code.claude.com/docs/de/model-config.md#adjust-effort-level) hinzu. Erfordert Claude Code v2.1.242 oder später.376Im Plan-Modus laufen diese Subagenten auf Opus, wenn Sie das Modell Ihrer Sitzung auf [`opusplan`](https://code.claude.com/docs/de/model-config#opusplan-model-setting) setzen, oder auf Sonnet, wenn Sie es auf `haiku` setzen.

383 377 

384Ein `model`-Parameter pro Aufruf gilt auch, wenn der Subagent [fortgesetzt wird oder eine Folgenachricht erhält](#resume-subagents), sodass der Subagent auf diesem Modell bleibt.378#### Überprüfen Sie das Modell eines Subagenten

385 379 

386Ab v2.1.198 erben Subagenten auch die [Extended Thinking](https://code.claude.com/docs/de/model-config.md#extended-thinking)-Konfiguration der Hauptkonversation: Wenn Thinking in Ihrer Sitzung aktiviert ist, ist es für den Subagenten aktiviert, und wenn es deaktiviert ist, bleibt es deaktiviert. Es gibt keine Pro-Subagenten-Thinking-Einstellung. Vor v2.1.198 liefen Subagenten mit deaktiviertem Extended Thinking, unabhängig von der Einstellung der Hauptkonversation.380Um zu überprüfen, auf welchem Modell ein Subagent läuft, führen Sie [`/tasks`](https://code.claude.com/docs/de/commands) aus. Claude Code benennt das Modell in der Zeile des Subagenten und fügt gegebenenfalls die für diesen Subagenten festgelegte [Effort-Stufe](https://code.claude.com/docs/de/model-config.md#adjust-effort-level) hinzu. Erfordert Claude Code v2.1.242 oder später.

387 381 

388#### Führen Sie jeden Subagenten auf einem Modell aus382#### Führen Sie jeden Subagenten auf einem Modell aus

389 383 

390`CLAUDE_CODE_SUBAGENT_MODEL` ist ein Standard, daher hat die Definition eines Subagenten oder ein Modell, das Claude übergibt, immer noch Vorrang vor ihm. Um ein Modell auf jeden Subagenten, [Teammate](https://code.claude.com/docs/de/agent-teams.md#specify-teammates-and-models) und [Workflow-Agent](https://code.claude.com/docs/de/workflows.md) anzuwenden, setzen Sie auch `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` auf `1`. Erfordert Claude Code v2.1.257 oder später.384Um ein Modell auf jeden Subagenten, [Teammate](https://code.claude.com/docs/de/agent-teams.md#specify-teammates-and-models) und [Workflow-Agenten](https://code.claude.com/docs/de/workflows.md) anzuwenden, setzen Sie `CLAUDE_CODE_SUBAGENT_MODEL` auf dieses Modell und `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` auf `1`. Erfordert Claude Code v2.1.257 oder später.

391 

392* Wenn Sie beide Variablen setzen, laufen Subagenten auf dem Modell in `CLAUDE_CODE_SUBAGENT_MODEL`.

393* Wenn Sie nur `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` setzen, laufen Subagenten auf dem Modell der Hauptkonversation, mit der Ausnahme, dass der integrierte Explore-Subagent auf dem [Modell läuft, das für ihn unter Integrierte Subagenten aufgeführt ist](#built-in-subagents).

394 385 

395Um beispielsweise jeden Subagenten auf Haiku auszuführen, setzen Sie beide Variablen im `env`-Block einer [Einstellungsdatei](https://code.claude.com/docs/de/settings.md):386Um beispielsweise jeden Subagenten auf Haiku auszuführen, setzen Sie beide Variablen im `env`-Block einer [Einstellungsdatei](https://code.claude.com/docs/de/settings.md):

396 387 


405 396 

406Um zu überprüfen, dass die Einstellung wirksam wurde, führen Sie [`/tasks`](https://code.claude.com/docs/de/commands) aus, während ein Subagent läuft. Die Zeile des Subagenten zeigt das Modell, auf dem er läuft.397Um zu überprüfen, dass die Einstellung wirksam wurde, führen Sie [`/tasks`](https://code.claude.com/docs/de/commands) aus, während ein Subagent läuft. Die Zeile des Subagenten zeigt das Modell, auf dem er läuft.

407 398 

408Während `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` [aktiviert](https://code.claude.com/docs/de/env-vars.md) ist, ignoriert Claude Code das `model`-Feld in Subagenten-Definitionen, und Claude kann kein Modell übergeben, wenn es einen Subagenten startet. Diese Subagenten laufen weiterhin auf dem Modell der Hauptkonversation:399Während `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` [aktiviert](https://code.claude.com/docs/de/env-vars.md) ist, ignoriert Claude Code das `model`-Feld in Subagenten-Definitionen, und Claude kann kein Modell übergeben, wenn es einen Subagenten startet. Die folgenden Subagenten laufen weiterhin auf dem Modell ihrer übergeordneten Konversation:

409 400 

410* Ein [Fork](#fork-the-current-conversation)401* Ein [Fork](#fork-the-current-conversation)

411* Ein [Skill, der in einem Subagenten läuft](https://code.claude.com/docs/de/skills.md#run-skills-in-a-subagent) mit `model: inherit`402* Ein [Skill, der in einem Subagenten läuft](https://code.claude.com/docs/de/skills.md#run-skills-in-a-subagent) mit `model: inherit`

412 403 

404Wenn Sie nur `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` setzen, laufen Subagenten auf dem Modell der Hauptkonversation, mit der Ausnahme, dass der integrierte Explore-Subagent auf dem [Modell läuft, das für ihn unter Integrierte Subagenten aufgeführt ist](#built-in-subagents).

405 

406#### Welche Version ein Modell-Alias auswählt

407 

408Standardmäßig läuft ein Subagent mit einem Modell-Alias auf der [Version, auf die der Alias verweist](https://code.claude.com/docs/de/model-config.md#model-aliases). Mit einem Familien-Alias wie `opus` im `model`-Feld oder im Parameter pro Aufruf läuft der Subagent in zwei Fällen auf dem Modell seiner übergeordneten Konversation:

409 

410* **Gleiche Familie**: Wenn Ihre Hauptkonversation beispielsweise auf `claude-opus-4-7` läuft, läuft ein Subagent mit `model: opus` ebenfalls auf dieser Version. Um eine andere Version auszuführen, setzen Sie eine vollständige Modell-ID im `model`-Feld.

411* **Unbekannte Familie**: Claude Code kann die Familie des übergeordneten Modells nicht bestimmen, etwa bei einem Amazon Bedrock-ARN, den es [nicht nachschlagen kann](https://code.claude.com/docs/de/amazon-bedrock.md#iam-configuration). Dieser Fall gilt nur für den `opus`-Alias bei [einem anderen Provider als der Anthropic API](https://code.claude.com/docs/de/third-party-integrations.md). Um die Opus-Version zu wählen, setzen Sie [`ANTHROPIC_DEFAULT_OPUS_MODEL`](https://code.claude.com/docs/de/model-config#environment-variables).

412 

413#### Wenn eine Allowlist ein Subagenten-Modell blockiert

414 

415Wenn die [`availableModels`](https://code.claude.com/docs/de/model-config#restrict-model-selection)-Allowlist Ihrer Organisation das für einen Subagenten festgelegte Modell blockiert, läuft der Subagent auf der ersten der folgenden Optionen, die zutrifft:

416 

4171. Bei einem blockierten Familien-Alias die neueste zugelassene Version dieser Familie, bei [Providern, die diese Ersetzung unterstützen](https://code.claude.com/docs/de/model-config.md#restrict-model-selection)

4182. Das Modell in `CLAUDE_CODE_SUBAGENT_MODEL`, wenn Sie es setzen, unter denselben Regeln

4193. Das Modell der Hauptkonversation oder, bei einem verschachtelten Subagenten, das Modell des Subagenten, der ihn startet

420 

421Bei einem Subagenten der obersten Ebene in einer interaktiven Sitzung nennt eine Warnung das angeforderte Modell und seinen Ersatz. Um ein bestimmtes Modell auszuführen, ändern Sie den blockierten Wert in einen, den die Allowlist zulässt.

422 

423### Extended Thinking in Subagenten

424 

425Subagenten erben die [Extended Thinking](https://code.claude.com/docs/de/model-config.md#extended-thinking)-Konfiguration Ihrer Hauptkonversation. Es gibt keine Thinking-Einstellung pro Subagent.

426 

413### Wählen Sie eine Effort-Stufe427### Wählen Sie eine Effort-Stufe

414 428 

415Um einen Subagenten mit einer eigenen [Effort-Stufe](https://code.claude.com/docs/de/model-config.md#adjust-effort-level) auszuführen, setzen Sie das Feld [`effort`](#supported-frontmatter-fields) in seiner Definition.429Um einen Subagenten mit einer eigenen [Effort-Stufe](https://code.claude.com/docs/de/model-config.md#adjust-effort-level) auszuführen, setzen Sie das Feld [`effort`](#supported-frontmatter-fields) in seiner Definition.


426 440 

427#### Verfügbare Werkzeuge441#### Verfügbare Werkzeuge

428 442 

429Subagenten erben die [integrierten Werkzeuge](https://code.claude.com/docs/de/tools-reference.md) und MCP-Werkzeuge, die in der Hauptkonversation verfügbar sind, eingeengt durch zwei Filter: Der erste entfernt eine kurze Liste von Werkzeugen aus jedem Subagenten, und der zweite reduziert den integrierten Werkzeugsatz für Subagenten, die im [Hintergrund](#run-subagents-in-foreground-or-background) laufen, was der Standard ist. Auf macOS, Linux und WSL kann ein Subagent auch die Glob- und Grep-Werkzeuge erhalten, wenn die Hauptkonversation sie nicht hat, wie unter [Glob-Werkzeugverhalten](https://code.claude.com/docs/de/tools-reference.md#glob-tool-behavior) beschrieben. [Forks](#fork-the-current-conversation) überspringen beide Filter und erhalten den genauen Werkzeugpool der Hauptkonversation. Der erste Filter entfernt diese Werkzeuge, auch wenn sie im `tools`-Feld aufgelistet sind:443Subagenten erben die [integrierten Tools](https://code.claude.com/docs/de/tools-reference.md) und MCP-Tools, die in der Hauptkonversation verfügbar sind, eingeengt durch zwei Filter. Der erste entfernt eine kurze Liste von Tools aus jedem Subagenten. Der zweite reduziert den integrierten Tool-Satz für Subagenten, die im [Hintergrund](#run-subagents-in-foreground-or-background) laufen, was der Standard ist.

444 

445Auf macOS, Linux und WSL kann ein Subagent auch die Glob- und Grep-Tools erhalten, wenn die Hauptkonversation sie nicht hat, wie unter [Verhalten des Glob-Tools](https://code.claude.com/docs/de/tools-reference.md#glob-tool-behavior) beschrieben. [Forks](#fork-the-current-conversation) überspringen beide Filter und erhalten den genauen Tool-Pool ihrer übergeordneten Konversation. Der erste Filter entfernt diese Tools, auch wenn sie im `tools`-Feld aufgelistet sind:

430 446 

431* `Agent`, wenn der Subagent die [Tiefengrenze](#let-subagents-spawn-their-own-subagents) erreicht hat; in einem [Fork](#fork-the-current-conversation) bleibt das Werkzeug aufgelistet, gibt aber stattdessen einen Fehler zurück447* `Agent`, wenn der Subagent die [Tiefengrenze](#let-subagents-spawn-their-own-subagents) erreicht hat; in einem [Fork](#fork-the-current-conversation) bleibt das Werkzeug aufgelistet, gibt aber stattdessen einen Fehler zurück

432* `AskUserQuestion`448* `AskUserQuestion`


1077 1093 

1078Mit diesem Wert können Ihre Subagenten an eine zweite Ebene ihrer eigenen delegieren, und diese zweite Ebene kann nicht weiter delegieren. Setzen Sie `1`, um Verschachtelung auszuschalten.1094Mit diesem Wert können Ihre Subagenten an eine zweite Ebene ihrer eigenen delegieren, und diese zweite Ebene kann nicht weiter delegieren. Setzen Sie `1`, um Verschachtelung auszuschalten.

1079 1095 

1080Ein verschachtelter Subagent wird genauso konfiguriert wie ein Top-Level-Subagent und wird aus denselben [Geltungsbereichen](#choose-the-subagent-scope) aufgelöst. Um zu verhindern, dass ein Subagent spawnt, während Verschachtelung an ist, z. B. ein Reviewer, der nur lesend bleiben sollte, lassen Sie `Agent` aus seiner [`tools`](#available-tools)-Liste weg oder fügen Sie es zu `disallowedTools` hinzu.1096Definieren Sie einen verschachtelten Subagenten in denselben [Geltungsbereichen](#choose-the-subagent-scope) wie einen Top-Level-Subagenten. Standardmäßig wird ein von Ihnen definierter verschachtelter Subagent mit dem [Modell des startenden Subagenten](#which-model-a-nested-subagent-runs-on) ausgeführt. Um zu verhindern, dass ein Subagent spawnt, während Verschachtelung an ist, z. B. ein Reviewer, der nur lesend bleiben sollte, lassen Sie `Agent` aus seiner [`tools`](#available-tools)-Liste weg oder fügen Sie es zu `disallowedTools` hinzu.

1081 1097 

1082Im Terminal zeigt Claude Code verschachtelte Subagenten als Baum im Subagenten-Panel unter der Prompt-Eingabe an und markiert jede Zeile, die immer noch Nachkommen im Panel hat, mit einer `(+N)`-Anzahl von ihnen. Öffnen Sie eine Zeile, um die Geschwister und direkten Kinder dieses Subagenten mit einem Pfad zurück zu `main` zu sehen.1098Im Terminal zeigt Claude Code verschachtelte Subagenten als Baum im Subagenten-Panel unter der Prompt-Eingabe an und markiert jede Zeile, die immer noch Nachkommen im Panel hat, mit einer `(+N)`-Anzahl von ihnen. Öffnen Sie eine Zeile, um die Geschwister und direkten Kinder dieses Subagenten mit einem Pfad zurück zu `main` zu sehen.

1083 1099 


1221>1237>

1222> Wenn [die Agenten-Ansicht ausgeschaltet ist](https://code.claude.com/docs/de/agent-view.md#turn-off-agent-view), ist `/subtask` nicht verfügbar und `/fork` startet stattdessen den gegabelten Subagenten; andernfalls kopiert `/fork` die gesamte Sitzung in eine neue [Hintergrund-Sitzung](https://code.claude.com/docs/de/agent-view.md#from-inside-a-session).1238> Wenn [die Agenten-Ansicht ausgeschaltet ist](https://code.claude.com/docs/de/agent-view.md#turn-off-agent-view), ist `/subtask` nicht verfügbar und `/fork` startet stattdessen den gegabelten Subagenten; andernfalls kopiert `/fork` die gesamte Sitzung in eine neue [Hintergrund-Sitzung](https://code.claude.com/docs/de/agent-view.md#from-inside-a-session).

1223 1239 

1224Ein Fork ist ein Subagent, der die gesamte bisherige Konversation erbt, anstatt von vorne zu beginnen. Dies lässt die Eingabe-Isolierung fallen, die Subagenten ansonsten bieten: Ein Fork sieht denselben Systemprompt, dieselben Werkzeuge, dasselbe Modell und die Nachrichtenhistorie wie die Hauptsitzung, sodass Sie ihm eine Nebenaufgabe übergeben können, ohne die Situation erneut zu erklären. Die eigenen Werkzeugaufrufe des Forks bleiben weiterhin aus Ihrer Konversation heraus und nur sein endgültiges Ergebnis kommt zurück, sodass Ihr Hauptkontextfenster sauber bleibt. Verwenden Sie einen Fork, wenn ein anderer Subagent zu viel Hintergrund benötigen würde, um nützlich zu sein, oder wenn Sie mehrere Ansätze parallel vom gleichen Ausgangspunkt aus versuchen möchten.1240Ein Fork ist ein Subagent, der die gesamte bisherige Konversation erbt, anstatt von vorne zu beginnen. Verwenden Sie einen Fork, wenn ein anderer Subagent zu viel Hintergrund benötigen würde, um nützlich zu sein, oder wenn Sie mehrere Ansätze parallel vom gleichen Ausgangspunkt aus versuchen möchten.

1241 

1242* **Eingabe**: Ein Fork sieht denselben System-Prompt, dieselben Tools, dasselbe [Modell](#which-model-a-nested-subagent-runs-on) und denselben Nachrichtenverlauf wie seine übergeordnete Konversation

1243* **Ausgabe**: Die eigenen Tool-Aufrufe des Forks bleiben aus seiner übergeordneten Konversation heraus, und nur sein endgültiges Ergebnis kommt zurück

1225 1244 

1226Claude kann selbstständig einen Fork starten, solange der Fork-Modus aktiviert ist, was standardmäßig der Fall ist. Wie Sie Forks unterbinden, erfahren Sie unter [Fork-Modus deaktivieren](#turn-fork-mode-on-or-off).1245Claude kann selbstständig einen Fork starten, solange der Fork-Modus aktiviert ist, was standardmäßig der Fall ist. Wie Sie Forks unterbinden, erfahren Sie unter [Fork-Modus deaktivieren](#turn-fork-mode-on-or-off).

1227 1246 


1257 1276 

1258### Wie sich Forks von anderen Subagenten unterscheiden1277### Wie sich Forks von anderen Subagenten unterscheiden

1259 1278 

1260Ein Fork erbt alles, was die Hauptsitzung zum Zeitpunkt des Spawnens hat. Jeder andere Subagent startet von seiner Definition aus.

1261 

1262| | Fork | Nicht-Fork-Subagent |1279| | Fork | Nicht-Fork-Subagent |

1263| :- | :- | :- |1280| :- | :- | :- |

1264| Kontext | Vollständige Konversationshistorie | Frischer Kontext mit dem Prompt, den Sie übergeben |1281| Kontext | Vollständige Konversationshistorie | Frischer Kontext mit dem Prompt, den Sie übergeben |

1265| Systemprompt und Werkzeuge | Gleich wie Hauptsitzung | Aus der [Definitionsdatei](#write-subagent-files) des Subagenten, [gefiltert für Hintergrund-Läufe](#available-tools) |1282| System-Prompt und Tools | Gleich wie die übergeordnete Konversation | Aus der [Definitionsdatei](#write-subagent-files) des Subagenten, [gefiltert für Hintergrund-Läufe](#available-tools) |

1266| Modell | Gleich wie Hauptsitzung | Aus dem `model`-Feld des Subagenten |1283| Modell | Gleich wie die [übergeordnete Konversation](#which-model-a-nested-subagent-runs-on) | Folgt der [Modellreihenfolge für Subagenten](#choose-a-model) |

1267| Prompt-Cache | Mit Hauptsitzung geteilt | Separater Cache |1284| Prompt-Cache | Mit der übergeordneten Konversation geteilt | Separater Cache |

1268 1285 

1269Da der System-Prompt und die Tool-Definitionen eines Forks identisch mit denen des übergeordneten Elements sind, verwendet seine erste Anfrage den [Prompt-Cache](https://code.claude.com/docs/de/prompt-caching.md#subagents-and-the-cache) des übergeordneten Elements wieder. Aufgrund dieser Wiederverwendung kostet ein Fork bei Aufgaben, die denselben Kontext benötigen, weniger als ein frischer Subagent.1286Da der System-Prompt und die Tool-Definitionen eines Forks identisch mit denen des übergeordneten Elements sind, verwendet seine erste Anfrage den [Prompt-Cache](https://code.claude.com/docs/de/prompt-caching.md#subagents-and-the-cache) des übergeordneten Elements wieder. Aufgrund dieser Wiederverwendung kostet ein Fork bei Aufgaben, die denselben Kontext benötigen, weniger als ein frischer Subagent.

1270 1287 

workflows.md +1 −1

Details

454* Prüfen Sie `/model` vor einem großen Lauf, wenn Sie für Standardarbeiten normalerweise zu einem kleineren Modell wechseln454* Prüfen Sie `/model` vor einem großen Lauf, wenn Sie für Standardarbeiten normalerweise zu einem kleineren Modell wechseln

455* Bitten Sie Claude bei der Beschreibung der Aufgabe, für Phasen, die nicht das stärkste Modell benötigen, ein kleineres Modell zu verwenden455* Bitten Sie Claude bei der Beschreibung der Aufgabe, für Phasen, die nicht das stärkste Modell benötigen, ein kleineres Modell zu verwenden

456 456 

457Wenn die [`availableModels`-Allowlist](https://code.claude.com/docs/de/model-config#restrict-model-selection) Ihrer Organisation ein Modell blockiert, das das Skript für einen Agenten anfordert, läuft dieser Agent stattdessen auf einem Ersatzmodell, nach denselben [Ersetzungsregeln wie bei Subagenten](https://code.claude.com/docs/de/sub-agents.md#choose-a-model).457Wenn die [`availableModels`-Allowlist](https://code.claude.com/docs/de/model-config#restrict-model-selection) Ihrer Organisation ein Modell blockiert, das das Skript für einen Agenten anfordert, läuft dieser Agent stattdessen auf einem Ersatzmodell, nach denselben [Ersetzungsregeln wie bei Subagenten](https://code.claude.com/docs/de/sub-agents.md#when-an-allowlist-blocks-a-subagent-model).

458 458 

459### Eine Größenrichtlinie festlegen459### Eine Größenrichtlinie festlegen

460 460 

worktrees.md +5 −2

Details

232 232 

233Mit der Standard-`"fresh"`-[Basis](#choose-the-base-branch) wird ein erneut geöffneter Worktree auf den Standard-Branch des Repositorys zurückgesetzt, anstatt bei seinem alten Tip fortzufahren, wenn alle folgenden Bedingungen erfüllt sind:233Mit der Standard-`"fresh"`-[Basis](#choose-the-base-branch) wird ein erneut geöffneter Worktree auf den Standard-Branch des Repositorys zurückgesetzt, anstatt bei seinem alten Tip fortzufahren, wenn alle folgenden Bedingungen erfüllt sind:

234 234 

235* Es hat keine nicht committeten Änderungen oder nicht verfolgten Dateien.235* Die [Sandbox](https://code.claude.com/docs/de/sandboxing.md#filesystem-isolation) schränkt in Ihrer Sitzung keine Dateischreibvorgänge ein, und weder die `.claude`-Einstellungsdateien des Worktrees noch die des Haupt-Checkouts aktivieren die Sandbox.

236* Er hat keine nicht committeten Änderungen oder nicht verfolgten Dateien.

236* Es befindet sich immer noch auf dem Branch, den Claude Code für ihn erstellt hat.237* Es befindet sich immer noch auf dem Branch, den Claude Code für ihn erstellt hat.

237* Es hat keine Commits von sich selbst, oder sein Pull Request oder Merge Request wurde zusammengeführt und sein Remote-Branch gelöscht.238* Es hat keine Commits von sich selbst, oder sein Pull Request oder Merge Request wurde zusammengeführt und sein Remote-Branch gelöscht.

238 239 


240 241 

241In jedem anderen Fall öffnet Claude Code den Worktree bei seinem alten Tip erneut:242In jedem anderen Fall öffnet Claude Code den Worktree bei seinem alten Tip erneut:

242 243 

243* Der Worktree erfüllt eine der Bedingungen nicht.244* Der Worktree oder die Sitzung erfüllt eine der Bedingungen nicht.

244* Claude Code kann den Status des Worktrees nicht überprüfen.245* Claude Code kann den Status des Worktrees nicht überprüfen.

245* `worktree.baseRef` ist `"head"`.246* `worktree.baseRef` ist `"head"`.

246* Der Name ist eine Pull-Request- oder Merge-Request-Referenz.247* Der Name ist eine Pull-Request- oder Merge-Request-Referenz.

247 248 

249Wenn Sie die Sandbox mit der `"fresh"`-Basis verwenden, führen Sie `git fetch origin` aus und übergeben Sie dann einen neuen Namen an `--worktree`, um vom neuesten Standard-Branch aus zu starten.

250 

248### Ersetzen Sie die Worktree-Erstellung durch einen Hook251### Ersetzen Sie die Worktree-Erstellung durch einen Hook

249 252 

250Konfigurieren Sie einen [`WorktreeCreate`-Hook](https://code.claude.com/docs/de/hooks#worktreecreate), um die Standard-`git worktree`-Logik vollständig zu ersetzen, einschließlich der Platzierung von Worktrees anderswo als `.claude/worktrees/`. Ein vollständiges Beispiel finden Sie unter [Non-Git-Versionskontrolle](#non-git-version-control).253Konfigurieren Sie einen [`WorktreeCreate`-Hook](https://code.claude.com/docs/de/hooks#worktreecreate), um die Standard-`git worktree`-Logik vollständig zu ersetzen, einschließlich der Platzierung von Worktrees anderswo als `.claude/worktrees/`. Ein vollständiges Beispiel finden Sie unter [Non-Git-Versionskontrolle](#non-git-version-control).