SpyBara
Go Premium

Documentation 2026-10-24 22:59 UTC to 2026-10-25 23:58 UTC

53 files changed +737 −242. View all changes and history on the product overview
2026
Fri 30 23:01 Thu 29 23:57 Wed 28 23:57 Tue 27 22:59 Mon 26 22:57 Sun 25 23:58 Sat 24 22:59 Fri 23 22:59 Thu 22 22:58 Wed 21 23:02 Tue 20 23:00 Mon 19 23:58 Sat 17 23:57 Fri 16 22:59 Thu 15 23:58 Wed 14 22:58 Tue 13 23:57 Sun 11 23:57 Sat 10 23:01 Fri 9 23:02 Thu 8 22:58 Wed 7 23:59 Tue 6 23:59 Mon 5 23:58 Sun 4 23:58 Sat 3 23:57 Fri 2 22:59 Thu 1 23:59
Details

372 372 

373### Zulässige Tools konfigurieren373### Zulässige Tools konfigurieren

374 374 

375Die Option `tools` und die Zulassungs-/Ausschlusslisten beeinflussen zwei Ebenen: Verfügbarkeit, die steuert, ob ein Tool im Kontext von Claude angezeigt wird, und Berechtigung, die steuert, ob ein Aufruf genehmigt wird, sobald Claude ihn versucht. `tools` und Einträge in `disallowedTools` ohne Bereichsangabe ändern die Verfügbarkeit. `allowedTools` und Regeln in `disallowedTools` mit Bereichsangabe ändern die Berechtigung. Wenn Sie eines der [Task-Tracking-Tools](https://code.claude.com/docs/de/agent-sdk/todo-tracking.md#model-availability) in `allowedTools` nennen, wird die Sitzung auch in Claude Code aktiviert.375Die Option `tools` und die Zulassungs-/Ausschlusslisten beeinflussen zwei Ebenen: Verfügbarkeit, die steuert, ob ein Tool im Kontext von Claude angezeigt wird, und Berechtigung, die steuert, ob ein Aufruf genehmigt wird, sobald Claude ihn versucht. `tools` und Einträge in `disallowedTools` ohne Bereichsangabe ändern die Verfügbarkeit. `allowedTools` und Regeln in `disallowedTools` mit Bereichsangabe ändern die Berechtigung. Wenn Sie eines der [Task-Tracking-Tools](https://code.claude.com/docs/de/agent-sdk/todo-tracking.md#model-availability) in `allowedTools` nennen, aktiviert Claude Code diese auch für die Sitzung.

376 376 

377| Option | Ebene | Auswirkung |377| Option | Ebene | Auswirkung |

378| :- | :- | :- |378| :- | :- | :- |

Details

771 771 

772Wenn ein Callback sein Timeout überschreitet, bricht Claude Code es ab und verwirft seine Ausgabe, und die Sitzung wird fortgesetzt, anstatt zu hängen. Was danach passiert, hängt vom Ereignis ab:772Wenn ein Callback sein Timeout überschreitet, bricht Claude Code es ab und verwirft seine Ausgabe, und die Sitzung wird fortgesetzt, anstatt zu hängen. Was danach passiert, hängt vom Ereignis ab:

773 773 

774* `PreToolUse`: Claude Code blockiert den Tool-Aufruf. Stattdessen erhält Claude ein Tool-Ergebnis, das besagt, dass der Hook nicht vor seinem Timeout geantwortet hat, und der Turn wird fortgesetzt. Vor v2.1.210 meldete Claude Code das Timeout an Claude als Benutzerabweisung, was unbeaufsichtigte Sitzungen zum Stoppen und Warten auf Eingabe führte.774* `PreToolUse`: Claude Code blockiert den Tool-Aufruf. Wenn alle anderen Hooks nichts oder nur eine `allow`-Entscheidung zurückgegeben haben, teilt das Tool-Ergebnis Claude mit, dass der Hook nicht vor seinem Timeout geantwortet hat, und der Turn wird fortgesetzt. Wenn einer Ihrer anderen Hooks den Aufruf bereits abgelehnt hat, erreicht diese Ablehnung Claude trotzdem: Das Tool-Ergebnis enthält die Begründung dieses Hooks, und der Timeout-Text kann darauf folgen.

775 

776 Vor v2.1.210 meldete Claude Code das Timeout an Claude als Benutzerabweisung, was unbeaufsichtigte Sitzungen zum Stoppen und Warten auf Eingabe führte.

775* `PostToolUse` und `PostToolUseFailure`: Claude Code behält das Tool-Ergebnis bei und der Turn wird fortgesetzt.777* `PostToolUse` und `PostToolUseFailure`: Claude Code behält das Tool-Ergebnis bei und der Turn wird fortgesetzt.

776* `UserPromptSubmit` und [`UserPromptExpansion`](https://code.claude.com/docs/de/hooks#userpromptexpansion): Claude Code blockiert den Prompt mit einer Nachricht, die den Hook und das Timeout benennt, und die Sitzung wird fortgesetzt. Vor v2.1.208 beendete Claude Code die Abfrage mit `error_during_execution`, wenn ein Callback bei diesen Ereignissen abgelaufen ist.778* `UserPromptSubmit` und [`UserPromptExpansion`](https://code.claude.com/docs/de/hooks#userpromptexpansion): Claude Code blockiert den Prompt mit einer Nachricht, die den Hook und das Timeout benennt, und die Sitzung wird fortgesetzt. Vor v2.1.208 beendete Claude Code die Abfrage mit `error_during_execution`, wenn ein Callback bei diesen Ereignissen abgelaufen ist.

777* `Stop` und `SubagentStop`: der abgelaufene Callback zählt als Rückgabe ohne Entscheidung. Der Agent oder Subagent stoppt, als hätte dieser Callback es erlaubt, und eine Entscheidung von Ihren anderen Hooks bei dem Ereignis wird immer noch angewendet. Vor Claude Code v2.1.273 zählte ein abgelaufener `Stop` oder `SubagentStop` Callback als fehlgeschlagener Hook-Lauf, und Claude Code verwarf die Entscheidungen Ihrer anderen Hooks bei dem Ereignis.779* `Stop` und `SubagentStop`: der abgelaufene Callback zählt als Rückgabe ohne Entscheidung. Der Agent oder Subagent stoppt, als hätte dieser Callback es erlaubt, und eine Entscheidung von Ihren anderen Hooks bei dem Ereignis wird immer noch angewendet. Vor Claude Code v2.1.273 zählte ein abgelaufener `Stop` oder `SubagentStop` Callback als fehlgeschlagener Hook-Lauf, und Claude Code verwarf die Entscheidungen Ihrer anderen Hooks bei dem Ereignis.

Details

309| `options.dir` | `string` | `undefined` | Projektverzeichnis, in dem die Sitzung zu finden ist. Wenn weggelassen, werden alle Projekte durchsucht |309| `options.dir` | `string` | `undefined` | Projektverzeichnis, in dem die Sitzung zu finden ist. Wenn weggelassen, werden alle Projekte durchsucht |

310| `options.limit` | `number` | `undefined` | Maximale Anzahl der zurückzugebenden Nachrichten |310| `options.limit` | `number` | `undefined` | Maximale Anzahl der zurückzugebenden Nachrichten |

311| `options.offset` | `number` | `undefined` | Anzahl der Nachrichten, die vom Anfang übersprungen werden sollen |311| `options.offset` | `number` | `undefined` | Anzahl der Nachrichten, die vom Anfang übersprungen werden sollen |

312| `options.includeSystemMessages` | `boolean` | `false` | Wenn `true`, werden neben Benutzer- und Assistenten-Nachrichten auch Systemnachrichten wie Compact-Grenzen zurückgegeben |

312 313 

313#### Rückgabetyp: `SessionMessage`314#### Rückgabetyp: `SessionMessage`

314 315 

315| Eigenschaft | Typ | Beschreibung |316| Eigenschaft | Typ | Beschreibung |

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

317| `type` | `"user" \| "assistant"` | Nachrichtenrolle |318| `type` | `"user" \| "assistant" \| "system"` | Nachrichtenrolle. `"system"` erscheint nur, wenn `options.includeSystemMessages` `true` ist |

318| `uuid` | `string` | Eindeutige Nachrichten-ID |319| `uuid` | `string` | Eindeutige Nachrichten-ID |

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

320| `message` | `unknown` | Rohe Nachrichten-Payload aus dem Transkript |321| `message` | `unknown` | Rohe Nachrichten-Payload aus dem Transkript |


632 }): Promise<SDKControlReloadPluginsResponse>;633 }): Promise<SDKControlReloadPluginsResponse>;

633 reloadSkills(): Promise<SDKControlReloadSkillsResponse>;634 reloadSkills(): Promise<SDKControlReloadSkillsResponse>;

634 reloadOutputStyles(): Promise<SDKControlReloadOutputStylesResponse>;635 reloadOutputStyles(): Promise<SDKControlReloadOutputStylesResponse>;

636 seedReadState(path: string, mtime: number): Promise<void>;

635 accountInfo(): Promise<AccountInfo>;637 accountInfo(): Promise<AccountInfo>;

636 reconnectMcpServer(serverName: string): Promise<void>;638 reconnectMcpServer(serverName: string): Promise<void>;

637 toggleMcpServer(serverName: string, enabled: boolean): Promise<void>;639 toggleMcpServer(serverName: string, enabled: boolean): Promise<void>;

638 setMcpServers(servers: Record<string, McpServerConfig>): Promise<McpSetServersResult>;640 setMcpServers(servers: Record<string, McpServerConfig>): Promise<McpSetServersResult>;

641 setMcpPermissionModeOverride(

642 serverName: string,

643 mode: 'default' | 'auto' | null

644 ): Promise<{ warning?: string }>;

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

640 streamInput(stream: AsyncIterable<SDKUserMessage>): Promise<void>;646 streamInput(stream: AsyncIterable<SDKUserMessage>): Promise<void>;

641 stopTask(taskId: string): Promise<void>;647 stopTask(taskId: string): Promise<void>;

648 backgroundTasks(toolUseId?: string): Promise<boolean>;

642 close(): void;649 close(): void;

643}650}

644```651```


665| `reloadPlugins(options?)` | Lädt Plugins von der Festplatte neu, sodass Plugins, die Sie während der Sitzung installieren oder bearbeiten, die laufende Sitzung erreichen. Wird mit einer [`SDKControlReloadPluginsResponse`](#sdkcontrolreloadpluginsresponse) aufgelöst, die die Befehle, Subagenten, Plugins und den MCP-Server-Status der Sitzung auflistet. Erfordert Agent SDK v0.2.85 oder höher. Die [Option `holdOnCacheImpact`](#sdkcontrolreloadpluginsresponse) erfordert Agent SDK v0.3.268 oder höher |672| `reloadPlugins(options?)` | Lädt Plugins von der Festplatte neu, sodass Plugins, die Sie während der Sitzung installieren oder bearbeiten, die laufende Sitzung erreichen. Wird mit einer [`SDKControlReloadPluginsResponse`](#sdkcontrolreloadpluginsresponse) aufgelöst, die die Befehle, Subagenten, Plugins und den MCP-Server-Status der Sitzung auflistet. Erfordert Agent SDK v0.2.85 oder höher. Die [Option `holdOnCacheImpact`](#sdkcontrolreloadpluginsresponse) erfordert Agent SDK v0.3.268 oder höher |

666| `reloadSkills()` | Lädt Skills von der Festplatte neu, sodass Skills, die Sie während der Sitzung hinzufügen oder bearbeiten, in der laufenden Sitzung verfügbar werden. Wird mit einer [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) aufgelöst, die die nach dem Neuladen verfügbaren Skills auflistet. Erfordert Agent SDK v0.3.163 oder höher |673| `reloadSkills()` | Lädt Skills von der Festplatte neu, sodass Skills, die Sie während der Sitzung hinzufügen oder bearbeiten, in der laufenden Sitzung verfügbar werden. Wird mit einer [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) aufgelöst, die die nach dem Neuladen verfügbaren Skills auflistet. Erfordert Agent SDK v0.3.163 oder höher |

667| `reloadOutputStyles()` | Liest [Ausgabestile](https://code.claude.com/docs/de/output-styles.md) erneut von der Festplatte, sodass eine Stildatei, die Sie während der Sitzung hinzufügen oder bearbeiten, in der laufenden Sitzung verfügbar wird. Wird mit einer [`SDKControlReloadOutputStylesResponse`](#sdkcontrolreloadoutputstylesresponse) aufgelöst, die die nach dem Neuladen verfügbaren Stilnamen auflistet. Erfordert Agent SDK v0.3.261 oder höher |674| `reloadOutputStyles()` | Liest [Ausgabestile](https://code.claude.com/docs/de/output-styles.md) erneut von der Festplatte, sodass eine Stildatei, die Sie während der Sitzung hinzufügen oder bearbeiten, in der laufenden Sitzung verfügbar wird. Wird mit einer [`SDKControlReloadOutputStylesResponse`](#sdkcontrolreloadoutputstylesresponse) aufgelöst, die die nach dem Neuladen verfügbaren Stilnamen auflistet. Erfordert Agent SDK v0.3.261 oder höher |

675| `seedReadState(path, mtime)` | Markiert eine Datei als bereits gelesen, damit ein späteres Edit nicht mit `File has not been read yet` fehlschlägt. Siehe [`seedReadState()`](#seedreadstate). Erfordert TypeScript SDK v0.2.83 oder höher |

668| `accountInfo()` | Gibt Kontoinformationen zurück |676| `accountInfo()` | Gibt Kontoinformationen zurück |

669| `reconnectMcpServer(serverName)` | Einen MCP-Server anhand seines Namens erneut verbinden. Wenn der Name auch einem Eintrag in einer Einstellungsdatei wie `.mcp.json` oder `~/.claude.json` entspricht, verbindet Claude Code den Server erneut, den Sie über [`mcpServers`](#options) oder `setMcpServers()` konfiguriert haben, nicht den Eintrag aus der Einstellungsdatei. Diese Auflösungsreihenfolge erfordert Claude Code v2.1.257 oder höher |677| `reconnectMcpServer(serverName)` | Einen MCP-Server anhand seines Namens erneut verbinden. Wenn der Name auch einem Eintrag in einer Einstellungsdatei wie `.mcp.json` oder `~/.claude.json` entspricht, verbindet Claude Code den Server erneut, den Sie über [`mcpServers`](#options) oder `setMcpServers()` konfiguriert haben, nicht den Eintrag aus der Einstellungsdatei. Diese Auflösungsreihenfolge erfordert Claude Code v2.1.257 oder höher |

670| `toggleMcpServer(serverName, enabled)` | Einen MCP-Server anhand seines Namens aktivieren oder deaktivieren, mit derselben Namensauflösung wie bei `reconnectMcpServer()`. Das Deaktivieren eines Servers trennt dessen Verbindung und entfernt seine Tools. Unter [`toggleMcpServer()`](#togglemcpserver) finden Sie die für jede Serverart benötigte Claude Code-Version |678| `toggleMcpServer(serverName, enabled)` | Einen MCP-Server anhand seines Namens aktivieren oder deaktivieren, mit derselben Namensauflösung wie bei `reconnectMcpServer()`. Das Deaktivieren eines Servers trennt dessen Verbindung und entfernt seine Tools. Unter [`toggleMcpServer()`](#togglemcpserver) finden Sie die für jede Serverart benötigte Claude Code-Version |

671| `setMcpServers(servers)` | Die MCP-Server ersetzen, die diese Methode verwaltet: über sie hinzugefügte Server und [prozessinterne SDK-Server](#createsdkmcpserver). Wird mit einem [`McpSetServersResult`](#mcpsetserversresult) aufgelöst, das angibt, welche Server hinzugefügt und entfernt wurden, sowie etwaige Fehler; dieser Abschnitt erläutert, welche anderen Server verbunden bleiben |679| `setMcpServers(servers)` | Die MCP-Server ersetzen, die diese Methode verwaltet: über sie hinzugefügte Server und [prozessinterne SDK-Server](#createsdkmcpserver). Wird mit einem [`McpSetServersResult`](#mcpsetserversresult) aufgelöst, das angibt, welche Server hinzugefügt und entfernt wurden, sowie etwaige Fehler; dieser Abschnitt erläutert, welche anderen Server verbunden bleiben |

680| `setMcpPermissionModeOverride(serverName, mode)` | Überschreibt den Berechtigungsmodus für die Tools eines MCP-Servers mit einem strengeren Modus als dem der Sitzung oder entfernt die Überschreibung mit `null`. Nur im Streaming-Eingabemodus verfügbar. Siehe [`setMcpPermissionModeOverride()`](#setmcppermissionmodeoverride). Erfordert TypeScript SDK v0.3.187 oder höher |

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

673| `streamInput(stream)` | Eingabenachrichten für Konversationen mit mehreren Turns an die Abfrage streamen |682| `streamInput(stream)` | Eingabenachrichten für Konversationen mit mehreren Turns an die Abfrage streamen |

674| `stopTask(taskId)` | Eine laufende Hintergrundaufgabe anhand ihrer ID stoppen |683| `stopTask(taskId)` | Eine laufende Hintergrundaufgabe anhand ihrer ID stoppen |

684| `backgroundTasks(toolUseId?)` | Verschiebt die laufenden Bash-Befehle und Subagenten, auf die der Turn wartet, in den Hintergrund, genau wie das Drücken von Ctrl+B im interaktiven Terminal. Siehe [`backgroundTasks()`](#backgroundtasks). Erfordert TypeScript SDK v0.2.139 oder höher |

675| `close()` | Die Abfrage schließen und den zugrunde liegenden Prozess beenden. Beendet die Abfrage zwangsweise und gibt alle Ressourcen frei |685| `close()` | Die Abfrage schließen und den zugrunde liegenden Prozess beenden. Beendet die Abfrage zwangsweise und gibt alle Ressourcen frei |

676 686 

687#### `setMcpPermissionModeOverride()`

688 

689Überschreibt den Berechtigungsmodus für die Tools eines MCP-Servers mit einem strengeren Modus als dem der Sitzung oder entfernt die Überschreibung mit `null`. Verwenden Sie die Methode, wenn eine Sitzung in einem Modus läuft, der Abfragen pro Aktion überspringt, die Tools eines bestimmten Servers aber dennoch geprüft werden sollen. Erfordert TypeScript SDK v0.3.187 oder höher.

690 

691Übergeben Sie einen von drei Werten als `mode`:

692 

693* `'default'`: Claude Code bewertet die Tool-Aufrufe dieses Servers so, wie es der [manuelle Modus](https://code.claude.com/docs/de/permission-modes.md#available-modes) tut.

694* `'auto'`: Claude Code leitet die Tool-Aufrufe dieses Servers durch den Klassifikator des [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode). Claude Code lehnt diesen Wert ab, wenn der Klassifikator für die Sitzung nicht verfügbar ist.

695* `null`: entfernt die Überschreibung.

696 

697Die Überschreibung wirkt nur, solange sich die Sitzung in einem Modus befindet, der Abfragen pro Aktion überspringt: `bypassPermissions` oder `auto`. In jedem anderen Sitzungsmodus ignoriert Claude Code die Überschreibung, sodass sie nie erweitern kann, was die Sitzung erlaubt.

698 

699Das Promise wird mit `{ warning }` aufgelöst, wenn noch kein Server mit diesem Namen bekannt ist. Claude Code speichert die Überschreibung trotzdem und wendet sie an, sobald ein Server mit genau diesem Namen eine Verbindung herstellt. Die Warnung dient also als Tippfehlerprüfung und ist kein Fehler.

700 

701Nur im Streaming-Eingabemodus verfügbar, dieselbe Einschränkung wie bei `setModel()` und `setPermissionMode()`.

702 

703#### `seedReadState()`

704 

705Markiert eine Datei als bereits gelesen, damit ein späteres Edit nicht mit `File has not been read yet` fehlschlägt. Verwenden Sie die Methode, wenn Ihre Anwendung ein früheres `Read`-Ergebnis aus dem Konversationskontext entfernt hat und Claude diese Datei als Nächstes bearbeiten wird. Erfordert TypeScript SDK v0.2.83 oder höher.

706 

707Übergeben Sie als `mtime` die Änderungszeit der Datei zum Zeitpunkt dieses früheren Lesevorgangs, in ganzen Millisekunden seit der Epoche, zum Beispiel `Math.floor(stat.mtimeMs)`. Wenn sich die Datei auf der Festplatte nach diesem Zeitpunkt geändert hat, überspringt Claude Code die Markierung.

708 

709Das Promise wird unabhängig davon aufgelöst, ob die Datei markiert wurde oder nicht. Ein aufgelöstes Promise sagt Ihnen also nicht, welcher Fall eingetreten ist.

710 

711#### `backgroundTasks()`

712 

713Verschiebt die laufenden Bash-Befehle und Subagenten, auf die der Turn wartet, in den Hintergrund, genau wie das Drücken von Ctrl+B im interaktiven Terminal. Übergeben Sie die `toolUseId` eines Tool-Aufrufs, um nur den Bash-Befehl oder Subagenten in den Hintergrund zu verschieben, den dieser Aufruf gestartet hat, oder lassen Sie sie weg, um jede Aufgabe im Vordergrund in den Hintergrund zu verschieben. Erfordert TypeScript SDK v0.2.139 oder höher.

714 

715Jeder in den Hintergrund verschobene Tool-Aufruf kehrt sofort mit einem Ergebnis „läuft im Hintergrund“ zu Claude zurück, der Turn wird fortgesetzt, und Claude Code gibt eine [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) aus, wenn die Aufgabe abgeschlossen ist.

716 

717In einer Sitzung, in der Hintergrundaufgaben aktiviert sind, wird das Promise mit einem booleschen Wert aufgelöst:

718 

719* **`true`**: Eine Aufgabe wurde in den Hintergrund verschoben, oder Sie haben `toolUseId` weggelassen.

720* **`false`**: Die übergebene `toolUseId` passte zu keiner Aufgabe im Vordergrund.

721 

722Wenn Hintergrundaufgaben für die Sitzung deaktiviert sind, etwa mit [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](https://code.claude.com/docs/de/env-vars), wird das Promise stattdessen abgelehnt, und nichts wird in den Hintergrund verschoben.

723 

677#### `applyFlagSettings()`724#### `applyFlagSettings()`

678 725 

679Ändert [Einstellungen](https://code.claude.com/docs/de/settings.md) in einer laufenden Sitzung, ohne die Abfrage neu zu starten. Verwenden Sie die Methode, wenn sich eine Einstellung ohne eigenen Setter während der Sitzung ändern muss, etwa um `permissions` zu verschärfen, nachdem der Agent nicht vertrauenswürdige Eingaben gelesen hat. `setModel()` und `setPermissionMode()` sind eigene Setter für diese beiden Schlüssel; `applyFlagSettings()` ist die allgemeine Form, die eine beliebige Teilmenge der Einstellungsschlüssel akzeptiert, und die Übergabe von `model` hier verhält sich genauso wie `setModel()`.726Ändert [Einstellungen](https://code.claude.com/docs/de/settings.md) in einer laufenden Sitzung, ohne die Abfrage neu zu starten. Verwenden Sie die Methode, wenn sich eine Einstellung ohne eigenen Setter während der Sitzung ändern muss, etwa um `permissions` zu verschärfen, nachdem der Agent nicht vertrauenswürdige Eingaben gelesen hat. `setModel()` und `setPermissionMode()` sind eigene Setter für diese beiden Schlüssel; `applyFlagSettings()` ist die allgemeine Form, die eine beliebige Teilmenge der Einstellungsschlüssel akzeptiert, und die Übergabe von `model` hier verhält sich genauso wie `setModel()`.


1472 | SDKPermissionDeniedMessage1519 | SDKPermissionDeniedMessage

1473 | SDKPromptSuggestionMessage1520 | SDKPromptSuggestionMessage

1474 | SDKAPIRetryMessage1521 | SDKAPIRetryMessage

1522 | SDKControlRequestProgressMessage

1523 | SDKModelRefusalFallbackMessage

1524 | SDKModelRefusalNoFallbackMessage

1475 | SDKMirrorErrorMessage1525 | SDKMirrorErrorMessage

1476 | SDKInformationalMessage1526 | SDKInformationalMessage

1477 | SDKConversationResetMessage;1527 | SDKConversationResetMessage;

1478```1528```

1479 1529 

1530Drei Nachrichten in dieser Union melden den Fortschritt von Steuerungsanfragen und Modellverweigerungen. Jede hat `type: "system"`, unterscheiden Sie sie daher anhand des jeweils angegebenen `subtype`:

1531 

1532* `SDKControlRequestProgressMessage`, `subtype: "control_request_progress"`: meldet den Fortschritt einer lang laufenden Steuerungsanfrage, die Ihr Client gesendet hat. `request_id` ordnet die Nachricht dieser Anfrage zu, und `status` ist `"started"` oder `"api_retry"`. Erfordert Agent SDK v0.3.203 oder höher.

1533* `SDKModelRefusalFallbackMessage`, `subtype: "model_refusal_fallback"`: wird ausgegeben, wenn das Modell den Stream mit einer Verweigerung beendet und der Turn mit einem Fallback-Modell erneut versucht wird. Enthält `original_model` und `fallback_model`. Erfordert Agent SDK v0.3.170 oder höher.

1534* `SDKModelRefusalNoFallbackMessage`, `subtype: "model_refusal_no_fallback"`: wird ausgegeben, wenn das Modell den Stream mit einer Verweigerung beendet und kein erneuter Versuch erfolgt, zum Beispiel weil kein Fallback-Modell konfiguriert ist. Enthält `original_model`. Erfordert Agent SDK v0.3.193 oder höher.

1535 

1480### `SDKAssistantMessage`1536### `SDKAssistantMessage`

1481 1537 

1482Assistenten-Antwortnachricht.1538Assistenten-Antwortnachricht.


1636 stop_reason: string | null;1692 stop_reason: string | null;

1637 ttft_ms?: number;1693 ttft_ms?: number;

1638 ttft_stream_ms?: number;1694 ttft_stream_ms?: number;

1695 time_to_request_ms?: number;

1639 user_message_uuid?: string;1696 user_message_uuid?: string;

1640 user_message_uuids?: string[];1697 user_message_uuids?: string[];

1641 resume_reason?: string;1698 resume_reason?: string;


1701* `api_error_status`: Der HTTP-Statuscode des API-Fehlers, der die Konversation beendet hat. Fehlt oder ist `null`, wenn der Turn ohne API-Fehler endete.1758* `api_error_status`: Der HTTP-Statuscode des API-Fehlers, der die Konversation beendet hat. Fehlt oder ist `null`, wenn der Turn ohne API-Fehler endete.

1702* `ttft_ms`: Zeit bis zum ersten Token in Millisekunden, gemessen, wenn die erste vollständige Assistenten-Nachricht ankommt. Nur auf dem Success-Arm vorhanden.1759* `ttft_ms`: Zeit bis zum ersten Token in Millisekunden, gemessen, wenn die erste vollständige Assistenten-Nachricht ankommt. Nur auf dem Success-Arm vorhanden.

1703* `ttft_stream_ms`: Zeit in Millisekunden bis zum ersten `message_start`-Stream-Ereignis, wenn der Response-Stream öffnet. Niedriger als `ttft_ms`; die Lücke zwischen den beiden ist die Zeit, die zum Streamen der ersten Nachricht benötigt wird. Nur auf dem Success-Arm vorhanden.1760* `ttft_stream_ms`: Zeit in Millisekunden bis zum ersten `message_start`-Stream-Ereignis, wenn der Response-Stream öffnet. Niedriger als `ttft_ms`; die Lücke zwischen den beiden ist die Zeit, die zum Streamen der ersten Nachricht benötigt wird. Nur auf dem Success-Arm vorhanden.

1761* `time_to_request_ms`: Zeit in Millisekunden vom Beginn des Turns, bis Claude Code die API-Anfrage sendet. Nur im Erfolgszweig vorhanden. Erfordert Claude Code v2.1.162 oder höher.

1704* `user_message_uuid`: Die `uuid` der Nachricht, die Sie gesendet haben und die dieser Turn beantwortet hat. Siehe [`user_message_uuid`](#user_message_uuid) dazu, welche Ergebnisse sie tragen.1762* `user_message_uuid`: Die `uuid` der Nachricht, die Sie gesendet haben und die dieser Turn beantwortet hat. Siehe [`user_message_uuid`](#user_message_uuid) dazu, welche Ergebnisse sie tragen.

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

1706* `resume_reason`: warum dieser Turn einen Turn fortsetzt, der durch einen Neustart unterbrochen wurde. In beiden Zweigen vorhanden. Siehe [`resume_reason`](#resume_reason).1764* `resume_reason`: warum dieser Turn einen Turn fortsetzt, der durch einen Neustart unterbrochen wurde. In beiden Zweigen vorhanden. Siehe [`resume_reason`](#resume_reason).


1772* Turns, die keine Nachricht von Ihnen beantworten oder eine Nachricht beantworten, die Sie ohne `uuid` gesendet haben1830* Turns, die keine Nachricht von Ihnen beantworten oder eine Nachricht beantworten, die Sie ohne `uuid` gesendet haben

1773* Ergebnisse, die keine Nachricht beantworten, die Sie gesendet haben, wie das zurückgesetzte Ergebnis nach einem abgestürzten Worker-Prozess1831* Ergebnisse, die keine Nachricht beantworten, die Sie gesendet haben, wie das zurückgesetzte Ergebnis nach einem abgestürzten Worker-Prozess

1774 1832 

1833Wenn ein [`UserPromptSubmit`](https://code.claude.com/docs/de/hooks#userpromptsubmit)-Hook eine Nachricht blockiert, die ihren eigenen Turn startet, oder sie mit `continue: false` stoppt, erhalten Sie trotzdem ein Ergebnis für diese Nachricht. Es ist ein Erfolgsergebnis mit `is_error: false` und `num_turns: 0`, sein `result` ist die [Blockierungsnachricht](https://code.claude.com/docs/de/hooks.md#what-a-blocked-prompt-leaves-behind) oder die [Stopp-Nachricht](https://code.claude.com/docs/de/hooks.md#json-output), und es gibt die `uuid` der Nachricht nach denselben Regeln wie jedes andere Ergebnis zurück. Das Ergebnis hat keinen `terminal_reason`, und außer dem `result`-Text weist nichts darauf hin, dass ein Hook den Turn beendet hat. Eine Nachricht, die ein Hook blockiert, während ein anderer Turn läuft, erhält möglicherweise kein Ergebnis: siehe [`user_message_uuids`](#user_message_uuids).

1834 

1775#### `user_message_uuids`1835#### `user_message_uuids`

1776 1836 

1777Die `uuid`s jeder Nachricht, die Sie gesendet haben und die Claude Code in diesem Turn beantwortet hat. Wenn Sie mehrere Nachrichten dicht beieinander senden, kann Claude Code sie in einen Turn zusammenführen, und `user_message_uuid` benennt dann nur die letzte davon. Um die Antwort mit einer der zusammengeführten Nachrichten abzugleichen, suchen Sie nach der `uuid` dieser Nachricht überall in dieser Liste. Erfordert Agent SDK v0.3.259 oder später.1837Die `uuid`s jeder Nachricht, die Sie gesendet haben und die Claude Code in diesem Turn beantwortet hat. Wenn Sie mehrere Nachrichten dicht beieinander senden, kann Claude Code sie in einen Turn zusammenführen, und `user_message_uuid` benennt dann nur die letzte davon. Um die Antwort mit einer der zusammengeführten Nachrichten abzugleichen, suchen Sie nach der `uuid` dieser Nachricht überall in dieser Liste. Erfordert Agent SDK v0.3.259 oder später.

1778 1838 

1779Claude Code setzt die Liste zusammen mit `user_message_uuid` auf jeden Antwort-Frame, der dieses Feld trägt, und auf das Ergebnis. Für den vollständigen Satz von Turn-Frames, die die `uuid` der beantworteten Nachricht wiederholen, und die Version, die jeder erfordert, siehe [`user_message_uuid`](#user_message_uuid). Die Liste enthält immer `user_message_uuid` und hält höchstens 64 Einträge.1839Claude Code setzt die Liste zusammen mit `user_message_uuid` auf jeden Antwort-Frame, der dieses Feld trägt, und auf das Ergebnis. Für den vollständigen Satz von Turn-Frames, die die `uuid` der beantworteten Nachricht wiederholen, und die Version, die jeder erfordert, siehe [`user_message_uuid`](#user_message_uuid). Die Liste enthält immer `user_message_uuid` und hält höchstens 64 Einträge.

1780 1840 

1781Wenn Claude Code eine reguläre Nachricht aufgreift, die Sie während eines Turns gesendet haben, fügt es die `uuid` dieser Nachricht zur Liste des Ergebnisses hinzu.1841Wenn Claude Code eine reguläre Nachricht aufnimmt, die Sie während eines laufenden Turns gesendet haben, fügt es die `uuid` dieser Nachricht zur Liste des Ergebnisses hinzu. Wenn ein [`UserPromptSubmit`](https://code.claude.com/docs/de/hooks#userpromptsubmit)-Hook die Nachricht bei der Aufnahme blockiert, verwirft Claude Code sie stattdessen: Die Nachricht erreicht Claude nie und wird nicht für einen späteren Turn aufbewahrt. Sie erhalten kein Ergebnis dafür, und ihre `uuid` erscheint in keiner Ergebnisliste. Wenn ein Hook Nachrichten blockieren kann, legen Sie einen Timeout für das Warten auf ein Ergebnis fest, das eine Nachricht auflistet, die Sie während eines laufenden Turns gesendet haben.

1842 

1843Das gilt, wenn die Ausgabe des Hooks nur eine Blockierung ist. Wenn die Ausgabe `continue: false` setzt, auch neben `decision: "block"`, oder der Hook ein Prompt-Hook ist, der [`ok: false`](https://code.claude.com/docs/de/hooks#response-schema) ohne `continueOnBlock: true` antwortet, stoppt Claude Code die Nachricht, statt sie zu verwerfen. Die Nachricht wartet auf ihren eigenen Turn, Sie erhalten ein Ergebnis dafür, und ihr Text bleibt in der Konversation, sodass Claude ihn im nächsten Turn sieht.

1782 1844 

1783Wenn eine erste Antwort oder ein Ergebnis `user_message_uuid` ohne die Liste trägt, kam es von einer früheren Claude Code-Version, daher greifen Sie auf das einzelne Feld zurück.1845Wenn eine erste Antwort oder ein Ergebnis `user_message_uuid` ohne die Liste trägt, kam es von einer früheren Claude Code-Version, daher greifen Sie auf das einzelne Feld zurück.

1784 1846 

Details

582}582}

583```583```

584 584 

585Eine Remote-Antwort, die nicht genau dem erwarteten Format entspricht, schlägt auf eine von zwei Arten fehl, und in beiden Fällen bleibt der lokale Terminal-Dialog offen:585Wenn eine Remote-Antwort keine Wirkung hat und der lokale Terminal-Dialog offen bleibt, prüfen Sie folgende Ursachen:

586 586 

587* **Anderes Format**: Der Regex Ihres Inbound-Handlers schlägt fehl, sodass Text wie `approve it` oder `yes` ohne ID als normale Nachricht an Claude durchfällt.587* **Das Format ist falsch**: Der Regex Ihres Inbound-Handlers passt nicht, sodass Text wie `approve it` oder `yes` ohne ID als normale Nachricht an Claude durchgereicht wird.

588* **Richtiges Format, falsche ID**: Ihr Server gibt ein Urteil aus, aber Claude Code findet keine offene Anfrage mit dieser ID und verwirft es stillschweigend.588* **Die ID ist falsch**: Ihr Server gibt ein Urteil aus, aber Claude Code findet keine offene Anfrage mit dieser ID und verwirft es stillschweigend.

589* **Die ID wurde bereits von einer früheren Abfrage verwendet**: Ihr Server gibt ein Urteil mit der ID aus der Anfrage aus, aber eine frühere Abfrage in der Sitzung hatte dieselbe ID. Sobald sich eine ID wiederholt, verwirft Claude Code jedes Channel-Urteil, das sie trägt, damit eine für eine Abfrage gedachte Antwort nicht die andere genehmigen kann. Eine ID besteht aus fünf zufälligen Buchstaben, daher ist eine Wiederholung selten. Antworten Sie stattdessen im Terminal.

589 590 

590### Vollständiges Beispiel591### Vollständiges Beispiel

591 592 

Details

90 90 

91### Nachrichten, die während eines Zuges gesendet werden, werden nicht als Checkpoint erstellt91### Nachrichten, die während eines Zuges gesendet werden, werden nicht als Checkpoint erstellt

92 92 

93Im Rewind-Menü kann eine Nachricht, die Sie [eingegeben haben, während Claude noch arbeitete](https://code.claude.com/docs/de/interactive-mode.md#queue-messages-while-claude-works), mit **Keine Code-Wiederherstellung** markiert sein. Claude hat diese Nachricht gelesen, bevor sein Turn endete. [Checkpoints werden für Prompts erstellt, die einen Turn starten](#how-checkpoints-work), daher hat diese Nachricht keinen eigenen. Die Bearbeitungen, die Claude nach dem Lesen dieser Nachricht vorgenommen hat, werden dem Prompt zugerechnet, der den Turn gestartet hat.93Im Rewind-Menü kann eine Nachricht, die Sie [eingegeben haben, während Claude noch arbeitete](https://code.claude.com/docs/de/interactive-mode.md#queue-messages-while-claude-works), mit **Keine Code-Wiederherstellung** markiert sein. Die markierte Nachricht hat keinen eigenen [Checkpoint](#how-checkpoints-work).

94 94 

95Für die Nachricht selbst müssen Sie nichts unternehmen. Um die Dateiänderungen aus diesem Teil der Sitzung rückgängig zu machen, wählen Sie den Prompt aus, der den Turn gestartet hat, und wählen Sie **Code wiederherstellen** oder **Code und Unterhaltung wiederherstellen**. Dadurch werden Claudes Dateibearbeitungen aus dem gesamten Turn rückgängig gemacht, einschließlich derjenigen, die vor dem Eintreffen Ihrer Nachricht vorgenommen wurden. Wenn Sie die markierte Nachricht auswählen, wird weiterhin **Unterhaltung wiederherstellen** angeboten, wodurch die Konversation bis zu dieser Nachricht zurückgespult wird und Ihre Dateien unverändert bleiben.95Um die Dateibearbeitungen rückgängig zu machen, die Claude nach dieser Nachricht vorgenommen hat, wählen Sie den Prompt aus, der den Turn gestartet hat, und wählen Sie **Code wiederherstellen** oder **Code und Unterhaltung wiederherstellen**. Dadurch werden Claudes Dateibearbeitungen aus dem gesamten Turn rückgängig gemacht, einschließlich derjenigen, die vor dem Eintreffen Ihrer Nachricht vorgenommen wurden.

96 96 

97### Symverlinkte und hart verlinkte Pfade werden nicht wiederhergestellt97### Symverlinkte und hart verlinkte Pfade werden nicht wiederhergestellt

98 98 

Details

98 98 

99Die Warnungen und der Prozentsatz stammen aus den `anthropic-ratelimit-unified-*`-Headern, die das Gateway jeder erfolgreichen `/v1/messages`-Antwort für einen Entwickler hinzufügt, der ein Limit hat. Die Header beschreiben immer das eigene Limit des Entwicklers: Das Gateway entfernt die Rate-Limit-Header des Upstream-Anbieters, die Ihre gemeinsame Quote beschreiben, und leitet sie nie weiter.99Die Warnungen und der Prozentsatz stammen aus den `anthropic-ratelimit-unified-*`-Headern, die das Gateway jeder erfolgreichen `/v1/messages`-Antwort für einen Entwickler hinzufügt, der ein Limit hat. Die Header beschreiben immer das eigene Limit des Entwicklers: Das Gateway entfernt die Rate-Limit-Header des Upstream-Anbieters, die Ihre gemeinsame Quote beschreiben, und leitet sie nie weiter.

100 100 

101Die Ausgaben, die ein Entwickler sieht, sind die eigene [Schätzung](#how-requests-are-priced) des Gateways, derselbe Wert, mit dem es das Limit durchsetzt, und kein Betrag aus der Rechnung Ihres Anbieters. Claude Code liest die Dollarbeträge mit einer separaten Anfrage an das Gateway. Wenn Sie `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` auf den Maschinen der Entwickler setzen, wie es [Compliance posture](https://code.claude.com/docs/de/claude-apps-gateway-deploy.md#compliance-posture) empfiehlt, überspringt Claude Code diese Anfrage. Wenn diese Variable gesetzt ist oder der Gateway-Server älter als v2.1.284 ist, zeigen die Leiste und die Statuszeile nur den Prozentsatz an.101Die Ausgaben, die ein Entwickler sieht, sind die eigene [Schätzung](#how-requests-are-priced) des Gateways, derselbe Wert, mit dem es das Limit durchsetzt. Es handelt sich nicht um einen Betrag aus der Rechnung Ihres Anbieters. Claude Code liest die Dollarbeträge mit einer separaten Anfrage an das Gateway, die es auch dann sendet, wenn Sie `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` auf den Maschinen der Entwickler setzen. Vor v2.1.295 übersprang Claude Code diese Anfrage, wenn die Variable gesetzt war, und `/usage` sowie die Statuszeile zeigten den Prozentsatz und das Rücksetzdatum ohne Dollarbeträge an.

102 102 

103## Admin-API-Referenz103## Admin-API-Referenz

104 104 

Details

18 18 

19* **Browser**: [claude.ai/code](https://claude.ai/code), auch Claude Code im Web genannt19* **Browser**: [claude.ai/code](https://claude.ai/code), auch Claude Code im Web genannt

20* **Mobil**: die Registerkarte **Code** in der [Claude-App](https://code.claude.com/docs/de/mobile.md)20* **Mobil**: die Registerkarte **Code** in der [Claude-App](https://code.claude.com/docs/de/mobile.md)

21* **Desktop-App**: wählen Sie **Cloud** statt **Lokal**, wenn Sie [eine Sitzung starten](https://code.claude.com/docs/de/desktop.md#run-long-running-tasks-in-the-cloud)21* **Desktop-App**: wählen Sie in der Umgebungsauswahl unter **Cloud** eine Umgebung aus, wenn Sie [eine Sitzung starten](https://code.claude.com/docs/de/desktop.md#run-long-running-tasks-in-the-cloud)

22* **Terminal**: [`claude --cloud`](#from-terminal-to-cloud)22* **Terminal**: [`claude --cloud`](#from-terminal-to-cloud)

23* **Geplante Aufgaben in der Cloud**: [geplante und ausgelöste Ausführungen](https://code.claude.com/docs/de/routines.md) werden jeweils als Cloud-Sitzung ausgeführt23* **Geplante Aufgaben in der Cloud**: [geplante und ausgelöste Ausführungen](https://code.claude.com/docs/de/routines.md) werden jeweils als Cloud-Sitzung ausgeführt

24 24 


247 247 

248### Änderungen überprüfen248### Änderungen überprüfen

249 249 

250Jede Sitzung zeigt einen Diff-Indikator mit hinzugefügten und entfernten Zeilen, wie `+42 -18`. Wählen Sie ihn, um die Diff-Ansicht zu öffnen, hinterlassen Sie Inline-Kommentare zu bestimmten Zeilen und senden Sie sie mit Ihrer nächsten Nachricht an Claude.250Nachdem Claude seine Änderungen in einen Branch gepusht hat, zeigt die Karte **Changes** im Bereich neben dem Chat die hinzugefügten und entfernten Zeilen an, wie `+42 -18`. Klicken Sie auf die Zeilenzahlen auf der Karte **Changes**, um die Diff-Ansicht zu öffnen.

251 251 

252Die Diff-Ansicht vergleicht die Änderungen der Sitzung standardmäßig mit ihrem Basis-Branch. Um gegen einen anderen Branch im Repository zu vergleichen, wählen Sie **Compare against** und wählen Sie einen aus.252* Sie können auch in der Titelleiste der Sitzung oder im **⋮**-Menü der Leiste auf **Changes** klicken.

253* Um den Bereich anzuzeigen, wenn er ausgeblendet ist, klicken Sie auf das Symbol **Show session rail** in der Titelleiste der Sitzung oder im **⋮**-Menü der Leiste.

254 

255In der Diff-Ansicht können Sie Zeilen kommentieren und mit einem anderen Branch vergleichen:

256 

257* **Kommentieren**: Hinterlassen Sie Inline-Kommentare zu bestimmten Zeilen und senden Sie die Kommentare dann mit Ihrer nächsten Nachricht an Claude

258* **Vergleichen**: Die Diff-Ansicht vergleicht die Änderungen der Sitzung standardmäßig mit ihrem Basis-Branch. Um gegen einen anderen Branch im Repository zu vergleichen, wählen Sie **Compare against** und wählen Sie einen aus

253 259 

254Claude Code berechnet diese Diffs aus rohem Git-Blob-Inhalt, daher gelten Diff-Treiber und `textconv`-Filter, die im Repository konfiguriert sind, nicht.260Claude Code berechnet diese Diffs aus rohem Git-Blob-Inhalt, daher gelten Diff-Treiber und `textconv`-Filter, die im Repository konfiguriert sind, nicht.

255 261 


313 319 

314### Sitzungen archivieren320### Sitzungen archivieren

315 321 

316Sie können Sitzungen archivieren, um Ihre Sitzungsliste organisiert zu halten. Archivierte Sitzungen sind in der Standard-Sitzungsliste ausgeblendet, können aber durch Filtern nach archivierten Sitzungen angezeigt werden.322Archivieren Sie eine Sitzung, um sie aus der Sitzungsliste der Seitenleiste zu entfernen. Um eine Sitzung zu archivieren, bewegen Sie den Mauszeiger in der Seitenleiste über sie, öffnen Sie ihr **⋯**-Menü und wählen Sie **Archive**.

317 323 

318Um eine Sitzung zu archivieren, bewegen Sie den Mauszeiger über die Sitzung in der Seitenleiste und wählen Sie das Archiv-Symbol.324#### Eine archivierte Sitzung finden

325 

326Um Ihre archivierten Sitzungen anzuzeigen, gehen Sie zu [claude.ai/code/sessions](https://claude.ai/code/sessions) und öffnen Sie den Tab **Archived**. Um eine Sitzung wieder in die Sitzungsliste der Seitenleiste aufzunehmen, bewegen Sie den Mauszeiger auf diesem Tab über sie, öffnen Sie ihr **⋮**-Menü und wählen Sie **Unarchive**.

319 327 

320### Sitzungen löschen328### Sitzungen löschen

321 329 

322Das Löschen einer Sitzung entfernt die Sitzung und ihre Daten dauerhaft. Diese Aktion kann nicht rückgängig gemacht werden. Sie können eine Sitzung auf zwei Arten löschen:330Das Löschen einer Sitzung entfernt die Sitzung und ihre Daten dauerhaft. Diese Aktion kann nicht rückgängig gemacht werden. Löschen Sie eine Sitzung über die Seitenleiste, über das Sitzungsmenü oder über den Tab **Archived**, falls Sie sie bereits archiviert haben:

323 331 

324* **Von der Seitenleiste**: Filtern Sie nach archivierten Sitzungen, bewegen Sie dann den Mauszeiger über die Sitzung, die Sie löschen möchten, und wählen Sie das Lösch-Symbol332* **Von der Seitenleiste**: Bewegen Sie den Mauszeiger über die Sitzung, öffnen Sie ihr **⋯**-Menü und wählen Sie **Delete**

325* **Vom Sitzungsmenü**: Öffnen Sie eine Sitzung, wählen Sie das Dropdown-Menü neben dem Sitzungstitel und wählen Sie **Löschen**333* **Vom Sitzungsmenü**: Öffnen Sie eine Sitzung, wählen Sie das Dropdown-Menü neben dem Sitzungstitel und wählen Sie **Löschen**

334* **Vom Tab Archived**: Bewegen Sie den Mauszeiger auf dem [Tab **Archived**](#find-an-archived-session) über die Sitzung, öffnen Sie ihr **⋮**-Menü und wählen Sie **Delete**

326 335 

327Sie werden aufgefordert, vor dem Löschen einer Sitzung zu bestätigen.336Sie werden aufgefordert, vor dem Löschen einer Sitzung zu bestätigen.

328 337 


336 345 

337Es gibt mehrere Möglichkeiten, Auto-fix zu aktivieren, je nachdem, woher der PR stammt und welches Gerät Sie verwenden:346Es gibt mehrere Möglichkeiten, Auto-fix zu aktivieren, je nachdem, woher der PR stammt und welches Gerät Sie verwenden:

338 347 

339* **PRs, die in einer Cloud-Sitzung erstellt wurden**: Öffnen Sie die Sitzung unter claude.ai/code, öffnen Sie die CI-Statusleiste und wählen Sie **Auto-fix**348* **PRs, die in einer Cloud-Sitzung erstellt wurden**: Öffnen Sie die Sitzung unter claude.ai/code und suchen Sie den Pull Request in der [**Changes**-Karte](#review-changes). Öffnen Sie das **⋮**-Menü neben dem Titel des Pull Requests und aktivieren Sie **Auto-fix**

340* **Von Ihrem Terminal**: Führen Sie [`/autofix-pr`](https://code.claude.com/docs/de/commands) aus, während Sie auf dem PR's Branch sind. Claude Code erkennt den offenen PR mit `gh`, spawnt eine Cloud-Sitzung und aktiviert Auto-fix in einem Schritt349* **Von Ihrem Terminal**: Führen Sie [`/autofix-pr`](https://code.claude.com/docs/de/commands) aus, während Sie auf dem PR's Branch sind. Claude Code erkennt den offenen PR mit `gh`, spawnt eine Cloud-Sitzung und aktiviert Auto-fix in einem Schritt

341* **Von der Mobile-App**: Sagen Sie Claude, den PR zu auto-fixen, zum Beispiel „watch this PR and fix any CI failures or review comments“350* **Von der Mobile-App**: Sagen Sie Claude, den PR zu auto-fixen, zum Beispiel „watch this PR and fix any CI failures or review comments“

342* **Jeder vorhandene PR**: Fügen Sie die PR-URL in eine Sitzung ein und sagen Sie Claude, den PR zu auto-fixen351* **Jeder vorhandene PR**: Fügen Sie die PR-URL in eine Sitzung ein und sagen Sie Claude, den PR zu auto-fixen

343 352 

344Auto-fix ist ein Pro-PR-Toggle. Um die Überwachung zu beenden, öffnen Sie die CI-Statusleiste in der Sitzung unter claude.ai/code und deaktivieren Sie den **Auto-fix**-Toggle, oder sagen Sie Claude, die Überwachung des PR zu beenden.353Um die Überwachung zu beenden, deaktivieren Sie **Auto-fix** im **⋮**-Menü des Pull Requests in der [**Changes**-Karte](#review-changes) der Sitzung, oder sagen Sie Claude, die Überwachung des PR zu beenden.

345 354 

346### Wie Claude auf PR-Aktivität reagiert355### Wie Claude auf PR-Aktivität reagiert

347 356 


381* Versuchen Sie es nach einer Minute erneut, da die Kapazität bei Bedarf bereitgestellt wird390* Versuchen Sie es nach einer Minute erneut, da die Kapazität bei Bedarf bereitgestellt wird

382* Bestätigen Sie, dass Ihre GitHub-Verbindung das Repository erreichen kann, indem Sie [Keine Repositories werden nach dem Verbinden von GitHub angezeigt](https://code.claude.com/docs/de/web-quickstart.md#no-repositories-appear-after-connecting-github) befolgen391* Bestätigen Sie, dass Ihre GitHub-Verbindung das Repository erreichen kann, indem Sie [Keine Repositories werden nach dem Verbinden von GitHub angezeigt](https://code.claude.com/docs/de/web-quickstart.md#no-repositories-appear-after-connecting-github) befolgen

383 392 

393### Your new session couldn't start

394 

395Ihr Prompt befindet sich wieder im Eingabefeld, aus dem Sie ihn gesendet haben.

396 

397* **Verbindung unterbrochen**: Überprüfen Sie Ihre Internetverbindung sowie ein eventuell verwendetes VPN oder einen Proxy, und senden Sie Ihren Prompt dann erneut

398* **Serverfehler**: Warten Sie einen Moment und senden Sie Ihren Prompt dann erneut. Wenn der Hinweis erneut erscheint, überprüfen Sie [status.claude.com](https://status.claude.com)

399 

400### Can't rewind to this message

401 

402**Rewind to here** schlägt bei jeder Nachricht außer der neuesten mit diesem Fehler fehl, wenn Ihre Sitzung auf einem [selbst gehosteten Runner](https://code.claude.com/docs/de/self-hosted-environments) mit Claude Code vor v2.1.246 läuft. Bitten Sie die Person, die die Runner Ihrer Organisation betreibt, diese zu [aktualisieren](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#pin-the-version).

403 

384### Unable to get organization UUID404### Unable to get organization UUID

385 405 

386`claude --cloud` und `claude --teleport` erfordern eine Anmeldung mit einem claude.ai-Konto. Wenn Sie sich mit einem API-Schlüssel authentifizieren oder Ihre gespeicherten Kontodaten veraltet sind, sehen Sie eine der folgenden Meldungen:406`claude --cloud` und `claude --teleport` erfordern eine Anmeldung mit einem claude.ai-Konto. Wenn Sie sich mit einem API-Schlüssel authentifizieren oder Ihre gespeicherten Kontodaten veraltet sind, sehen Sie eine der folgenden Meldungen:

Details

111 111 

112Das Projekt wird nun unter **Projekte** in der Seitenleiste aufgelistet, und sein Gespräch ist offen. [Ihr erster Batch](#your-first-batch) behandelt, was Sie einrichten müssen, bevor Sie ihm Arbeit senden.112Das Projekt wird nun unter **Projekte** in der Seitenleiste aufgelistet, und sein Gespräch ist offen. [Ihr erster Batch](#your-first-batch) behandelt, was Sie einrichten müssen, bevor Sie ihm Arbeit senden.

113 113 

114### Von einer vorhandenen Cloud-Sitzung starten114### Von einer vorhandenen Sitzung starten

115 115 

116Wenn eine Cloud-Sitzung, die Sie selbst gestartet haben, Arbeit erledigt, die in ein Projekt gehört, öffnen Sie ihr Menü in der Seitenleiste, wählen Sie **In Projekt verschieben** und treffen Sie dann im Untermenü eine Auswahl:116Wenn eine Cloud-Sitzung, die Sie selbst gestartet haben, Arbeit erledigt, die in ein Projekt gehört, öffnen Sie ihr Menü in der Seitenleiste, wählen Sie **In Projekt verschieben** und treffen Sie dann im Untermenü eine Auswahl:

117 117 


120 120 

121Über dem Nachrichtenfeld einer Cloud-Sitzung kann auch ein Banner **Projekt einrichten** angezeigt werden. Wenn Sie es anstelle von **Als neues Projekt fortfahren** verwenden, ist das Ergebnis dasselbe, außer dass der laufende Turn der Sitzung stoppt, sobald sich das Projekt öffnet.121Über dem Nachrichtenfeld einer Cloud-Sitzung kann auch ein Banner **Projekt einrichten** angezeigt werden. Wenn Sie es anstelle von **Als neues Projekt fortfahren** verwenden, ist das Ergebnis dasselbe, außer dass der laufende Turn der Sitzung stoppt, sobald sich das Projekt öffnet.

122 122 

123Eine lokale Sitzung hat diese Optionen nicht. Um ihre Arbeit in einem Projekt fortzusetzen, beschreiben Sie die Arbeit im Projektgespräch, oder pushen Sie ihren Branch, fügen Sie dieses Repository zum Projekt hinzu, und nennen Sie den Branch in der Aufgabe.123Eine Sitzung auf Ihrem eigenen Rechner erhält unter claude.ai/code dasselbe Seitenleistenmenü, sobald Sie sie über [Remote Control](https://code.claude.com/docs/de/remote-control.md#start-a-remote-control-session) verbinden. Aus einem Projekt heraus kann Claude das Transkript einer Sitzung nicht lesen, die verbunden wurde, während [**Require trusted devices**](https://code.claude.com/docs/de/remote-control.md#trusted-devices) für Ihr Konto aktiviert war. Wenn diese Einstellung deaktiviert ist:

124 

1251. Wenn die Sitzung noch nicht verbunden ist, führen Sie darin `/remote-control` aus. Wenn sie verbunden wurde, während diese Einstellung aktiviert war, trennen Sie sie zuerst und verbinden Sie sie erneut.

1262. Suchen Sie in einem Browser die Zeile der Sitzung in der Seitenleiste unter [claude.ai/code](https://claude.ai/code), öffnen Sie ihr Menü und treffen Sie im selben Untermenü eine Auswahl.

127 

128Wenn **Require trusted devices** aktiviert ist oder Sie Remote Control nicht verwenden, beschreiben Sie die Arbeit selbst im Projektgespräch. Oder pushen Sie den Branch der Sitzung, fügen Sie ihr Repository zum Projekt hinzu und nennen Sie Claude den Namen des Branches.

124 129 

125### Richten Sie GitHub-Zugriff ein130### Richten Sie GitHub-Zugriff ein

126 131 


425* **Cloud-Sitzungen**: Jeder Thread ist eine [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md), es sei denn, Sie bitten Claude, ihn auf Ihrem Computer auszuführen. In beiden Fällen startet und verfolgt Claude ihn statt Ihnen. Sie können die Arbeit einer Cloud-Sitzung, die Sie selbst gestartet haben, auch in ein Projekt übernehmen: Wählen Sie [**In Projekt verschieben**](#start-from-an-existing-cloud-session) im Seitenleistenmenü dieser Sitzung.430* **Cloud-Sitzungen**: Jeder Thread ist eine [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md), es sei denn, Sie bitten Claude, ihn auf Ihrem Computer auszuführen. In beiden Fällen startet und verfolgt Claude ihn statt Ihnen. Sie können die Arbeit einer Cloud-Sitzung, die Sie selbst gestartet haben, auch in ein Projekt übernehmen: Wählen Sie [**In Projekt verschieben**](#start-from-an-existing-cloud-session) im Seitenleistenmenü dieser Sitzung.

426* **Geplante Aufgaben**: Wenn Sie geplante Arbeit in einem Projekt anfordern, erstellt Claude eine [geplante Cloud-Aufgabe](https://code.claude.com/docs/de/routines.md), die als Threads in diesem Projekt läuft und auf seiner Registerkarte **Geplante Aufgaben** angezeigt wird. Geplante Aufgaben, die Sie außerhalb eines Projekts erstellen, funktionieren weiterhin eigenständig.431* **Geplante Aufgaben**: Wenn Sie geplante Arbeit in einem Projekt anfordern, erstellt Claude eine [geplante Cloud-Aufgabe](https://code.claude.com/docs/de/routines.md), die als Threads in diesem Projekt läuft und auf seiner Registerkarte **Geplante Aufgaben** angezeigt wird. Geplante Aufgaben, die Sie außerhalb eines Projekts erstellen, funktionieren weiterhin eigenständig.

427* **Remote Control**: [Remote Control](https://code.claude.com/docs/de/remote-control.md) verbindet claude.ai mit einer Claude Code-Sitzung, die auf Ihrem Computer läuft. Wenn Sie Claude in einem Projekt bitten, einen Thread auf Ihrem Computer auszuführen, nutzt das Projekt [Remote Control, um dies zu tun](#run-a-thread-on-your-own-computer).432* **Remote Control**: [Remote Control](https://code.claude.com/docs/de/remote-control.md) verbindet claude.ai mit einer Claude Code-Sitzung, die auf Ihrem Computer läuft. Wenn Sie Claude in einem Projekt bitten, einen Thread auf Ihrem Computer auszuführen, nutzt das Projekt [Remote Control, um dies zu tun](#run-a-thread-on-your-own-computer).

428* **Lokale Sitzungen und Agent-Ansicht**: Eine Sitzung, die Sie selbst in Ihrem Terminal, IDE oder der lokalen Umgebung der Desktop-App starten, kann nicht zu einem Projekt hinzugefügt werden. [Agent-Ansicht](https://code.claude.com/docs/de/agent-view.md) ist ein Bildschirm zum Verfolgen mehrerer lokaler Sitzungen nebeneinander, und Sie starten immer noch jede selbst und geben ihr ihre Aufgabe selbst.433* **Lokale Sitzungen und Agent-Ansicht**: Eine Sitzung, die Sie selbst in Ihrem Terminal, Ihrer IDE oder der lokalen Umgebung der Desktop-App starten, bleibt außerhalb Ihrer Projekte, Sie können ihre Arbeit jedoch [in eines übernehmen](#start-from-an-existing-cloud-session). [Agent-Ansicht](https://code.claude.com/docs/de/agent-view.md) ist ein Bildschirm zum Verfolgen mehrerer lokaler Sitzungen nebeneinander, und Sie starten immer noch jede selbst und geben ihr ihre Aufgabe selbst.

429* **Worktrees**: Ein [Worktree](https://code.claude.com/docs/de/worktrees.md) gibt jeder lokalen Sitzung ihre eigene Arbeitskopie eines Repositorys. Cloud-Threads benötigen sie nicht: Jeder klont seine Repositorys in seine eigene Cloud-Sandbox und arbeitet auf seinem eigenen Branch.434* **Worktrees**: Ein [Worktree](https://code.claude.com/docs/de/worktrees.md) gibt jeder lokalen Sitzung ihre eigene Arbeitskopie eines Repositorys. Cloud-Threads benötigen sie nicht: Jeder klont seine Repositorys in seine eigene Cloud-Sandbox und arbeitet auf seinem eigenen Branch.

430* **Agent-Teams**: Ein [Agent-Team](https://code.claude.com/docs/de/agent-teams.md) ist eine Sitzung, die Teammate-Sitzungen für eine einzelne Aufgabe startet, auf Ihrem Computer oder in einer Cloud-Sitzung, und endet mit dieser Aufgabe.435* **Agent-Teams**: Ein [Agent-Team](https://code.claude.com/docs/de/agent-teams.md) ist eine Sitzung, die Teammate-Sitzungen für eine einzelne Aufgabe startet, auf Ihrem Computer oder in einer Cloud-Sitzung, und endet mit dieser Aufgabe.

431* **Subagenten**: Ein [Subagent](https://code.claude.com/docs/de/sub-agents.md) läuft in einer Sitzung, führt eine Nebenaufgabe in seinem eigenen Kontextfenster aus und gibt eine Zusammenfassung an diese Sitzung zurück. Die Threads eines Projekts sind ganze Sitzungen, die Claude startet und die an das Projektgespräch berichten, und ein Thread kann immer noch Subagenten für seine eigenen Nebenaufgaben nutzen.436* **Subagenten**: Ein [Subagent](https://code.claude.com/docs/de/sub-agents.md) läuft in einer Sitzung, führt eine Nebenaufgabe in seinem eigenen Kontextfenster aus und gibt eine Zusammenfassung an diese Sitzung zurück. Die Threads eines Projekts sind ganze Sitzungen, die Claude startet und die an das Projektgespräch berichten, und ein Thread kann immer noch Subagenten für seine eigenen Nebenaufgaben nutzen.


437 442 

438* Projekte sind unter claude.ai/code, in der Desktop-App und in der Claude Mobile-App verfügbar, nicht im Terminal CLI, der VS Code-Erweiterung oder dem JetBrains-Plugin, und nicht über Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry.443* Projekte sind unter claude.ai/code, in der Desktop-App und in der Claude Mobile-App verfügbar, nicht im Terminal CLI, der VS Code-Erweiterung oder dem JetBrains-Plugin, und nicht über Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry.

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

440* Sie können eine Sitzung, die Sie selbst auf Ihrem Computer gestartet haben, nicht zu einem Projekt hinzufügen. Ein Projekt erreicht Ihren Computer nur durch [Ausführung eines Threads dort über Remote Control](#run-a-thread-on-your-own-computer), und dieser Abschnitt listet auf, was dafür erforderlich ist.445* Sie können eine Sitzung, die Sie selbst auf Ihrem Computer gestartet haben, nicht zu einem Projekt hinzufügen, Sie können jedoch [ihre Arbeit in ein Projekt übernehmen](#start-from-an-existing-cloud-session). Ein Projekt erreicht Ihren Computer durch [Ausführung eines Threads dort über Remote Control](#run-a-thread-on-your-own-computer), und dieser Abschnitt listet auf, was dafür erforderlich ist.

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

442* Ein Projekt gehört einem Benutzer. Sie können ein Projekt oder seine Threads nicht mit einem anderen Benutzer teilen, und Thread-Transkripte haben nicht die Share-Option, die andere Cloud-Sitzungen haben. Es gibt keine Kontrollen auf Organisationsebene für Projekte während der Beta.447* Ein Projekt gehört einem Benutzer. Sie können ein Projekt oder seine Threads nicht mit einem anderen Benutzer teilen, und Thread-Transkripte haben nicht die Share-Option, die andere Cloud-Sitzungen haben. Es gibt keine Kontrollen auf Organisationsebene für Projekte während der Beta.

443* Ein Thread gehört dem einen Projekt, das ihn gestartet hat. Sie können einen Thread nicht zu einem anderen Projekt verschieben oder kopieren, oder ihn als eigenständig verschieben. [**In Projekt verschieben**](#start-from-an-existing-cloud-session) funktioniert nur in die andere Richtung: Es bringt die Arbeit einer Cloud-Sitzung in ein Projekt. Sie können zwei Projekte nicht in eines zusammenführen.448* Ein Thread gehört dem einen Projekt, das ihn gestartet hat. Sie können einen Thread nicht zu einem anderen Projekt verschieben oder kopieren, oder ihn als eigenständig verschieben. [**In Projekt verschieben**](#start-from-an-existing-cloud-session) funktioniert nur in die andere Richtung: Es bringt die Arbeit einer Cloud-Sitzung in ein Projekt. Sie können zwei Projekte nicht in eines zusammenführen.

code-review.md +1 −1

Details

67 67 

68* **Erkenntnisse**: Inline-Kommentare auf den betroffenen Zeilen, mit einer Zusammenfassung im Review-Text68* **Erkenntnisse**: Inline-Kommentare auf den betroffenen Zeilen, mit einer Zusammenfassung im Review-Text

69* **Eine Check-Run**: namens **Claude Code Review**, mit den Erkenntnissen in ihren [Details](https://code.claude.com/docs/de/code-review-pull-requests.md#check-run-output). Die Check-Run wird nicht als Fehlschlag abgeschlossen.69* **Eine Check-Run**: namens **Claude Code Review**, mit den Erkenntnissen in ihren [Details](https://code.claude.com/docs/de/code-review-pull-requests.md#check-run-output). Die Check-Run wird nicht als Fehlschlag abgeschlossen.

70* **Wenn nichts gefunden wird**: Der Titel der Check-Run lautet **Code review found no issues**, und Claude veröffentlicht denselben kurzen Hinweis im Pull Request70* **Ein Hinweis anstelle von Erkenntnissen**: wird veröffentlicht, wenn der Titel der Check-Run **Code review found no issues** lautet

71 71 

72Code Review wählt die Claude-Modelle, auf denen Reviews laufen, und seine Admin-Einstellungen bieten keine Modellauswahl. Um Reviews gründlicher oder weniger gründlich zu machen, ändern Sie die [Review-Stufe](#review-levels).72Code Review wählt die Claude-Modelle, auf denen Reviews laufen, und seine Admin-Einstellungen bieten keine Modellauswahl. Um Reviews gründlicher oder weniger gründlich zu machen, ändern Sie die [Review-Stufe](#review-levels).

73 73 

Details

152 152 

153### Was ein späteres Review abdeckt153### Was ein späteres Review abdeckt

154 154 

155Ein späteres Review, das von selbst startet, etwa nach einem Push, konzentriert sich auf das, was sich seit dem letzten Review geändert hat, und veröffentlicht weniger Nits und bereits vorhandene Ergebnisse. Seine Zusammenfassung zählt, was es ausgelassen hat, in einer Zeile, die mit „found and not posted“ oder „outside the scope of this re-review and not posted.“ endet.155Ein späteres Review, das von selbst startet, etwa nach einem Push, konzentriert sich auf das, was sich seit dem letzten Review geändert hat, und veröffentlicht weniger [Nits und bereits vorhandene Ergebnisse](#severity-levels). Um zu sehen, ob es dadurch Ergebnisse ausgelassen hat, suchen Sie im Text des Reviews nach einem Satz, der sie zählt:

156 

157* **Ergebnisse zu Code, der sich seit dem letzten Review nicht geändert hat**: Der Satz endet mit „outside the scope of this re-review and not posted“

158* **Nits und bereits vorhandene Ergebnisse**: Der Satz endet mit „found and not posted“

156 159 

157Um ein Review zu erhalten, das nichts davon auslässt, kommentieren Sie [`@claude review`](#comment-commands). Es deckt wieder den gesamten Pull Request ab.160Um ein Review zu erhalten, das nichts davon auslässt, kommentieren Sie [`@claude review`](#comment-commands). Es deckt wieder den gesamten Pull Request ab.

158 161 

Details

15| Titel des Check-Runs | Bedeutung | Vorgehen |15| Titel des Check-Runs | Bedeutung | Vorgehen |

16| :- | :- | :- |16| :- | :- | :- |

17| **Code review queued...** oder **Code review in progress...** | Das Review ist noch nicht abgeschlossen | Warten Sie, bis sich der Titel ändert |17| **Code review queued...** oder **Code review in progress...** | Das Review ist noch nicht abgeschlossen | Warten Sie, bis sich der Titel ändert |

18| **Code review found no issues** | Das Review ist abgeschlossen und hat nichts zu kennzeichnen gefunden | Nichts |18| **Code review found no issues** | Das Review ist abgeschlossen und hat keine Befunde veröffentlicht | Wenn dies nicht das erste Review des Pull Requests ist, suchen Sie im Text des Reviews nach der Anzahl der [Befunde, die das Review ausgelassen hat](https://code.claude.com/docs/de/code-review-pull-requests.md#what-a-later-review-covers). Andernfalls nichts |

19| Ein Titel, der besagt, dass Probleme gefunden wurden | Das Review ist mit Befunden abgeschlossen | Wenn Sie diese im Diff nicht sehen, lesen Sie [Probleme finden, die nicht als Inline-Kommentare angezeigt werden](#find-issues-that-aren’t-showing-as-inline-comments) |19| Ein Titel, der besagt, dass Probleme gefunden wurden | Das Review ist mit Befunden abgeschlossen | Wenn Sie diese im Diff nicht sehen, lesen Sie [Probleme finden, die nicht als Inline-Kommentare angezeigt werden](#find-issues-that-aren’t-showing-as-inline-comments) |

20| **Code review skipped — no new changes** | Ein automatisches Review wurde für Ihren letzten Push nicht ausgeführt | Um trotzdem ein Review zu erhalten, kommentieren Sie `@claude review` |20| **Code review skipped — no new changes** | Ein automatisches Review wurde für Ihren letzten Push nicht ausgeführt | Um trotzdem ein Review zu erhalten, kommentieren Sie `@claude review` |

21| **Code review not repeated — earlier findings still open** | Ein automatisches Review wurde für Ihren letzten Push nicht ausgeführt, und wichtige Befunde aus dem früheren Review sind noch offen | Pushen Sie eine Korrektur, oder kommentieren Sie `@claude review`, um trotzdem ein Review zu erhalten. Siehe [Wenn ein Push das frühere Ergebnis beibehält](https://code.claude.com/docs/de/code-review-pull-requests.md#when-a-push-keeps-the-earlier-result) |21| **Code review not repeated — earlier findings still open** | Ein automatisches Review wurde für Ihren letzten Push nicht ausgeführt, und wichtige Befunde aus dem früheren Review sind noch offen | Pushen Sie eine Korrektur, oder kommentieren Sie `@claude review`, um trotzdem ein Review zu erhalten. Siehe [Wenn ein Push das frühere Ergebnis beibehält](https://code.claude.com/docs/de/code-review-pull-requests.md#when-a-push-keeps-the-earlier-result) |

desktop.md +48 −17

Details

223 223 

224#### Sitzungsdetails-Panel aus- oder einblenden224#### Sitzungsdetails-Panel aus- oder einblenden

225 225 

226Um das Panel aus- oder einzublenden, klicken Sie in der Titelleiste der Sitzung auf **Sitzungsleiste ausblenden** oder **Sitzungsleiste einblenden**, oder im Menü **⋮** der Leiste, wenn das Fenster schmal ist. Wenn Sie das Panel weiterhin nicht sehen, [prüfen Sie, welches Layout der Code-Registerkarte Sie haben](#check-which-layout-you-have).226Um das Panel aus- oder einzublenden, klicken Sie in der Titelleiste der Sitzung oder im Menü **⋮** der Leiste auf **Sitzungsleiste ausblenden** oder **Sitzungsleiste einblenden**. Wenn Sie das Panel weiterhin nicht sehen, [prüfen Sie, welches Layout der Code-Registerkarte Sie haben](#check-which-layout-you-have).

227 227 

228### Führen Sie Befehle im Terminal aus228### Führen Sie Befehle im Terminal aus

229 229 


984 984 

985* **System**: ein x86\_64- oder arm64-Prozessor. Der Computer muss außerdem die [Systemanforderungen](https://code.claude.com/docs/de/setup.md#system-requirements) von Claude Code erfüllen. Unter Linux benötigt Claude Code glibc 2.17 oder höher oder musl. Um festzustellen, welches davon der Computer hat, führen Sie dort `ldd --version` aus. Installieren Sie auf einer musl-basierten Distribution wie Alpine Linux außerdem die [Pakete, die Claude Code benötigt](https://code.claude.com/docs/de/setup.md#alpine-linux-and-musl-based-distributions).985* **System**: ein x86\_64- oder arm64-Prozessor. Der Computer muss außerdem die [Systemanforderungen](https://code.claude.com/docs/de/setup.md#system-requirements) von Claude Code erfüllen. Unter Linux benötigt Claude Code glibc 2.17 oder höher oder musl. Um festzustellen, welches davon der Computer hat, führen Sie dort `ldd --version` aus. Installieren Sie auf einer musl-basierten Distribution wie Alpine Linux außerdem die [Pakete, die Claude Code benötigt](https://code.claude.com/docs/de/setup.md#alpine-linux-and-musl-based-distributions).

986* **SFTP**: Der SSH-Server muss das SFTP-Subsystem anbieten, das durch eine Zeile `Subsystem sftp` in seiner `sshd_config` aktiviert wird. Verbinden Sie sich zur Überprüfung in einem Terminal auf Ihrem Computer mit `sftp` mit demselben Host und Port. Ein funktionierender Server zeigt die Eingabeaufforderung `sftp>` an.986* **SFTP**: Der SSH-Server muss das SFTP-Subsystem anbieten, das durch eine Zeile `Subsystem sftp` in seiner `sshd_config` aktiviert wird. Verbinden Sie sich zur Überprüfung in einem Terminal auf Ihrem Computer mit `sftp` mit demselben Host und Port. Ein funktionierender Server zeigt die Eingabeaufforderung `sftp>` an.

987* **Sitzungen pro Verbindung**: Desktop unter macOS und Linux öffnet mehrere Sitzungen über eine SSH-Verbindung. Wenn die `sshd_config` des Servers `MaxSessions 1` festlegt, erhöhen Sie den Wert, zum Beispiel auf den OpenSSH-Standard von 10.987* **`MaxSessions 1` auf dem Server**: Um sich mit einem Server zu verbinden, dessen `sshd_config` `MaxSessions 1` setzt, tun Sie eines der Folgenden:

988 * **Ihr Computer läuft unter macOS oder Linux**: Aktualisieren Sie auf Claude Desktop v3.1623.0 oder neuer

989 * **Ihr Computer läuft unter Windows**: Stellen Sie sicher, dass Desktop [sich über den OpenSSH-Client verbindet](#use-your-ssh-configuration), da sich der integrierte SSH-Client von Desktop nicht mit diesem Server verbinden kann

990 * **Sie können den Server ändern**: Erhöhen Sie `MaxSessions`, zum Beispiel auf den OpenSSH-Standardwert 10

991* **Anmeldungen mit `MaxSessions 1`**: Verwenden Sie eine Anmeldung, die ohne Abfrage funktioniert, etwa einen Schlüssel, den Ihr SSH-Agent hält. Desktop meldet sich bei jedem Verbinden oder erneuten Verbinden mindestens zweimal an. Rechnen Sie mit mindestens einer weiteren Anmeldung für jeden [Terminal](#run-commands-in-the-terminal)-Tab und für jede Desktop-Sitzung, in der Sie Befehle ausführen, die mit `!` beginnen. Für Befehle, die Claude ausführt, fällt keine an.

992* **Einmalcodes mit `MaxSessions 1`**: Wenn jede Anmeldung Sie abfragt, wie bei Einmalcodes, schlagen `!`-Befehle fehl. Führen Sie diese Befehle stattdessen in einem Terminal-Tab aus, der in seinem eigenen Bereich abfragt.

988* **Installationsordner**: Desktop installiert ein Hilfsprogramm und Claude Code unter `~/.claude/remote/` in Ihrem Home-Verzeichnis. Es führt sie von dort aus, daher darf dieser Ordner nicht auf einem mit `noexec` eingehängten Dateisystem liegen. Planen Sie etwa 1 GB Speicherplatz im Home-Verzeichnis jedes Benutzers ein, der sich verbindet. Was dieser Ordner enthält, erfahren Sie unter [Dateien und Prozesse auf dem Remote-Computer](#files-and-processes-on-the-remote-machine).993* **Installationsordner**: Desktop installiert ein Hilfsprogramm und Claude Code unter `~/.claude/remote/` in Ihrem Home-Verzeichnis. Es führt sie von dort aus, daher darf dieser Ordner nicht auf einem mit `noexec` eingehängten Dateisystem liegen. Planen Sie etwa 1 GB Speicherplatz im Home-Verzeichnis jedes Benutzers ein, der sich verbindet. Was dieser Ordner enthält, erfahren Sie unter [Dateien und Prozesse auf dem Remote-Computer](#files-and-processes-on-the-remote-machine).

989* **Shell**: Die für Ihr Konto auf dem Remote-Computer festgelegte Shell muss über SSH gesendete Befehle ausführen, wie es Bash, Zsh und `sh` tun994* **Shell**: Die für Ihr Konto auf dem Remote-Computer festgelegte Shell muss über SSH gesendete Befehle ausführen, wie es Bash, Zsh und `sh` tun

990* **Netzwerk**: Claude Code läuft auf dem Remote-Computer und stellt seine Netzwerkanfragen von dort aus, daher benötigt der Computer den [Netzwerkzugriff, den Claude Code erfordert](https://code.claude.com/docs/de/network-config.md#network-access-requirements). Wenn der Computer Claude Code nicht herunterladen kann, lädt Desktop es auf Ihren Computer herunter und überträgt es hoch. Die übrigen Anfragen von Claude Code gehen weiterhin vom Remote-Computer aus. Wenn diese Anfragen auf einem Linux-Remote-Computer einen Proxy benötigen, [legen Sie ihn für SSH-Sitzungen fest](#set-a-proxy-or-a-ca-certificate-for-ssh-sessions).995* **Netzwerk**: Claude Code läuft auf dem Remote-Computer und stellt seine Netzwerkanfragen von dort aus, daher benötigt der Computer den [Netzwerkzugriff, den Claude Code erfordert](https://code.claude.com/docs/de/network-config.md#network-access-requirements). Wenn der Computer Claude Code nicht herunterladen kann, lädt Desktop es auf Ihren Computer herunter und überträgt es hoch. Die übrigen Anfragen von Claude Code gehen weiterhin vom Remote-Computer aus. Wenn diese Anfragen auf einem Linux-Remote-Computer einen Proxy benötigen, [legen Sie ihn für SSH-Sitzungen fest](#set-a-proxy-or-a-ca-certificate-for-ssh-sessions).


993 998 

994Wenn ein Linux-Remote-Computer das Internet über einen Proxy erreicht oder ein CA-Zertifikat benötigt, fügen Sie die [Proxy- und CA-Variablen](https://code.claude.com/docs/de/network-config.md) dort unter `env` in `~/.claude/settings.json` hinzu. Fügen Sie sie auch dann hinzu, wenn Sie sie auf diesem Computer bereits in `~/.profile`, `~/.bash_profile`, `~/.zprofile` oder `~/.zshrc` exportieren.999Wenn ein Linux-Remote-Computer das Internet über einen Proxy erreicht oder ein CA-Zertifikat benötigt, fügen Sie die [Proxy- und CA-Variablen](https://code.claude.com/docs/de/network-config.md) dort unter `env` in `~/.claude/settings.json` hinzu. Fügen Sie sie auch dann hinzu, wenn Sie sie auf diesem Computer bereits in `~/.profile`, `~/.bash_profile`, `~/.zprofile` oder `~/.zshrc` exportieren.

995 1000 

996Eine SSH-Sitzung übernimmt sie nicht aus diesen Dateien, selbst wenn `claude` in einem Terminal auf diesem Computer das tut. Die Sitzung kann dann hängen bleiben oder **The connection from … to the API failed** bzw. **Authentication failed** anzeigen, und eine erneute Anmeldung hilft nicht.1001In einer SSH-Sitzung erhält Claude Code die Variablen aus diesen Dateien nicht, auch wenn `claude` in einem Terminal auf diesem Rechner sie erhält. Die Sitzung kann dann hängen oder **The connection from … to the API failed** oder **Authentication failed** anzeigen, und eine erneute Anmeldung hilft nicht.

997 1002 

998**1. Variablen hinzufügen**1003**1. Variablen hinzufügen**

999 1004 


1028 1033 

1029Starten Sie den Remote-Computer neu, oder beenden Sie Desktop und die Prozesse des Hilfsprogramms, wie in den ersten beiden Schritten zum [Entfernen des Hilfsprogramms](#files-and-processes-on-the-remote-machine). Tun Sie dies, wenn keine Aufgabe läuft, da beides die Arbeit von Claude unterbricht.1034Starten Sie den Remote-Computer neu, oder beenden Sie Desktop und die Prozesse des Hilfsprogramms, wie in den ersten beiden Schritten zum [Entfernen des Hilfsprogramms](#files-and-processes-on-the-remote-machine). Tun Sie dies, wenn keine Aufgabe läuft, da beides die Arbeit von Claude unterbricht.

1030 1035 

1031#### Ihre SSH-Konfiguration unter macOS und Linux verwenden1036#### Ihre SSH-Konfiguration verwenden

1032 1037 

1033Unter macOS und Linux verbindet sich Desktop, indem es den OpenSSH-Client auf Ihrem Computer ausführt, und verwendet daher Ihre `~/.ssh/config`. Die Verbindung über den OpenSSH-Client erfordert Claude Desktop v1.37937.0 oder höher. Geben Sie im Feld **SSH host** einen `Host`-Namen aus dieser Datei ein, um die Einstellungen seines Eintrags zu verwenden, z. B. `HostName`, `User`, `IdentityFile`, `CertificateFile`, `ProxyJump` und `ProxyCommand`.1038Sie können Ihre SSH-Konfiguration unter macOS, Linux und Windows verwenden, wenn Desktop sich über den OpenSSH-Client auf Ihrem Computer verbindet:

1039 

1040* **macOS und Linux**: Desktop verbindet sich, indem es den OpenSSH-Client auf Ihrem Computer ausführt, und verwendet daher Ihre `~/.ssh/config`. Das Verbinden über den OpenSSH-Client erfordert Claude Desktop v1.37937.0 oder neuer.

1041* **Windows**: Wenn Desktop sich über den OpenSSH-Client verbindet, verwendet es Ihre `%USERPROFILE%\.ssh\config`. Wenn Sie ein Claude-Konto statt eines Drittanbieters verwenden, erfordert das Verbinden über den OpenSSH-Client alles Folgende:

1042 

1043 * Claude Desktop v2.2553.0 oder neuer. Um Ihre Version zu ermitteln, siehe [Ihre Version prüfen](#check-your-version).

1044 * OpenSSH 9.4 oder neuer von Microsoft

1045 * Desktop, installiert über die Download-Schaltflächen oben auf dieser Seite, da Desktop aus dem Microsoft Store sich nicht über den OpenSSH-Client verbindet

1046 

1047 Wenn Sie diese Anforderungen nicht erfüllen können oder einen Drittanbieter verwenden, siehe [Unter Windows ohne den OpenSSH-Client verbinden](#connect-on-windows-without-the-openssh-client).

1048 

1049Geben Sie mit dem OpenSSH-Client einen `Host`-Namen aus Ihrer Konfigurationsdatei in das Feld **SSH host** ein. Desktop verwendet dann Einstellungen aus diesem `Host`-Eintrag, etwa `HostName`, `User`, `IdentityFile`, `CertificateFile`, `ProxyJump` und `ProxyCommand`.

1034 1050 

1035Bevor Sie die Verbindung hinzufügen, prüfen Sie den Client und den Eintrag in einem Terminal auf Ihrem Computer:1051Bevor Sie die Verbindung hinzufügen, prüfen Sie den Client und den Eintrag in einem Terminal auf Ihrem Computer:

1036 1052 

1037* **Client-Version**: Führen Sie `ssh -V` aus. Der Client muss OpenSSH 7.6 oder höher sein.1053* **Client-Version unter macOS und Linux**: Führen Sie `ssh -V` aus. Der Client muss OpenSSH 7.6 oder neuer sein.

1038* **Eintrag**: Führen Sie `ssh` mit dem `Host`-Namen aus, z. B. `ssh devbox`. Wenn das fehlschlägt, korrigieren Sie zuerst den Eintrag.1054* **Client-Version unter Windows**: Desktop versucht zuerst das `ssh` in Ihrem `PATH`, führen Sie also `ssh -V` aus. Der Client besteht die Prüfung, wenn die Ausgabe `OpenSSH_for_Windows_` und 9.4 oder neuer zeigt. Wenn nicht, prüfen Sie die beiden Ordner, die Desktop als Nächstes versucht: Führen Sie `.\ssh.exe -V` in `C:\Windows\System32\OpenSSH` und dann in `C:\Program Files\OpenSSH` aus.

1055* **Kein Client besteht unter Windows**: Fügen Sie in Windows das optionale Feature **OpenSSH Client** hinzu und installieren Sie ausstehende Windows-Updates oder installieren Sie [Microsofts neueren Build](https://learn.microsoft.com/en-us/troubleshoot/windows-server/system-management-components/upgrade-in-box-openssh-to-latest-openssh-release). Beenden Sie Desktop dann und öffnen Sie es erneut. Um zu sehen, ob Desktop einen verwendbaren OpenSSH-Client gefunden hat, suchen Sie in [`ssh.log`](#get-desktops-logs-for-an-ssh-problem) nach `Windows OpenSSH client:` und einer Version oder nach `no usable Windows OpenSSH client`.

1056* **Eintrag**: Verwenden Sie unter Windows den Client, der die Versionsprüfung bestanden hat. Führen Sie `ssh` mit dem `Host`-Namen aus, etwa `ssh devbox`. Wenn das fehlschlägt, korrigieren Sie zuerst den Eintrag.

1039 1057 

1040Sie können die Felder **SSH port** und **SSH key (optional)** leer lassen. Wenn Sie eines ausfüllen, verwendet Desktop es zusammen mit dem Eintrag:1058Sie können die Felder **SSH port** und **SSH key (optional)** leer lassen. Wenn Sie eines ausfüllen, verwendet Desktop es zusammen mit dem Eintrag:

1041 1059 

1042* **SSH port**: Ein Wert hier überschreibt den `Port` des Eintrags1060* **SSH port**: Ein Wert hier überschreibt den `Port` des Eintrags

1043* **SSH key (optional)**: Desktop bietet die von Ihnen gewählte Schlüsseldatei zusätzlich zum `IdentityFile` des Eintrags und den Schlüsseln in Ihrem SSH-Agenten an1061* **SSH key (optional)**: Mit dem OpenSSH-Client bietet Desktop die Schlüsseldatei, die Sie auswählen, zusätzlich zur `IdentityFile` des Eintrags und den Schlüsseln in Ihrem SSH-Agent an. Wählen Sie unter Windows einen Schlüssel im OpenSSH-Format, da `ssh` keine PuTTY-`.ppk`-Datei liest.

1062 

1063##### Unter Windows ohne den OpenSSH-Client verbinden

1064 

1065Unter Windows verbinden Sie sich über den integrierten SSH-Client von Desktop, wenn Ihr Computer [die Anforderungen für den OpenSSH-Client](#use-your-ssh-configuration) nicht erfüllt. Mit einem Drittanbieter verbinden Sie sich standardmäßig über den integrierten Client, und Ihr Administrator kann das ändern. Zur Einstellung siehe [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).

1066 

1067Mit dem integrierten Client können Sie weiterhin einen `Host`-Namen aus Ihrer SSH-Konfiguration in das Feld **SSH host** eingeben, wenn Ihr `PATH` einen `ssh`-Befehl enthält, mit diesen Einschränkungen:

1068 

1069* **Einstellungen aus dem Eintrag**: Desktop übernimmt `HostName`, `User`, `Port` und `IdentityFile`. Es übernimmt auch `ProxyCommand`, wenn eine `sh`-Shell in Ihrem `PATH` liegt.

1070* **SSH key (optional)**: Lassen Sie dieses Feld leer, um die `IdentityFile` des Eintrags beizubehalten, da eine Schlüsseldatei, die Sie hier auswählen, die `IdentityFile` ersetzt

1071* **`CertificateFile` und `ProxyJump`**: Desktop ignoriert `CertificateFile`, und die Verbindung schlägt fehl, wenn der Eintrag `ProxyJump` setzt. Um eine dieser Einstellungen zu verwenden, [verbinden Sie sich über den OpenSSH-Client](#use-your-ssh-configuration).

1044 1072 

1045##### Einen Computer hinter einem Jump-Host erreichen1073##### Einen Computer hinter einem Jump-Host erreichen

1046 1074 


1095 1123 

1096##### Variablen aus Ihrer Shell in einem `ProxyCommand` verwenden1124##### Variablen aus Ihrer Shell in einem `ProxyCommand` verwenden

1097 1125 

1098Um eine eigene Umgebungsvariable in einem `ProxyCommand`- oder `Match exec`-Befehl zu verwenden, exportieren Sie sie in einer Shell-Startdatei wie `~/.zshrc`, beenden Sie dann Desktop und öffnen Sie es erneut. Beim Start liest Desktop, was Ihre Login-Shell exportiert, und behält diese Werte, bis Sie es beenden.1126Um unter macOS und Linux eine eigene Umgebungsvariable in einem `ProxyCommand`- oder `Match exec`-Befehl zu verwenden, exportieren Sie sie in einer Shell-Startdatei wie `~/.zshrc`. Beenden Sie Desktop dann und öffnen Sie es erneut. Beim Start liest Desktop, was Ihre Login-Shell exportiert, und behält diese Werte, bis Sie es beenden.

1099 1127 

1100Dies erfordert Claude Desktop v2.37337.0 oder höher sowie einen `env`-Befehl, der `-0` akzeptiert. Das können Sie prüfen, indem Sie `env -0` in einem Terminal auf Ihrem Computer ausführen.1128Dies erfordert Claude Desktop v2.37337.0 oder höher sowie einen `env`-Befehl, der `-0` akzeptiert. Das können Sie prüfen, indem Sie `env -0` in einem Terminal auf Ihrem Computer ausführen.

1101 1129 


1103>1131>

1104> Wenn Ihre Shell temporäre AWS-Anmeldedaten setzt, [geben Sie der AWS CLI ein Profil](#use-aws-credentials-in-a-proxycommand), anstatt `AWS_*`-Variablen zu exportieren.1132> Wenn Ihre Shell temporäre AWS-Anmeldedaten setzt, [geben Sie der AWS CLI ein Profil](#use-aws-credentials-in-a-proxycommand), anstatt `AWS_*`-Variablen zu exportieren.

1105 1133 

1106##### AWS-Anmeldedaten in einem `ProxyCommand` verwenden1134##### AWS-Anmeldedaten in einem `ProxyCommand` unter macOS und Linux verwenden

1107 1135 

1108Wenn Sie temporäre AWS-Anmeldedaten in einer Shell-Startdatei setzen, kann ein `ProxyCommand`, der die AWS CLI ausführt, in einem Terminal eine Verbindung herstellen und in Desktop fehlschlagen. Wenn Ihre Shell `AWS_SESSION_TOKEN`, `AWS_SECURITY_TOKEN` oder `AWS_CREDENTIAL_EXPIRATION` exportiert, erhalten `ssh` und Ihr `ProxyCommand` in Desktop weder die AWS-Anmeldedaten der Shell noch `AWS_REGION` oder `AWS_PROFILE`.1136Wenn Sie temporäre AWS-Anmeldedaten in einer Shell-Startdatei setzen, kann ein `ProxyCommand`, der die AWS CLI ausführt, in einem Terminal eine Verbindung herstellen und in Desktop fehlschlagen. Wenn Ihre Shell `AWS_SESSION_TOKEN`, `AWS_SECURITY_TOKEN` oder `AWS_CREDENTIAL_EXPIRATION` exportiert, erhalten `ssh` und Ihr `ProxyCommand` in Desktop weder die AWS-Anmeldedaten der Shell noch `AWS_REGION` oder `AWS_PROFILE`.

1109 1137 


1242 1270 

1243##### Eine lange Aufgabe vorbereiten1271##### Eine lange Aufgabe vorbereiten

1244 1272 

1245* **Zuerst aktualisieren**: Aktualisieren Sie Desktop, bevor Sie eine lange Aufgabe starten. Unter macOS und Windows kann Desktop sich selbstständig neu starten, um ein heruntergeladenes Update zu installieren. Dieser Neustart wartet, während Claude an einer SSH-Aufgabe arbeitet. Unter macOS mit einem Claude-Konto kann der Neustart standardmäßig dennoch erfolgen, sobald das Update 72 Stunden gewartet hat.1273* **Zuerst aktualisieren**: Aktualisieren Sie Desktop, bevor Sie eine lange Aufgabe starten. Unter macOS und Windows kann Desktop von selbst neu starten, um ein heruntergeladenes Update zu installieren. Dieser Neustart wartet, während Claude an einer SSH-Aufgabe arbeitet. Standardmäßig kann der Neustart während der Aufgabe erfolgen, sobald das Update 72 Stunden gewartet hat, wenn Desktop sich [danach wieder mit der Aufgabe verbinden kann](#reopen-a-session-after-you-quit-desktop).

1246* **Unter Windows oder vor v2.42304.0 mit einem Drittanbieter nicht beenden**: Nach einem Beenden verlieren Sie dort die laufende Aufgabe. Lassen Sie Desktop daher während der Aufgabe geöffnet. In allen anderen Fällen sehen Sie vor dem Beenden nach, [was Sie zurückbekommen](#reopen-a-session-after-you-quit-desktop).1274* **Vor dem Beenden prüfen**: Sie erhalten die laufende Aufgabe nach einem Beenden oder Neustart nicht immer zurück, zum Beispiel nach manchen Desktop-Updates. Die Fälle finden Sie unter [Eine Sitzung nach dem Beenden von Desktop erneut öffnen](#reopen-a-session-after-you-quit-desktop).

1275* **Bei einer älteren Version Desktop offen lassen**: Unter Windows mit Claude Desktop vor v3.1623.0 erhalten Sie die laufende Aufgabe nicht zurück, nachdem Desktop beendet oder neu gestartet wurde. Dasselbe gilt mit einem Drittanbieter unter macOS oder Linux vor v2.42304.0. Lassen Sie Desktop in beiden Fällen während der Aufgabe geöffnet. Um Ihre Version zu ermitteln, siehe [Ihre Version prüfen](#check-your-version).

1247* **Anfragen reduzieren**: Wählen Sie einen Berechtigungsmodus, Regeln oder Hooks, die [die Aufgabe seltener auf Sie warten lassen](#handle-requests-that-arrive-while-you-are-away)1276* **Anfragen reduzieren**: Wählen Sie einen Berechtigungsmodus, Regeln oder Hooks, die [die Aufgabe seltener auf Sie warten lassen](#handle-requests-that-arrive-while-you-are-away)

1248* **Jump-Host prüfen**: Wenn Ihr Jump-Host eine Anmeldung verlangt, z. B. über eine Push-Benachrichtigung auf ein Telefon, wechseln Sie zu einer Anmeldung, die ohne Abfrage funktioniert. Andernfalls kann Desktop bei jedem Versuch, sich wieder zu verbinden, eine weitere Push-Benachrichtigung auslösen.1277* **Jump-Host prüfen**: Wenn Ihr Jump-Host eine Anmeldung verlangt, z. B. über eine Push-Benachrichtigung auf ein Telefon, wechseln Sie zu einer Anmeldung, die ohne Abfrage funktioniert. Andernfalls kann Desktop bei jedem Versuch, sich wieder zu verbinden, eine weitere Push-Benachrichtigung auslösen.

1249* **Remote-Computer testen**: Starten Sie eine kurze Aufgabe, beenden Sie Desktop, während die Aufgabe noch läuft, und öffnen Sie die Sitzung erst deutlich nach dem Zeitpunkt erneut, zu dem die Aufgabe fertig sein sollte. Wenn die Aufgabe nicht abgeschlossen ist und die Sitzung keinen Authentifizierungsfehler zeigt, prüfen Sie den Remote-Computer darauf, [was eine Aufgabe beenden kann](#limits-while-desktop-is-disconnected).1278* **Remote-Computer testen**: Starten Sie eine kurze Aufgabe, beenden Sie Desktop, während die Aufgabe noch läuft, und öffnen Sie die Sitzung erst deutlich nach dem Zeitpunkt erneut, zu dem die Aufgabe fertig sein sollte. Wenn die Aufgabe nicht abgeschlossen ist und die Sitzung keinen Authentifizierungsfehler zeigt, prüfen Sie den Remote-Computer darauf, [was eine Aufgabe beenden kann](#limits-while-desktop-is-disconnected).


1320 1349 

1321Nachdem Sie Desktop beendet haben, läuft die Aufgabe auf dem Remote-Rechner weiter, hält aber an, wenn die Sitzung erneut geöffnet wird, es sei denn, Desktop kann sich wieder mit ihrem Prozess verbinden. Während Desktop geschlossen ist, läuft die Aufgabe, bis sie fertig ist, Sie benötigt oder eines der [Limits](#limits-while-desktop-is-disconnected) erreicht.1350Nachdem Sie Desktop beendet haben, läuft die Aufgabe auf dem Remote-Rechner weiter, hält aber an, wenn die Sitzung erneut geöffnet wird, es sei denn, Desktop kann sich wieder mit ihrem Prozess verbinden. Während Desktop geschlossen ist, läuft die Aufgabe, bis sie fertig ist, Sie benötigt oder eines der [Limits](#limits-while-desktop-is-disconnected) erreicht.

1322 1351 

1323* **Desktop unter Windows**: Sie erhalten die laufende Aufgabe nicht zurück, da Desktop sich nach einem Beenden nie wieder verbindet. Starten Sie Desktop erst wieder, wenn Sie erwarten, dass die Aufgabe erledigt ist, da die Sitzung beim Start von Desktop geöffnet werden kann.1352* **Desktop unter Windows, Aufgabe in einer Version vor v3.1623.0 gestartet**: Sie erhalten die Aufgabe nicht zurück, auch wenn Desktop seitdem aktualisiert wurde. Starten Sie Desktop erst wieder, wenn Sie erwarten, dass die Aufgabe fertig ist, da sich die Sitzung beim Start von Desktop öffnen kann und die Aufgabe anhält, wenn sich die Sitzung öffnet. Wenn Sie nicht wissen, in welcher Version Sie die Aufgabe gestartet haben, warten Sie ebenfalls, bis Sie erwarten, dass sie fertig ist.

1324* **Drittanbieter, Aufgabe aus einer früheren Version**: Wenn Sie die Aufgabe in einer Desktop-Version vor v2.42304.0 gestartet haben, erhalten Sie sie auch unter macOS oder Linux nicht zurück. Starten Sie Desktop erst wieder, wenn Sie erwarten, dass die Aufgabe erledigt ist.1353* **Drittanbieter unter macOS oder Linux, Aufgabe in einer Version vor v2.42304.0 gestartet**: Sie erhalten die Aufgabe nicht zurück. Starten Sie Desktop erst wieder, wenn Sie erwarten, dass die Aufgabe fertig ist.

1325* **Jede andere Aufgabe, mit Desktop unter macOS oder Linux**: Starten Sie Desktop und öffnen Sie die Sitzung, und die Aufgabe läuft weiter, wenn Desktop sich wieder verbindet. Das gelingt nicht immer, etwa nach einigen Desktop-Updates. [Aktualisieren Sie daher vor einer langen Aufgabe](#prepare-a-long-task).1354* **Jede andere Aufgabe**: Starten Sie Desktop und öffnen Sie die Sitzung, und die Aufgabe läuft weiter, wenn Desktop sich wieder verbindet. Es kann sich nicht immer wieder verbinden, zum Beispiel nach manchen Desktop-Updates, daher sollten Sie [vor einer langen Aufgabe aktualisieren](#prepare-a-long-task).

1326 1355 

1327Wenn Desktop sich nicht wieder verbinden kann, verlieren Sie auch jede Genehmigungsanfrage oder Frage, die auf Sie gewartet hat. Wenn die Aufgabe nicht selbstständig fortgesetzt wird, senden Sie eine Nachricht, und Claude fährt anhand des gespeicherten Verlaufs der Konversation fort.1356Wenn die Aufgabe anhält, kann die Sitzung `Restarting Claude Code on <host>…` anzeigen, während Desktop einen neuen Prozess startet. Sie verlieren außerdem jede Genehmigung oder Frage, die auf Sie gewartet hat. Wenn Claude nicht von selbst fortfährt, senden Sie eine Nachricht, und Claude fährt ab dem gespeicherten Verlauf der Konversation fort.

1328 1357 

1329Für Bereitstellungen mit Drittanbietern siehe [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).1358Für Bereitstellungen mit Drittanbietern siehe [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).

1330 1359 


1411 1440 

1412Um herauszufinden, wer sich mit einem Remote-Computer verbunden hat, lesen Sie das Log des SSH-Servers auf diesem Computer, in dem eine Anmeldung von Desktop wie eine Anmeldung aus einem Terminal aussieht. Mit Desktop unter macOS oder Linux ist mit einem Eintrag pro Verbindungsaufbau von Desktop zu rechnen, nicht mit einem pro Sitzung.1441Um herauszufinden, wer sich mit einem Remote-Computer verbunden hat, lesen Sie das Log des SSH-Servers auf diesem Computer, in dem eine Anmeldung von Desktop wie eine Anmeldung aus einem Terminal aussieht. Mit Desktop unter macOS oder Linux ist mit einem Eintrag pro Verbindungsaufbau von Desktop zu rechnen, nicht mit einem pro Sitzung.

1413 1442 

1443Wenn der Server `MaxSessions 1` festlegt, sind bei jeder Verbindung oder erneuten Verbindung von Desktop mindestens zwei Einträge zu erwarten. Rechnen Sie mit mindestens einem weiteren für jeden Terminal-Tab und für jede Desktop-Sitzung, in der Sie Befehle ausführen, die mit `!` beginnen.

1444 

1414Die SSH-Verbindungen von Desktop finden Sie nicht in den [Metriken und Ereignissen](https://code.claude.com/docs/de/monitoring-usage.md#available-metrics-and-events) von Claude Code. Um daraus zu ermitteln, auf welchem Remote-Rechner eine SSH-Sitzung lief, siehe [Telemetrie Desktop-SSH-Sitzungen zuordnen](https://code.claude.com/docs/de/monitoring-usage.md#attribute-telemetry-to-desktop-ssh-sessions). Für die eigene Aufzeichnung von Desktop über seine Verbindungen siehe [Desktop-Logs für ein SSH-Problem abrufen](#get-desktops-logs-for-an-ssh-problem).1445Die SSH-Verbindungen von Desktop finden Sie nicht in den [Metriken und Ereignissen](https://code.claude.com/docs/de/monitoring-usage.md#available-metrics-and-events) von Claude Code. Um daraus zu ermitteln, auf welchem Remote-Rechner eine SSH-Sitzung lief, siehe [Telemetrie Desktop-SSH-Sitzungen zuordnen](https://code.claude.com/docs/de/monitoring-usage.md#attribute-telemetry-to-desktop-ssh-sessions). Für die eigene Aufzeichnung von Desktop über seine Verbindungen siehe [Desktop-Logs für ein SSH-Problem abrufen](#get-desktops-logs-for-an-ssh-problem).

1415 1446 

1416#### Verbindungen, die vor der Anmeldung geschlossen werden1447#### Verbindungen, die vor der Anmeldung geschlossen werden


2112| - | - | - |2143| - | - | - |

2113| `<host>'s SSH server has SFTP turned off` | `[SFTP_UNAVAILABLE]` | Aktivieren Sie SFTP in der `sshd_config` des Servers, wie unter [Anforderungen an den Remote-Computer](#remote-machine-requirements-for-ssh-sessions) beschrieben |2144| `<host>'s SSH server has SFTP turned off` | `[SFTP_UNAVAILABLE]` | Aktivieren Sie SFTP in der `sshd_config` des Servers, wie unter [Anforderungen an den Remote-Computer](#remote-machine-requirements-for-ssh-sessions) beschrieben |

2114| `SFTP doesn't start on <host>` | `[SFTP_NOT_STARTED]` | Stellen Sie in einem Terminal auf Ihrem Computer mit `sftp` eine Verbindung zum selben Host her, um zu sehen, was den Start verhindert, und überprüfen Sie dann die Einstellungen und Dateien, die in der Meldung von Desktop genannt werden |2145| `SFTP doesn't start on <host>` | `[SFTP_NOT_STARTED]` | Stellen Sie in einem Terminal auf Ihrem Computer mit `sftp` eine Verbindung zum selben Host her, um zu sehen, was den Start verhindert, und überprüfen Sie dann die Einstellungen und Dateien, die in der Meldung von Desktop genannt werden |

2115| `<host> allows too few SSH sessions per connection` | `[SESSION_LIMIT]` | Erhöhen Sie `MaxSessions` in der `sshd_config` des Servers, zum Beispiel auf den OpenSSH-Standardwert 10 |2146| `<host> allows too few SSH sessions per connection` | `[SESSION_LIMIT]` | Aktualisieren Sie auf Claude Desktop v3.1623.0 oder höher, oder erhöhen Sie `MaxSessions` in der `sshd_config` des Servers, zum Beispiel auf den OpenSSH-Standardwert 10 |

2116| `<host> is out of disk space` | `[ENOSPC]` oder `[EDQUOT]` | Geben Sie auf dem Remote-Computer Speicherplatz oder Kontingent frei, in Ihrem Home-Verzeichnis oder in `/tmp` |2147| `<host> is out of disk space` | `[ENOSPC]` oder `[EDQUOT]` | Geben Sie auf dem Remote-Computer Speicherplatz oder Kontingent frei, in Ihrem Home-Verzeichnis oder in `/tmp` |

2117| `Free up disk space on this computer` | `[ENOSPC]` oder `[EDQUOT]`, in einer Meldung, die mit `Couldn't prepare the deploy locally` beginnt | Geben Sie Speicherplatz auf Ihrem Computer frei |2148| `Free up disk space on this computer` | `[ENOSPC]` oder `[EDQUOT]`, in einer Meldung, die mit `Couldn't prepare the deploy locally` beginnt | Geben Sie Speicherplatz auf Ihrem Computer frei |

2118| `Claude Code won't start on <host>` | `[CLI_UNRESPONSIVE]` | Warten Sie eine Minute und versuchen Sie es dann erneut. Wenn es weiterhin fehlschlägt, führen Sie den in der Meldung genannten Befehl auf dem Remote-Computer aus, um zu sehen, ob Claude Code dort antwortet. |2149| `Claude Code won't start on <host>` | `[CLI_UNRESPONSIVE]` | Warten Sie eine Minute und versuchen Sie es dann erneut. Wenn es weiterhin fehlschlägt, führen Sie den in der Meldung genannten Befehl auf dem Remote-Computer aus, um zu sehen, ob Claude Code dort antwortet. |

errors.md +3 −1

Details

247| `Error: MCP tool <name> (passed via --permission-prompt-tool) not found` | [Befehlszeilenfehler](#mcp-permission-prompt-tool-not-found) |247| `Error: MCP tool <name> (passed via --permission-prompt-tool) not found` | [Befehlszeilenfehler](#mcp-permission-prompt-tool-not-found) |

248| `OAuth callback port <port> is already in use — another process may be holding it` | [Befehlszeilenfehler](#oauth-callback-port-is-already-in-use) |248| `OAuth callback port <port> is already in use — another process may be holding it` | [Befehlszeilenfehler](#oauth-callback-port-is-already-in-use) |

249| `No available ports for OAuth redirect` | [Befehlszeilenfehler](#no-available-ports-for-oauth-redirect) |249| `No available ports for OAuth redirect` | [Befehlszeilenfehler](#no-available-ports-for-oauth-redirect) |

250| `Shell command failed for pattern "..."`, von `/security-review` oder einem Skill, der dynamischen Kontext injiziert | [Befehlszeilenfehler](#security-review-fails-without-origin-head) |250| `Shell command failed for pattern "..."`, aus `/security-review` oder einem beliebigen Skill, der dynamischen Kontext einfügt | [Befehlszeilenfehler](#security-review-fails-without-origin-head) |

251| `Shell command permission check failed for pattern "..."`, von einem Skill, der dynamischen Kontext injiziert | [Befehlszeilenfehler](#security-review-fails-without-origin-head) |251| `Shell command permission check failed for pattern "..."`, von einem Skill, der dynamischen Kontext injiziert | [Befehlszeilenfehler](#security-review-fails-without-origin-head) |

252| ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [Befehlszeilenfehler](#security-review-fails-without-origin-head) |252| ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [Befehlszeilenfehler](#security-review-fails-without-origin-head) |

253| `No shell command in <name> was run, because the <tool> tool does not accept one of them` | [Befehlszeilenfehler](#no-shell-command-was-run) |253| `No shell command in <name> was run, because the <tool> tool does not accept one of them` | [Befehlszeilenfehler](#no-shell-command-was-run) |


327| `Cannot read this as an image: <path> is a pipe or a device` | [Werkzeugfehler](#file-is-too-large-to-read-as-an-image) |327| `Cannot read this as an image: <path> is a pipe or a device` | [Werkzeugfehler](#file-is-too-large-to-read-as-an-image) |

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

329| `Error: this write left the memory index at MEMORY.md at ..., over its ... read limit` | [Werkzeugfehler](#memory-index-is-over-its-read-limit) |329| `Error: this write left the memory index at MEMORY.md at ..., over its ... read limit` | [Werkzeugfehler](#memory-index-is-over-its-read-limit) |

330| `Sandbox is required but failed to initialize: <reason>` | [Sandboxing-Fehlerbehebung](https://code.claude.com/docs/de/sandboxing.md#commands-refused-with-sandbox-is-required) |

331| `Sandbox is required (sandbox.failIfUnavailable) and stopped being available in this session: <reason>` | [Sandboxing-Fehlerbehebung](https://code.claude.com/docs/de/sandboxing.md#commands-refused-with-sandbox-is-required) |

330| `pkill: refusing to run` | [Werkzeugfehler](#pkill-pattern-matches-the-claude-code-process) |332| `pkill: refusing to run` | [Werkzeugfehler](#pkill-pattern-matches-the-claude-code-process) |

331| `Failed to write to <name>'s inbox — nothing was sent` | [Werkzeugfehler](#failed-to-write-to-a-teammate-inbox) |333| `Failed to write to <name>'s inbox — nothing was sent` | [Werkzeugfehler](#failed-to-write-to-a-teammate-inbox) |

332| `Failed to write the plan approval request to the lead's inbox — plan not submitted` | [Werkzeugfehler](#failed-to-write-to-a-teammate-inbox) |334| `Failed to write the plan approval request to the lead's inbox — plan not submitted` | [Werkzeugfehler](#failed-to-write-to-a-teammate-inbox) |

fast-mode.md +2 −2

Details

80 80 

81Die Preisgestaltung für den Schnellmodus ist über das gesamte 1M-Token-Kontextfenster einheitlich. Für den Standard-Opus-Satz zum Vergleich siehe die [Claude-Preisreferenz](https://platform.claude.com/docs/de/about-claude/pricing).81Die Preisgestaltung für den Schnellmodus ist über das gesamte 1M-Token-Kontextfenster einheitlich. Für den Standard-Opus-Satz zum Vergleich siehe die [Claude-Preisreferenz](https://platform.claude.com/docs/de/about-claude/pricing).

82 82 

83Wenn Sie den Fast-Modus zum ersten Mal in einer Konversation aktivieren, zahlen Sie den vollständigen Fast-Modus-Preis für nicht zwischengespeicherte Eingabe-Token für den gesamten Konversationskontext. Je weiter Sie in einer Konversation fortgeschritten sind, desto mehr kostet dies, daher ist die Aktivierung des Fast-Modus von Anfang an am günstigsten. Die Kosten fallen einmal pro Konversation an, daher führt das spätere Ausschalten und erneute Einschalten des Fast-Modus nicht zu einer Wiederholung. Für den Mechanismus siehe [wie der Fast-Modus mit dem Prompt-Cache interagiert](https://code.claude.com/docs/de/prompt-caching.md#turning-on-fast-mode).83Wenn Sie den Fast-Modus zum ersten Mal in einer Konversation aktivieren, zahlen Sie den vollständigen Fast-Modus-Preis für nicht zwischengespeicherte Eingabe-Token für den gesamten Konversationskontext. Je weiter Sie in einer Konversation fortgeschritten sind, desto mehr kostet dies, daher ist die Aktivierung des Fast-Modus von Anfang an am günstigsten. Der Fast-Modus und die Standardgeschwindigkeit verwenden [separate Caches](https://code.claude.com/docs/de/prompt-caching.md#turning-on-fast-mode), daher liest jeder spätere Wechsel einen Teil oder die gesamte Konversation erneut ohne Cache ein.

84 84 

85### Sehen Sie, wo die Ausgaben für den Schnellmodus angezeigt werden85### Sehen Sie, wo die Ausgaben für den Schnellmodus angezeigt werden

86 86 


167 167 

168Prüfen Sie hinter einem Gateway, ob eine der folgenden Konfigurationen vorliegt, in denen Claude Code die Verfügbarkeitsprüfung nicht sendet und keine frühere erfolgreiche Prüfung zwischengespeichert hat:168Prüfen Sie hinter einem Gateway, ob eine der folgenden Konfigurationen vorliegt, in denen Claude Code die Verfügbarkeitsprüfung nicht sendet und keine frühere erfolgreiche Prüfung zwischengespeichert hat:

169 169 

170* Sie richten `ANTHROPIC_BASE_URL` auf Ihr Gateway und setzen [`ANTHROPIC_API_KEY`](https://code.claude.com/docs/de/llm-gateway-connect#set-the-base-url-and-credential) auf einen vom Gateway ausgegebenen Schlüssel, der nicht das Format eines Anthropic API-Schlüssels hat. Claude Code sendet einen solchen Schlüssel nicht an `api.anthropic.com`.170* Sie richten `ANTHROPIC_BASE_URL` auf Ihr Gateway und setzen [`ANTHROPIC_API_KEY`](https://code.claude.com/docs/de/llm-gateway-connect#set-the-base-url-and-credential) auf einen vom Gateway ausgegebenen Schlüssel, der nicht das Format eines Anthropic API-Schlüssels hat.

171* Sie setzen [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](https://code.claude.com/docs/de/env-vars), sodass Claude Code die Prüfung überspringt.171* Sie setzen [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](https://code.claude.com/docs/de/env-vars), sodass Claude Code die Prüfung überspringt.

172 172 

173Um den Fast-Modus in beiden Konfigurationen wiederherzustellen, setzen Sie `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1`.173Um den Fast-Modus in beiden Konfigurationen wiederherzustellen, setzen Sie `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1`.

Details

262 262 

263**Kontextkosten:** Niedrig bis verwendet. Nur-Benutzer-Skills haben Null-Kosten bis aufgerufen.263**Kontextkosten:** Niedrig bis verwendet. Nur-Benutzer-Skills haben Null-Kosten bis aufgerufen.

264 264 

265**In Subagenten:** Skills funktionieren in Subagenten anders. Anstelle von On-Demand-Laden werden Skills, die im `skills`-Feld des Subagenten aufgelistet sind, beim Start vollständig in seinen Kontext vorgeladen. Subagenten können weiterhin nicht aufgelistete Projekt-, Benutzer- und Plugin-Skills über das Skill-Tool entdecken und aufrufen.265**In Subagenten:** Der vollständige Inhalt von Skills, die im `skills`-Feld eines Subagenten aufgelistet sind, [wird beim Start in seinen Kontext geladen](https://code.claude.com/docs/de/sub-agents.md#preload-skills-into-subagents), statt bei Bedarf. Subagenten können weiterhin nicht aufgelistete Projekt-, Benutzer- und Plugin-Skills über das Skill-Tool entdecken und aufrufen.

266 266 

267> [!TIP]267> [!TIP]

268>268>

glossary.md +4 −4

Details

54 54 

55### Auto Mode55### Auto Mode

56 56 

57Ein [Berechtigungsmodus](#permission-mode), bei dem ein separates Klassifizierungsmodell Aktionen überprüft, anstatt Sie zu fragen, sodass Claude Code die meisten von ihnen ausführt, ohne Sie zu fragen. Claude Code fragt Sie immer noch vor Aktionen, die Ihre expliziten Anfrageregelns entsprechen. Mit Claude Code v2.1.283 oder später ist Auto Mode der [integrierte Standard-Berechtigungsmodus](https://code.claude.com/docs/de/permission-modes.md#which-mode-a-session-starts-in) für interaktive Terminal- und VS Code-Sitzungen, und in früheren Versionen nur bei Pro-, Max- und Team-Plänen. Der Klassifizierer blockiert Scope-Eskalation, nicht vertrauenswürdige Infrastruktur und [Prompt Injection](#prompt-injection). Tool-Ergebnisse werden aus dem entfernt, was er sieht, sodass feindselige Inhalte in einer Datei oder Webseite ihn nicht direkt manipulieren können.57Ein [Berechtigungsmodus](#permission-mode), bei dem ein separates Klassifizierungsmodell Aktionen überprüft, anstatt Sie zu fragen, sodass Claude Code die meisten von ihnen ausführt, ohne Sie zu fragen. Claude Code fragt Sie immer noch vor Aktionen, die Ihren expliziten ask-Regeln entsprechen. Mit Claude Code v2.1.283 oder später ist Auto Mode der [integrierte Start-Berechtigungsmodus](https://code.claude.com/docs/de/permission-modes.md#which-mode-a-session-starts-in) für interaktive Terminal- und VS Code-Sitzungen, und in früheren Versionen nur bei Pro-, Max- und Team-Plänen. Der Klassifikator blockiert Scope-Eskalation, nicht vertrauenswürdige Infrastruktur und [Prompt Injection](#prompt-injection). Tool-Ergebnisse werden aus dem entfernt, was er sieht, sodass feindselige Inhalte in einer Datei oder Webseite ihn nicht direkt manipulieren können.

58 58 

59Weitere Informationen: [Prompts mit Auto Mode eliminieren](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode)59Weitere Informationen: [Prompts mit Auto Mode eliminieren](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode)

60 60 


120 120 

121### Komprimierung121### Komprimierung

122 122 

123Automatische Zusammenfassung Ihrer Konversation, wenn sich das [Kontextfenster](#context-window) seiner Grenze nähert. Zuerst werden ältere Tool-Ausgaben entfernt, dann wird die Konversation zusammengefasst. Die CLAUDE.md im Projektstammverzeichnis und Auto-Memory überstehen die Komprimierung und werden neu von der Festplatte geladen; Anweisungen, die nur in der Konversation gegeben wurden, können verloren gehen. Führen Sie `/compact` aus, um sie manuell auszulösen, optional mit einem Schwerpunkt wie `/compact focus on the API changes`.123Automatische Zusammenfassung Ihrer Konversation, wenn sich das [Kontextfenster](#context-window) seiner Grenze nähert. Die CLAUDE.md im Projektstammverzeichnis und Auto-Memory überstehen die Komprimierung, Anweisungen, die nur in der Konversation gegeben wurden, jedoch möglicherweise nicht. Führen Sie `/compact` aus, um sie manuell auszulösen, optional mit einem Schwerpunkt wie `/compact focus on the API changes`.

124 124 

125Weitere Informationen: [Was die Komprimierung übersteht](https://code.claude.com/docs/de/context-window.md#what-survives-compaction) · [Wenn sich der Kontext füllt](https://code.claude.com/docs/de/how-claude-code-works.md#when-context-fills-up)125Weitere Informationen: [Was die Komprimierung übersteht](https://code.claude.com/docs/de/context-window.md#what-survives-compaction) · [Wenn sich der Kontext füllt](https://code.claude.com/docs/de/how-claude-code-works.md#when-context-fills-up) · [Wann Claude Code eine Konversation komprimiert, die Sie inaktiv lassen](https://code.claude.com/docs/de/settings-reference.md#idlecompaction)

126 126 

127### Konnektor127### Konnektor

128 128 


258 258 

259### Prompt-Injection259### Prompt-Injection

260 260 

261Feindselige Anweisungen, die in einer Datei, Webseite oder einem Werkzeugergebnis eingebettet sind und versuchen, Claude zu Aktionen umzuleiten, die Sie nie angefordert haben. Die Abwehrmechanismen von Claude Code umfassen das Berechtigungssystem, die Erkennung von Befehlsinjektion und die Vertrauensüberprüfung. Der [Auto-Modus](#auto-mode) fügt eine serverseitige Sonde hinzu, die Werkzeugergebnisse auf verdächtige Inhalte scannt, und einen Klassifizierer, der Aktionen mit entfernten Werkzeugergebnissen überprüft, sodass injizierter Text sie nicht direkt manipulieren kann.261Feindselige Anweisungen, die in einer Datei, Webseite oder einem Werkzeugergebnis eingebettet sind und versuchen, Claude zu Aktionen umzuleiten, die Sie nie angefordert haben. Die Abwehrmechanismen von Claude Code umfassen das Berechtigungssystem, die Erkennung von Befehlsinjektion und die Vertrauensüberprüfung. Der [Auto-Modus](#auto-mode) fügt eine serverseitige Sonde hinzu, die Werkzeugergebnisse auf verdächtige Inhalte scannt, und einen Klassifikator, der Aktionen mit entfernten Werkzeugergebnissen überprüft, sodass injizierter Text ihn nicht direkt manipulieren kann.

262 262 

263Weitere Informationen: [Schützen Sie sich vor Prompt-Injection](https://code.claude.com/docs/de/security.md#protect-against-prompt-injection)263Weitere Informationen: [Schützen Sie sich vor Prompt-Injection](https://code.claude.com/docs/de/security.md#protect-against-prompt-injection)

264 264 

hooks.md +15 −5

Details

1426 1426 

1427Setup-Hooks können nicht blockieren; die Ausführung wird bei jedem Exit-Code fortgesetzt. Bei jedem Exit-Code verwirft Claude Code die [JSON-Ausgabefelder](#json-output) eines Setup-Hooks, etwa `systemMessage`, `continue` und `hookSpecificOutput.additionalContext`. Mit `-p` erscheinen stdout, stderr und Exit-Code eines Setup-Hooks in der Ausgabe des Laufs nur als [`hook_response`-Events](https://code.claude.com/docs/de/headless#read-session-metadata), wenn Sie mit `--output-format stream-json --verbose` starten.1427Setup-Hooks können nicht blockieren; die Ausführung wird bei jedem Exit-Code fortgesetzt. Bei jedem Exit-Code verwirft Claude Code die [JSON-Ausgabefelder](#json-output) eines Setup-Hooks, etwa `systemMessage`, `continue` und `hookSpecificOutput.additionalContext`. Mit `-p` erscheinen stdout, stderr und Exit-Code eines Setup-Hooks in der Ausgabe des Laufs nur als [`hook_response`-Events](https://code.claude.com/docs/de/headless#read-session-metadata), wenn Sie mit `--output-format stream-json --verbose` starten.

1428 1428 

1429Setup-Hooks haben Zugriff auf `CLAUDE_ENV_FILE`. In diese Datei geschriebene Variablen bleiben für nachfolgende Bash-Befehle der Sitzung erhalten, wie bei [SessionStart-Hooks](#persist-environment-variables). Nur Hooks vom Typ `type: "command"` werden bei `Setup` ausgeführt. Ein Hook vom Typ `type: "mcp_tool"` bei `Setup` wird immer übersprungen, wie unter [Felder für MCP-Tool-Hooks](#mcp-tool-hook-fields) beschrieben.1429Setup-Hooks haben Zugriff auf `CLAUDE_ENV_FILE`. Wenn Ihr Hook Variablen in diese Datei schreibt, bleiben sie für nachfolgende Bash-Befehle der Sitzung erhalten, wie bei [SessionStart-Hooks](#persist-environment-variables). Bei `Setup` werden nur Hooks vom Typ `type: "command"` ausgeführt. Ein `type: "mcp_tool"`-Hook bei `Setup` wird immer übersprungen, wie unter [MCP-Tool-Hook-Felder](#mcp-tool-hook-fields) beschrieben.

1430 1430 

1431### InstructionsLoaded1431### InstructionsLoaded

1432 1432 


1483 1483 

1484Ein [Agent-SDK-Callback-Hook](https://code.claude.com/docs/de/agent-sdk/hooks.md) bei `UserPromptSubmit`, der seinen Timeout erreicht, blockiert den Prompt mit einer Meldung, die den Hook und den Timeout nennt, da ein Callback dort als Richtlinien-Gate fungieren kann, das nicht offen fehlschlagen darf. Die Sitzung wird fortgesetzt.1484Ein [Agent-SDK-Callback-Hook](https://code.claude.com/docs/de/agent-sdk/hooks.md) bei `UserPromptSubmit`, der seinen Timeout erreicht, blockiert den Prompt mit einer Meldung, die den Hook und den Timeout nennt, da ein Callback dort als Richtlinien-Gate fungieren kann, das nicht offen fehlschlagen darf. Die Sitzung wird fortgesetzt.

1485 1485 

1486#### `Esc` während einer Prompt-Prüfung

1487 

1488Wenn Sie `Esc` drücken oder die Sitzung unterbrechen, während Hooks noch einen Prompt prüfen, wird die Prüfung beendet und der Prompt erreicht Claude nicht. Text, den Sie im Terminal eingegeben haben, kehrt ins Prompt-Eingabefeld zurück, und die Hooks prüfen ihn erneut, wenn Sie ihn noch einmal senden.

1489 

1490Ein Hook kann den Prompt genau in dem Moment blockieren, in dem Sie unterbrechen. Der Prompt bleibt dann blockiert: Sie sehen die [Blockierungsnachricht](#what-a-blocked-prompt-leaves-behind) dieses Hooks, und der Text kehrt nicht ins Eingabefeld zurück.

1491 

1486#### UserPromptSubmit-Eingabe1492#### UserPromptSubmit-Eingabe

1487 1493 

1488Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten UserPromptSubmit-Hooks das Feld `prompt` mit dem abgesendeten Text. Eingefügter Inhalt, der zu einem Platzhalter `[Pasted text #N]` zusammengeklappt wurde, kommt an Ort und Stelle erweitert an. In Sitzungen, in denen Claude Code [eingefügten Text für Claude kennzeichnet](https://code.claude.com/docs/de/terminal-config.md#how-claude-treats-pasted-text), steht dieser erweiterte Inhalt zwischen einer Zeile `<pasted_content id="…">` und einer Zeile `</pasted_content id="…">`. Berücksichtigen Sie diese Zeilen, wenn Ihr Hook den Prompt parst.1494Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten UserPromptSubmit-Hooks das Feld `prompt` mit dem abgesendeten Text. Eingefügter Inhalt, der zu einem Platzhalter `[Pasted text #N]` zusammengeklappt wurde, kommt an Ort und Stelle erweitert an. In Sitzungen, in denen Claude Code [eingefügten Text für Claude kennzeichnet](https://code.claude.com/docs/de/terminal-config.md#how-claude-treats-pasted-text), steht dieser erweiterte Inhalt zwischen einer Zeile `<pasted_content id="…">` und einer Zeile `</pasted_content id="…">`. Berücksichtigen Sie diese Zeilen, wenn Ihr Hook den Prompt parst.


1741 1747 

1742Verwenden Sie die [PreToolUse-Entscheidungssteuerung](#pretooluse-decision-control), um den Tool-Aufruf zu erlauben, abzulehnen, nachzufragen oder zurückzustellen.1748Verwenden Sie die [PreToolUse-Entscheidungssteuerung](#pretooluse-decision-control), um den Tool-Aufruf zu erlauben, abzulehnen, nachzufragen oder zurückzustellen.

1743 1749 

1744Ein [Agent SDK-Callback-Hook](https://code.claude.com/docs/de/agent-sdk/hooks.md) bei `PreToolUse`, der seinen Timeout überschreitet, blockiert den Tool-Aufruf, und Claude erhält ein Fehlerergebnis, das den Timeout nennt.1750Ein [Agent-SDK-Callback-Hook](https://code.claude.com/docs/de/agent-sdk/hooks.md#hook-timeout) bei `PreToolUse`, der seinen Timeout überschreitet, blockiert den Tool-Aufruf.

1745 1751 

1746#### PreToolUse-Eingabe1752#### PreToolUse-Eingabe

1747 1753 


2970 2976 

2971Läuft, wenn ein Shell-Befehl in der Hauptkonversation das Arbeitsverzeichnis ändert, etwa wenn Claude einen `cd`-Befehl ausführt. Verwenden Sie dies, um auf Verzeichniswechsel zu reagieren: Umgebungsvariablen neu laden, projektspezifische Toolchains aktivieren oder Einrichtungsskripte automatisch ausführen. Lässt sich mit [FileChanged](#filechanged) kombinieren, etwa für Tools wie [direnv](https://direnv.net/), die Umgebungen pro Verzeichnis verwalten.2977Läuft, wenn ein Shell-Befehl in der Hauptkonversation das Arbeitsverzeichnis ändert, etwa wenn Claude einen `cd`-Befehl ausführt. Verwenden Sie dies, um auf Verzeichniswechsel zu reagieren: Umgebungsvariablen neu laden, projektspezifische Toolchains aktivieren oder Einrichtungsskripte automatisch ausführen. Lässt sich mit [FileChanged](#filechanged) kombinieren, etwa für Tools wie [direnv](https://direnv.net/), die Umgebungen pro Verzeichnis verwalten.

2972 2978 

2973CwdChanged-Hooks haben Zugriff auf [`CLAUDE_ENV_FILE`](#persist-environment-variables). In diese Datei geschriebene Variablen bleiben für nachfolgende Bash-Befehle bis zum nächsten CwdChanged-Ereignis erhalten, bei dem Claude Code sie löscht.2979CwdChanged-Hooks haben Zugriff auf [`CLAUDE_ENV_FILE`](#persist-environment-variables). Wenn Ihr Hook Variablen in diese Datei schreibt, bleiben sie für nachfolgende Bash-Befehle erhalten, bis zum nächsten CwdChanged-Event, bei dem Claude Code sie löscht.

2974 2980 

2975CwdChanged unterstützt keine Matcher und wird bei jedem Auftreten ausgelöst.2981CwdChanged unterstützt keine Matcher und wird bei jedem Auftreten ausgelöst.

2976 2982 


3135* Claude Code isoliert eine [Hintergrundsitzung](https://code.claude.com/docs/de/agent-view.md#how-file-edits-are-isolated) in einem eigenen Worktree3141* Claude Code isoliert eine [Hintergrundsitzung](https://code.claude.com/docs/de/agent-view.md#how-file-edits-are-isolated) in einem eigenen Worktree

3136* [`claude remote-control`](https://code.claude.com/docs/de/remote-control#start-a-remote-control-session) im Modus `worktree` startet eine Sitzung in einem eigenen Worktree3142* [`claude remote-control`](https://code.claude.com/docs/de/remote-control#start-a-remote-control-session) im Modus `worktree` startet eine Sitzung in einem eigenen Worktree

3137 3143 

3138Wenn Claude `git worktree add` über das Bash-Tool ausführt, statt `EnterWorktree` aufzurufen, wird Ihr WorktreeCreate-Hook nicht ausgeführt. Um diesen Befehl zu prüfen oder zu blockieren, fügen Sie einen [`PreToolUse`](#pretooluse)-Hook mit dem Matcher `Bash` hinzu.3144Ein WorktreeCreate-Hook wird nicht für einen Worktree ausgeführt, den Claude über Bash hinzufügt, und der Hook eines Plugins wird nicht für den Worktree ausgeführt, der beim Start mit `--worktree` und [`--tmux`](https://code.claude.com/docs/de/cli-reference#cli-flags) erstellt wird:

3145 

3146* **`git worktree add` über Bash**: Um diesen Befehl zu prüfen oder zu blockieren, fügen Sie einen [`PreToolUse`](#pretooluse)-Hook mit dem Matcher `Bash` hinzu.

3147* **`--worktree` mit `--tmux`**: Claude Code erstellt den Worktree, bevor es Plugins lädt, sodass ein WorktreeCreate-Hook aus einem Plugin nicht ausgeführt wird. Damit Ihr Hook mit beiden Flags ausgeführt wird, definieren Sie ihn stattdessen in einer [Einstellungsdatei](#configuration). Vor v2.1.300 wurde der WorktreeCreate-Hook eines Plugins auch mit `--worktree` allein nicht ausgeführt.

3139 3148 

3140Standardmäßig erstellt Claude Code die isolierte Arbeitskopie mit `git worktree`. Wenn Sie einen WorktreeCreate-Hook konfigurieren, ersetzt dieser das standardmäßige Git-Verhalten, sodass Sie ein anderes Versionskontrollsystem wie SVN, Perforce oder Mercurial verwenden können.3149Standardmäßig erstellt Claude Code die isolierte Arbeitskopie mit `git worktree`. Wenn Sie einen WorktreeCreate-Hook konfigurieren, ersetzt dieser das standardmäßige Git-Verhalten, sodass Sie ein anderes Versionskontrollsystem wie SVN, Perforce oder Mercurial verwenden können.

3141 3150 


4077 4086 

4078Wenn ein asynchroner Hook ausgelöst wird, startet Claude Code den Hook-Prozess und setzt sofort fort, ohne auf den Abschluss zu warten. Der Hook erhält die gleiche JSON-Eingabe über stdin wie ein synchroner Hook.4087Wenn ein asynchroner Hook ausgelöst wird, startet Claude Code den Hook-Prozess und setzt sofort fort, ohne auf den Abschluss zu warten. Der Hook erhält die gleiche JSON-Eingabe über stdin wie ein synchroner Hook.

4079 4088 

4080Nachdem der Hintergrund-Prozess beendet ist, liefert Claude Code die Felder `additionalContext` und `systemMessage` aus der JSON-Response des Hooks Claude beim nächsten Gesprächsturn. Im Gegensatz zu einem synchronen Hook's `systemMessage` wird keines dieser Felder Ihnen angezeigt.4089Nachdem der Hintergrund-Prozess beendet ist, liefert Claude Code die Felder `additionalContext` und `systemMessage` aus der JSON-Antwort des Hooks beim nächsten Gesprächsturn an Claude, mit Ausnahme von [wiederholter `SessionStart`-Ausgabe](#limitations). Im Gegensatz zur `systemMessage` eines synchronen Hooks wird Ihnen keines dieser Felder angezeigt.

4081 4090 

4082Geben Sie die JSON-Antwort allein auf stdout oder in einer eigenen Zeile aus:4091Geben Sie die JSON-Antwort allein auf stdout oder in einer eigenen Zeile aus:

4083 4092 


4145 4154 

4146* Hook-Ausgabe wird beim nächsten Gesprächsturn geliefert. Wenn die Sitzung untätig ist, wartet die Response, bis die nächste Benutzerinteraktion erfolgt. Ausnahme: Ein `asyncRewake`-Hook, der mit Code 2 beendet wird, weckt Claude sofort auf, auch wenn die Sitzung untätig ist.4155* Hook-Ausgabe wird beim nächsten Gesprächsturn geliefert. Wenn die Sitzung untätig ist, wartet die Response, bis die nächste Benutzerinteraktion erfolgt. Ausnahme: Ein `asyncRewake`-Hook, der mit Code 2 beendet wird, weckt Claude sofort auf, auch wenn die Sitzung untätig ist.

4147* Jede Ausführung erstellt einen separaten Hintergrund-Prozess.4156* Jede Ausführung erstellt einen separaten Hintergrund-Prozess.

4157* Ein asynchroner `SessionStart`-Hook wird jedes Mal ausgeführt, wenn das Ereignis ausgelöst wird. Claude Code überspringt die Ausgabe des Hooks, wenn der Text von `additionalContext` und `systemMessage` mit dem übereinstimmt, was Claude zuletzt von diesem Hook erhalten hat, es sei denn, ein synchroner `SessionStart`-Hook hat seitdem anderen Text hinzugefügt. Claude Code liefert den Text, wenn er sich ändert, und erneut bei der nächsten Ausführung des Hooks nach einer Komprimierung oder `/clear`. Vor v2.1.295 fügte Claude Code denselben Text bei jeder Wiederaufnahme erneut zur Konversation hinzu.

4148 4158 

4149## Sicherheitsüberlegungen4159## Sicherheitsüberlegungen

4150 4160 

hooks-guide.md +1 −1

Details

954* `PostToolUse`-Hooks können Aktionen nicht rückgängig machen, da das Tool bereits ausgeführt wurde.954* `PostToolUse`-Hooks können Aktionen nicht rückgängig machen, da das Tool bereits ausgeführt wurde.

955* [`PermissionRequest`](https://code.claude.com/docs/de/hooks#permissionrequest)-Hooks werden ausgelöst, wenn Claude Code Sie um Erlaubnis fragen möchte oder wenn es einen Aufruf, für den keine Abfrage angezeigt werden kann, andernfalls automatisch ablehnen würde. Im [nicht interaktiven Modus](https://code.claude.com/docs/de/headless.md) mit dem Flag `-p` werden sie außerhalb des [`dontAsk`-Modus](https://code.claude.com/docs/de/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) weiterhin ausgeführt, und ein Aufruf, über den kein Hook entscheidet und den nichts anderes beantworten kann, wird abgelehnt.955* [`PermissionRequest`](https://code.claude.com/docs/de/hooks#permissionrequest)-Hooks werden ausgelöst, wenn Claude Code Sie um Erlaubnis fragen möchte oder wenn es einen Aufruf, für den keine Abfrage angezeigt werden kann, andernfalls automatisch ablehnen würde. Im [nicht interaktiven Modus](https://code.claude.com/docs/de/headless.md) mit dem Flag `-p` werden sie außerhalb des [`dontAsk`-Modus](https://code.claude.com/docs/de/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) weiterhin ausgeführt, und ein Aufruf, über den kein Hook entscheidet und den nichts anderes beantworten kann, wird abgelehnt.

956* `Stop`-Hooks werden ausgelöst, wenn Claude die Antwort beendet, nicht nur bei Aufgabenvollendung. Sie werden nicht bei Benutzerunterbrechungen ausgelöst. API-Fehler lösen stattdessen [StopFailure](https://code.claude.com/docs/de/hooks.md#stopfailure) aus.956* `Stop`-Hooks werden ausgelöst, wenn Claude die Antwort beendet, nicht nur bei Aufgabenvollendung. Sie werden nicht bei Benutzerunterbrechungen ausgelöst. API-Fehler lösen stattdessen [StopFailure](https://code.claude.com/docs/de/hooks.md#stopfailure) aus.

957* Wenn mehrere `PreToolUse`-Hooks [`updatedInput`](https://code.claude.com/docs/de/hooks#pretooluse) zurückgeben, um die Argumente eines Tools umzuschreiben, hat der zuletzt fertiggestellte Effekt. Da Hooks parallel ausgeführt werden, ist die Reihenfolge nicht deterministisch. Vermeiden Sie, dass mehr als ein Hook die Eingabe desselben Tools ändert.957* Wenn mehrere `PreToolUse`-Hooks [`updatedInput`](https://code.claude.com/docs/de/hooks#pretooluse) zurückgeben, um die Eingabe eines Tools umzuschreiben, führt Claude Code die Umschreibungen nicht zusammen und garantiert nicht, mit welcher Umschreibung das Tool ausgeführt wird. Vermeiden Sie, dass mehr als ein Hook die Eingabe desselben Tools umschreibt.

958 958 

959### Hooks und Genehmigungsmodi959### Hooks und Genehmigungsmodi

960 960 

Details

131 131 

132#### Wenn der Kontext voll wird132#### Wenn der Kontext voll wird

133 133 

134Claude Code verwaltet den Kontext automatisch, wenn Sie sich dem Limit nähern. Es löscht zuerst ältere Tool-Ausgaben, dann fasst die Konversation zusammen, falls erforderlich. Ihre Anfragen und wichtige Code-Snippets werden beibehalten; detaillierte Anweisungen von früh in der Konversation können verloren gehen. Legen Sie persistente Regeln in CLAUDE.md ab, anstatt sich auf die Konversationshistorie zu verlassen.134Claude Code verwaltet den Kontext automatisch, wenn Sie sich dem Limit nähern. Es komprimiert die Konversation zu einer Zusammenfassung. Die Zusammenfassung behält Ihre Anfragen und wichtige Code-Snippets bei, aber detaillierte Anweisungen von früh in der Konversation können verloren gehen. Legen Sie persistente Regeln in CLAUDE.md ab, anstatt sich auf die Konversationshistorie zu verlassen.

135 135 

136Um zu kontrollieren, was während der Komprimierung beibehalten wird, fügen Sie einen Abschnitt „Compact Instructions“ zu CLAUDE.md hinzu oder führen Sie `/compact` mit einem Fokus aus (wie `/compact focus on the API changes`).136Um zu kontrollieren, was während der Komprimierung beibehalten wird, fügen Sie einen Abschnitt „Compact Instructions“ zu CLAUDE.md hinzu oder führen Sie `/compact` mit einem Fokus aus (wie `/compact focus on the API changes`).

137 137 


163 163 

164Wählen Sie einen Berechtigungsmodus, um festzulegen, was Claude ohne Nachfrage tun kann. Drücken Sie `Shift+Tab`, um durch die Berechtigungsmodi zu wechseln:164Wählen Sie einen Berechtigungsmodus, um festzulegen, was Claude ohne Nachfrage tun kann. Drücken Sie `Shift+Tab`, um durch die Berechtigungsmodi zu wechseln:

165 165 

166* **Auto**: Ein Klassifizierer überprüft die meisten Aktionen im Hintergrund und blockiert die riskanten, anstatt Sie zu fragen. Mit Claude Code v2.1.283 oder später ist es der [integrierte Standard-Berechtigungsmodus](https://code.claude.com/docs/de/permission-modes.md#which-mode-a-session-starts-in) für interaktive Terminal- und VS Code-Sitzungen, und in früheren Versionen nur in Pro-, Max- und Team-Plänen166* **Auto**: Ein Klassifikator überprüft die meisten Aktionen im Hintergrund und blockiert die riskanten, anstatt Sie zu fragen. Mit Claude Code v2.1.283 oder später ist es der [integrierte Start-Berechtigungsmodus](https://code.claude.com/docs/de/permission-modes.md#which-mode-a-session-starts-in) für interaktive Terminal- und VS Code-Sitzungen, und in früheren Versionen nur in Pro-, Max- und Team-Plänen

167* **Manual**: Claude fragt vor Dateibearbeitungen und Shell-Befehlen167* **Manual**: Claude fragt vor Dateibearbeitungen und Shell-Befehlen

168* **Accept edits**: Claude bearbeitet Dateien und führt häufige Dateisystem-Befehle wie `mkdir` und `mv` ohne Nachfrage aus, fragt aber immer noch nach anderen Befehlen168* **Accept edits**: Claude bearbeitet Dateien und führt häufige Dateisystem-Befehle wie `mkdir` und `mv` ohne Nachfrage aus, fragt aber immer noch nach anderen Befehlen

169* **Plan**: Claude erkundet und schlägt einen Plan vor, ohne Ihre Quelldateien zu bearbeiten169* **Plan**: Claude erkundet und schlägt einen Plan vor, ohne Ihre Quelldateien zu bearbeiten

Details

659 659 

660Um die Tasten neu zu belegen, mit denen Sie die Dateiliste scrollen oder den Vergleich ändern, siehe [Diff-Panel-Aktionen](https://code.claude.com/docs/de/keybindings.md#diff-panel-actions).660Um die Tasten neu zu belegen, mit denen Sie die Dateiliste scrollen oder den Vergleich ändern, siehe [Diff-Panel-Aktionen](https://code.claude.com/docs/de/keybindings.md#diff-panel-actions).

661 661 

662Während eines nicht abgeschlossenen Merges, Rebases, Cherry-Picks oder Reverts zeigt das Panel weiterhin die Änderungen an, die es zuletzt aus Git gelesen hat, sodass es sich nicht mit den eingehenden Änderungen des Vorgangs füllt. Es wird bei seiner ersten Aktualisierung nach Ende des Vorgangs auf den neuesten Stand gebracht, zum Beispiel wenn Claude das nächste Mal eine Datei bearbeitet.

663 

662### Diff-Dialog664### Diff-Dialog

663 665 

664Der Diff-Dialog öffnet sich als umrandeter Block über dem Eingabefeld und listet Ihre geänderten Dateien mit ihren hinzugefügten und entfernten Zeilenzahlen auf. Er vergleicht sie mit `HEAD` oder mit dem, was Sie zuletzt [im Diff-Panel ausgewählt haben](#diff-panel) für dieses Repository.666Der Diff-Dialog öffnet sich als umrandeter Block über dem Eingabefeld und listet Ihre geänderten Dateien mit ihren hinzugefügten und entfernten Zeilenzahlen auf. Er vergleicht sie mit `HEAD` oder mit dem, was Sie zuletzt [im Diff-Panel ausgewählt haben](#diff-panel) für dieses Repository.

keybindings.md +4 −4

Details

678 678 

679## Vim-Modus-Interaktion679## Vim-Modus-Interaktion

680 680 

681Wenn der Vim-Modus aktiviert ist über `/config` → Editor-Modus, arbeiten Keybindings und Vim-Modus unabhängig:681Wenn Sie den Vim-Modus über die Einstellung Editor-Modus in `/config` aktivieren, arbeiten Tastenkombinationen und Vim-Modus unabhängig voneinander:

682 682 

683* **Vim-Modus** verarbeitet Eingaben auf der Texteingangsebene (Cursor-Bewegung, Modi, Bewegungen)683* **Vim-Modus** verarbeitet Eingaben auf der Texteingabeebene: Cursor-Bewegung, Modi und Bewegungen

684* **Keybindings** verarbeiten Aktionen auf der Komponentenebene (Aufgaben umschalten, senden usw.)684* **Tastenkombinationen** verarbeiten Aktionen auf der Komponentenebene, etwa das Umschalten von Aufgaben oder das Senden einer Nachricht

685* Die Escape-Taste im Vim-Modus wechselt von INSERT zu NORMAL-Modus; sie löst nicht `chat:cancel` aus685* Die Escape-Taste wechselt im Vim-Modus vom INSERT- in den NORMAL-Modus; sie löst kein `chat:cancel` aus

686* Die meisten Ctrl+Taste-Kürzel werden durch den Vim-Modus zum Keybinding-System weitergeleitet686* Die meisten Ctrl+Taste-Kürzel werden durch den Vim-Modus zum Keybinding-System weitergeleitet

687* Vim-Tasten können nicht über die Keybindings-Datei neu zugeordnet werden. Um eine zwei-Tasten-INSERT-Modus-Sequenz wie `jj` auf Escape abzubilden, verwenden Sie die Einstellung [`vimInsertModeRemaps`](https://code.claude.com/docs/de/interactive-mode#remap-insert-mode-key-sequences)687* Vim-Tasten können nicht über die Keybindings-Datei neu zugeordnet werden. Um eine zwei-Tasten-INSERT-Modus-Sequenz wie `jj` auf Escape abzubilden, verwenden Sie die Einstellung [`vimInsertModeRemaps`](https://code.claude.com/docs/de/interactive-mode#remap-insert-mode-key-sequences)

688* Im Vim-NORMAL-Modus zeigt `?` das Hilfemenü an (Vim-Verhalten)688* Im Vim-NORMAL-Modus zeigt `?` das Hilfemenü an (Vim-Verhalten)

Details

306 306 

307## Fügen Sie Per-Verzeichnis-Skills hinzu307## Fügen Sie Per-Verzeichnis-Skills hinzu

308 308 

309Jedes Unterverzeichnis kann [Skills](https://code.claude.com/docs/de/skills.md) definieren, die auf seinen eigenen Stack beschränkt sind. Ein Skill wird bei Bedarf geladen, wenn Claude bestimmt, dass er relevant ist, daher verbraucht API-spezifisches Tooling keinen Kontext während Frontend-Arbeit.309Jedes Unterverzeichnis kann [Skills](https://code.claude.com/docs/de/skills.md) definieren, die auf seinen eigenen Stack beschränkt sind. Ein Skill wird bei Bedarf geladen, wenn Claude bestimmt, dass er relevant ist.

310 310 

311Skills leben unter `.claude/skills/` im Verzeichnis. Committen Sie sie neben dem Code dieses Bereichs, damit jeder, der das Repository klont, sie bekommt. In einem Monorepo kann dies ein Satz Skills pro Paket sein. In einer großen Single-Tree-Codebase ist es ein Satz pro Subsystem wie `src/db/.claude/skills/`.311Skills leben unter `.claude/skills/` im Verzeichnis. Committen Sie sie neben dem Code dieses Bereichs, damit jeder, der das Repository klont, sie bekommt. In einem Monorepo kann dies ein Satz Skills pro Paket sein. In einer großen Single-Tree-Codebase ist es ein Satz pro Subsystem wie `src/db/.claude/skills/`.

312 312 


347- Mocken Sie externe Services in `src/__tests__/mocks/`347- Mocken Sie externe Services in `src/__tests__/mocks/`

348```348```

349 349 

350Ein anderes Unterverzeichnis hält auf die gleiche Weise andere Skills: `packages/web/.claude/skills/component-patterns/` beschreibt die Frontend-Komponentenkonventionen anstelle von Tests. Wenn Claude an einer Datei in `packages/api/` arbeitet, lädt es den api-testing-Skill. Wenn es in `packages/web/` arbeitet, lädt es stattdessen component-patterns. Die Skills keines Verzeichnisses werden während der Aufgaben des anderen geladen.350Ein anderes Unterverzeichnis hält auf die gleiche Weise andere Skills: `packages/web/.claude/skills/component-patterns/` beschreibt die Frontend-Komponentenkonventionen anstelle von Tests. Wenn Claude an einer Datei in `packages/api/` arbeitet, lädt es den api-testing-Skill. Wenn es in `packages/web/` arbeitet, lädt es component-patterns.

351 351 

352Sie können einen Skill auch nach Dateimuster statt nach Platzierung beschränken. Das [`paths`-Frontmatter-Feld](https://code.claude.com/docs/de/skills#frontmatter-reference) nimmt Glob-Muster, und Claude lädt den Skill automatisch nur, wenn er mit passenden Dateien arbeitet. Verwenden Sie dies für einen Skill, der im `.claude/skills/` des Repository-Roots lebt, aber nur für bestimmte Dateien gilt, wie einen Datenbankmigrations-Skill, der auf `**/migrations/**` beschränkt ist.352Sie können einen Skill auch nach Dateimuster statt nach Platzierung beschränken. Das [`paths`-Frontmatter-Feld](https://code.claude.com/docs/de/skills#frontmatter-reference) nimmt Glob-Muster, und Claude lädt den Skill automatisch nur, wenn er mit passenden Dateien arbeitet. Verwenden Sie dies für einen Skill, der im `.claude/skills/` des Repository-Roots lebt, aber nur für bestimmte Dateien gilt, wie einen Datenbankmigrations-Skill, der auf `**/migrations/**` beschränkt ist.

353 353 

Details

520| `400`-Fehler bei jeder Anfrage, in den eigenen Worten des Gateways, die einen nicht erkannten Tool-Typ ablehnen, z. B. `Input tag 'advisor_20260301'`, auf Claude Code v2.1.275 | Bei einem schrittweisen Rollout auf dieser Version enthalten Anfragen einen [Advisor-Tool](https://code.claude.com/docs/de/advisor.md)-Eintrag, auch wenn der Advisor ausgeschaltet ist. Die Anthropic-API akzeptiert ihn, aber ein Gateway oder Upstream, der Tool-Typen validiert, lehnt die gesamte Anfrage ab; einer, der [Anfrage-Body-Felder unverändert weiterleitet](https://code.claude.com/docs/de/llm-gateway-protocol.md#forward-as-open-lists), leitet ihn unbeeinträchtigt durch. Der Eintrag ist eine Deklaration, die keinen Gesprächsinhalt trägt | Aktualisieren Sie auf v2.1.276 oder später, das den Eintrag nicht hinter einem `ANTHROPIC_BASE_URL`-Gateway sendet, es sei denn, Sie schalten den Advisor ein. Auf v2.1.275 legen Sie [`CLAUDE_CODE_DISABLE_ADVISOR_TOOL=1`](https://code.claude.com/docs/de/env-vars) fest, das den Eintrag aus Anfragen entfernt |520| `400`-Fehler bei jeder Anfrage, in den eigenen Worten des Gateways, die einen nicht erkannten Tool-Typ ablehnen, z. B. `Input tag 'advisor_20260301'`, auf Claude Code v2.1.275 | Bei einem schrittweisen Rollout auf dieser Version enthalten Anfragen einen [Advisor-Tool](https://code.claude.com/docs/de/advisor.md)-Eintrag, auch wenn der Advisor ausgeschaltet ist. Die Anthropic-API akzeptiert ihn, aber ein Gateway oder Upstream, der Tool-Typen validiert, lehnt die gesamte Anfrage ab; einer, der [Anfrage-Body-Felder unverändert weiterleitet](https://code.claude.com/docs/de/llm-gateway-protocol.md#forward-as-open-lists), leitet ihn unbeeinträchtigt durch. Der Eintrag ist eine Deklaration, die keinen Gesprächsinhalt trägt | Aktualisieren Sie auf v2.1.276 oder später, das den Eintrag nicht hinter einem `ANTHROPIC_BASE_URL`-Gateway sendet, es sei denn, Sie schalten den Advisor ein. Auf v2.1.275 legen Sie [`CLAUDE_CODE_DISABLE_ADVISOR_TOOL=1`](https://code.claude.com/docs/de/env-vars) fest, das den Eintrag aus Anfragen entfernt |

521| Modelle fehlen im `/model`-Wähler | Gateway-Modellnamen sind nicht in der integrierten Liste von Claude Code enthalten, oder Claude Code zeigt eine [`modelPicker`](https://code.claude.com/docs/de/settings-reference#modelpicker)-Aufstellung, die die integrierten Optionen ersetzt | Aktivieren Sie die [Gateway-Modellermittlung](#add-gateway-models-to-the-model-picker) oder fügen Sie Namen mit den [Modellkonfiguration](https://code.claude.com/docs/de/model-config.md)-Variablen hinzu. Wenn Claude Code eine ersetzende `modelPicker`-Aufstellung zeigt, fügen Sie die Gateway-Modelle hinzu, oder bitten Sie Ihren Administrator, sie hinzuzufügen, wenn verwaltete Einstellungen es bereitstellen |521| Modelle fehlen im `/model`-Wähler | Gateway-Modellnamen sind nicht in der integrierten Liste von Claude Code enthalten, oder Claude Code zeigt eine [`modelPicker`](https://code.claude.com/docs/de/settings-reference#modelpicker)-Aufstellung, die die integrierten Optionen ersetzt | Aktivieren Sie die [Gateway-Modellermittlung](#add-gateway-models-to-the-model-picker) oder fügen Sie Namen mit den [Modellkonfiguration](https://code.claude.com/docs/de/model-config.md)-Variablen hinzu. Wenn Claude Code eine ersetzende `modelPicker`-Aufstellung zeigt, fügen Sie die Gateway-Modelle hinzu, oder bitten Sie Ihren Administrator, sie hinzuzufügen, wenn verwaltete Einstellungen es bereitstellen |

522| `/fast` meldet `Fast mode unavailable due to network connectivity issues` während Inferenz-Anfragen funktionieren | Die Verfügbarkeitsprüfung für den [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md) geht direkt zu `api.anthropic.com` und folgt nicht `ANTHROPIC_BASE_URL`, daher schlägt blockierter direkter Ausgang die Prüfung fehl | Nehmen Sie `api.anthropic.com` in die Allowlist auf, wenn Ausgang blockiert ist, oder legen Sie eine Skip-Variable fest. Siehe [Fast-Modus hinter Proxys und LLM-Gateways verwenden](https://code.claude.com/docs/de/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |522| `/fast` meldet `Fast mode unavailable due to network connectivity issues` während Inferenz-Anfragen funktionieren | Die Verfügbarkeitsprüfung für den [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md) geht direkt zu `api.anthropic.com` und folgt nicht `ANTHROPIC_BASE_URL`, daher schlägt blockierter direkter Ausgang die Prüfung fehl | Nehmen Sie `api.anthropic.com` in die Allowlist auf, wenn Ausgang blockiert ist, oder legen Sie eine Skip-Variable fest. Siehe [Fast-Modus hinter Proxys und LLM-Gateways verwenden](https://code.claude.com/docs/de/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |

523| `/fast` meldet `Fast mode is currently unavailable` in einer Sitzung, die sich mit einem vom Gateway ausgestellten Schlüssel in `ANTHROPIC_API_KEY` authentifiziert | Solange `ANTHROPIC_BASE_URL` auf Ihr Gateway zeigt, hält Claude Code einen Schlüssel, der nicht im Format eines Anthropic-API-Schlüssels vorliegt, von `api.anthropic.com` zurück. Die Verfügbarkeitsprüfung für den [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md) wird dann nicht gesendet, und ohne eine zwischengespeicherte frühere erfolgreiche Prüfung behandelt Claude Code den Fast-Modus als nicht verfügbar | Legen Sie `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1` fest; siehe [Fast-Modus hinter Proxys und LLM-Gateways verwenden](https://code.claude.com/docs/de/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |523| `/fast` meldet `Fast mode is currently unavailable` in einer Sitzung, die sich mit einem vom Gateway ausgestellten Schlüssel in `ANTHROPIC_API_KEY` authentifiziert | Solange `ANTHROPIC_BASE_URL` auf Ihr Gateway zeigt und der Schlüssel nicht im Format eines Anthropic-API-Schlüssels vorliegt, sendet Claude Code die Verfügbarkeitsprüfung für den [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md) nicht. Ohne eine zwischengespeicherte frühere erfolgreiche Prüfung behandelt es den Fast-Modus als nicht verfügbar | Legen Sie `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1` fest; siehe [Fast-Modus hinter Proxys und LLM-Gateways verwenden](https://code.claude.com/docs/de/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |

524| `/fast` meldet `Fast mode has been disabled by your organization` in einer Sitzung, die mit `ANTHROPIC_AUTH_TOKEN` authentifiziert ist, obwohl die Organisation den Fast-Modus aktiviert hat | Die Verfügbarkeitsprüfung erfordert einen claude.ai-Login oder einen API-Schlüssel; mit nur einem Bearer-Token behandelt Claude Code den Fast-Modus als deaktiviert, ohne die Prüfung zu senden | Legen Sie `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` fest; siehe [Fast-Modus hinter Proxys und LLM-Gateways verwenden](https://code.claude.com/docs/de/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |524| `/fast` meldet `Fast mode has been disabled by your organization` in einer Sitzung, die mit `ANTHROPIC_AUTH_TOKEN` authentifiziert ist, obwohl die Organisation den Fast-Modus aktiviert hat | Die Verfügbarkeitsprüfung erfordert einen claude.ai-Login oder einen API-Schlüssel; mit nur einem Bearer-Token behandelt Claude Code den Fast-Modus als deaktiviert, ohne die Prüfung zu senden | Legen Sie `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` fest; siehe [Fast-Modus hinter Proxys und LLM-Gateways verwenden](https://code.claude.com/docs/de/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |

525| Claude Code fordert Sie auf, sich anzumelden, obwohl der [curl-Test](#verify-the-connection) erfolgreich ist | Die CLI hat keine eigene Anmeldedaten: Eine erreichbare Basis-URL ist keine, und in einer interaktiven Sitzung gilt ein `env`-Block in einer Projekt-`.claude/settings.json` oder `.claude/settings.local.json` nur nach dem First-Run-Wizard und der [Vertrauensaufforderung](https://code.claude.com/docs/de/permissions.md#what-runs-before-you-trust-a-folder) | Legen Sie `ANTHROPIC_AUTH_TOKEN` irgendwo fest, wo Claude Code vor dem First-Run-Setup liest: ein Shell-Export, der `env`-Block in `~/.claude/settings.json` oder verwaltete Einstellungen |525| Claude Code fordert Sie auf, sich anzumelden, obwohl der [curl-Test](#verify-the-connection) erfolgreich ist | Die CLI hat keine eigene Anmeldedaten: Eine erreichbare Basis-URL ist keine, und in einer interaktiven Sitzung gilt ein `env`-Block in einer Projekt-`.claude/settings.json` oder `.claude/settings.local.json` nur nach dem First-Run-Wizard und der [Vertrauensaufforderung](https://code.claude.com/docs/de/permissions.md#what-runs-before-you-trust-a-folder) | Legen Sie `ANTHROPIC_AUTH_TOKEN` irgendwo fest, wo Claude Code vor dem First-Run-Setup liest: ein Shell-Export, der `env`-Block in `~/.claude/settings.json` oder verwaltete Einstellungen |

526| `ANTHROPIC_API_KEY` ist festgelegt, wird aber ignoriert, ohne Aufforderung | Der Schlüssel benötigt eine einmalige Genehmigung in interaktiven Sitzungen, und ein zuvor abgelehnter Schlüssel wird ohne erneute Frage ignoriert | Aktivieren Sie ihn unter `/config` mit der Option `Use custom API key` |526| `ANTHROPIC_API_KEY` ist festgelegt, wird aber ignoriert, ohne Aufforderung | Der Schlüssel benötigt eine einmalige Genehmigung in interaktiven Sitzungen, und ein zuvor abgelehnter Schlüssel wird ohne erneute Frage ignoriert | Aktivieren Sie ihn unter `/config` mit der Option `Use custom API key` |

Details

148| :- | :- |148| :- | :- |

149| `x-claude-code-request-class` | Welche Art von Anfrage dies ist: `main` für einen Zug des Hauptgesprächs, `subagent` für einen Zug eines [Subagenten](https://code.claude.com/docs/de/sub-agents.md), `workflow` für einen Agenten, der in einem Workflow läuft, `compaction` für die Zusammenfassungsanfrage, die ein Gespräch komprimiert, oder `auxiliary` für Seitenanfragen wie Sitzungstitel, Klassifizierer und Zusammenfassungen. Wird bei jeder Anfrage gesendet |149| `x-claude-code-request-class` | Welche Art von Anfrage dies ist: `main` für einen Zug des Hauptgesprächs, `subagent` für einen Zug eines [Subagenten](https://code.claude.com/docs/de/sub-agents.md), `workflow` für einen Agenten, der in einem Workflow läuft, `compaction` für die Zusammenfassungsanfrage, die ein Gespräch komprimiert, oder `auxiliary` für Seitenanfragen wie Sitzungstitel, Klassifizierer und Zusammenfassungen. Wird bei jeder Anfrage gesendet |

150| `x-claude-code-agent-type` | Die Art des Subagenten, der die Anfrage gestellt hat: ein Name eines integrierten Agententyps wie `Explore`, `Plan` oder `general-purpose`, oder `custom` für einen benutzerdefinierten Agenten, `teammate` für ein [Agenten-Team](https://code.claude.com/docs/de/agent-teams.md) Mitglied, das im Prozess des Leiters läuft, oder `fork` für einen [Fork](https://code.claude.com/docs/de/sub-agents.md#fork-the-current-conversation). Vorhanden nur bei den eigenen Zügen eines Subagenten; die Komprimierung oder Seitenanfragen eines Subagenten behalten die Agenten-ID, tragen aber keinen Typ. Ein vom Benutzer gewählter Agentenname wird niemals gesendet |150| `x-claude-code-agent-type` | Die Art des Subagenten, der die Anfrage gestellt hat: ein Name eines integrierten Agententyps wie `Explore`, `Plan` oder `general-purpose`, oder `custom` für einen benutzerdefinierten Agenten, `teammate` für ein [Agenten-Team](https://code.claude.com/docs/de/agent-teams.md) Mitglied, das im Prozess des Leiters läuft, oder `fork` für einen [Fork](https://code.claude.com/docs/de/sub-agents.md#fork-the-current-conversation). Vorhanden nur bei den eigenen Zügen eines Subagenten; die Komprimierung oder Seitenanfragen eines Subagenten behalten die Agenten-ID, tragen aber keinen Typ. Ein vom Benutzer gewählter Agentenname wird niemals gesendet |

151| `x-claude-code-compaction` | Vorhanden bei der Anfrage, die die Konversation während einer [Komprimierung](https://code.claude.com/docs/de/prompt-caching.md#compacting-the-conversation) zusammenfasst. Der Wert sagt, was sie ausgelöst hat: `auto`, wenn sich das Kontextfenster der Kapazität näherte, `manual` für `/compact`, oder `reactive`, wenn die API eine Anfrage als zu lang ablehnte. Der Wert ist auch `auto` bei der [Leerlauf-Komprimierung](https://code.claude.com/docs/de/settings-reference.md#idlecompaction). Abwesend bei jeder anderen Anfrage |151| `x-claude-code-compaction` | Vorhanden bei der Anfrage, die die Konversation während einer [Komprimierung](https://code.claude.com/docs/de/prompt-caching.md#compacting-the-conversation) zusammenfasst. Der Wert sagt, was sie ausgelöst hat: `auto`, wenn sich das Kontextfenster der Kapazität näherte, `manual` für `/compact`, oder `reactive`, wenn die API eine Anfrage als zu lang ablehnte. Der Wert ist auch `auto` bei der [Leerlauf-Komprimierung](https://code.claude.com/docs/de/settings-reference.md#idlecompaction) in einer interaktiven Terminal-Sitzung. Abwesend bei jeder anderen Anfrage, einschließlich einer, die vor einer Komprimierung im Hintergrund eine Zusammenfassung schreibt |

152| `x-claude-code-context-compacted` | Vorhanden einmal, bei der ersten Hauptgesprächs-Anfrage nach einer Komprimierung, mit den gleichen Werten wie `x-claude-code-compaction`. Das Gesprächspräfix vor dieser Anfrage wird nicht mehr verwendet, daher kann ein Cache, der darauf basiert, gelöscht werden |152| `x-claude-code-context-compacted` | Vorhanden einmal, bei der ersten Hauptgesprächs-Anfrage nach einer Komprimierung, mit den gleichen Werten wie `x-claude-code-compaction`. Das Gesprächspräfix vor dieser Anfrage wird nicht mehr verwendet, daher kann ein Cache, der darauf basiert, gelöscht werden |

153| `x-claude-code-prev-tool-durations` | Gemessene Laufzeit der Tool-Aufrufe, deren Ergebnisse diese Anfrage trägt, als `<name>=<ms>;<name>=<ms>`, zum Beispiel `Bash=742;Read=9`. Wird bei der nächsten Anfrage desselben Gesprächs nach einem Batch von Tool-Aufrufen gesendet, von der Hauptsitzung oder einem Subagenten |153| `x-claude-code-prev-tool-durations` | Gemessene Laufzeit der Tool-Aufrufe, deren Ergebnisse diese Anfrage trägt, als `<name>=<ms>;<name>=<ms>`, zum Beispiel `Bash=742;Read=9`. Wird bei der nächsten Anfrage desselben Gesprächs nach einem Batch von Tool-Aufrufen gesendet, von der Hauptsitzung oder einem Subagenten |

154| `x-claude-code-prompt-id` | Zufällige UUID, die den Benutzer-Prompt identifiziert, dem eine Anfrage dient. Anfragen, die einen Prompt bedienen, teilen den Wert, einschließlich der Züge von Subagenten, die der Prompt gestartet hat. Anfragen, die nicht einem Prompt zugeordnet sind, lassen ihn weg. Verwenden Sie ihn, um die Anfragen einer Sitzung nach Prompt zu gruppieren. Erfordert Claude Code v2.1.283 oder später |154| `x-claude-code-prompt-id` | Zufällige UUID, die den Benutzer-Prompt identifiziert, dem eine Anfrage dient. Anfragen, die einen Prompt bedienen, teilen den Wert, einschließlich der Züge von Subagenten, die der Prompt gestartet hat. Anfragen, die nicht einem Prompt zugeordnet sind, lassen ihn weg. Verwenden Sie ihn, um die Anfragen einer Sitzung nach Prompt zu gruppieren. Erfordert Claude Code v2.1.283 oder später |


238* Wenn das Upstream nur den `cache_control`-Marker auf einer Systemnachricht mitten in der Konversation ablehnt, behält Claude Code die Systemnachrichten bei und versucht die Anfrage einmal mit verschobenem Marker erneut. Der Marker wird auf den letzten Eintrag in `messages` gesetzt, der keine Systemnachricht ist, sowohl bei diesem Wiederholungsversuch als auch bei späteren Anfragen, bis Claude Code beendet wird238* Wenn das Upstream nur den `cache_control`-Marker auf einer Systemnachricht mitten in der Konversation ablehnt, behält Claude Code die Systemnachrichten bei und versucht die Anfrage einmal mit verschobenem Marker erneut. Der Marker wird auf den letzten Eintrag in `messages` gesetzt, der keine Systemnachricht ist, sowohl bei diesem Wiederholungsversuch als auch bei späteren Anfragen, bis Claude Code beendet wird

239* Wenn das Upstream eine [Thinking-Signatur](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) ablehnt, einschließlich mit einem `400` dessen Nachricht besagt, dass der Block `bound to a different conversation` ist, entfernt Claude Code frühere Thinking-Blöcke aus der Anfrage, versucht erneut und hält sie aus jeder späteren Anfrage heraus. Neue Antworten enthalten immer noch Thinking239* Wenn das Upstream eine [Thinking-Signatur](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) ablehnt, einschließlich mit einem `400` dessen Nachricht besagt, dass der Block `bound to a different conversation` ist, entfernt Claude Code frühere Thinking-Blöcke aus der Anfrage, versucht erneut und hält sie aus jeder späteren Anfrage heraus. Neue Antworten enthalten immer noch Thinking

240* Wenn das Gateway oder sein Upstream den [Advisor-Tool](https://code.claude.com/docs/de/advisor.md) Eintrag in `tools` als einen nicht erkannten Tool-Typ ablehnt, versucht Claude Code die Anfrage einmal ohne diesen Eintrag und seinen `anthropic-beta` Wert erneut. Spätere Anfragen an diese Basis-URL lassen den Advisor aus, bis Claude Code beendet wird, und `/advisor` ist für den Entwickler für diese Zeit nicht verfügbar. Claude Code erkennt diese Ablehnung durch eine `400` oder `422` Antwort, deren Nachricht den Tool-Typ nach `Input tag` benennt, wie z. B. `Input tag 'advisor_20260301'`. Vor v2.1.280 wiederholte Claude Code diese Ablehnung nicht240* Wenn das Gateway oder sein Upstream den [Advisor-Tool](https://code.claude.com/docs/de/advisor.md) Eintrag in `tools` als einen nicht erkannten Tool-Typ ablehnt, versucht Claude Code die Anfrage einmal ohne diesen Eintrag und seinen `anthropic-beta` Wert erneut. Spätere Anfragen an diese Basis-URL lassen den Advisor aus, bis Claude Code beendet wird, und `/advisor` ist für den Entwickler für diese Zeit nicht verfügbar. Claude Code erkennt diese Ablehnung durch eine `400` oder `422` Antwort, deren Nachricht den Tool-Typ nach `Input tag` benennt, wie z. B. `Input tag 'advisor_20260301'`. Vor v2.1.280 wiederholte Claude Code diese Ablehnung nicht

241* Wenn das Upstream `output_config.effort` ablehnt, versucht Claude Code die Anfrage ohne Aufwand erneut und lässt ihn aus späteren Anfragen an dieses Modell weg, bis Claude Code beendet wird. Claude Code erkennt diese Ablehnung an einem `400`, dessen Nachricht `output_config.effort` zusammen mit `Extra inputs are not permitted` nennt oder besagt, dass das Modell den Effort-Parameter nicht unterstützt241* Wenn das Upstream `output_config.effort` oder seinen `anthropic-beta`-Wert ablehnt, versucht Claude Code die Anfrage erneut und fügt keines von beiden mehr zu Anfragen an dieses Modell hinzu, bis Claude Code beendet wird. Ihr Gateway benötigt keine Änderung, wenn es das `400` des Upstreams unverändert weiterleitet und die Nachricht:

242 * `output_config.effort` zusammen mit `Extra inputs are not permitted` nennt

243 * besagt, dass das Modell den Effort-Parameter nicht unterstützt

244 * mit `Unexpected value(s)` beginnt und `effort-2025-11-24` für den `anthropic-beta`-Header aufführt. Erfordert v2.1.310 oder später. Entwickler, deren [`ANTHROPIC_BETAS`](https://code.claude.com/docs/de/env-vars) den Wert enthält, senden ihn weiterhin und erhalten den `400`-Fehler; lassen Sie sie diesen Eintrag entfernen

242* Wenn das Upstream das `context_management` Feld oder seinen `anthropic-beta` Wert ablehnt, sieht das Gateway die Anfrage noch einmal ohne diese. Wenn das Gateway sie in einer späteren Anfrage erneut sieht und das Upstream sie erneut ablehnt, folgt derselbe Wiederholungsversuch. Claude Code erkennt diese Ablehnung an ihrer Nachricht, zum Beispiel einer, die `context_management: Extra inputs are not permitted` enthält. Vor v2.1.304 wiederholte Claude Code diese Ablehnung nicht245* Wenn das Upstream das `context_management` Feld oder seinen `anthropic-beta` Wert ablehnt, sieht das Gateway die Anfrage noch einmal ohne diese. Wenn das Gateway sie in einer späteren Anfrage erneut sieht und das Upstream sie erneut ablehnt, folgt derselbe Wiederholungsversuch. Claude Code erkennt diese Ablehnung an ihrer Nachricht, zum Beispiel einer, die `context_management: Extra inputs are not permitted` enthält. Vor v2.1.304 wiederholte Claude Code diese Ablehnung nicht

243* Wenn das Upstream ein anderes Beta-Tool-Feld als `defer_loading` ablehnt, etwa `strict`, erreicht der `400`-Fehler den Entwickler. Zuvor kann das Gateway die Anfrage erneut [ohne die Tool-Search-Felder](#retry-without-tool-search) sehen. Um das Senden solcher Felder zu unterbinden, lassen Sie Entwickler [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) setzen246* Wenn das Upstream ein anderes Beta-Tool-Feld als `defer_loading` ablehnt, etwa `strict`, erreicht der `400`-Fehler den Entwickler. Zuvor kann das Gateway die Anfrage erneut [ohne die Tool-Search-Felder](#retry-without-tool-search) sehen. Um das Senden solcher Felder zu unterbinden, lassen Sie Entwickler [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) setzen

244 247 

Details

470Wenn der Name nicht ankommt, prüfen Sie, ob eine dieser Ursachen vorliegt:470Wenn der Name nicht ankommt, prüfen Sie, ob eine dieser Ursachen vorliegt:

471 471 

472* **Sie haben ihn auf dem Computer gesetzt, auf dem Desktop läuft**: Desktop gibt einen dort gesetzten Wert nicht an die SSH-Sitzung weiter472* **Sie haben ihn auf dem Computer gesetzt, auf dem Desktop läuft**: Desktop gibt einen dort gesetzten Wert nicht an die SSH-Sitzung weiter

473* **Sie haben ihn in einer Login-Datei exportiert**: Nur Login-Shells lesen eine Datei wie `/etc/profile`. Ein Wert, den Sie dort mit `export` setzen, erreicht Claude Code, wenn Sie es aus einer Login-Shell starten. Er erreicht keine Desktop-SSH-Sitzung, da Desktop Claude Code nicht über eine Login-Shell startet.473* **Sie haben ihn in `/etc/profile` oder einer anderen Datei exportiert, die nur Login-Shells lesen**: Der Name kommt an, wenn Sie `claude` aus einer Login-Shell ausführen, aber nicht in einer Desktop-SSH-Sitzung. Desktop startet Claude Code nicht über eine Login-Shell. Setzen Sie die Variable stattdessen unter `env` in der [Datei mit verwalteten Einstellungen](https://code.claude.com/docs/de/desktop.md#managed-settings) auf dem Remote-Rechner.

474* **Ein Wert enthält ein Leerzeichen**: Claude Code kopiert dann keinen der Schlüssel auf Ereignisse oder Datenpunkte und meldet keinen Fehler. [Entfernen Sie das Leerzeichen aus dem Wert](#multi-team-organization-support).474* **Ein Wert enthält ein Leerzeichen**: Claude Code kopiert dann keinen der Schlüssel auf Ereignisse oder Datenpunkte und meldet keinen Fehler. [Entfernen Sie das Leerzeichen aus dem Wert](#multi-team-organization-support).

475* **Etwas anderes setzt die Variable bereits**: In einer Sitzung, die die Desktop-App startet, hat eine bereits in der Startumgebung gesetzte Variable [Vorrang vor Einstellungsdateien](https://code.claude.com/docs/de/settings-reference.md#how-env-values-interact-with-your-shell). Das [Debug-Log](https://code.claude.com/docs/de/debug-your-config.md) nennt jede ignorierte Variable. Wenn eine Desktop-Bereitstellung eines Drittanbieters in der von ihr bereitgestellten Umgebung [einen OTLP-Endpunkt angibt](#how-managed-settings-lock-the-otlp-destination), enthält diese Umgebung das eigene `OTEL_RESOURCE_ATTRIBUTES` von Desktop.475* **Etwas anderes setzt die Variable bereits**: In einer Sitzung, die die Desktop-App startet, hat eine bereits in der Startumgebung gesetzte Variable [Vorrang vor Einstellungsdateien](https://code.claude.com/docs/de/settings-reference.md#how-env-values-interact-with-your-shell). Das [Debug-Log](https://code.claude.com/docs/de/debug-your-config.md) nennt jede ignorierte Variable. Wenn eine Desktop-Bereitstellung eines Drittanbieters in der von ihr bereitgestellten Umgebung [einen OTLP-Endpunkt angibt](#how-managed-settings-lock-the-otlp-destination), enthält diese Umgebung das eigene `OTEL_RESOURCE_ATTRIBUTES` von Desktop.

476 476 


1403* `pre_tokens`: Ungefähre Token-Anzahl vor der Komprimierung1403* `pre_tokens`: Ungefähre Token-Anzahl vor der Komprimierung

1404* `post_tokens`: Ungefähre Token-Anzahl nach der Komprimierung1404* `post_tokens`: Ungefähre Token-Anzahl nach der Komprimierung

1405* `error`: Fehlermeldung, wenn die Komprimierung fehlgeschlagen ist1405* `error`: Fehlermeldung, wenn die Komprimierung fehlgeschlagen ist

1406* `precompute_reuse`: Nur gesetzt, wenn `trigger` den Wert `"manual"` hat, oder bei einer [Leerlauf-Komprimierung](https://code.claude.com/docs/de/settings-reference.md#idlecompaction), die `trigger` als `"auto"` meldet. Die automatische Komprimierung kann im Hintergrund eine Zusammenfassung vorbereiten, bevor sich das Kontextfenster füllt, und dieses Attribut hält fest, ob die Komprimierung diese vorbereitete Zusammenfassung wiederverwendet hat. `"hit"` bedeutet, dass sie wiederverwendet wurde; `"miss_custom_instructions"`, `"miss_hook"` und `"miss_not_ready"` geben den Grund an, warum stattdessen eine neue Zusammenfassung berechnet wurde1406* `precompute_reuse`: Nur gesetzt, wenn `trigger` den Wert `"manual"` hat, oder wenn `trigger` bei einer [Leerlauf-Komprimierung](https://code.claude.com/docs/de/settings-reference.md#idlecompaction) in einer interaktiven Terminal-Sitzung den Wert `"auto"` hat. Die automatische Komprimierung kann im Hintergrund eine Zusammenfassung vorbereiten, bevor sich das Kontextfenster füllt, und dieses Attribut hält fest, ob die Komprimierung diese vorbereitete Zusammenfassung wiederverwendet hat. `"hit"` bedeutet, dass sie wiederverwendet wurde; `"miss_custom_instructions"`, `"miss_hook"` und `"miss_not_ready"` geben den Grund an, warum stattdessen eine neue Zusammenfassung berechnet wurde

1407 1407 

1408#### Subagent-abgeschlossen-Ereignis1408#### Subagent-abgeschlossen-Ereignis

1409 1409 

Details

8 8 

9Ein Berechtigungsmodus legt fest, welche Aktionen Claude in einer Sitzung ausführen kann, ohne Sie vorher zu fragen. Im Manual-Modus hält Claude Code inne und fragt Sie, bevor die meisten Aktionen ausgeführt werden, die Dateien bearbeiten, Shell-Befehle ausführen oder das Netzwerk erreichen. Im [Auto-Modus](#eliminate-prompts-with-auto-mode) überprüft ein zweites Modell, der Klassifizierer, Aktionen statt Ihnen; [wie der Klassifizierer Aktionen bewertet](#how-the-classifier-evaluates-actions) listet auf, welche Aktionen er überprüft und welche er überspringt.9Ein Berechtigungsmodus legt fest, welche Aktionen Claude in einer Sitzung ausführen kann, ohne Sie vorher zu fragen. Im Manual-Modus hält Claude Code inne und fragt Sie, bevor die meisten Aktionen ausgeführt werden, die Dateien bearbeiten, Shell-Befehle ausführen oder das Netzwerk erreichen. Im [Auto-Modus](#eliminate-prompts-with-auto-mode) überprüft ein zweites Modell, der Klassifizierer, Aktionen statt Ihnen; [wie der Klassifizierer Aktionen bewertet](#how-the-classifier-evaluates-actions) listet auf, welche Aktionen er überprüft und welche er überspringt.

10 10 

11Mit Claude Code v2.1.283 oder später ist der Auto-Modus der integrierte Standard-Berechtigungsmodus für interaktive Terminal- und VS Code-Sitzungen. Bei früheren Versionen ist er der integrierte Standard-Berechtigungsmodus nur bei Pro-, Max- und Team-Plänen. [Welcher Modus eine Sitzung startet](#which-mode-a-session-starts-in) behandelt die Oberflächen und Einstellungen, die den Standard-Berechtigungsmodus ändern. Sie können auch den Berechtigungsmodus einer laufenden Sitzung jederzeit ändern.11Mit Claude Code v2.1.283 oder später ist der Auto-Modus der integrierte Start-Berechtigungsmodus für interaktive Terminal- und VS Code-Sitzungen. Bei früheren Versionen ist er der integrierte Start-Berechtigungsmodus nur bei Pro-, Max- und Team-Plänen. [Welcher Modus eine Sitzung startet](#which-mode-a-session-starts-in) behandelt die Oberflächen und Einstellungen, die den Start-Berechtigungsmodus ändern. Sie können auch den Berechtigungsmodus einer laufenden Sitzung jederzeit ändern.

12 12 

13## Verfügbare Modi13## Verfügbare Modi

14 14 


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

52| 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` |52| 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| 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) |53| 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| Arbeiten Sie freihändig im Auto-Modus | `claude --permission-mode auto`, der [integrierte Standard-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) |54| 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| 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 |55| 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 vollständig unbeaufsichtigt in einem Container aus | `claude -p "<prompt>" --dangerously-skip-permissions` | Erforderlich: ein Container, VM oder die [Sandbox-Laufzeit](https://code.claude.com/docs/de/sandbox-environments.md#sandbox-runtime); auf Linux und macOS, führen Sie es als [Nicht-Root-Benutzer](#skip-all-checks-with-bypasspermissions-mode) aus | Cloud-Sitzungen ignorieren diesen Modus aus Einstellungsdateien. In diesem `-p` Lauf werden die [wenigen Aufrufe, die weiterhin auffordern würden](#skip-all-checks-with-bypasspermissions-mode) stattdessen verweigert |56| Führen Sie vollständig unbeaufsichtigt in einem Container aus | `claude -p "<prompt>" --dangerously-skip-permissions` | Erforderlich: ein Container, VM oder die [Sandbox-Laufzeit](https://code.claude.com/docs/de/sandbox-environments.md#sandbox-runtime); auf Linux und macOS, führen Sie es als [Nicht-Root-Benutzer](#skip-all-checks-with-bypasspermissions-mode) aus | Cloud-Sitzungen ignorieren diesen Modus aus Einstellungsdateien. In diesem `-p` Lauf werden die [wenigen Aufrufe, die weiterhin auffordern würden](#skip-all-checks-with-bypasspermissions-mode) stattdessen verweigert |

57 57 


2153. `permissions.defaultMode` aus [verwalteten Einstellungen](https://code.claude.com/docs/de/managed-settings.md) oder `~/.claude/settings.json`2153. `permissions.defaultMode` aus [verwalteten Einstellungen](https://code.claude.com/docs/de/managed-settings.md) oder `~/.claude/settings.json`

2164. Der [integrierte Standard](#which-mode-a-session-starts-in) für Ihren Plan, Anbieter und Organisationseinstellungen2164. Der [integrierte Standard](#which-mode-a-session-starts-in) für Ihren Plan, Anbieter und Organisationseinstellungen

217 217 

218Die Erweiterung liest nie `.claude/settings.json` oder `.claude/settings.local.json` eines Projekts für den Standard-Berechtigungsmodus. Wenn `claudeCode.claudeProcessWrapper` gesetzt ist, gelten Punkte 3 und 4 nicht: Diese Konversationen starten im Manual-Modus, es sei denn, Punkt 1 oder Punkt 2 setzt einen Berechtigungsmodus.218Die Erweiterung liest nie `.claude/settings.json` oder `.claude/settings.local.json` eines Projekts für den Start-Berechtigungsmodus. Wenn `claudeCode.claudeProcessWrapper` gesetzt ist, gelten Punkte 3 und 4 nicht: Diese Konversationen starten im Manual-Modus, es sei denn, Punkt 1 oder Punkt 2 setzt einen Berechtigungsmodus.

219 219 

220Vor v2.1.283 galt Punkt 3 nur bei Pro-, Max- und Team-Plänen in Sitzungen, die [Feature-Flags abrufen](https://code.claude.com/docs/de/env-vars.md#features-that-need-feature-flag-fetching).220Vor v2.1.283 galt Punkt 3 nur bei Pro-, Max- und Team-Plänen in Sitzungen, die [Feature-Flags abrufen](https://code.claude.com/docs/de/env-vars.md#features-that-need-feature-flag-fetching).

221 221 


248 248 

249**Web and mobile**249**Web and mobile**

250 250 

251Verwenden Sie auf [claude.ai/code](https://claude.ai/code) das Modusmenü neben dem Eingabefeld. Tippen Sie in der mobilen App auf die Schaltfläche **+** im Eingabefeld und dann auf **Permission**. Cloud-Sitzungen und Remote-Control-Sitzungen bieten unterschiedliche Berechtigungsmodi:251Verwenden Sie auf [claude.ai/code](https://claude.ai/code) das Modusmenü in der Zeile unter dem Eingabefeld. Tippen Sie in der mobilen App auf die Schaltfläche **+** im Eingabefeld und dann auf **Permission**. Cloud-Sitzungen und Remote-Control-Sitzungen bieten unterschiedliche Berechtigungsmodi:

252 252 

253* **[Cloud-Sitzungen](https://code.claude.com/docs/de/claude-code-on-the-web.md)**: Bearbeitungen akzeptieren, Plan und Auto. Bearbeitungen akzeptieren entspricht dem `default` Modus: Cloud-Sitzungen genehmigen Dateibearbeitungen vorab, unabhängig vom Modus, daher zeigt das Menü Bearbeitungen akzeptieren statt Manual an. Cloud-Sitzungen respektieren weiterhin `defaultMode: "acceptEdits"` aus den Einstellungen. Der Auto-Modus wird nur angezeigt, wenn Ihre Organisation ihn zulässt und das ausgewählte Modell ihn unterstützt. Bypass permissions ist nicht verfügbar.253* **[Cloud-Sitzungen](https://code.claude.com/docs/de/claude-code-on-the-web.md)**: Bearbeitungen akzeptieren, Plan und Auto. Bearbeitungen akzeptieren entspricht dem `default` Modus: Cloud-Sitzungen genehmigen Dateibearbeitungen vorab, unabhängig vom Modus, daher zeigt das Menü Bearbeitungen akzeptieren statt Manual an. Cloud-Sitzungen respektieren weiterhin `defaultMode: "acceptEdits"` aus den Einstellungen. Der Auto-Modus wird nur angezeigt, wenn Ihre Organisation ihn zulässt und das ausgewählte Modell ihn unterstützt. Bypass permissions ist nicht verfügbar.

254* **[Remote Control](https://code.claude.com/docs/de/remote-control.md)-Sitzungen** auf Ihrem lokalen Computer: Manual, Bearbeitungen akzeptieren, Plan und Auto für eine Sitzung, die Sie selbst gestartet haben, und Sie können Bypass permissions nicht aus der App auswählen. Um Auto zu verwenden, muss die Sitzung die [Verfügbarkeitsanforderungen](#eliminate-prompts-with-auto-mode) des Auto-Modus erfüllen. Für einen Projekt-Thread, der auf Ihrem Computer läuft, siehe [Führen Sie einen Thread auf Ihrem eigenen Computer aus](https://code.claude.com/docs/de/claude-projects.md#run-a-thread-on-your-own-computer).254* **[Remote Control](https://code.claude.com/docs/de/remote-control.md)-Sitzungen** auf Ihrem lokalen Computer: Manual, Bearbeitungen akzeptieren, Plan und Auto für eine Sitzung, die Sie selbst gestartet haben, und Sie können Bypass permissions nicht aus der App auswählen. Um Auto zu verwenden, muss die Sitzung die [Verfügbarkeitsanforderungen](#eliminate-prompts-with-auto-mode) des Auto-Modus erfüllen. Für einen Projekt-Thread, der auf Ihrem Computer läuft, siehe [Führen Sie einen Thread auf Ihrem eigenen Computer aus](https://code.claude.com/docs/de/claude-projects.md#run-a-thread-on-your-own-computer).

255 * Außer für Bypass permissions zeigt das Menü den Berechtigungsmodus an, in dem sich die lokale Sitzung befindet, einschließlich eines vom Terminal aus festgelegten Modus. Es wird aktualisiert, wenn sich der Berechtigungsmodus in der App oder im Terminal ändert.255 * Außer für Bypass permissions zeigt das Menü den Berechtigungsmodus an, in dem sich die lokale Sitzung befindet, einschließlich eines vom Terminal aus festgelegten Modus. Es wird aktualisiert, wenn sich der Berechtigungsmodus in der App oder im Terminal ändert.

256 * Sitzungen, die von der [Desktop-App](https://code.claude.com/docs/de/desktop.md) oder der [VS Code-Erweiterung](https://code.claude.com/docs/de/vs-code.md) gehostet werden, melden Berechtigungsmodus-Änderungen an claude.ai, während sie passieren, genauso wie Sitzungen, die in einem Terminal gehostet werden.256 * Sitzungen, die von der [Desktop-App](https://code.claude.com/docs/de/desktop.md) oder der [VS Code-Erweiterung](https://code.claude.com/docs/de/vs-code.md) gehostet werden, melden Berechtigungsmodus-Änderungen an claude.ai, während sie passieren, genauso wie Sitzungen, die in einem Terminal gehostet werden.

257 257 

258Für Remote Control muss der lokale Computer, auf dem die Sitzung läuft, mit Ihrem claude.ai-Konto angemeldet sein; API-Schlüssel werden nicht unterstützt. Sie können auch den Standard-Berechtigungsmodus beim Start dieser lokalen Sitzung festlegen:258Für Remote Control muss der lokale Computer, auf dem die Sitzung läuft, mit Ihrem claude.ai-Konto angemeldet sein; API-Schlüssel werden nicht unterstützt. Sie können auch den Start-Berechtigungsmodus beim Start dieser lokalen Sitzung festlegen:

259 259 

260```bash theme={null}260```bash theme={null}

261claude remote-control --permission-mode acceptEdits261claude remote-control --permission-mode acceptEdits


320 320 

321### Legen Sie den Plan-Modus als Standard fest321### Legen Sie den Plan-Modus als Standard fest

322 322 

323Um den Plan-Modus als Standard für die Terminal-Sitzungen eines Projekts festzulegen, setzen Sie `defaultMode` auf `plan` in `.claude/settings.json`, wie das Beispiel unter [Starten Sie in einem anderen Berechtigungsmodus](#start-in-a-different-mode) zeigt. Konversationen, die die [VS Code-Erweiterung](https://code.claude.com/docs/de/vs-code.md) startet, lesen keine Projekteinstellungen für den Standard-Berechtigungsmodus. Dort setzen Sie stattdessen `claudeCode.initialPermissionMode` auf `plan` in Ihren VS Code-Benutzereinstellungen.323Um den Plan-Modus als Standard für die Terminal-Sitzungen eines Projekts festzulegen, setzen Sie `defaultMode` auf `plan` in `.claude/settings.json`, wie das Beispiel unter [Starten Sie in einem anderen Berechtigungsmodus](#start-in-a-different-mode) zeigt. Konversationen, die die [VS Code-Erweiterung](https://code.claude.com/docs/de/vs-code.md) startet, lesen keine Projekteinstellungen für den Start-Berechtigungsmodus. Dort setzen Sie stattdessen `claudeCode.initialPermissionMode` auf `plan` in Ihren VS Code-Benutzereinstellungen.

324 324 

325## Berechtigungsabfragen mit dem Auto-Modus eliminieren325## Berechtigungsabfragen mit dem Auto-Modus eliminieren

326 326 

327Der Auto-Modus ermöglicht es Claude, ohne routinemäßige Berechtigungsabfragen auszuführen. Ein separates Klassifikatormodell überprüft Aktionen, bevor sie ausgeführt werden, und blockiert alles, das über Ihre Anfrage hinausgeht, auf nicht erkannte Infrastruktur abzielt oder von feindseligem Inhalt angetrieben zu sein scheint, den Claude gelesen hat. Explizite [Ask-Regeln](https://code.claude.com/docs/de/permissions.md#manage-permissions) erzwingen weiterhin eine Abfrage.327Der Auto-Modus ermöglicht es Claude, ohne routinemäßige Berechtigungsabfragen auszuführen. Ein separates Klassifikatormodell überprüft Aktionen, bevor sie ausgeführt werden, und blockiert alles, das über Ihre Anfrage hinausgeht, auf nicht erkannte Infrastruktur abzielt oder von feindseligem Inhalt angetrieben zu sein scheint, den Claude gelesen hat. Explizite [Ask-Regeln](https://code.claude.com/docs/de/permissions.md#manage-permissions) erzwingen weiterhin eine Abfrage.

328 328 

329Mit Claude Code v2.1.283 oder später ist der Auto-Modus der [integrierte Standard-Berechtigungsmodus](#which-mode-a-session-starts-in) für interaktive Terminal- und VS Code-Sitzungen in jedem Plan und bei jedem Anbieter. Bei früheren Versionen ist er der integrierte Standard-Berechtigungsmodus nur bei Pro-, Max- und Team-Plänen.329Mit Claude Code v2.1.283 oder später ist der Auto-Modus der [integrierte Start-Berechtigungsmodus](#which-mode-a-session-starts-in) für interaktive Terminal- und VS Code-Sitzungen in jedem Plan und bei jedem Anbieter. Bei früheren Versionen ist er der integrierte Start-Berechtigungsmodus nur bei Pro-, Max- und Team-Plänen.

330 330 

331Der Klassifikator überprüft auch jede Nachricht, die Claude mit [`SendMessage`](https://code.claude.com/docs/de/tools-reference) an einen anderen Agenten sendet, ob als Klartext oder als strukturierte [Agent-Team](https://code.claude.com/docs/de/agent-teams.md)-Nachricht, bevor Claude Code sie zustellt, sowohl im Auto-Modus als auch im [Plan-Modus, während der Klassifikator Befehle überprüft](#analyze-before-you-edit-with-plan-mode); die Überprüfung beim Senden erfordert Claude Code v2.1.222 oder später.331Der Klassifikator überprüft auch jede Nachricht, die Claude mit [`SendMessage`](https://code.claude.com/docs/de/tools-reference) an einen anderen Agenten sendet, ob als Klartext oder als strukturierte [Agent-Team](https://code.claude.com/docs/de/agent-teams.md)-Nachricht, bevor Claude Code sie zustellt, sowohl im Auto-Modus als auch im [Plan-Modus, während der Klassifikator Befehle überprüft](#analyze-before-you-edit-with-plan-mode); die Überprüfung beim Senden erfordert Claude Code v2.1.222 oder später.

332 332 

Details

584 584 

585Der Befehl eines Monitors ist eingeschränkt, was seinen Start und das betrifft, worauf er verweisen kann:585Der Befehl eines Monitors ist eingeschränkt, was seinen Start und das betrifft, worauf er verweisen kann:

586 586 

587* **Nur interaktive Sitzungen**: Plugin-Monitore starten in einer interaktiven Sitzung und nie im nicht interaktiven Modus mit dem Flag `-p`. Sie starten auch nicht in Sitzungen, in denen die Einstellungen für API-Anbieter oder Telemetrie das [Monitor-Tool](https://code.claude.com/docs/de/tools-reference.md#monitor-tool) nicht verfügbar machen587* **Interaktive Sitzungen**: Plugin-Monitore starten nicht im nicht interaktiven Modus mit dem Flag `-p`

588* **Mindestversion**: Auf Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform oder Microsoft Foundry sowie bei gesetztem `DISABLE_TELEMETRY` oder `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` erfordern Monitore Claude Code v2.1.310 oder neuer. Die Anforderung gilt, wenn das [Abrufen von Feature-Flags](https://code.claude.com/docs/de/env-vars.md#features-that-need-feature-flag-fetching) deaktiviert ist

588* **Keine Benutzerkonfiguration**: `command` erhält die [Pfadvariablen](#path-variables-and-persistent-data) und `${ENV_VAR}` aus der Umgebung, aber nie `${user_config.*}`. Ein Monitor, der auf eine solche verweist, startet nicht, und Monitor-Prozesse erhalten auch kein `CLAUDE_PLUGIN_OPTION_<KEY>`589* **Keine Benutzerkonfiguration**: `command` erhält die [Pfadvariablen](#path-variables-and-persistent-data) und `${ENV_VAR}` aus der Umgebung, aber nie `${user_config.*}`. Ein Monitor, der auf eine solche verweist, startet nicht, und Monitor-Prozesse erhalten auch kein `CLAUDE_PLUGIN_OPTION_<KEY>`

589* **Deaktivieren während der Sitzung**: Wenn Sie ein Plugin während einer Sitzung deaktivieren, stoppt Claude Code bereits laufende Monitore nicht. Sie stoppen, wenn die Sitzung endet590* **Deaktivieren während der Sitzung**: Wenn Sie ein Plugin während einer Sitzung deaktivieren, stoppt Claude Code bereits laufende Monitore nicht. Sie stoppen, wenn die Sitzung endet

590 591 


647 648 

648Im Pfad des Daten-Verzeichnisses ist `<id>` die Plugin-ID mit jedem Zeichen außer Buchstaben, Ziffern, `_` und `-` ersetzt durch `-`, daher wird `my-plugin@my-marketplace` zu `my-plugin-my-marketplace`.649Im Pfad des Daten-Verzeichnisses ist `<id>` die Plugin-ID mit jedem Zeichen außer Buchstaben, Ziffern, `_` und `-` ersetzt durch `-`, daher wird `my-plugin@my-marketplace` zu `my-plugin-my-marketplace`.

649 650 

650Auf Windows verwenden die ersetzten Pfade Schrägstriche, daher liest eine Shell Backslashes nicht als Escapes.651Unter Windows verwenden die meisten ersetzten Pfade Schrägstriche, wie in `C:/Users/you/...`. Ihre nativen Backslashes behalten sie in einem [Hook in Exec-Form](https://code.claude.com/docs/de/hooks.md#exec-form-and-shell-form) und in einem Hook, der über PowerShell ausgeführt wird. PowerShell ist die Standard-Shell unter Windows, wenn Git Bash nicht installiert ist.

651 652 

652### Installieren Sie Abhängigkeiten in das Daten-Verzeichnis653### Installieren Sie Abhängigkeiten in das Daten-Verzeichnis

653 654 

Details

148 148 

149Wenn sich die beiden Namen unterscheiden und jemand nach dem Manifest-Namen installiert, meldet Claude Code `Plugin "<manifest-name>" not found in marketplace "<marketplace>"`. Halten Sie die beiden Namen gleich. Für mehr darüber, wie Claude Code die beiden Namen verwendet, siehe [Plugin-Lade-Referenz](https://code.claude.com/docs/de/plugins/loading.md#find-where-a-plugin-came-from).149Wenn sich die beiden Namen unterscheiden und jemand nach dem Manifest-Namen installiert, meldet Claude Code `Plugin "<manifest-name>" not found in marketplace "<marketplace>"`. Halten Sie die beiden Namen gleich. Für mehr darüber, wie Claude Code die beiden Namen verwendet, siehe [Plugin-Lade-Referenz](https://code.claude.com/docs/de/plugins/loading.md#find-where-a-plugin-came-from).

150 150 

151### Halten Sie ungenutzte Submodule aus dem Klon heraus

152 

153Wenn jemand Ihren Marketplace hinzufügt, klont Claude Code das Repository und ruft nur die Git-Submodule ab, die Plugin-Dateien enthalten. Erfordert Claude Code v2.1.295 oder höher.

154 

155Sie legen fest, welche Submodule Claude Code abruft, indem Sie bestimmen, wo Sie jedes Plugin ablegen:

156 

157* **Ein Plugin in einem Unterverzeichnis**: Claude Code ruft die Submodule innerhalb des Plugin-Verzeichnisses sowie ein Submodul ab, das das Plugin enthält. Legen Sie ein Submodul, das Ihr Plugin benötigt, innerhalb des Plugin-Verzeichnisses ab, und halten Sie eines, das es nicht benötigt, außerhalb davon

158* **Ein Plugin im Marketplace-Root**: Claude Code ruft jedes Submodul im Repository ab, sobald eine der Dateien des Plugins auf einen Pfad innerhalb eines beliebigen davon verweist. Wenn Ihr Repository ein großes Submodul enthält, das nur Ihr Build verwendet, verschieben Sie das Plugin in ein Unterverzeichnis

159 

160Wenn ein Plugin im Root eine Datei aus einem Submodul ausführt, schreiben Sie den Pfad der Datei ausdrücklich in die Hook- oder Server-Konfiguration des Plugins, etwa `${CLAUDE_PLUGIN_ROOT}/vendor/tool/run.sh`. Claude Code liest diese Pfade, um festzustellen, ob das Plugin die Submodule benötigt. Einen Pfad, den ein Skript erst zur Laufzeit zusammensetzt, kann es nicht erkennen.

161 

162Die vollständige Regel finden Sie unter [Git-Submodule im Marketplace-Repository](https://code.claude.com/docs/de/plugins/marketplace-reference.md#git-submodules-in-the-marketplace-repository).

163 

151## Wählen Sie eine Plugin-Quelle164## Wählen Sie eine Plugin-Quelle

152 165 

153Jeder Plugin-Eintrag in `marketplace.json` hat eine `source`, die Claude Code mitteilt, wo dieses eine Plugin abgerufen werden kann. Wählen Sie die Quelle danach aus, wo die Plugin-Dateien gespeichert sind. Die Tabelle listet die Quellen auf, die die meisten Marketplace-Besitzer verwenden.166Jeder Plugin-Eintrag in `marketplace.json` hat eine `source`, die Claude Code mitteilt, wo dieses eine Plugin abgerufen werden kann. Wählen Sie die Quelle danach aus, wo die Plugin-Dateien gespeichert sind. Die Tabelle listet die Quellen auf, die die meisten Marketplace-Besitzer verwenden.

Details

111Teilen Sie Benutzern mit, was jedes Protokoll auf ihrer Maschine benötigt:111Teilen Sie Benutzern mit, was jedes Protokoll auf ihrer Maschine benötigt:

112 112 

113* **SSH**: Der Schlüssel muss ohne Passphrase-Eingabeaufforderung funktionieren, zum Beispiel weil er in `ssh-agent` geladen ist. Der Host muss bereits in `known_hosts` sein.113* **SSH**: Der Schlüssel muss ohne Passphrase-Eingabeaufforderung funktionieren, zum Beispiel weil er in `ssh-agent` geladen ist. Der Host muss bereits in `known_hosts` sein.

114* **HTTPS**: Claude Code lässt den Git-Credential-Helper des Benutzers aktiviert, verbietet ihm aber zu fragen. Eine Anmeldedaten, die der Helper bereits speichert, funktioniert; eine, die er fragen müsste, schlägt fehl. Auf GitHub speichert `gh auth login` gefolgt von `gh auth setup-git` eine.114* **HTTPS**: Claude Code lässt den Git-Credential-Helper des Benutzers aktiviert, verbietet ihm aber zu fragen, und führt keine Askpass-Programme aus, etwa eines, das in `GIT_ASKPASS` festgelegt ist. Anmeldedaten, die der Helper bereits gespeichert hat, funktionieren; Anmeldedaten, nach denen er fragen müsste, schlagen fehl. Auf GitHub speichert `gh auth login` gefolgt von `gh auth setup-git` solche Anmeldedaten.

115 115 

116Für einen GitHub Enterprise Server-Host benötigen Benutzer Git-Zugriff auf diesen Host von ihrer Maschine. Siehe [Plugin-Marketplaces auf GHES](https://code.claude.com/docs/de/github-enterprise-server.md#plugin-marketplaces-on-ghes) für das, was jede Claude Code-Oberfläche benötigt, um einen GHES-gehosteten Marketplace zu erreichen.116Für einen GitHub Enterprise Server-Host benötigen Benutzer Git-Zugriff auf diesen Host von ihrer Maschine. Siehe [Plugin-Marketplaces auf GHES](https://code.claude.com/docs/de/github-enterprise-server.md#plugin-marketplaces-on-ghes) für das, was jede Claude Code-Oberfläche benötigt, um einen GHES-gehosteten Marketplace zu erreichen.

117 117 

Details

238 238 

239Ein privater Marketplace ist einer in einem Repository, auf das Sie Anmeldedaten zum Klonen benötigen, auf GitHub oder einem anderen Git-Host. Sie fügen ihn mit dem gleichen `/plugin marketplace add`- oder `claude plugin marketplace add`-Befehl wie einen öffentlichen hinzu. Claude Code klont ihn mit den Git-Anmeldedaten, die bereits auf Ihrem Computer vorhanden sind, und fragt nie, daher hat jede Verbindungsweise eine Anforderung:239Ein privater Marketplace ist einer in einem Repository, auf das Sie Anmeldedaten zum Klonen benötigen, auf GitHub oder einem anderen Git-Host. Sie fügen ihn mit dem gleichen `/plugin marketplace add`- oder `claude plugin marketplace add`-Befehl wie einen öffentlichen hinzu. Claude Code klont ihn mit den Git-Anmeldedaten, die bereits auf Ihrem Computer vorhanden sind, und fragt nie, daher hat jede Verbindungsweise eine Anforderung:

240 240 

241* **HTTPS**: Ihre Git-Credential-Helper gelten, daher funktioniert der Zugriff, den Sie mit `gh auth login`, dem macOS-Schlüsselbund oder `git-credential-store` einrichten. Interaktive Aufforderungen werden unterdrückt, daher schlägt ein Host, bei dem Sie sich noch nie authentifiziert haben, statt zu fragen, fehl.241* **HTTPS**: Ihre Git-Credential-Helper gelten, daher funktioniert der Zugriff, den Sie mit `gh auth login`, dem macOS-Schlüsselbund oder `git-credential-store` einrichten. Die Abfragen und askpass-Programme von Git sind deaktiviert, einschließlich eines in `GIT_ASKPASS` festgelegten Programms, daher schlägt das Klonen fehl, statt nachzufragen, wenn Git nach Anmeldedaten fragen müsste.

242* **SSH**: Der Host muss bereits in Ihrer `known_hosts`-Datei sein und der Schlüssel muss ohne Passphrase-Aufforderung funktionieren. Wenn Ihre Git-Einrichtung ein SSH-Programm in `GIT_SSH_COMMAND`, `GIT_SSH` oder dem `core.sshCommand` Ihrer Git-Konfiguration benennt, führt Claude Code dieses Programm aus.242* **SSH**: Der Host muss bereits in Ihrer `known_hosts`-Datei sein und der Schlüssel muss ohne Passphrase-Aufforderung funktionieren. Wenn Ihre Git-Einrichtung ein SSH-Programm in `GIT_SSH_COMMAND`, `GIT_SSH` oder dem `core.sshCommand` Ihrer Git-Konfiguration benennt, führt Claude Code dieses Programm aus.

243* **GitHub `owner/repo`-Kurzform**: Claude Code prüft, ob Ihr SSH-Schlüssel sich bei `github.com` authentifiziert, klont dann über SSH, wenn ja, und über HTTPS, wenn nein. Setzen Sie [`CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`](https://code.claude.com/docs/de/env-vars#variables), um diese Prüfung zu überspringen und immer über HTTPS zu klonen.243* **GitHub `owner/repo`-Kurzform**: Claude Code prüft, ob Ihr SSH-Schlüssel sich bei `github.com` authentifiziert, klont dann über SSH, wenn ja, und über HTTPS, wenn nein. Setzen Sie [`CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`](https://code.claude.com/docs/de/env-vars#variables), um diese Prüfung zu überspringen und immer über HTTPS zu klonen.

244 244 

Details

41* **Ein Marktplatz, den Einstellungen deklarieren, aber `known_marketplaces.json` fehlt**: Claude Code klont ihn, lädt dann Plugins neu und lädt aktivierte Plugins herunter, die noch nicht zwischengespeichert sind41* **Ein Marktplatz, den Einstellungen deklarieren, aber `known_marketplaces.json` fehlt**: Claude Code klont ihn, lädt dann Plugins neu und lädt aktivierte Plugins herunter, die noch nicht zwischengespeichert sind

42* **Ein deklarierter Marktplatz, dessen Quelle sich in den Einstellungen geändert hat**: Claude Code ruft ihn von der neuen Quelle ab und zeigt `Plugins changed. Run /reload-plugins to activate.` an42* **Ein deklarierter Marktplatz, dessen Quelle sich in den Einstellungen geändert hat**: Claude Code ruft ihn von der neuen Quelle ab und zeigt `Plugins changed. Run /reload-plugins to activate.` an

43 43 

44Ein aktiviertes Plugin, das von keinem der beiden Pfade abgerufen wurde und das kein verwendbares Cache-Verzeichnis hat, zeigt `Plugin "<name>" not cached at <path>` auf der Registerkarte `/plugin` **Errors** an, und `claude plugin list` fügt `— run /plugin to refresh` auf derselben Zeile hinzu. Für die Behebung siehe [`Plugin "<name>" not cached at <path>`](https://code.claude.com/docs/de/plugins/troubleshooting#plugin-not-cached-at).44Ein aktiviertes Plugin, das von keinem der beiden Pfade abgerufen wurde und das kein verwendbares Cache-Verzeichnis hat, zeigt `Plugin "<name>" not cached at <path>` auf der Registerkarte `/plugin` **Errors** an. Für die Behebung siehe [`Plugin "<name>" not cached at <path>`](https://code.claude.com/docs/de/plugins/troubleshooting#plugin-not-cached-at).

45 45 

46## Finden Sie heraus, von wo ein Plugin kam46## Finden Sie heraus, von wo ein Plugin kam

47 47 

Details

155| `workflows` | Pfad oder Array von Pfaden | [Workflow](https://code.claude.com/docs/de/workflows.md#distribute-a-workflow-in-a-plugin)-`.js`-Dateien oder Verzeichnisse. Ersetzt den Standard-`workflows/`-Scan |155| `workflows` | Pfad oder Array von Pfaden | [Workflow](https://code.claude.com/docs/de/workflows.md#distribute-a-workflow-in-a-plugin)-`.js`-Dateien oder Verzeichnisse. Ersetzt den Standard-`workflows/`-Scan |

156| `experimental` | Object | Container für `themes`, `monitors` und `evals`, deren Manifest-Form sich möglicherweise noch ändert |156| `experimental` | Object | Container für `themes`, `monitors` und `evals`, deren Manifest-Form sich möglicherweise noch ändert |

157| `experimental.themes` | Pfad oder Array von Pfaden | Theme-Dateien oder Verzeichnisse. Ersetzt den Standard-`themes/`-Scan. Ein Top-Level-`themes`-Schlüssel wird immer noch geladen, mit einer `claude plugin validate`-Warnung |157| `experimental.themes` | Pfad oder Array von Pfaden | Theme-Dateien oder Verzeichnisse. Ersetzt den Standard-`themes/`-Scan. Ein Top-Level-`themes`-Schlüssel wird immer noch geladen, mit einer `claude plugin validate`-Warnung |

158| [`experimental.monitors`](#monitors) | Pfad oder inline Array | Eine `.json`-Datei mit dem Monitors-Array oder das Array selbst. Standard ist `monitors/monitors.json`. Ein Top-Level-`monitors`-Schlüssel wird immer noch geladen, mit einer `claude plugin validate`-Warnung. Monitore laufen nur in interaktiven Sitzungen und nicht auf Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry |158| [`experimental.monitors`](#monitors) | Pfad oder inline Array | Eine `.json`-Datei mit dem Monitors-Array oder das Array selbst. Standard ist `monitors/monitors.json`. Ein Top-Level-`monitors`-Schlüssel wird immer noch geladen, mit einer `claude plugin validate`-Warnung. Monitore [starten nicht mit dem `-p`-Flag](https://code.claude.com/docs/de/plugins/components#monitors) |

159| `experimental.evals` | Pfad oder Array von Pfaden | Verzeichnis, das die [Eval-Fälle](https://code.claude.com/docs/de/plugin-evals.md#use-a-different-eval-directory) des Plugins enthält, wenn es nicht das Standard-`evals/`-Verzeichnis ist. `claude plugin eval --eval-dir` überschreibt es |159| `experimental.evals` | Pfad oder Array von Pfaden | Verzeichnis, das die [Eval-Fälle](https://code.claude.com/docs/de/plugin-evals.md#use-a-different-eval-directory) des Plugins enthält, wenn es nicht das Standard-`evals/`-Verzeichnis ist. `claude plugin eval --eval-dir` überschreibt es |

160 160 

161In der Spalte Typ ist ein Pfad ein String relativ zum Plugin-Root, z. B. `"./custom/commands"`.161In der Spalte Typ ist ein Pfad ein String relativ zum Plugin-Root, z. B. `"./custom/commands"`.


606}606}

607```607```

608 608 

609Auf Windows verwenden die ersetzten Pfade Schrägstriche, damit eine Shell Backslashes nicht als Escapes liest.609Unter Windows verwenden die meisten ersetzten Pfade Schrägstriche, wie in `C:/Users/you/...`. Ihre nativen Backslashes behalten sie in einem [Exec-Form-Hook](https://code.claude.com/docs/de/hooks.md#exec-form-and-shell-form) und in einem Hook, der über PowerShell ausgeführt wird, die unter Windows die Standard-Shell ist, wenn Git Bash nicht installiert ist.

610 610 

611## Standardlayout611## Standardlayout

612 612 

Details

172* **`url`**: Claude Code ruft nur `marketplace.json` ab, daher können sich relative Pfade nicht auflösen. Geben Sie jedem Plugin stattdessen eine Objekt-Quelle, wie `github` oder `git-subdir`.172* **`url`**: Claude Code ruft nur `marketplace.json` ab, daher können sich relative Pfade nicht auflösen. Geben Sie jedem Plugin stattdessen eine Objekt-Quelle, wie `github` oder `git-subdir`.

173* **`settings`**: relative Pfade werden sofort abgelehnt.173* **`settings`**: relative Pfade werden sofort abgelehnt.

174 174 

175#### Git-Submodule im Marketplace-Repository

176 

177Wenn Claude Code ein Marketplace-Repository klont, ruft es nur die Git-Submodule ab, die Plugin-Dateien enthalten. Erfordert Claude Code v2.1.295 oder später.

178 

179Frühere Versionen rufen jedes Submodul ab, auch verschachtelte. Wenn das Repository ein großes Submodul hat, kann Claude Code dann beim Abrufen den [Klon-Timeout](https://code.claude.com/docs/de/plugins/troubleshooting.md#git-clone-timed-out-after-120s) überschreiten.

180 

181Für ein Plugin in einem Unterverzeichnis, wie `./plugins/formatter`, ruft Claude Code in diesen Fällen ein Submodul ab:

182 

183* **Das Plugin befindet sich im Submodul**: das Submodul ist das Verzeichnis des Plugins oder ein Verzeichnis darüber

184* **Das Submodul befindet sich im Plugin**: das Submodul liegt irgendwo unter dem Verzeichnis des Plugins

185* **Ein symbolischer Link verweist in das Submodul**: ein im Repository committeter Link hat sein Ziel im Submodul

186 

187Ein Plugin im Marketplace-Root, mit `"source": "./"`, erhält entweder alle Submodule des Repository oder keines davon. Claude Code ruft jedes Submodul ab, wenn eines der folgenden Elemente in irgendein Submodul verweist:

188 

189* **Ein Komponentenverzeichnis**: ein Verzeichnis im Root, das Plugin-Komponenten enthält, wie `skills/`, `hooks/` oder `bin/`

190* **Ein Pfad in der Konfiguration des Plugins**: ein Pfad im Marketplace-Eintrag des Plugins, in seiner `plugin.json` oder in einer Konfigurationsdatei wie `.mcp.json` oder `hooks/hooks.json`

191* **Ein symbolischer Link**: ein im Repository committeter Link

192* **Text in den Dateien des Plugins**: der Pfad eines Submoduls, wie `vendor/tool`, der in einer Konfigurationsdatei oder in einer Datei unter einem Komponentenverzeichnis steht

193 

194Wenn keines davon zutrifft, ruft Claude Code für dieses Plugin kein Submodul ab. Ein Repository, das sowohl ein Projekt als auch ein Plugin ist, hat oft Submodule, die nur der Build des Projekts verwendet, und diese Regel lässt sie weg.

195 

196Claude Code ruft außerdem jedes Submodul ab, wenn es nicht erkennen kann, welche davon Plugin-Dateien enthalten, etwa in diesen Fällen:

197 

198* **Eine `SKILL.md` im Root**: das gesamte Repository ist dann das Verzeichnis eines einzelnen Skills

199* **Eine Datei, die Claude Code nicht lesen kann**: die Marketplace-Datei, eine der Konfigurationsdateien des Plugins oder `.gitmodules`

200 

201Wenn Sie einen Marketplace mit `--sparse` hinzufügen oder seine Quelle `sparsePaths` setzt, checkt Claude Code nur die dort genannten Verzeichnisse aus und ruft kein Submodul ab. Frühere Versionen verhalten sich genauso.

202 

203Um ein Submodul, das Ihre Plugins nicht verwenden, aus dem Klon herauszuhalten, siehe [Nicht verwendete Submodule aus dem Klon heraushalten](https://code.claude.com/docs/de/plugins/create-marketplace.md#keep-unused-submodules-out-of-the-clone).

204 

175#### Bare Names unter pluginRoot205#### Bare Names unter pluginRoot

176 206 

177Ein bare Name ist ein einzelner Verzeichnisname ohne `/`, wie `"formatter"`. Um bare Names anstelle von `./`-Pfaden zu schreiben, setzen Sie [`metadata.pluginRoot`](#top-level-fields) auf das Verzeichnis, unter dem sie sich auflösen. Mit `"pluginRoot": "./plugins"` wird `"source": "formatter"` zu `./plugins/formatter` aufgelöst. Erfordert Claude Code v2.1.239 oder später.207Ein bare Name ist ein einzelner Verzeichnisname ohne `/`, wie `"formatter"`. Um bare Names anstelle von `./`-Pfaden zu schreiben, setzen Sie [`metadata.pluginRoot`](#top-level-fields) auf das Verzeichnis, unter dem sie sich auflösen. Mit `"pluginRoot": "./plugins"` wird `"source": "formatter"` zu `./plugins/formatter` aufgelöst. Erfordert Claude Code v2.1.239 oder später.

Details

313 313 

314#### Was abgelehnte Aufrufe zurückgeben314#### Was abgelehnte Aufrufe zurückgeben

315 315 

316In den Ergebnissen steht `<reason>` für `the session was stopped and nobody has sent input since`:316In den Ergebnissen steht `<reason>` für den Grund, aus dem der Aufruf abgelehnt wurde. Nach einer Unterbrechung ist das `the session was stopped and nobody has sent input since`. Andere Gründe finden Sie unter [Aufrufe, die in `claude -p`-Ausführungen und Agent SDK-Sitzungen abgelehnt werden](#calls-refused-in-non-interactive-runs).

317 317 

318| Einige abgelehnte Aufrufe | Ergebnis bis zur nächsten Eingabe des Benutzers |318| Einige abgelehnte Aufrufe | Ergebnis |

319| :- | :- |319| :- | :- |

320| `$.prompt.submit` | Wird mit `{ drop: '<reason>' }` aufgelöst und stellt keinen Prompt in die Warteschlange |320| `$.prompt.submit` | Wird mit `{ drop: '<reason>' }` aufgelöst und stellt keinen Prompt in die Warteschlange |

321| `$.command.run` | Wird mit einem Fehler abgelehnt, dessen Nachricht auf `<reason>` endet |321| `$.command.run` | Wird mit einem Fehler abgelehnt, dessen Nachricht auf `<reason>` endet |


324| `$.session.send` an ein Mitglied eines [Agent-Teams](https://code.claude.com/docs/de/agent-teams.md) | Wird mit `{ isDelivered: false, reason: 'Teammate "<name>" was not messaged: <reason>.' }` aufgelöst, wobei `<name>` der Name des Teammitglieds ist |324| `$.session.send` an ein Mitglied eines [Agent-Teams](https://code.claude.com/docs/de/agent-teams.md) | Wird mit `{ isDelivered: false, reason: 'Teammate "<name>" was not messaged: <reason>.' }` aufgelöst, wobei `<name>` der Name des Teammitglieds ist |

325| [`$.tool.call`](https://code.claude.com/docs/de/plugins/mods/reference#mods-api-methods) von Bash mit `run_in_background: true`, Monitor oder CronCreate | Wird mit `{ deny: '<tool> was not run: it starts background work, a schedule or a goal, and <reason>' }` aufgelöst, wobei `<tool>` der Name des Tools ist |325| [`$.tool.call`](https://code.claude.com/docs/de/plugins/mods/reference#mods-api-methods) von Bash mit `run_in_background: true`, Monitor oder CronCreate | Wird mit `{ deny: '<tool> was not run: it starts background work, a schedule or a goal, and <reason>' }` aufgelöst, wobei `<tool>` der Name des Tools ist |

326 326 

327Zusammen mit diesen Ergebnissen von `$.session.send` und `$.tool.call` kann der Benutzer den [`Stopped:`-Toast](https://code.claude.com/docs/de/plugins/mods/troubleshoot#stopped-type-a-message-to-continue) sehen.327Wenn einer dieser Aufrufe von `$.session.send` oder `$.tool.call` nach einer Unterbrechung in einer interaktiven Sitzung abgelehnt wird, kann der Benutzer den [`Stopped:`-Toast](https://code.claude.com/docs/de/plugins/mods/troubleshoot#stopped-type-a-message-to-continue) sehen.

328 328 

329#### Arbeit, die Ihr Mod vor der Unterbrechung gestartet hat329#### Arbeit, die Ihr Mod vor der Unterbrechung gestartet hat

330 330 


341 341 

342Wenn ein geplanter Job fällig wird oder ein Monitor vor der nächsten Eingabe des Benutzers ein Event auslöst, kann der Benutzer den [`Stopped:`-Toast](https://code.claude.com/docs/de/plugins/mods/troubleshoot#stopped-type-a-message-to-continue) sehen.342Wenn ein geplanter Job fällig wird oder ein Monitor vor der nächsten Eingabe des Benutzers ein Event auslöst, kann der Benutzer den [`Stopped:`-Toast](https://code.claude.com/docs/de/plugins/mods/troubleshoot#stopped-type-a-message-to-continue) sehen.

343 343 

344### Aufrufe, die in `claude -p`-Ausführungen und Agent SDK-Sitzungen abgelehnt werden

345 

346In einer `claude -p`-Ausführung oder einer [Agent SDK](https://code.claude.com/docs/de/agent-sdk/overview.md)-Sitzung bedeutet ein Ergebnis wie `{ drop: 'the run reached its --max-turns limit' }`, dass die Ausführung den Aufruf Ihres Mods abgelehnt hat.

347 

348Ein abgelehnter Aufruf von `$.prompt.submit` wird mit `{ drop: '<reason>' }` aufgelöst. Andere abgelehnte Aufrufe, etwa `$.command.run` und `$.agent.spawn`, liefern die unter [Was abgelehnte Aufrufe zurückgeben](#what-refused-calls-return) gezeigten Ergebnisse, mit dem Grund anstelle von `<reason>`. Suchen Sie unten Ihren `<reason>`, um zu erfahren, was zu tun ist:

349 

350* **`the run reached its --max-turns limit`**: Turns aus den Prompts Ihres Mods und aus Subagenten, die er startet, zählen zu [`--max-turns`](https://code.claude.com/docs/de/cli-reference#cli-flags) oder zum [Turn-Limit](https://code.claude.com/docs/de/agent-sdk/configuration.md#limit-turns-and-spend) des Agent SDK. Für mehr Turns starten Sie die Ausführung mit einem höheren Limit. Wenn das nicht möglich ist, sorgen Sie dafür, dass Ihr Mod den abgelehnten Aufruf nicht mehr tätigt. Wenn die Ausführung einen weiteren Prompt vom Benutzer oder von der SDK-Anwendung entgegennimmt, wird die Anzahl der Turns zurückgesetzt, und die Ausführung nimmt wieder Aufrufe an.

351* **`the run is past its --max-budget-usd limit`**: Starten Sie die Ausführung mit einem höheren `--max-budget-usd` oder erhöhen Sie das [Ausgabenlimit](https://code.claude.com/docs/de/agent-sdk/configuration.md#limit-turns-and-spend) des Agent SDK. Wenn das nicht möglich ist, sorgen Sie dafür, dass Ihr Mod den abgelehnten Aufruf nicht mehr tätigt. Das Limit gilt für die bisherigen Gesamtkosten der Ausführung. Diese Summe wächst weiter, wenn die Ausführung einen weiteren Prompt entgegennimmt, daher liefert ein Wiederholungsversuch denselben Grund.

352* **`the host has ended its input`**: Zum Beispiel hat die SDK-Anwendung ihre [Streaming-Eingabe](https://code.claude.com/docs/de/agent-sdk/streaming-vs-single-mode.md) beendet, oder stdin wurde bei einer mit [`--input-format stream-json`](https://code.claude.com/docs/de/cli-reference#cli-flags) gestarteten Ausführung geschlossen. Die Ausführung wird beendet und nimmt keine weiteren Eingaben an, daher liefert ein Wiederholungsversuch denselben Grund. Sorgen Sie dafür, dass Ihr Mod den abgelehnten Aufruf nicht mehr tätigt. Wenn Sie die Ausführung selbst starten, halten Sie diese Eingabe beim nächsten Mal offen, bis Ihr Mod keine Aufrufe mehr zu tätigen hat.

353* **`the session was stopped and nobody has sent input since`**: Die Ausführung wurde [unterbrochen](#calls-and-background-work-after-the-user-interrupts-a-turn), zum Beispiel mit [`interrupt()`](https://code.claude.com/docs/de/agent-sdk/typescript#query-object) des Agent SDK. Um den Aufruf nach der nächsten Nachricht des Benutzers oder der SDK-Anwendung erneut auszuführen, folgen Sie [Einen abgelehnten oder verworfenen Aufruf erneut versuchen](#retry-a-refused-or-dropped-call).

354 

355### Eine `claude -p`-Ausführung mit Ihrem Mod wird nie beendet

356 

357Wenn Ihr Mod am Ende jedes Turns einen Prompt übermittelt, startet jeder Prompt einen weiteren Turn. Ohne [`--max-turns`](https://code.claude.com/docs/de/cli-reference#cli-flags) oder `--max-budget-usd` läuft eine `claude -p`-Ausführung, die den Mod lädt, weiter, bis Sie sie selbst stoppen.

358 

359Damit die Ausführung von selbst endet, fügen Sie dem Befehl in Ihrer Shell eines der beiden Flags hinzu. Wenn andere Personen die Ausführung starten, sorgen Sie dafür, dass Ihr Mod keine Prompts mehr übermittelt, sobald seine Arbeit erledigt ist. Dieser Befehl fügt `--max-turns` hinzu:

360 

361```bash theme={null}

362claude -p "find the TODOs" --max-turns 5

363```

364 

365Sobald die Ausführung dieses Limit erreicht, wird der nächste Prompt des Mods [abgelehnt](#calls-refused-in-non-interactive-runs), statt einen Turn zu starten, und die Ausführung endet.

366 

367Wenn die Ausführung das Limit dennoch überschreitet, führen Sie `claude --version` in Ihrer Shell aus und [aktualisieren Sie Claude Code](https://code.claude.com/docs/de/setup.md#update-claude-code), wenn Ihre Version älter als v2.1.304 ist. Die Prompts des Mods werden ab v2.1.299 beim Limit abgelehnt. Wenn Ihr Mod Subagenten startet, zählen deren Turns ab v2.1.304 zu `--max-turns`.

368 

344## Nachrichten zwischen Sitzungen senden und empfangen369## Nachrichten zwischen Sitzungen senden und empfangen

345 370 

346Ein Mod kann eine Nachricht im Klartext an eine andere Ihrer Sitzungen, an einen der Subagenten dieser Sitzung oder an ein Teammitglied in seinem [Agent-Team](https://code.claude.com/docs/de/agent-teams.md) senden. Er kann außerdem die eingehenden und ausgehenden Nachrichten beobachten.371Ein Mod kann eine Nachricht im Klartext an eine andere Ihrer Sitzungen, an einen der Subagenten dieser Sitzung oder an ein Teammitglied in seinem [Agent-Team](https://code.claude.com/docs/de/agent-teams.md) senden. Er kann außerdem die eingehenden und ausgehenden Nachrichten beobachten.


390| `$.http` | `fetch(url, init)` über `http` oder `https`. Wird zu `{ status, ok, headers, text }` aufgelöst, sobald der Body gelesen wurde. |415| `$.http` | `fetch(url, init)` über `http` oder `https`. Wird zu `{ status, ok, headers, text }` aufgelöst, sobald der Body gelesen wurde. |

391| `$.store` | Ein eigener JSON-Key-Value-Speicher Ihres Plugins, der zwischen Sitzungen erhalten bleibt |416| `$.store` | Ein eigener JSON-Key-Value-Speicher Ihres Plugins, der zwischen Sitzungen erhalten bleibt |

392| `$.env` | Umgebungsvariablen mit `get` lesen und mit `set` setzen. Geben Sie den Namen als String-Literal an. |417| `$.env` | Umgebungsvariablen mit `get` lesen und mit `set` setzen. Geben Sie den Namen als String-Literal an. |

393| `$.settings` | Mit `read` auslesen, was die Einstellungsdateien und die verwaltete Richtlinie enthalten |418| `$.settings` | `read()` wird zu allen Einstellungen aufgelöst, zusammengeführt in einem Objekt. Mit `{ source }` oder `{ key }` wird es stattdessen zu [den Einstellungen einer Quelle oder dem Wert eines Schlüssels](#read-one-source-or-one-key) aufgelöst. |

394| `$.session` | `messages()` gibt das Transkript als Liste von `{ role, text, toolUses }` zurück. Außerdem das Arbeitsverzeichnis, das Modell und mehr. [`usage()`](https://code.claude.com/docs/de/plugins/mods/reference#mods-api-methods) gibt die Nutzung des Kontextfensters und die Limits des Plans zurück. |419| `$.session` | `messages()` gibt das Transkript als Liste von `{ role, text, toolUses }` zurück. Außerdem das Arbeitsverzeichnis, das Modell und mehr. [`usage()`](https://code.claude.com/docs/de/plugins/mods/reference#mods-api-methods) gibt die Nutzung des Kontextfensters und die Limits des Plans zurück. |

395| `$.mcp` | Mit `call` ein Tool auf einem verbundenen MCP-Server aufrufen |420| `$.mcp` | Mit `call` ein Tool auf einem verbundenen MCP-Server aufrufen |

396 421 


408* **`$.process.spawn started, and a plugin withheld its result:`**: Der ablehnende Mod hatte die Ausgabe des Befehls nicht bis zum Ende gelesen. Claude Code beendet den Befehl, falls er noch läuft.433* **`$.process.spawn started, and a plugin withheld its result:`**: Der ablehnende Mod hatte die Ausgabe des Befehls nicht bis zum Ende gelesen. Claude Code beendet den Befehl, falls er noch läuft.

409* **`$.process.spawn ran, and a plugin withheld its result:`**: Der ablehnende Mod hatte die Ausgabe des Befehls bis zum Ende gelesen, der Befehl war also bereits beendet434* **`$.process.spawn ran, and a plugin withheld its result:`**: Der ablehnende Mod hatte die Ausgabe des Befehls bis zum Ende gelesen, der Befehl war also bereits beendet

410 435 

436### Alle Einstellungen, eine Quelle oder einen Schlüssel lesen

437 

438`$.settings.read()` wird zu einem Objekt aufgelöst, das die Einstellungen aus allen verwendeten Quellen enthält, zusammengeführt nach [Vorrang](https://code.claude.com/docs/de/settings.md#settings-precedence). Übergeben Sie `{ source }`, um stattdessen eine einzelne Quelle zu lesen, `{ key }`, um einen einzelnen Schlüssel zu lesen, oder beides:

439 

440| Aufruf | Wird aufgelöst zu |

441| :- | :- |

442| `$.settings.read()` | Den zusammengeführten Einstellungen als ein Objekt. Seine Schlüssel der obersten Ebene sind die einer `settings.json`-Datei, etwa `permissions` und `hooks`. |

443| `$.settings.read({ source: 'policy' })` | Den Einstellungen dieser einen Quelle als ein Objekt oder `{}`, wenn diese Quelle keine Einstellungen enthält |

444| `$.settings.read({ key: 'spinnerTipsEnabled' })` | Dem Wert dieses Schlüssels in den zusammengeführten Einstellungen oder `undefined`, wenn der Schlüssel nicht gesetzt ist |

445| `$.settings.read({ key: 'spinnerTipsEnabled', source: 'user' })` | Dem Wert dieses Schlüssels in dieser einen Quelle oder `undefined`, wenn diese Quelle ihn nicht setzt |

446 

447Übergeben Sie für `source` den Namen der einen Einstellungsquelle, die gelesen werden soll:

448 

449* **`user`**: `~/.claude/settings.json`

450* **`project`**: `.claude/settings.json`

451* **`local`**: `.claude/settings.local.json`

452* **`flag`**: was Sie mit `--settings` übergeben, sowie die Inline-Einstellungen des SDK

453* **`policy`**: [verwaltete Einstellungen](https://code.claude.com/docs/de/managed-settings.md#how-claude-code-combines-managed-sources)

454 

455Übergeben Sie für `key` den exakten Namen eines Schlüssels der obersten Ebene, keinen Pfad mit Punkten in ein verschachteltes Objekt. Das Argument `key` erfordert Claude Code v2.1.304 oder höher.

456 

411## Nächste Schritte457## Nächste Schritte

412 458 

413* [Auf Ereignisse reagieren](https://code.claude.com/docs/de/plugins/mods/events.md): Tool-Aufrufe, Prompts und Turns abfangen459* [Auf Ereignisse reagieren](https://code.claude.com/docs/de/plugins/mods/events.md): Tool-Aufrufe, Prompts und Turns abfangen

Details

48 48 

49Verwenden Sie, worum Sie gebeten haben. Beim Beispiel-Prompt erscheint der Name des aktuellen Branches über dem Eingabefeld. Wenn der Mod nicht das tut, was Sie wollten, sagen Sie Claude, was geändert werden soll. Der Mod wird am Ende jedes Turns neu geladen, der seine Dateien ändert, sodass Sie die Änderung ausprobieren können, sobald Claude fertig ist.49Verwenden Sie, worum Sie gebeten haben. Beim Beispiel-Prompt erscheint der Name des aktuellen Branches über dem Eingabefeld. Wenn der Mod nicht das tut, was Sie wollten, sagen Sie Claude, was geändert werden soll. Der Mod wird am Ende jedes Turns neu geladen, der seine Dateien ändert, sodass Sie die Änderung ausprobieren können, sobald Claude fertig ist.

50 50 

51Wenn eine Zeile im Transkript, die mit dem Namen des Mods beginnt, meldet, dass die [Änderung nicht geladen wurde](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#this-mods-change-didnt-load), fügen Sie diese Zeile in Ihre nächste Nachricht ein, wenn Sie Claude um eine Korrektur bitten. Claude sieht die Zeile nur, wenn Sie sie einfügen.

52 

51### Den Mod in anderen Sitzungen verwenden53### Den Mod in anderen Sitzungen verwenden

52 54 

53Ein von Claude geschriebener Mod wird nur in der Sitzung geladen, in der er erstellt wurde, und Claude Code löscht den Mods-Ordner dieser Sitzung, sobald er älter als [`cleanupPeriodDays`](https://code.claude.com/docs/de/settings-reference#cleanupperioddays) ist. Um den Mod zu behalten, kopieren Sie sein Verzeichnis aus dem Mods-Ordner an einen eigenen Ort, etwa `~/mods/git-branch`. Wählen Sie dann, wie er geladen werden soll:55Ein von Claude geschriebener Mod wird nur in der Sitzung geladen, in der er erstellt wurde, und Claude Code löscht den Mods-Ordner dieser Sitzung, sobald er älter als [`cleanupPeriodDays`](https://code.claude.com/docs/de/settings-reference#cleanupperioddays) ist. Um den Mod zu behalten, kopieren Sie sein Verzeichnis aus dem Mods-Ordner an einen eigenen Ort, etwa `~/mods/git-branch`. Wählen Sie dann, wie er geladen werden soll:

Details

93 93 

94## Auf das reagieren, was Claude tut94## Auf das reagieren, was Claude tut

95 95 

96Behandeln Sie diese Events, um einen Tool-Aufruf, einen Prompt oder einen Turn zu sehen oder zu ändern, während er stattfindet. Alle Events und was ein Hook jeweils zurückgeben kann, finden Sie in der [Event-Referenz](https://code.claude.com/docs/de/plugins/mods/reference.md#events).96Behandeln Sie diese Events, um einen Tool-Aufruf, einen Prompt, einen Turn oder einen Lesevorgang der Einstellungen zu sehen oder zu ändern, während er stattfindet. Alle Events und was ein Hook jeweils zurückgeben kann, finden Sie in der [Event-Referenz](https://code.claude.com/docs/de/plugins/mods/reference.md#events).

97 97 

98### Einen Tool-Aufruf absichern oder ändern98### Einen Tool-Aufruf absichern oder ändern

99 99 


115 115 

116Wenn Claude `git push --force` versucht, wird der Befehl nicht ausgeführt und es erscheint keine Berechtigungsabfrage, weil der Hook `next` nie aufruft. Claude liest den `deny`-Text als Ergebnis des Tools, formulieren Sie ihn also als Anweisung, nach der Claude handeln kann. Jeder andere Bash-Befehl wird so ausgeführt, wie er es ohne den Mod würde.116Wenn Claude `git push --force` versucht, wird der Befehl nicht ausgeführt und es erscheint keine Berechtigungsabfrage, weil der Hook `next` nie aufruft. Claude liest den `deny`-Text als Ergebnis des Tools, formulieren Sie ihn also als Anweisung, nach der Claude handeln kann. Jeder andere Bash-Befehl wird so ausgeführt, wie er es ohne den Mod würde.

117 117 

118Wenn dieser Hook einen Fehler auslöst oder das Zeitlimit überschreitet, überspringt Claude Code ihn, und der Befehl wird so fortgesetzt, wie er es ohne den Mod würde. Um den Befehl stattdessen abzulehnen, [fügen Sie dem Hook einen `.catch`-Handler hinzu](#handle-a-hook-that-fails).

119 

118Um nach der Ausführung eines Tools zu handeln, verwenden Sie `await next(e)`, erledigen Ihre Arbeit und geben zurück, was `next` Ihnen geliefert hat. Dieser Hook protokolliert jede `.mdx`-Datei, die Claude ändert, mit [`$.ui.log`](https://code.claude.com/docs/de/plugins/mods/api#show-something-without-starting-a-turn), das dem Transkript eine abgeblendete Zeile hinzufügt, die Claude nicht liest:120Um nach der Ausführung eines Tools zu handeln, verwenden Sie `await next(e)`, erledigen Ihre Arbeit und geben zurück, was `next` Ihnen geliefert hat. Dieser Hook protokolliert jede `.mdx`-Datei, die Claude ändert, mit [`$.ui.log`](https://code.claude.com/docs/de/plugins/mods/api#show-something-without-starting-a-turn), das dem Transkript eine abgeblendete Zeile hinzufügt, die Claude nicht liest:

119 121 

120```javascript theme={null}122```javascript theme={null}


177* **Der Benutzer gibt eine Antwort ein**: `$.ui.ask` wird mit dem eingegebenen Text aufgelöst. Der Hook vergleicht ihn mit `Run it`, sodass jeder andere Text den Befehl ablehnt.179* **Der Benutzer gibt eine Antwort ein**: `$.ui.ask` wird mit dem eingegebenen Text aufgelöst. Der Hook vergleicht ihn mit `Run it`, sodass jeder andere Text den Befehl ablehnt.

178* **Niemand antwortet**: `$.ui.ask` wird abgelehnt, wenn der Benutzer die Frage schließt oder **Chat about this** wählt, sowie in einer `claude -p`-Ausführung, sodass der `catch`-Block die Antwort auf `Refuse` belässt180* **Niemand antwortet**: `$.ui.ask` wird abgelehnt, wenn der Benutzer die Frage schließt oder **Chat about this** wählt, sowie in einer `claude -p`-Ausführung, sodass der `catch`-Block die Antwort auf `Refuse` belässt

179 181 

180Lassen Sie das Warten innerhalb eines Aufrufs der Mods-API wie `$.ui.ask` stattfinden, weil diese Zeit nicht auf das [Zeitlimit](https://code.claude.com/docs/de/plugins/mods/reference.md#limits) des Hooks angerechnet wird. Zeit, die Sie mit dem Warten auf ein eigenes Promise verbringen, wird hingegen angerechnet. Claude Code überspringt einen Hook, der das Zeitlimit überschreitet, sodass der zurückgehaltene Befehl ausgeführt würde.182Lassen Sie das Warten innerhalb eines Aufrufs der Mods-API wie `$.ui.ask` stattfinden, weil diese Zeit nicht auf das [Zeitlimit](https://code.claude.com/docs/de/plugins/mods/reference.md#limits) des Hooks angerechnet wird. Zeit, die Sie mit dem Warten auf ein eigenes Promise verbringen, wird hingegen angerechnet.

183 

184Claude Code überspringt einen Hook, der das Zeitlimit überschreitet, sodass der zurückgehaltene Befehl ausgeführt würde. Um ihn stattdessen abzulehnen, hängen Sie [einen `.catch`-Handler](#handle-a-hook-that-fails) an die Registrierung an, die `on` zurückgibt. Dieser Handler ist vom `catch`-Block innerhalb des Hooks getrennt.

181 185 

182#### Einen Tool-Aufruf genehmigen oder ablehnen, bevor der Benutzer gefragt wird186#### Einen Tool-Aufruf genehmigen oder ablehnen, bevor der Benutzer gefragt wird

183 187 


207 211 

208* **Auf `main`**: Der Hook gibt `deny` zurück, selbst wenn eine Regel `git push` erlaubt212* **Auf `main`**: Der Hook gibt `deny` zurück, selbst wenn eine Regel `git push` erlaubt

209* **Auf einem anderen Branch und bei anderen Befehlen**: Der Aufruf erhält die Entscheidung, die er ohne den Mod erhalten würde213* **Auf einem anderen Branch und bei anderen Befehlen**: Der Aufruf erhält die Entscheidung, die er ohne den Mod erhalten würde

214* **Der Hook löst einen Fehler aus oder überschreitet das Zeitlimit**: Der Aufruf erhält ebenfalls die Entscheidung, die er ohne den Mod erhalten würde. Um den Aufruf stattdessen abzulehnen, [fügen Sie einen `.catch`-Handler hinzu](#handle-a-hook-that-fails), der `{ decision: 'deny', reason: 'the reason' }` zurückgibt.

210 215 

211Der Hook prüft den Text des Befehls, betrachten Sie ihn also als Erinnerung für Claude. Um Pushes auf `main` für alle zu blockieren, schützen Sie den Branch bei Ihrem Git-Host.216Der Hook prüft den Text des Befehls, betrachten Sie ihn also als Erinnerung für Claude. Um Pushes auf `main` für alle zu blockieren, schützen Sie den Branch bei Ihrem Git-Host.

212 217 


269 274 

270Wenn Sie einen Prompt wie `open a PR for this change` senden, sieht Ihre Nachricht im Transkript unverändert aus, und Claude liest danach zusätzlich eine Zeile wie `Current branch: feature/auth`. Ein Prompt, der keinen Pull Request erwähnt, wird unverändert weitergeleitet, und `git` wird nicht ausgeführt.275Wenn Sie einen Prompt wie `open a PR for this change` senden, sieht Ihre Nachricht im Transkript unverändert aus, und Claude liest danach zusätzlich eine Zeile wie `Current branch: feature/auth`. Ein Prompt, der keinen Pull Request erwähnt, wird unverändert weitergeleitet, und `git` wird nicht ausgeführt.

271 276 

272Um einen Prompt zu stoppen, geben Sie `{ drop: 'the reason' }` zurück, ohne `next` aufzurufen. Der Text wandert zurück in das Eingabefeld des Benutzers, und dieser sieht `Prompt dropped by a hook:` gefolgt von Ihrem Grund, richten Sie den Grund also an ihn. Wenn Ihr Hook ein `drop` zurückgibt, nachdem sein Aufruf von `next(e)` den Prompt durchgelassen hat, wird der Turn trotzdem ausgeführt, und der Hook [schlägt fehl](#handle-a-hook-that-fails), mit einer Meldung, die `a drop after its next() was answered` enthält.277Um einen Prompt zu stoppen, geben Sie `{ drop: 'the reason' }` zurück, ohne `next` aufzurufen. Der Text wandert zurück in das Eingabefeld des Benutzers, und dieser sieht `Prompt dropped by a hook:` gefolgt von Ihrem Grund, richten Sie den Grund also an ihn. In diesen Fällen wird der Prompt trotzdem gesendet:

278 

279* **Ihr Hook gibt ein `drop` zurück, nachdem sein Aufruf von `next(e)` den Prompt durchgelassen hat**: Der Turn wird trotzdem ausgeführt, und der Hook [schlägt fehl](#handle-a-hook-that-fails), mit einer Meldung, die `a drop after its next() was answered` enthält

280* **Ihr Hook löst einen Fehler aus oder überschreitet das Zeitlimit**: Claude Code überspringt ihn und sendet den Prompt. [Fügen Sie einen `.catch`-Handler hinzu](#handle-a-hook-that-fails), damit ein Fehler keinen Prompt sendet, den der Hook gestoppt hätte.

273 281 

274[Weitere Events](https://code.claude.com/docs/de/plugins/mods/reference.md#prompts-and-what-claude-reads) decken den Rest dessen ab, was Claude liest: `prompt.section` für jeden Abschnitt des System-Prompts, `prompt.context` für den mit der ersten Nachricht gesendeten Kontext und `skill.prompt` für den Text eines Skills. Text aus diesen Hooks, der sich zwischen Anfragen ändert, [macht den Prompt-Cache ungültig](https://code.claude.com/docs/de/prompt-caching.md). In einem `skill.prompt`-Hook können Sie außerdem auslesen, [aus welchem Plugin oder welcher Datei der Skill stammt](https://code.claude.com/docs/de/plugins/mods/reference.md#skill-prompt-fields).282[Weitere Events](https://code.claude.com/docs/de/plugins/mods/reference.md#prompts-and-what-claude-reads) decken den Rest dessen ab, was Claude liest: `prompt.section` für jeden Abschnitt des System-Prompts, `prompt.context` für den mit der ersten Nachricht gesendeten Kontext und `skill.prompt` für den Text eines Skills. Text aus diesen Hooks, der sich zwischen Anfragen ändert, [macht den Prompt-Cache ungültig](https://code.claude.com/docs/de/prompt-caching.md). In einem `skill.prompt`-Hook können Sie außerdem auslesen, [aus welchem Plugin oder welcher Datei der Skill stammt](https://code.claude.com/docs/de/plugins/mods/reference.md#skill-prompt-fields).

275 283 


305 313 

306Um die Tool-Aufrufe zu sehen, die die API während der Anfrage selbst ausgeführt hat, etwa Aufrufe des [Advisor-Tools](https://code.claude.com/docs/de/advisor.md), lesen Sie `result.serverToolUses`. Claude Code führt diese Aufrufe nicht aus, daher wird für sie kein `tool.call`- oder `tool.check`-Hook ausgelöst. Das Feld fehlt, wenn die Antwort keine solchen Aufrufe enthält, und erfordert Claude Code v2.1.290 oder höher.314Um die Tool-Aufrufe zu sehen, die die API während der Anfrage selbst ausgeführt hat, etwa Aufrufe des [Advisor-Tools](https://code.claude.com/docs/de/advisor.md), lesen Sie `result.serverToolUses`. Claude Code führt diese Aufrufe nicht aus, daher wird für sie kein `tool.call`- oder `tool.check`-Hook ausgelöst. Das Feld fehlt, wenn die Antwort keine solchen Aufrufe enthält, und erfordert Claude Code v2.1.290 oder höher.

307 315 

316### Einen Lesevorgang der Einstellungen ändern oder ablehnen

317 

318Ein `settings.read`-Hook wird beim Lesevorgang eines Mods und beim eigenen Lesevorgang von Claude Code ausgeführt:

319 

320* **Lesevorgang eines Mods**: Ein Mod ruft [`$.settings.read`](https://code.claude.com/docs/de/plugins/mods/api#read-one-source-or-one-key) auf.

321* **Eigener Lesevorgang von Claude Code**: Claude Code erstellt die zusammengeführten Einstellungen der Sitzung. Dieser Lesevorgang wiederholt sich, wenn sich die Einstellungen oder die geladenen Plugins ändern.

322 

323Bevor Sie sich auf einen der beiden Lesevorgänge verlassen, prüfen Sie den Wächter und Ihre Version:

324 

325* **Der integrierte Wächter**: Mit verwalteten Einstellungen oder mit einem Team- oder Enterprise-[`/login`](https://code.claude.com/docs/de/authentication#authentication-precedence) als Anmeldedaten der Sitzung kann der [integrierte Wächter](https://code.claude.com/docs/de/plugins/mods/admin.md#know-what-happens-by-default) diesen Hook in einem Mod überspringen, den Sie installieren oder mit `--plugin-dir` laden. Um dies zu prüfen, durchsuchen Sie das [Debug-Log](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#read-the-debug-log) nach `settings.read bypassed by cc-plugin-sec-default`. Wenn eine Zeile mit diesem Text Ihren Mod nennt, bitten Sie den Administrator Ihrer Organisation, [den Mod als einen der Mods der Organisation zu installieren](https://code.claude.com/docs/de/plugins/mods/admin.md#install-your-organizations-mods).

326* **Die Version**: Das Auslösen des Events beim eigenen Lesevorgang von Claude Code und das Feld `e.layers` erfordern Claude Code v2.1.304 oder höher.

327 

328#### Was ein `settings.read`-Hook erhält

329 

330| Feld | Typ | Inhalt |

331| :- | :- | :- |

332| `e.layers` | Array | Ein `{ source, settings }`-Objekt für jede verwendete Quelle, die Einstellungen enthält, die mit dem niedrigsten [Vorrang](https://code.claude.com/docs/de/settings.md#settings-precedence) zuerst: `plugin`, `user`, `project`, `local`, `flag`, `policy`. Leer in `claude plugin test`. |

333| `e.source` | String | Die eine Quelle, die ein Mod angefordert hat, wie in `$.settings.read({ source: 'policy' })`. `e.layers` enthält dann nur diese Ebene. Fehlt beim eigenen Lesevorgang von Claude Code und bei jedem anderen Lesevorgang der zusammengeführten Einstellungen. |

334 

335In `e.layers` enthält `plugin` die Einstellungen, die aktivierte Plugins bereitstellen, und ist nur ein Ebenenname, keine `source`, die Sie an `$.settings.read` übergeben können. `flag` enthält die mit `--settings` übergebenen Einstellungen, und `policy` enthält die verwalteten Einstellungen.

336 

337#### Den eigenen Lesevorgang von Claude Code vom Lesevorgang eines Mods unterscheiden

338 

339Beim [eigenen Lesevorgang von Claude Code](#settings-read-hook) ist [`next.origin`](https://code.claude.com/docs/de/plugins/mods/reference#the-hook-function) gleich `{ plugin: 'engine', tier: 'core' }`, und beim Lesevorgang eines Mods ist `next.origin.plugin` der Name des aufrufenden Mods.

340 

341#### Was ein `settings.read`-Hook zurückgeben kann

342 

343Ihr Hook kann das Ergebnis von [`next(e)`](https://code.claude.com/docs/de/plugins/mods/reference#the-hook-function) unverändert, ein eigenes `{ value }` oder `{ deny: reason }` zurückgeben. Beim [eigenen Lesevorgang von Claude Code](#settings-read-hook) und beim Lesevorgang eines Mods ersetzt ein `{ value }` das, was der Lesevorgang liefert, und `{ deny: reason }` lehnt den Lesevorgang ab:

344 

345| Rückgabe | Beim eigenen Lesevorgang von Claude Code | Beim Lesevorgang eines Mods |

346| :- | :- | :- |

347| `{ value }` | Für jeden Schlüssel, den Sie ändern, ersetzt Ihre Rückgabe den gesamten Wert dieses Schlüssels in den zusammengeführten Einstellungen der Sitzung, sofern sie [zum Schema des Schlüssels passt](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#settings-read-key-refused) | Der Aufruf dieses Mods wird mit Ihrem `value` aufgelöst oder mit dem angeforderten `key` aus Ihrem `value`, geben Sie also ein ganzes Objekt zurück und kein Array |

348| `{ deny: reason }` | Die Sitzung behält die Einstellungen so, wie sie zusammengeführt wurden, bevor ein Hook geantwortet hat, und das [Debug-Log hält Ihren `reason` fest](https://code.claude.com/docs/de/plugins/mods/troubleshoot#settings-read-refused) | Der Aufruf dieses Mods wird mit `<calling mod>: $.settings.read: <reason>` abgelehnt |

349 

350Bauen Sie Ihr `{ value }` beim eigenen Lesevorgang von Claude Code aus dem [`value` von `next(e)`](#settings-read-next) auf, da ein Schlüssel, den Sie weglassen, nicht gesetzt ist. Wo Claude Code einen Schlüssel wie `env` aus jeder Quelle separat liest, [hat eine Änderung in Ihrem `value` keine Wirkung](https://code.claude.com/docs/de/plugins/mods/troubleshoot#settings-read-key-no-effect).

351 

352#### Was `next(e)` einem `settings.read`-Hook liefert

353 

354`next(e)` wird mit `{ value }` oder mit `{ deny }` aufgelöst:

355 

356* **`{ value }`**: `value` sind die zusammengeführten Einstellungen oder die Einstellungen einer Quelle, wenn [`e.source`](#settings-read-receives) gesetzt ist. Wenn ein Hook, der [nach Ihrem ausgeführt wird](#the-order-mods-run-in), ein eigenes `{ value }` zurückgegeben hat, erhalten Sie stattdessen den `value` dieses Hooks.

357* **`{ deny }`**: Ein Hook, der nach Ihrem ausgeführt wird, hat den Lesevorgang abgelehnt. Geben Sie dieses `{ deny }` unverändert zurück.

358 

359#### Eine Einstellung aus einem `settings.read`-Hook ändern

360 

361Prüfen Sie zuerst, [welche Mods dieses Event erhalten und ab welcher Version](#settings-read-hook).

362 

363Um einen Schlüssel zu ändern, übernehmen Sie den `value` aus [`next(e)`](https://code.claude.com/docs/de/plugins/mods/reference#the-hook-function) per Spread und setzen diesen Schlüssel, wie es dieser Hook mit [`spinnerTipsEnabled`](https://code.claude.com/docs/de/settings-reference#spinnertipsenabled) tut. Der Hook prüft [`next.origin`](#settings-read-origin) nicht, daher ändert er den Schlüssel beim [eigenen Lesevorgang von Claude Code](#settings-read-hook) und beim zusammengeführten Lesevorgang eines Mods gleichermaßen:

364 

365```javascript theme={null}

366on('settings.read', async ($, e, next) => {

367 const read = await next(e)

368 // Pass through a read of one source, so that only the merged settings change.

369 // Pass through a { deny } from a later hook too: it has no value.

370 if (e.source || !read.value) return read

371 // Keep every other key and change this one

372 return { value: { ...read.value, spinnerTipsEnabled: false } }

373})

374```

375 

376Wenn Ihr Hook beim eigenen Lesevorgang von Claude Code einen Wert außerhalb des Schemas des Schlüssels zurückgibt, etwa einen String, behält nur dieser Schlüssel den Wert, der zusammengeführt wurde, bevor ein Hook geantwortet hat. Das Debug-Log meldet dann [`the answer for <key> is no value the key can hold`](https://code.claude.com/docs/de/plugins/mods/troubleshoot#settings-read-key-refused). Wenn Ihr Wert passt und sich der Schlüssel trotzdem nicht ändert, lesen Sie, [warum ein zurückgegebener Schlüssel keine Wirkung hat](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#settings-read-key-no-effect).

377 

308### Die Events der Einstellungs-Hooks behandeln378### Die Events der Einstellungs-Hooks behandeln

309 379 

310Einstellungs-Hooks sind die Befehls-, HTTP-, Prompt- und Agent-Hooks, die Sie in Einstellungsdateien konfigurieren. Jedes [Event eines Einstellungs-Hooks](https://code.claude.com/docs/de/hooks.md#hook-events), etwa `Stop`, `SessionEnd` oder `PostToolUse`, ist auch ein Event, das aus `classic.` gefolgt vom Namen des Einstellungs-Hook-Events besteht, etwa `classic.Stop`. `e` ist das JSON, das ein Einstellungs-Hook über stdin erhält, einschließlich `transcript_path`.380Einstellungs-Hooks sind die Befehls-, HTTP-, Prompt- und Agent-Hooks, die Sie in Einstellungsdateien konfigurieren. Jedes [Event eines Einstellungs-Hooks](https://code.claude.com/docs/de/hooks.md#hook-events), etwa `Stop`, `SessionEnd` oder `PostToolUse`, ist auch ein Event, das aus `classic.` gefolgt vom Namen des Einstellungs-Hook-Events besteht, etwa `classic.Stop`. `e` ist das JSON, das ein Einstellungs-Hook über stdin erhält, einschließlich `transcript_path`.

Details

508* **`Input`**: nimmt `onSubmit(value)` und `onInput(value)` entgegen508* **`Input`**: nimmt `onSubmit(value)` und `onInput(value)` entgegen

509* **`Select`**: nimmt `onSelect(value)` entgegen, mit seinen Auswahlmöglichkeiten in `options`, einer Liste mit mindestens einer Auswahl mit eindeutigen Werten, etwa `[{ value: 'sm', label: 'Small' }, { value: 'lg', label: 'Large' }]`509* **`Select`**: nimmt `onSelect(value)` entgegen, mit seinen Auswahlmöglichkeiten in `options`, einer Liste mit mindestens einer Auswahl mit eindeutigen Werten, etwa `[{ value: 'sm', label: 'Small' }, { value: 'lg', label: 'Large' }]`

510 510 

511Ein Test drückt ein Steuerelement oder tippt in es hinein, indem er es über seinen `key` anspricht, geben Sie also jedem Steuerelement einen. Jede Verwendung eines Steuerelements löst außerdem [`ui.press`, `ui.input` oder `ui.select`](https://code.claude.com/docs/de/plugins/mods/reference#interface) mit dem `key` in `e.element` aus, und ein anderer Mod kann diese Ereignisse verarbeiten. Sein Hook läuft vor Ihrem Callback, sodass er sieht, was der Benutzer in Ihr `Input` eingibt, und es ändern oder anstelle Ihres Callbacks antworten kann. Die Mods-API hat keine Methode, mit der sich die Schaltfläche eines anderen Mods drücken lässt.511### Welche Steuerelemente einen `key` benötigen

512 

513Geben Sie jedem `Input` und `Select` eine `key`-Prop, etwa `key: 'size'`. Ein `Button` kommt ohne `key` aus, wenn er eine `label`-Prop oder ein einzelnes String-Kind hat. Sein Key ist dann der Wert von `label` bzw. dieser String.

514 

515Tests und andere Mods identifizieren ein Steuerelement über seinen Key:

516 

517* **Tests**: Ein [Test](https://code.claude.com/docs/de/plugins/mods/test.md#test-a-drawing) drückt ein Steuerelement oder tippt in es hinein, indem er es über seinen Key anspricht.

518* **Andere Mods**: Claude Code löst [`ui.press`, `ui.input` oder `ui.select`](https://code.claude.com/docs/de/plugins/mods/reference#interface) mit dem Key des Steuerelements in `e.element` aus, bevor es den Callback des Steuerelements ausführt. Der Hook eines anderen Mods für dieses Ereignis sieht, was der Benutzer in Ihr `Input` eingegeben hat, und kann diesen Text ändern oder verhindern, dass Ihr Callback ausgeführt wird. Die Mods-API gibt diesem Mod keine Methode, mit der er Ihre Schaltflächen drücken kann.

519 

520Wenn eine Meldung `needs a key` oder `is drawn twice` lautet, [finden Sie die Ursache anhand dieser Meldung](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#needs-a-key).

512 521 

513### Tastaturfokus und Hotkeys522### Tastaturfokus und Hotkeys

514 523 

Details

21| `.claude-plugin/plugin.json` | Ja | Das [Manifest](https://code.claude.com/docs/de/plugins/manifest-reference.md) des Plugins. Mods fügen keine erforderlichen Felder hinzu. |21| `.claude-plugin/plugin.json` | Ja | Das [Manifest](https://code.claude.com/docs/de/plugins/manifest-reference.md) des Plugins. Mods fügen keine erforderlichen Felder hinzu. |

22| `hooks/hooks.json` | Ja | `modules`: ein Array mit einem Pfad zum Hooks-Modul, relativ zu dieser Datei, wie in `"modules": ["./register.js"]`. Kann unter `hooks` auch [Einstellungs-Hooks](https://code.claude.com/docs/de/hooks.md) enthalten. |22| `hooks/hooks.json` | Ja | `modules`: ein Array mit einem Pfad zum Hooks-Modul, relativ zu dieser Datei, wie in `"modules": ["./register.js"]`. Kann unter `hooks` auch [Einstellungs-Hooks](https://code.claude.com/docs/de/hooks.md) enthalten. |

23| Das Hooks-Modul, zum Beispiel [`hooks/register.js`](https://code.claude.com/docs/de/plugins/mods/create#write-a-mod-yourself) | Ja | Der Einstiegspunkt des Mods. Exportiert `register(on, options)`. Mit der Endung `.js`, `.mjs`, `.cjs`, `.jsx`, `.ts`, `.mts`, `.cts` oder `.tsx`. Ein ES-Modul. |23| Das Hooks-Modul, zum Beispiel [`hooks/register.js`](https://code.claude.com/docs/de/plugins/mods/create#write-a-mod-yourself) | Ja | Der Einstiegspunkt des Mods. Exportiert `register(on, options)`. Mit der Endung `.js`, `.mjs`, `.cjs`, `.jsx`, `.ts`, `.mts`, `.cts` oder `.tsx`. Ein ES-Modul. |

24| [`types/index.d.ts`](https://code.claude.com/docs/de/plugins/mods/interface#declare-the-values), im Manifest durch `types` angegeben | Wenn der Mod `$.state` verwendet oder der Mods-API einen Namespace hinzufügt | Deklariert `PluginState`-Werte und jeden Namespace, den der Mod hinzufügt |24| [`types/index.d.ts`](https://code.claude.com/docs/de/plugins/mods/interface#declare-the-values), sofern `types` im Manifest keinen anderen Pfad angibt | Wenn der Mod `$.state` verwendet oder der Mods-API einen Namespace hinzufügt | Deklariert `PluginState`-Werte und jeden Namespace, den der Mod hinzufügt. Um `types` im Manifest wegzulassen, benötigen Sie v2.1.299 oder höher. |

25| Dateien, deren Namen auf `.test.ts` oder `.test.tsx` enden | Nein | Tests, die [`claude plugin test`](https://code.claude.com/docs/de/plugins/mods/test#write-a-test) ausführt |25| Dateien, deren Namen auf `.test.ts` oder `.test.tsx` enden | Nein | Tests, die [`claude plugin test`](https://code.claude.com/docs/de/plugins/mods/test#write-a-test) ausführt |

26 26 

27`register` erhält `on` und `options`. `options` enthält die Werte der [`userConfig`](https://code.claude.com/docs/de/plugins/components#user-configuration)-Felder, die das Manifest deklariert, wobei Standardwerte ergänzt werden.27`register` erhält `on` und `options`. `options` enthält die Werte der [`userConfig`](https://code.claude.com/docs/de/plugins/components#user-configuration)-Felder, die das Manifest deklariert, wobei Standardwerte ergänzt werden.


110 110 

111### Befehle und Konfiguration111### Befehle und Konfiguration

112 112 

113Befehls- und Konfigurations-Events werden ausgelöst, wenn ein Befehl ausgeführt oder aufgelistet wird und wenn eine `/config`-Zeile angezeigt oder geändert wird:113Befehls- und Konfigurations-Events werden ausgelöst, wenn ein Befehl ausgeführt oder aufgelistet wird, wenn eine `/config`-Zeile angezeigt oder geändert wird und wenn Einstellungen gelesen werden:

114 114 

115| Event | Wird ausgelöst, wenn | Ein Hook kann zurückgeben |115| Event | Wird ausgelöst, wenn | Ein Hook kann zurückgeben |

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


118| `command.describe` | Einmal für jeden Befehl, für die Befehlsliste | `{ description, argumentHint, isHidden }` |118| `command.describe` | Einmal für jeden Befehl, für die Befehlsliste | `{ description, argumentHint, isHidden }` |

119| `config.set` | Eine `/config`-Zeile sich gleich ändert | `next({ ...e, value })` oder `{ deny: reason }` |119| `config.set` | Eine `/config`-Zeile sich gleich ändert | `next({ ...e, value })` oder `{ deny: reason }` |

120| `config.describe` | Einmal für jede `/config`-Zeile | `{ label, description, isHidden }` |120| `config.describe` | Einmal für jede `/config`-Zeile | `{ label, description, isHidden }` |

121| [`settings.read`](https://code.claude.com/docs/de/plugins/mods/events#settings-read-hook) | Ein Mod [`$.settings.read`](https://code.claude.com/docs/de/plugins/mods/api#reach-files-processes-and-the-network) aufruft oder Claude Code die zusammengeführten Einstellungen der Sitzung erstellt | `next(e)`, `{ value }` oder `{ deny: reason }` |

122 

123#### `e.layers` und `e.source` in `settings.read`

124 

125* **`e.layers`**: ein `{ source, settings }`-Objekt für jede verwendete Quelle, die Einstellungen enthält, mit dem niedrigsten [Vorrang](https://code.claude.com/docs/de/settings.md#settings-precedence) zuerst. Siehe [Was ein `settings.read`-Hook erhält](https://code.claude.com/docs/de/plugins/mods/events#settings-read-receives).

126* **`e.source`**: die eine Quelle, die ein Mod angefordert hat, wie in `$.settings.read({ source: 'policy' })`. Nicht vorhanden beim eigenen Lesevorgang von Claude Code und bei jedem anderen Lesevorgang der zusammengeführten Einstellungen

127 

128Bei `settings.read` erfordern das Auslösen des Events beim eigenen Lesevorgang von Claude Code und das Feld `e.layers` Claude Code v2.1.304 oder höher. Wann der Hook ausgeführt wird und was der Hook zurückgeben kann, mit einem Beispiel, finden Sie unter [Einen Lesevorgang von Einstellungen ändern oder ablehnen](https://code.claude.com/docs/de/plugins/mods/events.md#settings-read-hook).

121 129 

122### Turns130### Turns

123 131 

Details

168 168 

169Vor v2.1.292 wurde der Aufruf ein zweites Mal ausgeführt, sodass der Prompt zweimal gesendet, der Befehl zweimal ausgeführt oder der Subagent zweimal gestartet wurde.169Vor v2.1.292 wurde der Aufruf ein zweites Mal ausgeführt, sodass der Prompt zweimal gesendet, der Befehl zweimal ausgeführt oder der Subagent zweimal gestartet wurde.

170 170 

171### `This mod's change didn't load` oder `the earlier version is no longer running`

172 

173Eine Änderung an einem [Mod, den Claude in dieser Sitzung geschrieben hat](https://code.claude.com/docs/de/plugins/mods/create.md#ask-claude-for-a-mod), konnte nicht geladen werden. Die Zeile im Transkript beginnt mit dem Namen des Mods und endet mit dem Grund:

174 

175* `This mod's change didn't load, so the earlier version is still running: <reason>.`

176* `This mod didn't load, and the earlier version is no longer running: <reason>.`

177 

178Claude sieht diese Zeile nicht. Fügen Sie sie daher in Ihre nächste Nachricht ein, wenn Sie Claude um eine Korrektur bitten.

179 

171### `$.agent.register refused: the hooks module that made the call is no longer loaded`180### `$.agent.register refused: the hooks module that made the call is no longer loaded`

172 181 

173Die Zeile beginnt mit dem Namen Ihres Mods, wie in `first-mod: $.agent.register refused: the hooks module that made the call is no longer loaded (it was reloaded or removed)`, und der Agent wird nicht registriert. Ihr Mod wurde vor dem Aufruf neu geladen oder entladen. Ein Neuladen lädt eine neue Kopie des Hooks-Moduls, und dieser Aufruf stammt aus Code, der noch in der alten Kopie ausgeführt wurde, etwa aus einem Hook, der noch nicht zurückgekehrt war.182Die Zeile beginnt mit dem Namen Ihres Mods, wie in `first-mod: $.agent.register refused: the hooks module that made the call is no longer loaded (it was reloaded or removed)`, und der Agent wird nicht registriert. Ihr Mod wurde vor dem Aufruf neu geladen oder entladen. Ein Neuladen lädt eine neue Kopie des Hooks-Moduls, und dieser Aufruf stammt aus Code, der noch in der alten Kopie ausgeführt wurde, etwa aus einem Hook, der noch nicht zurückgekehrt war.


225 234 

226Lesen Sie den Grund in dieser Zeile. Häufige Ursachen sind eine Prop, die das Element nicht akzeptiert, und ein Element, das die App nicht hat.235Lesen Sie den Grund in dieser Zeile. Häufige Ursachen sind eine Prop, die das Element nicht akzeptiert, und ein Element, das die App nicht hat.

227 236 

237### `needs a key`, `is drawn twice` oder `key each once`

238 

239Ein Element im Baum, den Ihr `ui.render`-Hook zurückgibt, hat keinen gültigen [`key`](https://code.claude.com/docs/de/plugins/mods/interface#which-controls-need-a-key), oder zwei Elemente teilen sich einen. Suchen Sie die Meldung, die Sie erhalten haben:

240 

241* **`<Input> needs a key` oder `<Select> needs a key`**: Das Element hat keine Prop `key`, oder sein `key` ist leer oder kein String, etwa `key: 3`. Geben Sie ihm einen nicht leeren String als `key`.

242* **`<Button> needs a key`**: Geben Sie der Schaltfläche einen nicht leeren String als `key`

243* **`is drawn twice; each takes its own key`**: Zwei Elemente der in der Meldung genannten Art haben denselben `key`, etwa `Input "size" is drawn twice; each takes its own key`. Geben Sie jedem Element einen eigenen `key`.

244* **`key each once` von `press` in einem [Test](https://code.claude.com/docs/de/plugins/mods/test.md#test-a-drawing)**: Die Darstellung enthält mehr als eine Schaltfläche mit dem Key, den Sie übergeben haben. Schaltflächen mit derselben Beschriftung und ohne Prop `key` teilen sich diese Beschriftung als Key. Geben Sie jeder Schaltfläche einen eigenen `key`.

245 

228### Eine `ui.render`-Zeile meldet `threw while drawn`246### Eine `ui.render`-Zeile meldet `threw while drawn`

229 247 

230Die Zeile nennt die [Render-Stelle](https://code.claude.com/docs/de/plugins/mods/reference.md#render-sites) und meldet dann `threw while drawn:` zusammen mit dem Fehler, etwa `first-mod: ui.render (ToolUse) threw while drawn: <error>; the engine drew its own`. Claude Code ist auf diesen Fehler gestoßen, als es den Baum gezeichnet hat, den Ihr [`ui.render`](https://code.claude.com/docs/de/plugins/mods/reference#interface)-Hook zurückgegeben hat, oder als es die Stelle anhand der [`props` gezeichnet hat, die Ihr Hook an `next` übergeben hat](https://code.claude.com/docs/de/plugins/mods/interface#change-what-claude-code-already-draws). Das Ende `the engine drew its own` bedeutet, dass die Stelle den üblichen Inhalt von Claude Code zeigt.248Die Zeile nennt die [Render-Stelle](https://code.claude.com/docs/de/plugins/mods/reference.md#render-sites) und meldet dann `threw while drawn:` zusammen mit dem Fehler, etwa `first-mod: ui.render (ToolUse) threw while drawn: <error>; the engine drew its own`. Claude Code ist auf diesen Fehler gestoßen, als es den Baum gezeichnet hat, den Ihr [`ui.render`](https://code.claude.com/docs/de/plugins/mods/reference#interface)-Hook zurückgegeben hat, oder als es die Stelle anhand der [`props` gezeichnet hat, die Ihr Hook an `next` übergeben hat](https://code.claude.com/docs/de/plugins/mods/interface#change-what-claude-code-already-draws). Das Ende `the engine drew its own` bedeutet, dass die Stelle den üblichen Inhalt von Claude Code zeigt.


303 321 

304[Laden Sie den gespeicherten Wert erneut](https://code.claude.com/docs/de/plugins/mods/interface.md#load-a-saved-value-again-after-clear) in einem `classic.SessionStart`-Hook.322[Laden Sie den gespeicherten Wert erneut](https://code.claude.com/docs/de/plugins/mods/interface.md#load-a-saved-value-again-after-clear) in einem `classic.SessionStart`-Hook.

305 323 

324### Ein Schlüssel, den Ihr `settings.read`-Hook zurückgibt, wird nicht wirksam

325 

326Zurückgegebene `env`-Einträge werden nicht zu Umgebungsvariablen. Zurückgegebene `allow`-, `ask`- und `deny`-Regeln werden bei Tool-Aufrufen nicht geprüft. Legen Sie diese in einer [Einstellungsdatei](https://code.claude.com/docs/de/settings.md) fest, oder rufen Sie für Umgebungsvariablen [`$.env.set`](https://code.claude.com/docs/de/plugins/mods/api#reach-files-processes-and-the-network) auf.

327 

328Prüfen Sie bei einem anderen Schlüssel, [welche Mods `settings.read` erhalten und ab welcher Version](https://code.claude.com/docs/de/plugins/mods/events#settings-read-hook), durchsuchen Sie dann das [Debug-Log](#read-the-debug-log) nach `settings.read` und suchen Sie nach einer dieser Zeilen:

329 

330| Log-Zeile | Bedeutung und Schritt |

331| :- | :- |

332| `settings.read hook skipped`, nach dem Namen Ihres Mods | Ihr Hook ist fehlgeschlagen. [Beheben Sie den Fehler, den die Zeile meldet](#hook-skipped). |

333| `settings.read bypassed by cc-plugin-sec-default`, in einer Zeile, die Ihren Mod davor nennt | Der [integrierte Wächter](https://code.claude.com/docs/de/plugins/mods/admin.md#know-what-happens-by-default) hat Ihren Hook übersprungen. Bitten Sie den Administrator Ihrer Organisation, [den Mod als einen der Mods der Organisation zu installieren](https://code.claude.com/docs/de/plugins/mods/admin.md#install-your-organizations-mods). |

334| `settings.read: the answer for <key> is no value the key can hold` | Der zurückgegebene Wert passt nicht zum Schema des Schlüssels. [Geben Sie einen Wert zurück, den es zulässt](#settings-read-key-refused). |

335| `settings.read: the merge never settles for <key>` | Die Schlüssel, die die Zeile nennt, behalten die Werte der Einstellungsquellen. Legen Sie sie in einer Einstellungsdatei fest. |

336| `answered settings.read without next()`, nach dem Namen eines Mods | Nur relevant, wenn dieser Mod [vor Ihrem ausgeführt wird](https://code.claude.com/docs/de/plugins/mods/events.md#the-order-mods-run-in). Dann wurde Ihr Hook bei diesem Lesevorgang nicht ausgeführt. [Schalten Sie diesen Mod aus](https://code.claude.com/docs/de/plugins/mods/overview.md#turn-mods-on-or-off), oder bitten Sie, falls Ihre Organisation ihn bereitgestellt hat, deren Administrator darum. |

337| `settings.read: refused to the engine` | Der Lesevorgang wurde abgelehnt, daher wurde kein `{ value }` eines Hooks angewendet. [Finden Sie heraus, was ihn abgelehnt hat](#settings-read-refused). |

338 

339Wenn keine Zeile den Schlüssel erklärt, prüfen Sie die Mods, die vor Ihrem ausgeführt werden, auf einen `settings.read`-Hook, der [den Schlüssel ändert](https://code.claude.com/docs/de/plugins/mods/events.md#settings-read-example). Schalten Sie diesen Mod aus, oder bitten Sie den Administrator Ihrer Organisation darum. Wenn kein Hook dies tut, legen Sie den Schlüssel in einer Einstellungsdatei fest.

340 

341### `the answer for <key> is no value the key can hold`

342 

343Diese Zeile im [Debug-Log](#read-the-debug-log) bedeutet, dass Claude Code den Wert abgelehnt hat, den Ihr [`settings.read`](https://code.claude.com/docs/de/plugins/mods/events#settings-read-hook)-Hook für den genannten Schlüssel zurückgegeben hat, und zwar nur für diesen Schlüssel:

344 

345```text theme={null}

346settings.read: the answer for <key> is no value the key can hold; the settings' own value stands

347```

348 

349Der Wert, den Sie für den genannten Schlüssel zurückgegeben haben, passte nicht zum Schema dieses Schlüssels, zum Beispiel hinsichtlich Typ oder Wertebereich. Geben Sie einen Wert zurück, den der Eintrag des Schlüssels in der [Einstellungsreferenz](https://code.claude.com/docs/de/settings-reference.md) zulässt. Solange Ihr Wert nicht passt, behält der Schlüssel den Wert, der aus den Einstellungsquellen zusammengeführt wurde, bevor ein Hook geantwortet hat. Die Zeile nennt ihn den eigenen Wert der Einstellungen.

350 

351### `settings.read: refused to the engine`

352 

353Diese Zeile im [Debug-Log](#read-the-debug-log) bedeutet, dass [der eigene Lesevorgang von Claude Code](https://code.claude.com/docs/de/plugins/mods/events.md#settings-read-hook) abgelehnt wurde, sodass kein `{ value }` eines Hooks angewendet wurde, auch Ihrer nicht. Wenn ein `settings.read`-Hook diesen Lesevorgang mit [`{ deny: reason }`](https://code.claude.com/docs/de/plugins/mods/events#settings-read-returns) ablehnt, enthält die Zeile die Begründung dieses Hooks:

354 

355```text theme={null}

356settings.read: refused to the engine (engine: $.settings.read: <reason>); the settings' own values stand

357```

358 

359Durchsuchen Sie den Code Ihres eigenen Hooks nach dem `<reason>`-Text:

360 

361* **Ihr Code enthält ihn**: Ihr Hook hat den Lesevorgang abgelehnt. Sorgen Sie dafür, dass er `{ value }` zurückgibt, wenn [`next.origin`](https://code.claude.com/docs/de/plugins/mods/events#settings-read-origin) den eigenen Lesevorgang von Claude Code anzeigt.

362* **Ihr Code enthält ihn nicht**: [Schalten Sie](https://code.claude.com/docs/de/plugins/mods/overview.md#turn-mods-on-or-off) Ihre anderen Mods nacheinander aus. Führen Sie nach jedem Mod den Befehl dieser Sitzung erneut aus Ihrer Shell aus, mit einem `--debug-file` auf einem neuen Pfad, und durchsuchen Sie diese Datei nach `refused to the engine`. Wenn die Zeile vorhanden ist, schalten Sie den nächsten Mod aus. Wenn nicht, hat der zuletzt ausgeschaltete Mod den Lesevorgang abgelehnt; lassen Sie ihn also ausgeschaltet.

363 

364Wenn kein anderer Mod mehr übrig ist, verwenden Sie eine [Einstellungsdatei](https://code.claude.com/docs/de/settings.md) für die Schlüssel, die Ihr Hook zurückgibt. Deren Werte gelten, während der Lesevorgang abgelehnt wird.

365 

306## Das Debug-Log lesen366## Das Debug-Log lesen

307 367 

308Das Debug-Log enthält eine Zeile für jedes Modul, das Claude Code lädt oder ablehnt, für jeden Hook, der fehlschlägt, und für jedes Ergebnis, das es ablehnt. Dort sollten Sie also nachsehen, wenn das Transkript nichts anzeigt. Um eines zu schreiben, starten Sie Claude Code in Ihrer Shell mit `--debug` oder mit `--debug-file <path>`, um festzulegen, wohin es geschrieben wird:368Das Debug-Log enthält eine Zeile für jedes Modul, das Claude Code lädt oder ablehnt, für jeden Hook, der fehlschlägt, und für jedes Ergebnis, das es ablehnt. Dort sollten Sie also nachsehen, wenn das Transkript nichts anzeigt. Um eines zu schreiben, starten Sie Claude Code in Ihrer Shell mit `--debug` oder mit `--debug-file <path>`, um festzulegen, wohin es geschrieben wird:

Details

251 251 

252Überprüfen Sie zunächst das Repository selbst: ein falsch geschriebenes `owner/repo`, ein Repository, das nicht vorhanden ist, oder ein privates Repository, das Sie nicht sehen können, endet auch in dieser Meldung. Öffnen Sie die Repository-URL in Ihrem Browser, oder führen Sie `git ls-remote <url>` in Ihrem Terminal aus, um zu bestätigen, dass es vorhanden ist und Sie Zugriff haben.252Überprüfen Sie zunächst das Repository selbst: ein falsch geschriebenes `owner/repo`, ein Repository, das nicht vorhanden ist, oder ein privates Repository, das Sie nicht sehen können, endet auch in dieser Meldung. Öffnen Sie die Repository-URL in Ihrem Browser, oder führen Sie `git ls-remote <url>` in Ihrem Terminal aus, um zu bestätigen, dass es vorhanden ist und Sie Zugriff haben.

253 253 

254Wenn das Repository richtig ist, liegt die Ursache bei den Anmeldedaten. Claude Code führt Git mit deaktivierten interaktiven Eingabeaufforderungen aus, daher kann es Sie nicht um ein Passwort, eine Schlüsselpassphrase oder eine Anmeldedaten fragen, wie Ihr Terminal es würde. Wenn Git eine Eingabeaufforderung benötigt, sehen Sie `fatal: Cannot prompt because user interactivity has been disabled` oder `terminal prompts disabled` im ursprünglichen Fehler. Nur Anmeldedaten, die bereits nicht-interaktiv funktionieren, sind erfolgreich:254Wenn das Repository richtig ist, liegt die Ursache bei den Anmeldedaten. Claude Code deaktiviert die Eingabeaufforderungen und askpass-Programme von Git, einschließlich eines in `GIT_ASKPASS` festgelegten, und führt SSH im Batch-Modus aus. Wenn Git eine Eingabe anfordern muss, enthält der Fehler des Clones `fatal: Cannot prompt because user interactivity has been disabled`, `terminal prompts disabled` oder `fatal: unable to get password from user`. Nur Anmeldedaten, die Git ohne Eingabeaufforderung oder askpass-Programm erhalten kann, führen zum Erfolg:

255 255 

256* **SSH**: `ssh -T git@<host>` muss ohne Aufforderung für eine Passphrase erfolgreich sein, und der Host muss bereits in `known_hosts` sein256* **SSH**: `ssh -T git@<host>` muss ohne Aufforderung für eine Passphrase erfolgreich sein, und der Host muss bereits in `known_hosts` sein

257* **HTTPS**: Ihr Credential Helper muss ein Token für den Host enthalten. Für GitHub führen Sie `gh auth login` und `gh auth setup-git` aus. Für einen anderen Host speichern Sie ein persönliches Zugriffstoken in Ihrem Git-Credential Helper. Testen Sie mit `git ls-remote <url>`257* **HTTPS**: Ihr Credential Helper muss ein Token für den Host enthalten. Für GitHub führen Sie `gh auth login` und `gh auth setup-git` aus. Für einen anderen Host speichern Sie ein persönliches Zugriffstoken in Ihrem Git-Credential Helper. Zum Testen heben Sie `GIT_ASKPASS` in Ihrem Terminal auf und führen `git -c core.askPass= ls-remote <url>` aus.

258 258 

259Sobald `git ls-remote` in Ihrem Terminal ohne Eingabeaufforderung erfolgreich ist, führen Sie das Hinzufügen oder die Aktualisierung erneut aus. Ein erfolgreiches Hinzufügen druckt `Successfully added marketplace: <name>`. Eine erfolgreiche Aktualisierung druckt `Successfully updated marketplace: <name>` aus Ihrer Shell oder `✔ Updated 1 marketplace` in einer Sitzung.259Sobald die Prüfung für Ihr Protokoll ohne Eingabeaufforderung erfolgreich ist, führen Sie das Hinzufügen oder die Aktualisierung erneut aus. Ein erfolgreiches Hinzufügen druckt `Successfully added marketplace: <name>`. Eine erfolgreiche Aktualisierung druckt `Successfully updated marketplace: <name>` aus Ihrer Shell oder `✔ Updated 1 marketplace` in einer Sitzung.

260 260 

261Um Claude Code zu veranlassen, SSH für GitHub `owner/repo`-Quellen zu überspringen, setzen Sie `CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`. Ohne sie klont Claude Code diese Quellen über SSH, wenn ein SSH-Schlüssel für `github.com` konfiguriert aussieht, und fällt auf HTTPS zurück, wenn der SSH-Clone fehlschlägt.261Um Claude Code zu veranlassen, SSH für GitHub `owner/repo`-Quellen zu überspringen, setzen Sie `CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`. Ohne sie klont Claude Code diese Quellen über SSH, wenn ein SSH-Schlüssel für `github.com` konfiguriert aussieht, und fällt auf HTTPS zurück, wenn der SSH-Clone fehlschlägt.

262 262 


318 318 

319Wenn das Repository ein Monorepo ist, begrenzen Sie den Checkout auf die Verzeichnisse, die Sie mit `claude plugin marketplace add <source> --sparse <paths>` benennen.319Wenn das Repository ein Monorepo ist, begrenzen Sie den Checkout auf die Verzeichnisse, die Sie mit `claude plugin marketplace add <source> --sparse <paths>` benennen.

320 320 

321Wenn das Repository große Git-Submodule enthält, aktualisieren Sie Claude Code. Ab v2.1.295 ruft Claude Code nur die [Submodule, die Plugin-Dateien enthalten](https://code.claude.com/docs/de/plugins/marketplace-reference.md#git-submodules-in-the-marketplace-repository), ab. Frühere Versionen rufen jedes Submodul ab, was allein schon die 120 Sekunden aufbrauchen kann.

322 

321### Marktplatz-Updates schlagen offline immer fehl323### Marktplatz-Updates schlagen offline immer fehl

322 324 

323Sie arbeiten in einer Umgebung, in der der Git-Host des Marktplatzes nicht erreichbar ist, und jede Sitzung wiederholt eine fehlgeschlagene Aktualisierung im Hintergrund. Ihr vorhandener Checkout des Marktplatzes bleibt an Ort und Stelle und der Start wird nicht verzögert.325Sie arbeiten in einer Umgebung, in der der Git-Host des Marktplatzes nicht erreichbar ist, und jede Sitzung wiederholt eine fehlgeschlagene Aktualisierung im Hintergrund. Ihr vorhandener Checkout des Marktplatzes bleibt an Ort und Stelle und der Start wird nicht verzögert.


609| `<Plugin or Dependency> "<name>" has conflicting version requirements` | Keine Version erfüllt jeden Bereich, der sie pinnt. Die Meldung listet die Bereiche auf. | Deinstallieren oder aktualisieren Sie eines der in Konflikt stehenden Plugins, oder bitten Sie den Upstream-Autor, seine Einschränkung zu lockern. |611| `<Plugin or Dependency> "<name>" has conflicting version requirements` | Keine Version erfüllt jeden Bereich, der sie pinnt. Die Meldung listet die Bereiche auf. | Deinstallieren oder aktualisieren Sie eines der in Konflikt stehenden Plugins, oder bitten Sie den Upstream-Autor, seine Einschränkung zu lockern. |

610| `... has version requirements too complex to intersect` oder `has an invalid version requirement` | Ein Bereich ist kein gültiges Semver, oder die kombinierten Bereiche können nicht geschnitten werden. | Beheben Sie den ungültigen Bereich oder vereinfachen Sie lange `\|\|`-Ketten. |612| `... has version requirements too complex to intersect` oder `has an invalid version requirement` | Ein Bereich ist kein gültiges Semver, oder die kombinierten Bereiche können nicht geschnitten werden. | Beheben Sie den ungültigen Bereich oder vereinfachen Sie lange `\|\|`-Ketten. |

611| `... has no git tag satisfying <range>` | Das Repository der Abhängigkeit hat kein `<name>--v*`-Tag im Bereich. | Überprüfen Sie, dass der Upstream-Releases mit dieser Konvention taggt, oder lockern Sie den Bereich. |613| `... has no git tag satisfying <range>` | Das Repository der Abhängigkeit hat kein `<name>--v*`-Tag im Bereich. | Überprüfen Sie, dass der Upstream-Releases mit dieser Konvention taggt, oder lockern Sie den Bereich. |

612| `Dependency "<dep>" (required by <plugin>) is in <marketplace>, which is not in the allowlist` | Die Abhängigkeit befindet sich in einem anderen Marktplatz, und die marktplatzübergreifende Auflösung ist standardmäßig deaktiviert. | Installieren Sie die Abhängigkeit selbst im gleichen Bereich, in Ihrer Shell mit `claude plugin install <dep>@<marketplace>` plus dem `--scope`, in dem Sie das Plugin installieren, und versuchen Sie es dann erneut. |614| `Dependency "<dep>" (required by <plugin>) is in marketplace "<marketplace>", which is not in the allowlist` | Die Abhängigkeit befindet sich in einem anderen Marktplatz, und die marktplatzübergreifende Auflösung ist standardmäßig deaktiviert. | Installieren Sie die Abhängigkeit selbst im gleichen Bereich, in Ihrer Shell mit `claude plugin install <dep>@<marketplace>` plus dem `--scope`, in dem Sie das Plugin installieren, und versuchen Sie es dann erneut. |

613 615 

614Um diese programmgesteuert zu sehen, führen Sie `claude plugin list --json` in Ihrer Shell aus. Plugins mit Problemen tragen ein `errors`-Feld mit den Meldungen und ein `errorDetails`-Feld mit einem `type` für jede: die ersten drei Zeilen sind `dependency-unsatisfied` und die vierte ist `dependency-version-unsatisfied`.616Um diese programmgesteuert zu sehen, führen Sie `claude plugin list --json` in Ihrer Shell aus. Plugins mit Problemen tragen ein `errors`-Feld mit den Meldungen und ein `errorDetails`-Feld mit einem `type` für jede: die ersten drei Zeilen sind `dependency-unsatisfied` und die vierte ist `dependency-version-unsatisfied`.

615 617 


979 981 

980### `${CLAUDE_PLUGIN_ROOT}` zeigt Schrägstriche unter Windows982### `${CLAUDE_PLUGIN_ROOT}` zeigt Schrägstriche unter Windows

981 983 

982Unter Windows erhält ein Plugin-Hook `${CLAUDE_PLUGIN_ROOT}` als `C:/Users/you/...` statt `C:\Users\you\...`, und ein Skript, das Backslashes erwartet, bricht.984Unter Windows erhält ein Plugin-Hook, der über Git Bash ausgeführt wird, `${CLAUDE_PLUGIN_ROOT}` als `C:/Users/you/...` statt `C:\Users\you\...`, und ein Skript, das Backslashes erwartet, bricht.

983 985 

984Claude Code führt Shell-Form-Hooks durch Git Bash unter Windows aus und ersetzt den Plugin-Root absichtlich in der Forward-Slash-Win32-Form. Bash-Builtins, MSYS-Tools und native Windows-Binärdateien akzeptieren alle diese Form.986Wenn Git Bash installiert ist, wird ein [Shell-Form-Hook](https://code.claude.com/docs/de/hooks.md#exec-form-and-shell-form) standardmäßig über Git Bash ausgeführt. Für einen Hook, der über Git Bash ausgeführt wird, übergibt Claude Code den Pfad mit Schrägstrichen, damit Bash Backslashes nicht als Escape-Zeichen interpretiert. Bash-Builtins, MSYS-Tools und native Windows-Binärdateien akzeptieren alle diese Form.

985 987 

986Wenn Ihr Skript Backslashes benötigt, wechseln Sie den Hook zu einer der Formen, die native Pfade behalten, beschrieben unter [Exec-Form und Shell-Form](https://code.claude.com/docs/de/hooks.md#exec-form-and-shell-form):988Wenn Ihr Skript Backslashes benötigt, wechseln Sie den Hook zu einer der Formen, die native Pfade behalten, beschrieben unter [Exec-Form und Shell-Form](https://code.claude.com/docs/de/hooks.md#exec-form-and-shell-form):

987 989 


1090 1092 

1091Alternativ hosten Sie den Marktplatz in einem Git-Repository und sagen Sie Benutzern, dass sie ihn mit der Repository-URL hinzufügen. Für eine Git-Quelle klont Claude Code das ganze Repository, daher werden relative Pfade aufgelöst. Quellentypen befinden sich in der [Marktplatz-Referenz](https://code.claude.com/docs/de/plugins/marketplace-reference.md).1093Alternativ hosten Sie den Marktplatz in einem Git-Repository und sagen Sie Benutzern, dass sie ihn mit der Repository-URL hinzufügen. Für eine Git-Quelle klont Claude Code das ganze Repository, daher werden relative Pfade aufgelöst. Quellentypen befinden sich in der [Marktplatz-Referenz](https://code.claude.com/docs/de/plugins/marketplace-reference.md).

1092 1094 

1095### Dateien eines Root-Plugins aus einem Git-Submodul fehlen nach der Installation

1096 

1097Ihr Plugin befindet sich im Root des Marketplace und führt eine Datei aus einem Git-Submodul des Repositorys aus oder liest sie. Nach der Installation ist das Verzeichnis des Submoduls leer. Vor v2.1.295 hat Claude Code jedes Submodul abgerufen, sodass das Verzeichnis befüllt war.

1098 

1099Wenn Claude Code Ihren Marketplace klont, ruft es nur die [Submodule ab, die Plugin-Dateien enthalten](https://code.claude.com/docs/de/plugins/marketplace-reference.md#git-submodules-in-the-marketplace-repository). Bei einem Plugin im Root entscheidet es anhand der Pfade in der Konfiguration des Plugins und des Textes der Plugin-Dateien. Einen Pfad, den ein Skript erst während der Ausführung zusammensetzt, kann es nicht erkennen.

1100 

1101Schreiben Sie einen Pfad in das Submodul vollständig an einer Stelle aus, an der Claude Code ihn lesen kann, etwa `${CLAUDE_PLUGIN_ROOT}/vendor/tool/run.sh` in einem Hook-Befehl. Claude Code ruft dann für dieses Plugin jedes Submodul im Repository ab.

1102 

1093### Marktplatz-Validierungsfehler1103### Marktplatz-Validierungsfehler

1094 1104 

1095Sie haben `claude plugin validate .` aus Ihrem Marktplatz-Verzeichnis ausgeführt und es hat Fehler oder Warnungen in der Marktplatz-Datei selbst gemeldet.1105Sie haben `claude plugin validate .` aus Ihrem Marktplatz-Verzeichnis ausgeführt und es hat Fehler oder Warnungen in der Marktplatz-Datei selbst gemeldet.


1115 1125 

1116Vor v2.1.247 wurde ein Marktplatz-Name, der Kontroll- oder bidirektionale Formatierungszeichen enthielt, nur als `Marketplace name impersonates an official Anthropic/Claude marketplace` gemeldet.1126Vor v2.1.247 wurde ein Marktplatz-Name, der Kontroll- oder bidirektionale Formatierungszeichen enthielt, nur als `Marketplace name impersonates an official Anthropic/Claude marketplace` gemeldet.

1117 1127 

1118## Blockiert durch Ihre Organisation1128## Blocked by your organization

1119 1129 

1120Ihre Organisation stellt verwaltete Einstellungen bereit, die Plugins einschränken, und ein Befehl wurde mit einer Richtlinienmeldung abgelehnt. Diese Einträge benennen die Einstellung hinter jeder Ablehnung, damit Sie wissen, was Sie Ihren Administrator fragen müssen. Für die Admin-Seite siehe [Verwalten Sie Plugins für Ihre Organisation](https://code.claude.com/docs/de/plugins/org.md).1130Ihre Organisation stellt verwaltete Einstellungen bereit, die Plugins einschränken, und ein Befehl wurde mit einer Richtlinienmeldung abgelehnt. Diese Einträge nennen die Einstellung hinter jeder Ablehnung, damit Sie wissen, worum Sie Ihren Administrator bitten müssen. Informationen für Administratoren finden Sie unter [Plugins für Ihre Organisation verwalten](https://code.claude.com/docs/de/plugins/org.md).

1121 1131 

1122### `Marketplace source '<source>' is blocked by enterprise policy`1132### `Marketplace source '<source>' is blocked by enterprise policy`

1123 1133 

1124Sie haben `/plugin marketplace add`, `update` oder eine Installation ausgeführt, und Claude Code hat mit dieser Zeile abgelehnt. Für eine GitHub- oder Git-Quelle folgt der Host der Quelle in Klammern, wie in `'github:owner/repo' (github.com)`.1134Sie haben `/plugin marketplace add`, `update` oder eine Installation ausgeführt, und Claude Code hat mit dieser Zeile abgelehnt.

1125 1135 

1126Ihr Administrator hat `blockedMarketplaces` oder `strictKnownMarketplaces` in verwalteten Einstellungen gesetzt, und diese Quelle ist nicht zulässig. Bitten Sie Ihren Administrator, die Quelle zu erlauben, oder fügen Sie eine der zulässigen Quellen hinzu, die die Meldung auflistet.1136Ihr Administrator hat `blockedMarketplaces` oder `strictKnownMarketplaces` in den verwalteten Einstellungen gesetzt, und diese Quelle ist nicht zulässig. Bitten Sie Ihren Administrator, die Quelle zuzulassen, oder fügen Sie eine der zulässigen Quellen hinzu, die in der Meldung aufgeführt sind.

1127 1137 

1128Passen Sie den Rest der Meldung an, um zu sehen, welche Art von Richtlinie die Quelle blockiert hat:1138Gleichen Sie den Rest der Meldung ab, um zu sehen, welche Art von Richtlinie die Quelle blockiert hat:

1129 1139 

1130* **`Allowed sources: <list>`**: der Block kommt von der `strictKnownMarketplaces`-Zulassungsliste statt von der `blockedMarketplaces`-Blockliste1140* **`Allowed sources: <list>`**: Die Sperre stammt von der Allowlist `strictKnownMarketplaces` und nicht von der Denylist `blockedMarketplaces`

1131* **`No external marketplaces are allowed.`**: die `strictKnownMarketplaces`-Zulassungsliste ist leer1141* **`No external marketplaces are allowed.`**: Die Allowlist `strictKnownMarketplaces` ist leer

1132* **Ein `Tip:`, dass der Kurzbefehl github.com annimmt**: die Zulassungsliste erlaubt einen Git-Host nach Hostname, und der `owner/repo`-Kurzbefehl, den Sie übergeben haben, zeigt auf github.com. Wenn sich das Repository auf Ihrem internen Host befindet, fügen Sie es erneut mit seiner vollständigen URL hinzu, wie `git@your-git-host.com:owner/repo.git`1142* **Ein `Tip:`, dass die Kurzschreibweise github.com annimmt**: Die Allowlist erlaubt einen Git-Host anhand des Hostnamens, und die von Ihnen übergebene Kurzschreibweise `owner/repo` verweist auf github.com. Wenn sich das Repository auf Ihrem internen Host befindet, fügen Sie es erneut mit der vollständigen URL hinzu, z. B. `git@your-git-host.com:owner/repo.git`

1133 1143 

1134Ein Marktplatz, den Sie vor der Richtlinie hinzugefügt haben, wird restriktiver, stoppt auch das Aktualisieren, weil die Richtlinie bei jeder Aktualisierung angewendet wird.1144Ein Marketplace, den Sie hinzugefügt haben, bevor die Richtlinie restriktiver wurde, wird ebenfalls nicht mehr aktualisiert, da die Richtlinie bei jeder Aktualisierung angewendet wird.

1135 1145 

1136### `Marketplace "<name>" is not in the allowed marketplace list`1146### `Marketplace "<name>" is not in the allowed marketplace list`

1137 1147 

1138Die Registerkarte **Errors** zeigt diese Zeile, oder `Marketplace "<name>" is blocked by enterprise policy`, für einen Marktplatz, den Sie bereits registriert haben.1148Der Tab **Errors** zeigt diese Zeile oder `Marketplace "<name>" is blocked by enterprise policy` für einen Marketplace an, den Sie bereits registriert haben.

1139 1149 

1140Die gleichen verwalteten Einstellungen, die eine [Marktplatzquelle](#marketplace-source-is-blocked-by-enterprise-policy) blockieren, gelten zur Ladezeit. `strictKnownMarketplaces` umfasst diesen Marktplatz nicht, oder `blockedMarketplaces` benennt ihn, daher stoppt Claude Code das Laden und seine Plugins. Für die Zulassungslisten-Variante zeigt die Anleitung die zulässigen Quellen oder `Contact your administrator to configure allowed marketplace sources`. Für die Blocklisten-Variante lautet sie `This marketplace source is explicitly blocked by your administrator`.1150Dieselben verwalteten Einstellungen, die eine [Marketplace-Quelle](#marketplace-source-is-blocked-by-enterprise-policy) blockieren, gelten auch beim Laden. `strictKnownMarketplaces` enthält diesen Marketplace nicht, oder `blockedMarketplaces` nennt ihn, sodass Claude Code das Laden des Marketplace und seiner Plugins beendet. Bei der Allowlist-Variante zeigt die Hinweiszeile die zulässigen Quellen oder `Contact your administrator to configure allowed marketplace sources` an. Bei der Denylist-Variante lautet sie `This marketplace source is explicitly blocked by your administrator`.

1141 1151 

1142### `Plugin "<name>" is blocked by your organization's policy and cannot be installed`1152### `Plugin "<name>" is blocked by your organization's policy and cannot be installed`

1143 1153 

1144Eine Installation wurde mit dieser Zeile abgelehnt, eine Aktivierung mit derselben Zeile, die mit `cannot be enabled` endet, oder eine Installation oder Aktualisierung mit einer, die den Grund benennt: `Plugin "<name>" is from marketplace "<marketplace>", which is blocked by your organization's policy`, oder `Plugin "<name>" depends on "<dep>", which is blocked by your organization's policy`.1154Eine Installation wurde mit dieser Zeile abgelehnt, eine Aktivierung mit derselben Zeile, die auf `cannot be enabled` endet, oder eine Installation oder Aktualisierung mit einer Zeile, die den Grund nennt: `Plugin "<name>" is from marketplace "<marketplace>", which is blocked by your organization's policy` oder `Plugin "<name>" depends on "<dep>", which is blocked by your organization's policy`.

1145 1155 

1146Verwaltete Einstellungen blockieren dieses Plugin, seinen Marktplatz oder eine Abhängigkeit, die es benötigt. Fragen Sie Ihren Administrator, welcher Eintrag zutrifft. Ein blockierter Abhängigkeit bedeutet, dass das Plugin nicht installiert werden kann, bis der Marktplatz der Abhängigkeit zulässig ist.1156Verwaltete Einstellungen blockieren dieses Plugin, seinen Marketplace oder eine Abhängigkeit, die es benötigt. Fragen Sie Ihren Administrator, welcher Eintrag zutrifft. Eine blockierte Abhängigkeit bedeutet, dass das Plugin erst installiert werden kann, wenn der Marketplace der Abhängigkeit zugelassen ist.

1147 1157 

1148### `--plugin-dir is disabled by your organization's managed settings (disableSideloadFlags)`1158### `--plugin-dir is disabled by your organization's managed settings (disableSideloadFlags)`

1149 1159 

1150Sie haben `claude` mit `--plugin-dir`, `--plugin-url`, `--agents` oder `--mcp-config` gestartet. Claude Code hat mit dieser Meldung beendet und `Plugins, custom agents, and MCP servers can only be loaded from sources your administrator has approved.`1160Sie haben `claude` mit `--plugin-dir`, `--plugin-url`, `--agents` oder `--mcp-config` gestartet. Claude Code wurde mit dieser Meldung und `Plugins, custom agents, and MCP servers can only be loaded from sources your administrator has approved.` beendet.

1151 1161 

1152Ihr Administrator hat `disableSideloadFlags` in verwalteten Einstellungen gesetzt, was die Flags ausschaltet, die Plugins, Agents und Server aus beliebigen Pfaden laden. Laden Sie das Plugin stattdessen von einem genehmigten Marktplatz, oder bitten Sie Ihren Administrator, die Einstellung zu entfernen.1162Ihr Administrator hat `disableSideloadFlags` in den verwalteten Einstellungen gesetzt, wodurch die Flags ausgeschaltet werden, die Plugins, Agenten und Server aus beliebigen Pfaden laden. Laden Sie das Plugin stattdessen aus einem genehmigten Marketplace, oder bitten Sie Ihren Administrator, die Einstellung zu entfernen.

1153 1163 

1154Eine zugehörige Meldung in der Registerkarte `/plugin` **Errors** ist `--plugin-dir copy of "<name>" ignored: plugin is locked by managed settings`. Verwaltete Einstellungen aktivieren oder deaktivieren dieses Plugin nach Name, und Claude Code ignoriert Ihre `--plugin-dir`-Kopie davon, damit das Flag die Richtlinie nicht überschreiben kann.1164Eine verwandte Meldung im Tab **Errors** von `/plugin` lautet `--plugin-dir copy of "<name>" ignored: plugin is locked by managed settings`. Verwaltete Einstellungen aktivieren oder deaktivieren dieses Plugin anhand des Namens, und Claude Code ignoriert Ihre `--plugin-dir`-Kopie davon, damit das Flag die Richtlinie nicht überschreiben kann.

1155 1165 

1156### `Plugins from ~/.claude/skills/ are blocked by your organization's managed settings`1166### `Plugins from ~/.claude/skills/ are blocked by your organization's managed settings`

1157 1167 

1158Sie haben `claude plugin init` oder `claude plugin enable` ausgeführt, und es hat mit dieser Zeile gestoppt. Die Meldung benennt `strictKnownMarketplaces or blockedMarketplaces` und bittet Ihren Administrator, `{"source":"skills-dir"}` zu `strictKnownMarketplaces` hinzuzufügen oder es aus `blockedMarketplaces` zu entfernen.1168Sie haben `claude plugin init` oder `claude plugin enable` ausgeführt, und der Befehl wurde mit dieser Zeile abgebrochen. Die Meldung nennt `strictKnownMarketplaces or blockedMarketplaces` und bittet Ihren Administrator, `{"source":"skills-dir"}` zu `strictKnownMarketplaces` hinzuzufügen oder aus `blockedMarketplaces` zu entfernen.

1159 1169 

1160Die `skills-dir`-Quelle steht für Plugins, die Claude Code aus Ihrem `~/.claude/skills/`-Verzeichnis lädt. Bitten Sie Ihren Administrator, die Änderung vorzunehmen, die die Meldung benennt.1170Die Quelle `skills-dir` steht für Plugins, die Claude Code aus Ihrem Verzeichnis `~/.claude/skills/` lädt. Bitten Sie Ihren Administrator, die in der Meldung genannte Änderung vorzunehmen.

1161 1171 

1162### `Command-sourced plugins are disabled by your organization's managed settings`1172### `Command-sourced plugins are disabled by your organization's managed settings`

1163 1173 

1164Sie haben ein Plugin mit einer `command`-Quelle installiert oder aktualisiert, und es hat mit dieser Zeile gestoppt und `The plugin was not installed or updated and its command was not run.`1174Sie haben ein Plugin mit einer `command`-Quelle installiert oder aktualisiert, und der Vorgang wurde mit dieser Zeile und `The plugin was not installed or updated and its command was not run.` abgebrochen.

1165 1175 

1166Ihr Administrator hat `disableCommandPluginSources` gesetzt, daher weigert sich Claude Code, den Marktplatz-deklarierten Befehl auszuführen, der das Plugin erzeugt. Das Setzen von `allowManagedHooksOnly` allein hat denselben Effekt, wenn `disableCommandPluginSources` ungesetzt ist. Fragen Sie Ihren Administrator, ob das Plugin von einem Quellentyp veröffentlicht werden kann, den die Richtlinie erlaubt.1176Ihr Administrator hat `disableCommandPluginSources` gesetzt, daher weigert sich Claude Code, den vom Marketplace deklarierten Befehl auszuführen, der das Plugin erzeugt. Das Setzen von `allowManagedHooksOnly` allein hat dieselbe Wirkung, wenn `disableCommandPluginSources` nicht gesetzt ist. Fragen Sie Ihren Administrator, ob das Plugin aus einem Quelltyp veröffentlicht werden kann, den die Richtlinie zulässt.

1167 1177 

1168### `Marketplace '<name>' is seed-managed`1178### `Marketplace '<name>' is seed-managed`

1169 1179 

1170Sie haben `claude plugin marketplace update <name>` ausgeführt, und es ist mit `Marketplace '<name>' is seed-managed (<dir>)` fehlgeschlagen und einem Hinweis, Ihren Admin zu fragen.1180Sie haben `claude plugin marketplace update <name>` ausgeführt, und der Befehl ist mit `Marketplace '<name>' is seed-managed (<dir>)` und einem Hinweis fehlgeschlagen, Ihren Admin zu fragen.

1171 1181 

1172Ein Operator hat diesen Marktplatz durch `CLAUDE_CODE_PLUGIN_SEED_DIR` vorpopuliert, und Claude Code behandelt einen Seed-verwalteten Marktplatz als schreibgeschützt. Eine Massen-`marketplace update` überspringt ihn und aktualisiert die anderen.1182Ein Betreiber hat diesen Marketplace über `CLAUDE_CODE_PLUGIN_SEED_DIR` vorab befüllt, und Claude Code behandelt einen per Seed verwalteten Marketplace als schreibgeschützt. Ein gesammeltes `marketplace update` überspringt ihn und aktualisiert die anderen.

1173 1183 

1174Um den Inhalt des Marktplatzes zu ändern, fragen Sie die Person, die das Seed-Image verwaltet, um es zu aktualisieren. Für das Verfahren siehe [Seed-Container und CI](https://code.claude.com/docs/de/plugins/org.md#seed-containers-and-ci).1184Um den Inhalt des Marketplace zu ändern, bitten Sie die Person, die das Seed-Image pflegt, es zu aktualisieren. Das Vorgehen finden Sie unter [Seed-Container und CI](https://code.claude.com/docs/de/plugins/org.md#seed-containers-and-ci).

1175 1185 

1176## Nächste Schritte1186## Nächste Schritte

1177 1187 

Details

100 100 

101### Fast-Modus aktivieren101### Fast-Modus aktivieren

102 102 

103Das Aktivieren des [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md) fügt einen Request-Header hinzu, der Teil des Cache-Schlüssels ist, sodass die erste Anfrage, die Claude Code mit aktiviertem Fast-Modus sendet, die gesamte Konversationshistorie ohne Cache-Treffer liest. Claude Code setzt diesen Header einmal, wenn ein Turn beginnt, und behält ihn für den gesamten Turn, sodass wenn Sie den Fast-Modus aktivieren, während Claude arbeitet, der Cache-Miss des Headers bei der ersten Anfrage Ihres nächsten Turns auftritt. Diese nicht zwischengespeicherten Input-Token werden zu [Fast-Modus-Raten](https://code.claude.com/docs/de/fast-mode.md#understand-the-cost-tradeoff) abgerechnet, weshalb das Aktivieren am Anfang einer Sitzung weniger kostet als das Aktivieren tief in einer langen Sitzung. Wenn Ihr aktuelles Modell den Fast-Modus nicht unterstützt, führt das Aktivieren des Fast-Modus auch zu einem [Modellwechsel](#switching-models), und dieser Wechsel startet von selbst einen frischen Cache ab der nächsten Anfrage im laufenden Turn.103Der [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md) und die Standardgeschwindigkeit verwenden getrennte Caches, sodass die nächste Anfrage nach dem Ein- oder Ausschalten des Fast-Modus nicht nutzen kann, was die jeweils andere Geschwindigkeit zwischengespeichert hat. Wenn Sie den Fast-Modus zum ersten Mal in einer Konversation aktivieren, liest die nächste Anfrage die gesamte bisherige Konversation ohne Cache zu [Fast-Modus-Raten](https://code.claude.com/docs/de/fast-mode.md#understand-the-cost-tradeoff). Um diese Kosten gering zu halten, aktivieren Sie ihn am Anfang einer Sitzung.

104 104 

105Die Kosten fallen einmal pro Konversation an. Nach dem ersten Fast-Modus-Turn sendet Claude Code weiterhin den Header und variiert nur die Geschwindigkeitseinstellung der Anfrage, die nicht Teil des Cache-Schlüssels ist. Das Ausschalten des Fast-Modus, der [automatische Fallback auf Standardgeschwindigkeit](https://code.claude.com/docs/de/fast-mode.md#handle-rate-limits) nach einem Rate-Limit und das spätere Wiedereinschalten behalten alle den Cache. Wenn Sie [während einer Sitzung Ihr Nutzungsguthaben aufbrauchen](https://code.claude.com/docs/de/fast-mode.md#handle-rate-limits), versucht Claude Code jede abgelehnte Fast-Modus-Anfrage auf die gleiche Weise mit Standardgeschwindigkeit erneut, sodass dieser Fallback auch den Cache behält. `/clear` und `/compact` setzen dies zurück, da sie den Cache an diesen Punkten ohnehin neu aufbauen.105* Wenn Sie ihn aktivieren, während Claude arbeitet, wird dieser Turn mit Standardgeschwindigkeit abgeschlossen, und Sie zahlen für nicht zwischengespeicherte Lesevorgänge bei der ersten Anfrage Ihres nächsten Turns.

106* Wenn Ihr aktuelles Modell den Fast-Modus nicht unterstützt, [wechselt das Aktivieren des Fast-Modus auch zu Opus](https://code.claude.com/docs/de/fast-mode.md#toggle-fast-mode). Dieser [Modellwechsel](#switching-models) startet von selbst einen frischen Cache ab der nächsten Anfrage im laufenden Turn.

107 

108Jedes spätere Umschalten liest alles ohne Cache, was die Geschwindigkeit, zu der Sie wechseln, nicht zwischengespeichert hat. Geschwindigkeitsänderungen, die Claude Code selbst vornimmt, wie der [Fallback auf Standardgeschwindigkeit](https://code.claude.com/docs/de/fast-mode.md#handle-rate-limits) nach einem Rate-Limit und die spätere Rückkehr zum Fast-Modus, zählen ebenfalls als Umschalten.

106 109 

107### MCP-Server verbinden oder trennen110### MCP-Server verbinden oder trennen

108 111 


184>187>

185> Komprimierung funktioniert zu Ihrem Vorteil, wenn der Kontext, den Sie verwerfen, Inhalte sind, die Sie nicht mehr benötigen. Um zu wählen, wann ihr Overhead auftritt, führen Sie `/compact` an einer natürlichen Pause in Ihrer Arbeit aus, z. B. zwischen Aufgaben, anstatt zu warten, bis die automatische Komprimierung während einer Aufgabe ausgelöst wird. Wenn Sie einen Weg eingeschlagen haben, den Sie vollständig aufgeben möchten, springen Sie stattdessen mit [`/rewind`](#rewinding-the-conversation) zu einem früheren Turn zurück. Das Zurückspulen schneidet auf ein Präfix zurück, das bereits zwischengespeichert ist, anstatt ein neues zu erstellen, wie es die Komprimierung tut.188> Komprimierung funktioniert zu Ihrem Vorteil, wenn der Kontext, den Sie verwerfen, Inhalte sind, die Sie nicht mehr benötigen. Um zu wählen, wann ihr Overhead auftritt, führen Sie `/compact` an einer natürlichen Pause in Ihrer Arbeit aus, z. B. zwischen Aufgaben, anstatt zu warten, bis die automatische Komprimierung während einer Aufgabe ausgelöst wird. Wenn Sie einen Weg eingeschlagen haben, den Sie vollständig aufgeben möchten, springen Sie stattdessen mit [`/rewind`](#rewinding-the-conversation) zu einem früheren Turn zurück. Das Zurückspulen schneidet auf ein Präfix zurück, das bereits zwischengespeichert ist, anstatt ein neues zu erstellen, wie es die Komprimierung tut.

186 189 

187Wenn Sie eine lange Konversation in einer Terminal-Sitzung ruhen lassen, während sie die [einstündige TTL](#which-ttl-each-request-gets) verwendet, kann Claude Code sie kurz vor Ablauf des Cache komprimieren. Um die Komprimierung im Leerlauf zu deaktivieren, setzen Sie [`idleCompaction`](https://code.claude.com/docs/de/settings-reference#idlecompaction) auf `false`, was Claude Code v2.1.290 oder später erfordert.190Wenn Sie eine lange Konversation ruhen lassen, während sie die [einstündige TTL](#which-ttl-each-request-gets) verwendet, kann Claude Code sie komprimieren. Um die Komprimierung im Leerlauf zu deaktivieren, setzen Sie [`idleCompaction`](https://code.claude.com/docs/de/settings-reference#idlecompaction) auf `false`, was Claude Code v2.1.290 oder später erfordert.

188 191 

189### Viele Bilder sammeln192### Viele Bilder sammeln

190 193 


309 312 

310In Claude Code ist der Cache effektiv auf einen Computer und ein Verzeichnis beschränkt. Der System-Prompt bettetet Ihre Auto-Memory-Pfade ein, und die Konversation öffnet sich mit einer Ankündigung des Arbeitsverzeichnisses, der Plattform, der Shell und der OS-Version. Zwei Sessions in verschiedenen Verzeichnissen bauen daher unterschiedliche Präfixe auf und verfehlen den Cache des anderen.313In Claude Code ist der Cache effektiv auf einen Computer und ein Verzeichnis beschränkt. Der System-Prompt bettetet Ihre Auto-Memory-Pfade ein, und die Konversation öffnet sich mit einer Ankündigung des Arbeitsverzeichnisses, der Plattform, der Shell und der OS-Version. Zwei Sessions in verschiedenen Verzeichnissen bauen daher unterschiedliche Präfixe auf und verfehlen den Cache des anderen.

311 314 

312Sessions, die Sie parallel im selben Verzeichnis ausführen, bauen passende Präfixe auf und lesen den Cache des anderen. Sequenzielle Sessions teilen das Präfix nur, wenn der Git-Status-Snapshot beim Start übereinstimmt, da jede Konversation auch den Branch und aktuelle Commits aus diesem Snapshot trägt.315* Sitzungen, die Sie parallel im selben Verzeichnis ausführen, bauen passende Präfixe auf und können den Cache der jeweils anderen lesen.

316* Aufeinanderfolgende Sitzungen teilen das Präfix nur, wenn der beim Start erstellte Git-Status-Snapshot übereinstimmt, da jede Konversation auch den Branch und die letzten Commits aus diesem Snapshot enthält.

317 

318Der zugrunde liegende API-Cache ist breiter. Caches sind zwischen Organisationen isoliert, und bei einigen Providern [zwischen Workspaces innerhalb einer Organisation](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#cache-storage-and-sharing). Innerhalb dieser Grenzen teilen zwei Anfragen nur dann einen Cache, wenn Modell, [Geschwindigkeit](#turning-on-fast-mode) und Präfix übereinstimmen.

313 319 

314Der zugrunde liegende API-Cache ist breiter. Caches sind zwischen Organisationen isoliert, und bei einigen Providern [zwischen Workspaces innerhalb einer Organisation](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#cache-storage-and-sharing). Innerhalb dieser Grenzen lesen zwei Anfragen mit demselben Modell und Präfix denselben Cache. Für Agent SDK-Aufrufer, die Flotten automatisierter Prozesse ausführen, siehe [Prompt Caching über Benutzer und Maschinen verbessern](https://code.claude.com/docs/de/agent-sdk/modifying-system-prompts.md#improve-prompt-caching-across-users-and-machines), um die Auto-Memory-Position aus dem System-Prompt zu verschieben und den Cache-Eintrag des System-Prompts über Benutzer und Maschinen hinweg zu teilen.320Wenn Sie als Agent SDK-Aufrufer Flotten automatisierter Prozesse ausführen, finden Sie unter [Prompt-Caching über Benutzer und Maschinen hinweg verbessern](https://code.claude.com/docs/de/agent-sdk/modifying-system-prompts.md#improve-prompt-caching-across-users-and-machines) Informationen dazu, wie Sie den Auto-Memory-Speicherort aus dem System-Prompt herausverlagern.

315 321 

316## Cache-Leistung überprüfen322## Cache-Leistung überprüfen

317 323 

Details

179* **Diff Ihrer Änderungen**: Wenn sich das Verzeichnis der Sitzung in einem Git-Repository befindet, zeigt der Diff-Bereich eines verbundenen Geräts Ihre Änderungen an. Auf einem Branch, der Commits vor dem Standard-Branch des Repositorys hat, zeigt der Bereich die Änderungen seit der Abzweigung des Branches, einschließlich Ihrer nicht committeten Bearbeitungen. Auf dem Standard-Branch selbst oder auf einem Branch, der ihm nicht voraus ist, zeigt der Bereich nur Ihre nicht committeten Änderungen an.179* **Diff Ihrer Änderungen**: Wenn sich das Verzeichnis der Sitzung in einem Git-Repository befindet, zeigt der Diff-Bereich eines verbundenen Geräts Ihre Änderungen an. Auf einem Branch, der Commits vor dem Standard-Branch des Repositorys hat, zeigt der Bereich die Änderungen seit der Abzweigung des Branches, einschließlich Ihrer nicht committeten Bearbeitungen. Auf dem Standard-Branch selbst oder auf einem Branch, der ihm nicht voraus ist, zeigt der Bereich nur Ihre nicht committeten Änderungen an.

180* **Modell**: Wenn Sie auf einem verbundenen Gerät ein [Modell](https://code.claude.com/docs/de/model-config.md) auswählen, führt Claude Code die Sitzung mit diesem Modell aus. Erfordert Claude Code v2.1.238 oder höher. Ein Modell, das Sie über die Modellsteuerung des Geräts auswählen, gilt nur für die aktuelle Sitzung. Wenn Sie `/model <name>` vom Gerät an eine interaktive Sitzung senden, legt Claude Code außerdem Ihren Standard für neue Sitzungen fest.180* **Modell**: Wenn Sie auf einem verbundenen Gerät ein [Modell](https://code.claude.com/docs/de/model-config.md) auswählen, führt Claude Code die Sitzung mit diesem Modell aus. Erfordert Claude Code v2.1.238 oder höher. Ein Modell, das Sie über die Modellsteuerung des Geräts auswählen, gilt nur für die aktuelle Sitzung. Wenn Sie `/model <name>` vom Gerät an eine interaktive Sitzung senden, legt Claude Code außerdem Ihren Standard für neue Sitzungen fest.

181* **Effort-Stufe**: Wenn Sie die [Effort-Stufe](https://code.claude.com/docs/de/model-config.md#adjust-effort-level) auf einem verbundenen Gerät festlegen, mit `/effort` oder über die Effort-Steuerung des Geräts, wendet Claude Code sie auf die Sitzung auf Ihrem Rechner an. Wenn Sie eine Stufe mit `CLAUDE_CODE_EFFORT_LEVEL` fixiert haben, behält die Sitzung diese Stufe bei, und Claude Code lehnt eine abweichende Auswahl über die Effort-Steuerung ab. Die Auswahl einer Stufe über die Effort-Steuerung erfordert Claude Code v2.1.234 oder höher auf Ihrem Rechner.181* **Effort-Stufe**: Wenn Sie die [Effort-Stufe](https://code.claude.com/docs/de/model-config.md#adjust-effort-level) auf einem verbundenen Gerät festlegen, mit `/effort` oder über die Effort-Steuerung des Geräts, wendet Claude Code sie auf die Sitzung auf Ihrem Rechner an. Wenn Sie eine Stufe mit `CLAUDE_CODE_EFFORT_LEVEL` fixiert haben, behält die Sitzung diese Stufe bei, und Claude Code lehnt eine abweichende Auswahl über die Effort-Steuerung ab. Die Auswahl einer Stufe über die Effort-Steuerung erfordert Claude Code v2.1.234 oder höher auf Ihrem Rechner.

182* **Wiederverbinden nach einem Verbindungsfehler**: Führen Sie `/remote-control` aus, um die Verbindung wiederherzustellen. Wenn die Komprimierung die Konversation zwischenzeitlich umgeschrieben hat oder Sie mit `/resume` die Konversation gewechselt haben, archiviert Claude Code die verwendete Serversitzung, anstatt sie in der Sitzungsliste zu belassen. Sie können sie weiterhin finden, indem Sie [nach archivierten Sitzungen filtern](https://code.claude.com/docs/de/claude-code-on-the-web.md#archive-sessions). Das Wechseln von Konversationen, während ein Gerät noch verbunden ist, archiviert die Sitzung nicht.182* **Wiederverbinden nach einem Verbindungsfehler**: Führen Sie `/remote-control` aus, um die Verbindung wiederherzustellen. Wenn die Komprimierung die Konversation zwischenzeitlich umgeschrieben hat oder Sie mit `/resume` die Konversation gewechselt haben, archiviert Claude Code die verwendete Serversitzung, anstatt sie in der Sitzungsliste zu belassen. Sie finden diese Sitzung weiterhin unter Ihren [archivierten Sitzungen](https://code.claude.com/docs/de/claude-code-on-the-web.md#find-an-archived-session) auf claude.ai/code. Das Wechseln von Konversationen, während ein Gerät noch verbunden ist, archiviert die Sitzung nicht.

183 183 

184### Remote Control für alle Sitzungen aktivieren184### Remote Control für alle Sitzungen aktivieren

185 185 


401 401 

402## Fehlerbehebung402## Fehlerbehebung

403 403 

404### "Remote Control disconnected" oder "Can't reach"

405 

406Unter [claude.ai/code](https://claude.ai/code) oder in der Desktop-App bedeutet **Remote Control disconnected** oder eine **Can't reach**-Meldung, dass Ihr Browser oder Ihre App den Kontakt zu Claude Code auf Ihrem Computer verloren hat. Keine der beiden Meldungen sagt Ihnen, ob Claude oder ein Subagent, den Sie beobachtet haben, auf Ihrem Computer noch arbeitet. Prüfen Sie auf diesem Computer, in welchem Zustand sich Claude Code befindet, und folgen Sie dem passenden Schritt, um die Verbindung wiederherzustellen:

407 

408* **Eine interaktive Sitzung zeigt `Remote Control disconnected`**: Folgen Sie [den Schritten zur Wiederverbindung für den Grund, den diese Zeile angibt](#session-ended-elsewhere)

409* **Claude Code läuft und zeigt keinen Fehler**: Eine interaktive Sitzung verbindet sich von selbst erneut, sobald der Computer aktiv und online ist, daher müssen Sie nichts tun. Wenn Sie `claude remote-control` verwendet haben, siehe **Längerer Netzwerkausfall** unter [Einschränkungen](#limitations)

410* **Claude Code läuft nicht**: [Starten Sie es erneut und stellen Sie die Sitzung wieder her](#resume-sessions-after-stopping-the-server)

411 

404### "Remote Control requires a claude.ai subscription"412### "Remote Control requires a claude.ai subscription"

405 413 

406Sie sind nicht mit einem claude.ai-Konto angemeldet, oder andere Anmeldedaten haben Vorrang vor Ihrer Anmeldung. Die Meldung nimmt eine dieser Formen an:414Sie sind nicht mit einem claude.ai-Konto angemeldet, oder andere Anmeldedaten haben Vorrang vor Ihrer Anmeldung. Die Meldung nimmt eine dieser Formen an:


463* **Mit `/remote-control`, `claude --remote-control` oder [Auto-Verbindung](#enable-remote-control-for-all-sessions)**: Die Sitzung läuft ohne Remote Control weiter, und Claude Code archiviert sie auf claude.ai471* **Mit `/remote-control`, `claude --remote-control` oder [Auto-Verbindung](#enable-remote-control-for-all-sessions)**: Die Sitzung läuft ohne Remote Control weiter, und Claude Code archiviert sie auf claude.ai

464* **Mit `claude remote-control`**: Der Server stoppt und archiviert die Sitzungen, die er bereitgestellt hat, und beendet sich dann472* **Mit `claude remote-control`**: Der Server stoppt und archiviert die Sitzungen, die er bereitgestellt hat, und beendet sich dann

465 473 

466Sie können eine archivierte Sitzung weiterhin finden, indem Sie [nach archivierten Sitzungen filtern](https://code.claude.com/docs/de/claude-code-on-the-web.md#archive-sessions).474Um eine dieser Sitzungen wiederzufinden, öffnen Sie Ihre [archivierten Sitzungen](https://code.claude.com/docs/de/claude-code-on-the-web.md#find-an-archived-session) unter claude.ai/code.

467 475 

468Remote Control verbindet sich nicht von selbst erneut. Um es wieder einzuschalten, nachdem Ihre Organisation es erneut zulässt, führen Sie `/remote-control` in der Sitzung oder `claude remote-control` in Ihrer Shell aus. Beide Befehle schlagen mit [`Remote Control is disabled by your organization's policy`](#remote-control-is-disabled-by-your-organizations-policy) fehl, bis Claude Code auf diesem Computer die geänderte Richtlinie abgerufen hat. Eine geöffnete Sitzung ruft sie etwa einmal pro Stunde ab. Um herauszufinden, was Remote Control blockiert, gleichen Sie den vollständigen Text, den der Befehl ausgibt, mit diesem Eintrag ab.476Remote Control verbindet sich nicht von selbst erneut. Um es wieder einzuschalten, nachdem Ihre Organisation es erneut zulässt, führen Sie `/remote-control` in der Sitzung oder `claude remote-control` in Ihrer Shell aus. Beide Befehle schlagen mit [`Remote Control is disabled by your organization's policy`](#remote-control-is-disabled-by-your-organizations-policy) fehl, bis Claude Code auf diesem Computer die geänderte Richtlinie abgerufen hat. Eine geöffnete Sitzung ruft sie etwa einmal pro Stunde ab. Um herauszufinden, was Remote Control blockiert, gleichen Sie den vollständigen Text, den der Befehl ausgibt, mit diesem Eintrag ab.

469 477 

routines.md +24 −4

Details

293 293 

294#### Unterstützte Ereignisse294#### Unterstützte Ereignisse

295 295 

296GitHub-Trigger können eine der folgenden Ereigniskategorien abonnieren. Innerhalb jeder Kategorie können Sie eine spezifische Aktion wie `pull_request.opened` auswählen oder auf alle Aktionen in der Kategorie reagieren.296Wählen Sie ein Ereignis aus einer der folgenden Kategorien. Innerhalb jeder Kategorie können Sie eine spezifische Aktion wie `pull_request.opened` auswählen oder auf alle Aktionen in der Kategorie reagieren.

297 297 

298| Ereignis | Wird ausgelöst, wenn |298| Ereignis | Wird ausgelöst, wenn |

299| :- | :- |299| :- | :- |

300| Pull Request | Ein PR wird geöffnet, geschlossen, zugewiesen, mit einem Label versehen, synchronisiert oder anderweitig aktualisiert |300| Pull Request | Ein PR wird geöffnet, geschlossen, zugewiesen, mit einem Label versehen, synchronisiert oder anderweitig aktualisiert |

301| Release | Ein Release wird erstellt, veröffentlicht, bearbeitet oder gelöscht |301| Release | Ein Release wird erstellt, veröffentlicht, bearbeitet oder gelöscht |

302| Issue | Ein Issue wird geöffnet, bearbeitet, geschlossen, erneut geöffnet, mit einem Label versehen, zugewiesen oder anderweitig aktualisiert |

302 303 

303#### Pull Requests filtern304#### Pull Requests filtern

304 305 


333 334 

334Klicken Sie auf eine beliebige Ausführung, um sie als vollständige Sitzung zu öffnen. Von dort aus können Sie sehen, was Claude getan hat, Änderungen überprüfen, einen Pull Request erstellen oder die Konversation fortsetzen. Jede Ausführungssitzung funktioniert wie jede andere Sitzung: Verwenden Sie das Dropdown-Menü neben dem Sitzungstitel, um sie umzubenennen, zu archivieren oder zu löschen.335Klicken Sie auf eine beliebige Ausführung, um sie als vollständige Sitzung zu öffnen. Von dort aus können Sie sehen, was Claude getan hat, Änderungen überprüfen, einen Pull Request erstellen oder die Konversation fortsetzen. Jede Ausführungssitzung funktioniert wie jede andere Sitzung: Verwenden Sie das Dropdown-Menü neben dem Sitzungstitel, um sie umzubenennen, zu archivieren oder zu löschen.

335 336 

336> [!NOTE]337Unter **Verlauf** auf der Detailseite der Aufgabe endet die Zeile jeder abgeschlossenen Ausführung mit **Fehler**, wenn die Ausführung fehlgeschlagen ist, mit **Abgebrochen**, wenn sie abgebrochen wurde, und mit keinem der beiden Wörter, wenn sie erfolgreich war. Der Filter **Status** bezeichnet dieselben drei Ergebnisse als **Fehlgeschlagen**, **Abgebrochen** und **Erfolgreich**. Diese Ergebnisse geben an, wie die Sitzung geendet hat, nicht ob Claude die in Ihrem Prompt beschriebene Arbeit erledigt hat. Öffnen Sie daher die Ausführung und lesen Sie ihr Transkript, um zu sehen, was passiert ist.

337>338 

338> Ein grüner Status in der Ausführungsliste bedeutet, dass die Sitzung gestartet und ohne Infrastrukturfehler beendet wurde. Er bedeutet nicht, dass die in Ihrem Prompt beschriebene Arbeit erfolgreich war. Öffnen Sie die Ausführung, um das Transkript zu lesen und zu bestätigen, was Claude tatsächlich getan hat. Blockierte Netzwerkanfragen, fehlende Konnektor-Tools und Fehler bei der Arbeit selbst werden dort angezeigt statt im Statusindikator.339* **Erfolgreich**: Die Sitzung endete, ohne dass Claude Code einen Fehler gemeldet hat. Blockierte Netzwerkanfragen, fehlende Konnektor-Tools und Arbeit, die Claude nicht abschließen konnte, erscheinen im Transkript statt in der Zeile

340* **Fehlgeschlagen**: Die Sitzung wurde nicht normal beendet. Sie wurde beispielsweise unerwartet angehalten, endete mit einem Fehler oder wurde archiviert, bevor die Ausführung startete

341* **Abgebrochen**: Die Ausführung ist nicht fehlgeschlagen, und ihre Sitzung wurde archiviert. Wenn Sie die Sitzung einer erfolgreichen Ausführung archivieren, ändert sich die Ausführung zu **Abgebrochen**. An der Aufgabe muss nichts geändert werden

342 

343Wenn unter **Verlauf** eine Warnung angezeigt wird, siehe [Warnungen zu „The last run“](#the-last-run-didnt-start).

339 344 

340### Geplante Aufgaben bearbeiten und steuern345### Geplante Aufgaben bearbeiten und steuern

341 346 


499 504 

500Ein Owner in Ihrer Team- oder Enterprise-Organisation hat wahrscheinlich den Schalter **Scheduled tasks (Was Routines)** unter [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities) ausgeschaltet. In Claude Code v2.1.227 oder höher blendet derselbe Schalter auch `/schedule` in der CLI aus. Dies ist eine serverseitige Organisationseinstellung, daher kann sie nicht über Ihre lokale Konfiguration überschrieben werden. Bitten Sie einen Owner, geplante Aufgaben für Ihre Organisation wieder zu aktivieren.505Ein Owner in Ihrer Team- oder Enterprise-Organisation hat wahrscheinlich den Schalter **Scheduled tasks (Was Routines)** unter [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities) ausgeschaltet. In Claude Code v2.1.227 oder höher blendet derselbe Schalter auch `/schedule` in der CLI aus. Dies ist eine serverseitige Organisationseinstellung, daher kann sie nicht über Ihre lokale Konfiguration überschrieben werden. Bitten Sie einen Owner, geplante Aufgaben für Ihre Organisation wieder zu aktivieren.

501 506 

507### Warnungen "The last run"

508 

509Wenn eine Warnung unter **History** mit "The last run" beginnt, suchen Sie sie in der ersten Spalte und gehen Sie wie in der zugehörigen Zeile beschrieben vor. Die Warnung verschwindet, sobald ein späterer Lauf startet.

510 

511| Warnung | Vorgehen |

512| :- | :- |

513| "The last run didn't start because your organization had reached its limit on cloud sessions running at once." | Die Aufgabe muss nicht geändert werden. Klicken Sie später auf **Run now** oder warten Sie auf den nächsten Lauf |

514| "The last run didn't start because its cloud environment couldn't be found or used." | Öffnen Sie auf der Detailseite der Aufgabe das Menü neben ihrem Namen, wählen Sie **Edit** und suchen Sie die [Auswahl der Cloud-Umgebung](#environments-and-network-access). Wenn dort **Unavailable environment** steht, wurde diese Umgebung archiviert oder ist für Ihr Konto nicht mehr verfügbar. Wählen Sie dort also eine andere aus und speichern Sie Ihre Änderungen. Andernfalls versuchen Sie es mit **Run now** auf der Detailseite erneut oder wählen Sie in der Auswahl eine andere Umgebung und speichern Sie Ihre Änderungen |

515| "The last run was blocked because it couldn't access something it needs, or your organization's policy doesn't allow it." | Prüfen Sie, ob Ihr [GitHub-Zugriff](#repositories-and-branch-permissions) die Repositorys der Aufgabe abdeckt. Wenn ja, fragen Sie einen [Owner](https://code.claude.com/docs/de/server-managed-settings.md#access-control) Ihrer Claude-Organisation, ob eine Richtlinie die Aufgabe blockiert |

516| "The last run didn't start because of a problem that's usually temporary." | Klicken Sie auf **Run now**, um es erneut zu versuchen, oder warten Sie auf den nächsten Lauf |

517| "The last run didn't start because its repository or branch wasn't available." | Prüfen Sie auf GitHub, ob jedes Repository der Aufgabe den [Branch enthält, von dem aus der Lauf startet](#repositories-and-branch-permissions). Prüfen Sie außerdem, ob Ihr [GitHub-Zugriff](#repositories-and-branch-permissions) jedes Repository abdeckt, und verbinden Sie GitHub erneut, falls Ihre Verbindung abgelaufen ist |

518| "The last run didn't start because some of its settings weren't accepted." | Öffnen Sie auf der Detailseite der Aufgabe das Menü neben ihrem Namen und wählen Sie **Edit**. Der Dialog markiert nicht, welche Einstellung nicht akzeptiert wurde. Prüfen Sie dort daher jede einzelne, einschließlich Name, Prompt, Modell, Repositorys, Umgebung, Konnektoren und Auslöser der Aufgabe |

519| "The last run stopped because a usage limit was reached." | Informationen dazu, wann die Läufe der Aufgabe nach einem Nutzungslimit wieder starten können, finden Sie unter [Nutzung und Limits](#usage-and-limits) |

520| "The last run failed." | Klicken Sie auf **Run now**, um es erneut zu versuchen, oder warten Sie auf den nächsten Lauf. Für den fehlgeschlagenen Lauf gibt es keine Sitzung, die Sie öffnen können |

521 

502## Verwandte Ressourcen522## Verwandte Ressourcen

503 523 

504* [`/loop` und Planung innerhalb einer Sitzung](https://code.claude.com/docs/de/scheduled-tasks): Planen Sie lokale Aufgaben innerhalb einer offenen CLI-Sitzung524* [`/loop` und Planung innerhalb einer Sitzung](https://code.claude.com/docs/de/scheduled-tasks): Planen Sie lokale Aufgaben innerhalb einer offenen CLI-Sitzung

sandboxing.md +26 −2

Details

223* **Eine Nachfrageregel für den Parameter**: Fügen Sie eine [Nachfrageregel](https://code.claude.com/docs/de/permissions.md#match-by-input-parameter) für `Bash(dangerouslyDisableSandbox:true)` hinzu, damit bei Bash-Wiederholungsversuchen nachgefragt wird. Sie erhalten die Nachfrage auch im Auto-Modus und im `bypassPermissions`-Modus, und die Regel hat Vorrang vor einer passenden Erlaubnisregel223* **Eine Nachfrageregel für den Parameter**: Fügen Sie eine [Nachfrageregel](https://code.claude.com/docs/de/permissions.md#match-by-input-parameter) für `Bash(dangerouslyDisableSandbox:true)` hinzu, damit bei Bash-Wiederholungsversuchen nachgefragt wird. Sie erhalten die Nachfrage auch im Auto-Modus und im `bypassPermissions`-Modus, und die Regel hat Vorrang vor einer passenden Erlaubnisregel

224* **[`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/de/settings-reference#permissions-blockreadsoutsideworkingdirectories)**: Unter [Aktionen, die kein Modus automatisch genehmigt](https://code.claude.com/docs/de/permission-modes.md#actions-no-mode-auto-approves) erfahren Sie, bei welchen Wiederholungsversuchen nachgefragt wird, solange diese Einstellung aktiv ist224* **[`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/de/settings-reference#permissions-blockreadsoutsideworkingdirectories)**: Unter [Aktionen, die kein Modus automatisch genehmigt](https://code.claude.com/docs/de/permission-modes.md#actions-no-mode-auto-approves) erfahren Sie, bei welchen Wiederholungsversuchen nachgefragt wird, solange diese Einstellung aktiv ist

225 225 

226Solange Befehle mit einer [`Sandbox is required`-Meldung](#commands-refused-with-sandbox-is-required) abgelehnt werden, ignoriert Claude Code den Parameter `dangerouslyDisableSandbox` und lehnt auch den Wiederholungsversuch ab.

227 

226#### Den Wiederholungsversuch mit dem strikten Sandbox-Modus deaktivieren228#### Den Wiederholungsversuch mit dem strikten Sandbox-Modus deaktivieren

227 229 

228Sie können den Wiederholungsversuch ohne Sandbox deaktivieren, indem Sie in Ihren [Sandbox-Einstellungen](https://code.claude.com/docs/de/settings-reference.md#sandbox-settings) `"allowUnsandboxedCommands": false` setzen. Bei deaktiviertem Wiederholungsversuch ignoriert Claude Code den Parameter `dangerouslyDisableSandbox`. Solange die Sandbox läuft, werden die Befehle, die Claude ausführt, dann in der Sandbox ausgeführt, sofern sie nicht auf einen `excludedCommands`-Eintrag passen. Damit Claude Code keine Befehle ohne Sandbox ausführt, wenn die Sandbox nicht starten kann, setzen Sie zusätzlich [`failIfUnavailable`](https://code.claude.com/docs/de/settings-reference#sandbox-failifunavailable). Der Tab **Overrides** in `/sandbox` zeigt diese Einstellung als **Strict sandbox mode** an.230Sie können den Wiederholungsversuch ohne Sandbox deaktivieren, indem Sie in Ihren [Sandbox-Einstellungen](https://code.claude.com/docs/de/settings-reference.md#sandbox-settings) `"allowUnsandboxedCommands": false` setzen. Bei deaktiviertem Wiederholungsversuch ignoriert Claude Code den Parameter `dangerouslyDisableSandbox`. Solange die Sandbox läuft, werden die Befehle, die Claude ausführt, dann in der Sandbox ausgeführt, sofern sie nicht auf einen `excludedCommands`-Eintrag passen. Damit Claude Code keine Befehle ohne Sandbox ausführt, wenn die Sandbox nicht starten kann, setzen Sie zusätzlich [`failIfUnavailable`](https://code.claude.com/docs/de/settings-reference#sandbox-failifunavailable). Der Tab **Overrides** in `/sandbox` zeigt diese Einstellung als **Strict sandbox mode** an.


899 901 

900### Schreibgeschützte 0-Byte-Dateien erscheinen in `.claude`-Einstellungspfaden, und „Ja, und nicht mehr fragen“ wird nicht gespeichert902### Schreibgeschützte 0-Byte-Dateien erscheinen in `.claude`-Einstellungspfaden, und „Ja, und nicht mehr fragen“ wird nicht gespeichert

901 903 

902Unter Linux und WSL2 setzt die Sandbox eine Schreibsperre für eine noch nicht existierende Datei durch, indem sie dort einen schreibgeschützten 0-Byte-Platzhalter erstellt, während ein Befehl in der Sandbox ausgeführt wird. Die Sandbox entfernt den Platzhalter danach. Wenn eine Sitzung vor dieser Bereinigung beendet wird, beispielsweise durch SIGKILL, bleiben die Platzhalter bestehen. Spätere Sitzungen binden die Platzhalter bei jedem Start erneut schreibgeschützt ein, daher schlägt ein Schreibvorgang in die Einstellungen, etwa das Speichern einer Berechtigungswahl, an einem Pfad fehl, an dem ein Platzhalter verbleibt.904Unter Linux und WSL2 setzt die Sandbox eine Schreibsperre für eine noch nicht existierende Datei durch, indem sie dort einen schreibgeschützten 0-Byte-Platzhalter erstellt, während ein Befehl in der Sandbox ausgeführt wird. Die Sandbox entfernt den Platzhalter danach.

905 

906In Fällen wie diesen bleibt ein Platzhalter zurück:

907 

908* Die Sitzung wird zwangsweise beendet, bevor diese Bereinigung ausgeführt wird, beispielsweise durch SIGKILL

909* Die Sitzung endet, während noch ein Befehl in der Sandbox läuft, etwa ein Hintergrundbefehl

903 910 

904Führen Sie `claude doctor` in Ihrem Terminal aus, um die verbleibenden Platzhalter-Dateien aufzulisten. Die Warnung [`Sandbox mask files left behind at write-deny paths`](https://code.claude.com/docs/de/errors#stale-sandbox-mask-files-left-by-a-killed-session) nennt einige davon und zählt den Rest. Löschen Sie jede Datei mit `rm`, während keine andere Claude Code-Sitzung in diesem Projekt ausgeführt wird. Vor v2.1.257 ließ Claude Code dieselben Platzhalter ohne Kennzeichnung zurück.911Spätere Sitzungen binden die Platzhalter bei jedem Start erneut schreibgeschützt ein, daher schlägt ein Schreibvorgang in die Einstellungen, etwa das Speichern einer Berechtigungswahl, an einem Pfad fehl, an dem ein Platzhalter verbleibt.

912 

913Führen Sie `claude doctor` in Ihrem Terminal aus, um die verbleibenden Platzhalter-Dateien aufzulisten. Die Warnung [`Sandbox mask files left behind at write-deny paths`](https://code.claude.com/docs/de/errors#stale-sandbox-mask-files-left-by-a-killed-session) nennt einige davon und zählt den Rest. Löschen Sie jede Datei mit `rm`, während keine andere Claude Code-Sitzung in diesem Projekt ausgeführt wird. Vor v2.1.257 ließ Claude Code dieselben Platzhalter zurück, wenn eine Sitzung zwangsweise beendet wurde, ohne sie zu kennzeichnen.

905 914 

906### `git` über SSH schlägt bei aktivierter Sandbox fehl915### `git` über SSH schlägt bei aktivierter Sandbox fehl

907 916 


1000 1009 

1001Vor v2.1.284 verband sich der Proxy mit der Adresse, zu der ein zugelassener Hostname aufgelöst wurde, ganz gleich, welche es war.1010Vor v2.1.284 verband sich der Proxy mit der Adresse, zu der ein zugelassener Hostname aufgelöst wurde, ganz gleich, welche es war.

1002 1011 

1012### Befehle werden mit `Sandbox is required` abgelehnt

1013 

1014Wenn Sie die Sandbox mit [`sandbox.failIfUnavailable`](https://code.claude.com/docs/de/settings-reference#sandbox-failifunavailable) vorschreiben und sie nach dem Start von Claude Code auf eine der folgenden Arten fehlschlägt, wird jeder Befehl, den Claude in der Sandbox ausführt, mit der angegebenen Meldung abgelehnt. Die Sitzung läuft weiter, und der abgelehnte Befehl wird nicht außerhalb der Sandbox ausgeführt:

1015 

1016* **`Sandbox is required but failed to initialize: <reason>`**: Claude Code wurde gestartet, aber die Sandbox konnte anschließend nicht initialisiert werden. Führen Sie den Schritt aus, den die Meldung nennt: `Restart to retry.` oder `Fix the sandbox settings to retry`.

1017* **`Sandbox is required (sandbox.failIfUnavailable) and stopped being available in this session: <reason>`**: Unter Linux oder WSL2 wurde die Sandbox gestartet, und Claude Code hat anschließend eine fehlende Abhängigkeit festgestellt. Beheben Sie, was der Grund nennt, etwa durch [Installieren einer fehlenden Abhängigkeit](#set-up-linux-and-wsl2), und starten Sie Claude Code dann neu.

1018 

1019Ausgeschlossene Befehle und Befehle, die Sie selbst eingeben, werden weiterhin ausgeführt, und Claude kann einen abgelehnten Befehl nicht außerhalb der Sandbox erneut versuchen:

1020 

1021* **Ausgeschlossene Befehle**: Befehle, die auf einen [`excludedCommands`](#run-commands-outside-the-sandbox-with-excludedcommands)-Eintrag zutreffen, laufen weiterhin außerhalb der Sandbox. Wenn einer davon in einen [`filesystem.allowWrite`](https://code.claude.com/docs/de/settings-reference#sandbox-filesystem-allowwrite)-Pfad außerhalb Ihres Arbeitsverzeichnisses schreibt, durchläuft dieser Schreibvorgang den regulären Berechtigungsablauf. Bei einer [vom Administrator vorgeschriebenen Sandbox](#repository-settings-under-an-admin-required-sandbox) ignoriert Claude Code Einträge aus den Einstellungen des Repositorys

1022* **Befehle, die Sie an der [`!`-Shell-Modus-Eingabeaufforderung](https://code.claude.com/docs/de/interactive-mode#shell-mode-with-prefix) eingeben**: laufen weiterhin außerhalb der Sandbox. In einer [Hintergrundsitzung](https://code.claude.com/docs/de/agent-view.md) werden sie ebenfalls abgelehnt

1023* **Wiederholungsversuche außerhalb der Sandbox**: Claude Code ignoriert den Parameter `dangerouslyDisableSandbox` eines [Wiederholungsversuchs außerhalb der Sandbox](#the-unsandboxed-retry-escape-hatch)

1024 

1025In einer Linux-Sitzung, in der `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` gesetzt ist, wird jeder Befehl in der Sandbox ausgeführt, daher werden auch ausgeschlossene Befehle und von Ihnen eingegebene Befehle abgelehnt.

1026 

1003### `/sandbox` schlägt mit `Sandbox settings are overridden by a higher-priority configuration` fehl1027### `/sandbox` schlägt mit `Sandbox settings are overridden by a higher-priority configuration` fehl

1004 1028 

1005`/sandbox` gibt `Error: Sandbox settings are overridden by a higher-priority configuration and cannot be changed locally.` aus, statt sein Panel zu öffnen, wenn eine höhere [Einstellungsebene](https://code.claude.com/docs/de/settings.md#settings-precedence) `sandbox.enabled`, `sandbox.autoAllowBashIfSandboxed` oder `sandbox.allowUnsandboxedCommands` setzt. Das Panel speichert Ihre Auswahl in `.claude/settings.local.json`, und ein dort gespeicherter Wert kann diese Ebenen nicht überschreiben.1029`/sandbox` gibt `Error: Sandbox settings are overridden by a higher-priority configuration and cannot be changed locally.` aus, statt sein Panel zu öffnen, wenn eine höhere [Einstellungsebene](https://code.claude.com/docs/de/settings.md#settings-precedence) `sandbox.enabled`, `sandbox.autoAllowBashIfSandboxed` oder `sandbox.allowUnsandboxedCommands` setzt. Das Panel speichert Ihre Auswahl in `.claude/settings.local.json`, und ein dort gespeicherter Wert kann diese Ebenen nicht überschreiben.

Details

783 783 

784In welcher Reihenfolge diese Quellen angewendet werden, erfahren Sie unter [Vorrang der Einstellungen](https://code.claude.com/docs/de/settings.md#settings-precedence).784In welcher Reihenfolge diese Quellen angewendet werden, erfahren Sie unter [Vorrang der Einstellungen](https://code.claude.com/docs/de/settings.md#settings-precedence).

785 785 

786Wenn die Steuerungsebene von Anthropic eine Sitzung mit [Claude Code-Hooks](https://code.claude.com/docs/de/hooks.md) versorgt, installiert der Runner diese neben Ihrer eigenen Konfiguration, nicht an deren Stelle. Erfordert Claude Code v2.1.229 oder höher.786Wenn die Steuerungsebene von Anthropic eine Sitzung mit [Claude Code-Hooks](https://code.claude.com/docs/de/hooks.md) versorgt, installiert der Runner diese neben Ihrer eigenen Konfiguration, nicht an deren Stelle. Erfordert Claude Code v2.1.229 oder höher; ältere Runner ignorieren bereitgestellte Hooks. Die bereitgestellten Hooks führen `python3` aus, installieren Sie daher `python3` in Ihrem [Runner-Image](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#build-the-runner-image).

787 787 

788* **Wo sie abgelegt werden**: Der Runner schreibt jedes bereitgestellte Hook-Skript in ein reserviertes Unterverzeichnis `hooks/.ccr-launcher/` des Konfigurationsverzeichnisses der Sitzung und registriert die Skripte in einer separaten Einstellungsdatei, die er der Sitzung mit `--settings` übergibt; die befüllte `settings.json` und Ihre eigenen Skripte unter `hooks/<name>` bleiben dabei unberührt. Der Runner erstellt das reservierte Unterverzeichnis für jede Sitzung neu und übernimmt keine Host-Inhalte unter `~/.claude/hooks/.ccr-launcher/` in Sitzungen.788* **Wo sie abgelegt werden**: Der Runner schreibt jedes bereitgestellte Hook-Skript in ein reserviertes Unterverzeichnis `hooks/.ccr-launcher/` des Konfigurationsverzeichnisses der Sitzung und registriert die Skripte in einer separaten Einstellungsdatei, die er der Sitzung mit `--settings` übergibt; die befüllte `settings.json` und Ihre eigenen Skripte unter `hooks/<name>` bleiben dabei unberührt. Der Runner erstellt das reservierte Unterverzeichnis für jede Sitzung neu und übernimmt keine Host-Inhalte unter `~/.claude/hooks/.ccr-launcher/` in Sitzungen.

789* **Wer sie erstellt**: Die Steuerungsebene füllt die Skripte aus festen Konstanten in ihrem eigenen Deployment, niemals aus sitzungsspezifischen Eingaben oder Eingaben von Drittanbietern.789* **Wer sie erstellt**: Die Steuerungsebene füllt die Skripte aus festen Konstanten in ihrem eigenen Deployment, niemals aus sitzungsspezifischen Eingaben oder Eingaben von Drittanbietern.

Details

348 348 

349Die Rezepte unten verwenden `--capacity 4`, daher bedient ein Container bis zu vier gleichzeitige Sitzungen vom selben gesperrten Owner. Das bietet nicht die Pro-Sitzungs-Container-Isolation im [Härtungsabschnitt](#harden-your-deployment): Bevor Sie eine Umgebung mit Produktionssystemen verbinden, führen Sie entweder die Rezepte bei `--capacity 1` mit einem Container pro Sitzung aus, oder verwenden Sie [On-Demand-Runner](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#on-demand-runners), die auch das Umgebungsgeheimnis von sitzungsausführenden Hosts fernhalten. Wenn Sie den [Anthropic-Git-Proxy](#use-the-anthropic-git-proxy) zu einem dieser Rezepte hinzufügen, ändern Sie auch `--capacity` auf `1`.349Die Rezepte unten verwenden `--capacity 4`, daher bedient ein Container bis zu vier gleichzeitige Sitzungen vom selben gesperrten Owner. Das bietet nicht die Pro-Sitzungs-Container-Isolation im [Härtungsabschnitt](#harden-your-deployment): Bevor Sie eine Umgebung mit Produktionssystemen verbinden, führen Sie entweder die Rezepte bei `--capacity 1` mit einem Container pro Sitzung aus, oder verwenden Sie [On-Demand-Runner](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#on-demand-runners), die auch das Umgebungsgeheimnis von sitzungsausführenden Hosts fernhalten. Wenn Sie den [Anthropic-Git-Proxy](#use-the-anthropic-git-proxy) zu einem dieser Rezepte hinzufügen, ändern Sie auch `--capacity` auf `1`.

350 350 

351Dieses Dockerfile ist ein minimaler Ausgangspunkt:351Dieses Dockerfile ist ein minimaler Ausgangspunkt. Es installiert `python3`, weil die [Hooks, die die Control Plane von Anthropic bereitstellt](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#how-each-session’s-config-is-assembled), in Claude-Tag-Sitzungen `python3` ausführen, einschließlich des Hooks, mit dem Claude seine Antwort in Slack postet. Behalten Sie `python3` im `PATH` jedes Images, das Claude-Tag-Sitzungen bedient:

352 352 

353```dockerfile theme={null}353```dockerfile theme={null}

354FROM debian:bookworm-slim354FROM debian:bookworm-slim

355ARG CLAUDE_CODE_VERSION355ARG CLAUDE_CODE_VERSION

356RUN apt-get update && apt-get install -y --no-install-recommends git curl ca-certificates openssh-client jq \356RUN apt-get update && apt-get install -y --no-install-recommends git curl ca-certificates openssh-client jq python3 \

357 && rm -rf /var/lib/apt/lists/*357 && rm -rf /var/lib/apt/lists/*

358RUN curl -fsSL "https://downloads.claude.ai/claude-code-releases/${CLAUDE_CODE_VERSION:?set with --build-arg CLAUDE_CODE_VERSION}/linux-x64/claude" \358RUN curl -fsSL "https://downloads.claude.ai/claude-code-releases/${CLAUDE_CODE_VERSION:?set with --build-arg CLAUDE_CODE_VERSION}/linux-x64/claude" \

359 -o /usr/local/bin/claude && chmod +x /usr/local/bin/claude359 -o /usr/local/bin/claude && chmod +x /usr/local/bin/claude


363ENTRYPOINT ["claude"]363ENTRYPOINT ["claude"]

364```364```

365 365 

366Tauschen Sie `linux-x64` gegen `linux-arm64` aus, wenn Ihre Knoten ARM sind, oder gegen `linux-x64-musl` oder `linux-arm64-musl` auf einem musl-basierten Image wie Alpine; siehe [Alpine Linux-Setup](https://code.claude.com/docs/de/setup.md#alpine-linux-and-musl-based-distributions) für die zusätzlichen Pakete, die musl-Images benötigen. Die URL ist der Standard-Claude-Code-Release-Ort, daher können Sie die heruntergeladene Binärdatei gegen das signierte Manifest des Release überprüfen, wie in [Binäre Integrität und Code-Signierung](https://code.claude.com/docs/de/setup.md#binary-integrity-and-code-signing) beschrieben. Der Runner erfordert Claude Code Version 2.1.224 oder später. Erstellen Sie das Image, pushen Sie es dann in Ihre Registry und referenzieren Sie es in den Rezepten unten:366Tauschen Sie `linux-x64` gegen `linux-arm64` aus, wenn Ihre Knoten ARM sind, oder gegen `linux-x64-musl` oder `linux-arm64-musl` auf einem musl-basierten Image wie Alpine; siehe [Alpine Linux-Setup](https://code.claude.com/docs/de/setup.md#alpine-linux-and-musl-based-distributions) für die zusätzlichen Pakete, die musl-Images benötigen. Die URL ist der Standard-Claude-Code-Release-Ort, daher können Sie die heruntergeladene Binärdatei gegen das signierte Manifest des Release überprüfen, wie in [Binäre Integrität und Code-Signierung](https://code.claude.com/docs/de/setup.md#binary-integrity-and-code-signing) beschrieben. Der Runner erfordert Claude Code Version 2.1.224 oder später bzw. 2.1.229 oder später, um Claude-Tag-Sitzungen zu bedienen. Erstellen Sie das Image, pushen Sie es dann in Ihre Registry und referenzieren Sie es in den Rezepten unten:

367 367 

368```bash theme={null}368```bash theme={null}

369docker build \369docker build \


768 * **Mit einem `checkout`-Hook**: Repositorys, die über einen [`checkout`-Lifecycle-Hook](https://code.claude.com/docs/de/self-hosted-environments-configuration#checkout) ausgecheckt werden, werden nicht gepusht. Sichern Sie diese stattdessen über den [`post-session`-Hook](https://code.claude.com/docs/de/self-hosted-environments-configuration#post-session).768 * **Mit einem `checkout`-Hook**: Repositorys, die über einen [`checkout`-Lifecycle-Hook](https://code.claude.com/docs/de/self-hosted-environments-configuration#checkout) ausgecheckt werden, werden nicht gepusht. Sichern Sie diese stattdessen über den [`post-session`-Hook](https://code.claude.com/docs/de/self-hosted-environments-configuration#post-session).

769 * **Bevor Sie das Flag aktivieren**: Beschränken Sie, wer zu `claude/*`-Refs auf dem Quell-Remote pushen kann. Beim Fortsetzen ruft der Runner den zuvor gepushten Branch ab, ohne zu überprüfen, wer ihn gepusht hat.769 * **Bevor Sie das Flag aktivieren**: Beschränken Sie, wer zu `claude/*`-Refs auf dem Quell-Remote pushen kann. Beim Fortsetzen ruft der Runner den zuvor gepushten Branch ab, ohne zu überprüfen, wer ihn gepusht hat.

770 * **Nicht committete Änderungen gehen weiterhin verloren**: Wie Sie Claude per Prompt anweisen, nach Abschluss seiner Antwort zu committen und zu pushen, erfahren Sie unter [Sitzungen zum Pushen ihrer Arbeit auffordern](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#prompt-sessions-to-push-their-work)770 * **Nicht committete Änderungen gehen weiterhin verloren**: Wie Sie Claude per Prompt anweisen, nach Abschluss seiner Antwort zu committen und zu pushen, erfahren Sie unter [Sitzungen zum Pushen ihrer Arbeit auffordern](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#prompt-sessions-to-push-their-work)

771* **Ein durch einen verlorenen Runner abgebrochener Befehl kann erneut ausgeführt werden**: Wenn die Sitzung auf einem anderen Runner fortgesetzt wird, sieht Claude den unterbrochenen Tool-Aufruf mit einem Ergebnis, das besagt, dass sein Ausgang unbekannt ist.

771* **Ein während der Sitzung hinzugefügtes Repository kann beim Klonen fehlschlagen**: Claude klont es mit `git clone` über HTTPS. Auf einem Runner ohne [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) schlägt das Klonen mit einem Git-Authentifizierungsfehler fehl, wenn nichts auf dem Host das Repository lesen kann. Wählen Sie nach Möglichkeit jedes Repository, das die Sitzung benötigt, bereits beim Erstellen aus.772* **Ein während der Sitzung hinzugefügtes Repository kann beim Klonen fehlschlagen**: Claude klont es mit `git clone` über HTTPS. Auf einem Runner ohne [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) schlägt das Klonen mit einem Git-Authentifizierungsfehler fehl, wenn nichts auf dem Host das Repository lesen kann. Wählen Sie nach Möglichkeit jedes Repository, das die Sitzung benötigt, bereits beim Erstellen aus.

772* **Einige Connectoren erscheinen nicht in selbstgehosteten Sitzungen**: Ein Connector, den Sie noch nicht in claude.ai Settings verbunden haben, wird nicht in einer selbstgehosteten Sitzung aufgelistet, und die Sitzung wird Sie nicht auffordern, ihn zu verbinden. Verbinden Sie ihn zuerst in Settings, dann starten Sie eine frische Sitzung. Das Hinzufügen eines Connectors zu einer bereits laufenden Sitzung macht seine Tools auch nicht für Claude verfügbar; starten Sie eine frische Sitzung, um einen neu hinzugefügten Connector aufzugreifen.773* **Einige Connectoren erscheinen nicht in selbstgehosteten Sitzungen**: Ein Connector, den Sie noch nicht in claude.ai Settings verbunden haben, wird nicht in einer selbstgehosteten Sitzung aufgelistet, und die Sitzung wird Sie nicht auffordern, ihn zu verbinden. Verbinden Sie ihn zuerst in Settings, dann starten Sie eine frische Sitzung. Das Hinzufügen eines Connectors zu einer bereits laufenden Sitzung macht seine Tools auch nicht für Claude verfügbar; starten Sie eine frische Sitzung, um einen neu hinzugefügten Connector aufzugreifen.

773* **Wenn jemand eine Sitzung archiviert oder löscht oder ihren Runner über das Menü der Sitzung freigibt**: Verlassen Sie sich nicht auf den Push durch [`--push-outcome-on-release`](https://code.claude.com/docs/de/self-hosted-environments-reference#runner-cli-flags). Um Commits in diesen Fällen zu sichern, pushen Sie `HEAD` aus einem [`post-session`-Hook](https://code.claude.com/docs/de/self-hosted-environments-configuration#post-session) in einen Rettungs-Branch. Wenn Sie vom dortigen Beispiel ausgehen, sorgen Sie dafür, dass es auch dann pusht, wenn nichts uncommittet ist, da es nur nach einem Snapshot-Commit pusht.774* **Wenn jemand eine Sitzung archiviert oder löscht oder ihren Runner über das Menü der Sitzung freigibt**: Verlassen Sie sich nicht auf den Push durch [`--push-outcome-on-release`](https://code.claude.com/docs/de/self-hosted-environments-reference#runner-cli-flags). Um Commits in diesen Fällen zu sichern, pushen Sie `HEAD` aus einem [`post-session`-Hook](https://code.claude.com/docs/de/self-hosted-environments-configuration#post-session) in einen Rettungs-Branch. Wenn Sie vom dortigen Beispiel ausgehen, sorgen Sie dafür, dass es auch dann pusht, wenn nichts uncommittet ist, da es nur nach einem Snapshot-Commit pusht.


824 Sobald der Runner aktualisiert oder die Ursache behoben ist, versuchen Sie die Sitzung erneut oder starten Sie eine neue. Wenn keine dieser Prüfungen die Ursache findet, [melden Sie ein Problem](#report-an-issue).825 Sobald der Runner aktualisiert oder die Ursache behoben ist, versuchen Sie die Sitzung erneut oder starten Sie eine neue. Wenn keine dieser Prüfungen die Ursache findet, [melden Sie ein Problem](#report-an-issue).

825 826 

826 Bei der Quelle, zu der die Sitzung Ergebnisse pusht, lässt ein gelöschter Branch die Sitzung fehlschlagen. Bei einer Git-Quelle, die die Sitzung nur liest, überspringt der Runner diese Quelle und setzt auf den verbleibenden fort. Der Runner lässt die Sitzung fehlschlagen, wenn das Überspringen sie ohne jedes Repository zurücklassen würde. Vor v2.1.228 startete eine solche Sitzung in einem leeren Verzeichnis.827 Bei der Quelle, zu der die Sitzung Ergebnisse pusht, lässt ein gelöschter Branch die Sitzung fehlschlagen. Bei einer Git-Quelle, die die Sitzung nur liest, überspringt der Runner diese Quelle und setzt auf den verbleibenden fort. Der Runner lässt die Sitzung fehlschlagen, wenn das Überspringen sie ohne jedes Repository zurücklassen würde. Vor v2.1.228 startete eine solche Sitzung in einem leeren Verzeichnis.

828* **Claude Tag postet seine Antwort in Slack manchmal nicht**: Die Antwort-Erinnerung ist ein [Hook, den die Control Plane bereitstellt](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#how-each-session’s-config-is-assembled). Prüfen Sie mit `claude --version`, ob der Runner Claude Code v2.1.229 oder neuer ist, da ältere Runner bereitgestellte Hooks ignorieren; prüfen Sie, ob `python3 --version` im Runner-Image erfolgreich ausgeführt wird, da die Hooks `python3` ausführen; und prüfen Sie, dass keine Einstellungsdatei Hooks ausschaltet, sei es `disableAllHooks` in `managed-settings.json`, in der `~/.claude/settings.json` des Runner-Benutzers oder in der `.claude/settings.json` oder `.claude/settings.local.json` des Repositorys, oder `allowManagedHooksOnly` oder eine [`strictPluginOnlyCustomization`](https://code.claude.com/docs/de/settings-reference#strictpluginonlycustomization) in den verwalteten Einstellungen, die Hooks abdeckt.

827* **Eine Sitzung startet ohne eines ihrer Repositories**: Auf einem Runner ohne [`checkout` Hook](https://code.claude.com/docs/de/self-hosted-environments-configuration#checkout) kann der Git-Host den Zugriffsprüfung des Runners für ein Repository, das die Sitzung nur liest, ablehnen. Der Runner überspringt dann dieses Repository, protokolliert eine `[runner:warn] could not access context source`-Zeile, die die Ablehnung benennt, und startet die Sitzung auf den verbleibenden.829* **Eine Sitzung startet ohne eines ihrer Repositories**: Auf einem Runner ohne [`checkout` Hook](https://code.claude.com/docs/de/self-hosted-environments-configuration#checkout) kann der Git-Host den Zugriffsprüfung des Runners für ein Repository, das die Sitzung nur liest, ablehnen. Der Runner überspringt dann dieses Repository, protokolliert eine `[runner:warn] could not access context source`-Zeile, die die Ablehnung benennt, und startet die Sitzung auf den verbleibenden.

828 830 

829 Der Runner überspringt nur eine klare Ablehnung: Der Host antwortet, dass das Repository nicht gefunden wurde, Git findet keine Anmeldedaten für den Host, oder die Authentifizierung schlägt fehl. Ein Netzwerkfehler, ein Timeout oder ein HTTP `403` schlägt immer noch den Sitzungsstart fehl, ebenso wie eine Ablehnung für ein Repository, zu dem die Sitzung Ergebnisse pusht. Der Runner schlägt immer noch eine Sitzung fehl, die das Überspringen ohne Repository überhaupt verlassen würde. Mit [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) überspringt der Runner nur ein Repository, das der Git-Proxy selbst ablehnt.831 Der Runner überspringt nur eine klare Ablehnung: Der Host antwortet, dass das Repository nicht gefunden wurde, Git findet keine Anmeldedaten für den Host, oder die Authentifizierung schlägt fehl. Ein Netzwerkfehler, ein Timeout oder ein HTTP `403` schlägt immer noch den Sitzungsstart fehl, ebenso wie eine Ablehnung für ein Repository, zu dem die Sitzung Ergebnisse pusht. Der Runner schlägt immer noch eine Sitzung fehl, die das Überspringen ohne Repository überhaupt verlassen würde. Mit [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) überspringt der Runner nur ein Repository, das der Git-Proxy selbst ablehnt.

Details

35 35 

36Installieren Sie auf dem Host, bevor Sie beginnen:36Installieren Sie auf dem Host, bevor Sie beginnen:

37 37 

38* **Claude Code v2.1.224 oder später**, mit einer der [Standard-Installationsmethoden](https://code.claude.com/docs/de/setup.md). Der Runner ist Teil der Standard-`claude`-Binärdatei, und frühere Versionen erkennen den `self-hosted-runner`-Unterbefehl nicht. Um die genaue Version zu fixieren, die Ihre Fleet ausführt, siehe [Installieren Sie eine bestimmte Version](https://code.claude.com/docs/de/setup.md#install-a-specific-version). Für Container-Images siehe die Dockerfile in [Bereitstellung in der Produktion](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#build-the-runner-image).38* **Claude Code v2.1.224 oder später**, mit einer der [Standard-Installationsmethoden](https://code.claude.com/docs/de/setup.md). Der Runner ist Teil der Standard-`claude`-Binärdatei, und frühere Versionen erkennen den `self-hosted-runner`-Unterbefehl nicht. Ein Runner, der Sitzungen von Claude Tag bedient, benötigt v2.1.229 oder später sowie `python3` in seinem `PATH`, da die [Hooks, die die Control Plane](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#how-each-session’s-config-is-assembled) für diese Sitzungen bereitstellt, `python3` ausführen. Um die genaue Version zu fixieren, die Ihre Fleet ausführt, siehe [Installieren Sie eine bestimmte Version](https://code.claude.com/docs/de/setup.md#install-a-specific-version). Für Container-Images siehe die Dockerfile in [Bereitstellung in der Produktion](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#build-the-runner-image).

39* **Git 2.24 oder neuer**. Einige Git-Optionen auf der Deploy-Seite benötigen neuere Versionen; [Git konfigurieren](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#configure-git) gibt jede Untergrenze an.39* **Git 2.24 oder neuer**. Einige Git-Optionen auf der Deploy-Seite benötigen neuere Versionen; [Git konfigurieren](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#configure-git) gibt jede Untergrenze an.

40 40 

41Bestätigen Sie, dass der Host bereit ist:41Bestätigen Sie, dass der Host bereit ist:

Details

52| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | nicht gesetzt | Ruhestand des Runners bei einem absoluten Unix-Zeitstempel in Sekunden, für Infrastruktur, die den Runner zu einem bekannten Zeitpunkt beendet; [Runner-Lebenszyklus](https://code.claude.com/docs/de/self-hosted-environments#runner-lifecycle) beschreibt die Freigabesequenz und wie Sie die Marge dimensionieren. Werte vor 2001 oder nach dem Jahr 5138 werden vom Flag abgelehnt und von der Umgebungsvariable ignoriert. |52| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | nicht gesetzt | Ruhestand des Runners bei einem absoluten Unix-Zeitstempel in Sekunden, für Infrastruktur, die den Runner zu einem bekannten Zeitpunkt beendet; [Runner-Lebenszyklus](https://code.claude.com/docs/de/self-hosted-environments#runner-lifecycle) beschreibt die Freigabesequenz und wie Sie die Marge dimensionieren. Werte vor 2001 oder nach dem Jahr 5138 werden vom Flag abgelehnt und von der Umgebungsvariable ignoriert. |

53| `--server-auto-mode-lists <mode>` | `SELF_HOSTED_RUNNER_SERVER_AUTO_MODE_LISTS` | `no-allow` | Welche der Regellisten des [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode)-Klassifikators, die die Control Plane mit einer Sitzung sendet, diese Sitzung erreichen dürfen: `all`, `no-allow` oder `none`. Unter [Regellisten des Auto-Modus](#auto-mode-rule-lists) erfahren Sie, was jeder Wert anwendet. Ein ungültiger Wert stoppt den Runner beim Start. Erfordert Claude Code v2.1.295 oder später. |53| `--server-auto-mode-lists <mode>` | `SELF_HOSTED_RUNNER_SERVER_AUTO_MODE_LISTS` | `no-allow` | Welche der Regellisten des [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode)-Klassifikators, die die Control Plane mit einer Sitzung sendet, diese Sitzung erreichen dürfen: `all`, `no-allow` oder `none`. Unter [Regellisten des Auto-Modus](#auto-mode-rule-lists) erfahren Sie, was jeder Wert anwendet. Ein ungültiger Wert stoppt den Runner beim Start. Erfordert Claude Code v2.1.295 oder später. |

54| `--session-stop-grace-sec <n>` | `SELF_HOSTED_RUNNER_SESSION_STOP_GRACE_MS` | `5` | Wie lange Sie warten, bis der Claude-Prozess nach einer Sitzung sauber beendet wird, bevor Sie ihn gewaltsam beenden. Erhöhen Sie den Wert, wenn die eigenen `SessionEnd` Hooks des Kindes mehr Zeit benötigen. |54| `--session-stop-grace-sec <n>` | `SELF_HOSTED_RUNNER_SESSION_STOP_GRACE_MS` | `5` | Wie lange Sie warten, bis der Claude-Prozess nach einer Sitzung sauber beendet wird, bevor Sie ihn gewaltsam beenden. Erhöhen Sie den Wert, wenn die eigenen `SessionEnd` Hooks des Kindes mehr Zeit benötigen. |

55| `--startup-timeout-min <n>` | `SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS` | `15` | Geben Sie einen Sitzungs-Slot frei, wenn das Kind nicht innerhalb von N Minuten auf dem [Activity-Kanal](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#keep-stdin-and-file-descriptor-3-attached) signalisiert hat, dass es sich initialisiert hat. Die N Minuten beginnen beim Erzeugen, nach dem Klonen, und beginnen bei jeder `user`- oder `assistant`-Nachricht, die das Kind ausgibt, bevor es sich initialisiert oder seinen Status gemeldet hat, von vorn. Vor v2.1.299 galt dieser Timeout ab der ersten solchen Nachricht der Sitzung nicht mehr. Zur Freigabe nach dem Init-Signal siehe `--release-idle-session-min`. `0` deaktiviert. |55| `--startup-timeout-min <n>` | `SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS` | `15` | Wie lange auf einen Kindprozess gewartet wird, der sich nicht initialisiert hat, bevor der Slot der Sitzung freigegeben wird. Unter [Timeout beim Sitzungsstart](#session-startup-timeout) erfahren Sie, wo die Zählung beginnt und welche Sitzungen er weiterlaufen lässt. `0` deaktiviert den Timeout. |

56| `--trust-workspace [bool]` | `SELF_HOSTED_RUNNER_TRUST_WORKSPACE` | an | Seed persistierte Vertrauenswürdigkeit für die Repository-Pfade jeder Sitzung, sodass im Repo festgeschriebene `permissions.allow` und `additionalDirectories` berücksichtigt werden. Setzen Sie `false`, um im Repo festgeschriebene Berechtigungszuschüsse zu verwerfen und Zulassungsregeln stattdessen in der Host-Konfiguration `settings.json` zu konfigurieren; Repository-festgeschriebene `sandbox.*` Einstellungen gelten trotzdem, weshalb der [Repo-Settings-Schutz](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#harden-your-deployment) sie unabhängig von diesem Flag scannt. |56| `--trust-workspace [bool]` | `SELF_HOSTED_RUNNER_TRUST_WORKSPACE` | an | Seed persistierte Vertrauenswürdigkeit für die Repository-Pfade jeder Sitzung, sodass im Repo festgeschriebene `permissions.allow` und `additionalDirectories` berücksichtigt werden. Setzen Sie `false`, um im Repo festgeschriebene Berechtigungszuschüsse zu verwerfen und Zulassungsregeln stattdessen in der Host-Konfiguration `settings.json` zu konfigurieren; Repository-festgeschriebene `sandbox.*` Einstellungen gelten trotzdem, weshalb der [Repo-Settings-Schutz](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#harden-your-deployment) sie unabhängig von diesem Flag scannt. |

57| `--use-anthropic-git-proxy` | `CLAUDE_RUNNER_USE_GIT_PROXY=1` | aus | Klonen Sie Repositorys auf github.com über den [Anthropic Git-Proxy](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy) anstatt über kundenverwaltete Git-Authentifizierung. Erfordert `--capacity 1` und Git 2.32 oder neuer; der Runner weigert sich, andernfalls zu starten. Ersetzt die Rewrite-Flags. |57| `--use-anthropic-git-proxy` | `CLAUDE_RUNNER_USE_GIT_PROXY=1` | aus | Klonen Sie Repositorys auf github.com über den [Anthropic Git-Proxy](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy) anstatt über kundenverwaltete Git-Authentifizierung. Erfordert `--capacity 1` und Git 2.32 oder neuer; der Runner weigert sich, andernfalls zu starten. Ersetzt die Rewrite-Flags. |

58 58 


61* **Flag**: Der Start schlägt mit einem Fehler fehl.61* **Flag**: Der Start schlägt mit einem Fehler fehl.

62* **Umgebungsvariable**: Der Runner begrenzt den Wert auf die Timer-Obergrenze, anstatt ihn abzulehnen.62* **Umgebungsvariable**: Der Runner begrenzt den Wert auf die Timer-Obergrenze, anstatt ihn abzulehnen.

63 63 

64### Timeout beim Sitzungsstart

65 

66Wenn eine Sitzung ihren Slot während eines Turns wie `/code-review` verloren hat, aktualisieren Sie den Runner und die Binärdatei des Kindprozesses auf v2.1.309 oder später. Von v2.1.299 bis v2.1.308 gab der Runner eine Sitzung, selbst mitten in einem Turn, frei, sobald der Start-Timeout ohne eine `user`- oder `assistant`-Nachricht abgelaufen war.

67 

68Mit `--startup-timeout-min <n>` gibt der Runner den Slot einer Sitzung frei, wenn sich ihr Kindprozess nicht innerhalb von `<n>` Minuten nach dem Klonen initialisiert hat. Während eines Turns, der beginnt, bevor sich der Kindprozess initialisiert, behält die Sitzung ihren Slot, bis `<n>` Minuten ohne eine Zeile auf dem [Activity-Kanal](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#keep-stdin-and-file-descriptor-3-attached) des Kindprozesses vergehen. Sobald sich der Kindprozess initialisiert, setzt der Runner diese Zählung zurück, und `--release-idle-session-min` steuert die Freigabe. Um eine Sitzung zu begrenzen, deren Kindprozess läuft, aber feststeckt, setzen Sie `--kill-session-after-min`.

69 

64### Regellisten des Auto-Modus70### Regellisten des Auto-Modus

65 71 

66Mit `--server-auto-mode-lists` legen Sie fest, welche Klassifikatorregeln des [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) von außerhalb des Runners die Sitzungen auf Ihren Runnern erreichen. Die Control Plane von Anthropic kann Regellisten mit einer Sitzung senden und den Runner auffordern, sie anzuwenden. Einige Einträge können Regeln sein, die ein Admin Ihrer Organisation geschrieben hat. Die Listen sind `environment`, `soft_deny` und `allow`:72Mit `--server-auto-mode-lists` legen Sie fest, welche Klassifikatorregeln des [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) von außerhalb des Runners die Sitzungen auf Ihren Runnern erreichen. Die Control Plane von Anthropic kann Regellisten mit einer Sitzung senden und den Runner auffordern, sie anzuwenden. Einige Einträge können Regeln sein, die ein Admin Ihrer Organisation geschrieben hat. Die Listen sind `environment`, `soft_deny` und `allow`:


374 380 

375#### Metriken einer Sitzung mit denen des Runners verknüpfen381#### Metriken einer Sitzung mit denen des Runners verknüpfen

376 382 

377Um die eigenen Metriken einer Sitzung neben `claude_code_self_hosted_runner_session_idle_seconds` zu stellen, verknüpfen Sie sie über die `session_id` des Runners:383Um zu sehen, was inaktive Sitzungen gekostet haben, verknüpfen Sie `claude_code_self_hosted_runner_session_idle_seconds` des Runners über `ccr_session_id` mit der Kostenmetrik von Claude Code. Die Metrik des Runners trägt dieses Label nicht; fügen Sie es daher wie in dieser Abfrage mit `label_replace` hinzu:

384 

385```text theme={null}

386sum by (ccr_session_id) (claude_code_cost_usage_total)

387and on (ccr_session_id)

388label_replace(

389 claude_code_self_hosted_runner_session_idle_seconds > 600,

390 "ccr_session_id", "cse_$1", "session_id", "session_(.*)"

391)

392```

393 

394Die Abfrage liefert ein Ergebnis pro Sitzung, die seit über zehn Minuten inaktiv ist: die Kosten in US-Dollar, die ihr Claude Code-Prozess bisher gezählt hat. Um eine andere Claude Code-Metrik zu verknüpfen, ersetzen Sie `claude_code_cost_usage_total` in der Abfrage. Die Abfrage funktioniert bei jedem `--capacity`-Wert.

378 395 

379* **Bei `--capacity` über eins**: Verknüpfen Sie direkt. Auf dem `/metrics` des Runners tragen die Serien der Sitzung dieselbe `session_id` wie diese Metrik, in der Form `session_...`.396* **`session_id`**: Auf Port 9464 enthält dieses Label bei Claude Code-Metriken die eigene [`session.id`](https://code.claude.com/docs/de/monitoring-usage#standard-attributes) von Claude Code, die zu keiner Serie des Runners passt. Eine Verknüpfung darüber liefert nichts; verknüpfen Sie daher über `ccr_session_id`.

380* **Bei `--capacity 1`**: Verknüpfen Sie über eine umgewandelte `ccr_session_id`. Standardmäßig trägt jede Claude Code-Metrik auf Port 9464 dieses Label, das die Sitzungs-ID in der Form `cse_...` enthält. Ersetzen Sie in einem neuen Label das Präfix `cse_` durch `session_`, um die `session_id` des Runners zu erhalten. Die eigene `session_id` der Metrik enthält die eigene [`session.id`](https://code.claude.com/docs/de/monitoring-usage#standard-attributes) von Claude Code, die zu keiner Serie des Runners passt.397* **Claude Code-Metriken haben kein `ccr_session_id`**: Prüfen Sie, dass [`OTEL_METRICS_INCLUDE_SESSION_ID`](https://code.claude.com/docs/de/monitoring-usage#metrics-cardinality-control) nicht auf `false` gesetzt ist

381 398 

382### Semantik der Zähler für den Sitzungslebenszyklus399### Semantik der Zähler für den Sitzungslebenszyklus

383 400 

Details

117| [`gcpAuthRefresh`](#gcpauthrefresh) | Aktualisiert [Google Cloud-Anmeldedaten](https://code.claude.com/docs/de/google-vertex-ai.md#advanced-credential-configuration) mit Ihrem eigenen Befehl | Authentifizierung und Anbieter | Jede Datei |117| [`gcpAuthRefresh`](#gcpauthrefresh) | Aktualisiert [Google Cloud-Anmeldedaten](https://code.claude.com/docs/de/google-vertex-ai.md#advanced-credential-configuration) mit Ihrem eigenen Befehl | Authentifizierung und Anbieter | Jede Datei |

118| [`hooks`](#hooks) | Führt Ihre eigenen Befehle als [Hooks](https://code.claude.com/docs/de/hooks.md) an bestimmten Punkten im Lebenszyklus von Claude Code aus | Hooks und Automatisierung | Jede Datei |118| [`hooks`](#hooks) | Führt Ihre eigenen Befehle als [Hooks](https://code.claude.com/docs/de/hooks.md) an bestimmten Punkten im Lebenszyklus von Claude Code aus | Hooks und Automatisierung | Jede Datei |

119| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | Beschränkt, welche Umgebungsvariablen [HTTP-Hooks](https://code.claude.com/docs/de/hooks.md) in Header einfügen können | Hooks und Automatisierung | Jede Datei |119| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | Beschränkt, welche Umgebungsvariablen [HTTP-Hooks](https://code.claude.com/docs/de/hooks.md) in Header einfügen können | Hooks und Automatisierung | Jede Datei |

120| [`idleCompaction`](#idlecompaction) | Verhindert, dass Claude Code eine lange Konversation komprimiert, während Ihre Terminalsitzung im Leerlauf ist | Memory und Kontext | Jede Datei |120| [`idleCompaction`](#idlecompaction) | Verhindert, dass Claude Code eine lange Konversation komprimiert, während Sie abwesend sind | Memory und Kontext | Jede Datei |

121| [`includeCoAuthoredBy`](#includecoauthoredby) | Veraltet; verwenden Sie `attribution`, um die Attribution in Commits und PRs zu verbergen oder zu ändern | Git und Attribution | Jede Datei |121| [`includeCoAuthoredBy`](#includecoauthoredby) | Veraltet; verwenden Sie `attribution`, um die Attribution in Commits und PRs zu verbergen oder zu ändern | Git und Attribution | Jede Datei |

122| [`includeGitInstructions`](#includegitinstructions) | Entfernt die integrierten Commit- und PR-Anweisungen aus Claudes Kontext | Git und Attribution | Jede Datei |122| [`includeGitInstructions`](#includegitinstructions) | Entfernt die integrierten Commit- und PR-Anweisungen aus Claudes Kontext | Git und Attribution | Jede Datei |

123| [`inputNeededNotifEnabled`](#inputneedednotifenabled) | Sendet Ihnen eine [Push-Benachrichtigung](https://code.claude.com/docs/de/remote-control.md#mobile-push-notifications), wenn Claude auf Sie wartet | Remote, Desktop und Benachrichtigungen | Jede Datei |123| [`inputNeededNotifEnabled`](#inputneedednotifenabled) | Sendet Ihnen eine [Push-Benachrichtigung](https://code.claude.com/docs/de/remote-control.md#mobile-push-notifications), wenn Claude auf Sie wartet | Remote, Desktop und Benachrichtigungen | Jede Datei |


1229Auf einer Plattform, die die Sandbox nicht unterstützt, startet Claude Code nicht, wenn dieser Schlüssel aktiviert ist. Siehe [Enforce sandboxing with managed settings](https://code.claude.com/docs/de/sandboxing.md#enforce-sandboxing-with-managed-settings).1229Auf einer Plattform, die die Sandbox nicht unterstützt, startet Claude Code nicht, wenn dieser Schlüssel aktiviert ist. Siehe [Enforce sandboxing with managed settings](https://code.claude.com/docs/de/sandboxing.md#enforce-sandboxing-with-managed-settings).

1230 1230 

1231* **Bereich**: [`Any file`](#scopes), mit [Einschränkungen für Projekt- und lokale Einstellungen](https://code.claude.com/docs/de/sandboxing.md#repository-settings-under-an-admin-required-sandbox)1231* **Bereich**: [`Any file`](#scopes), mit [Einschränkungen für Projekt- und lokale Einstellungen](https://code.claude.com/docs/de/sandboxing.md#repository-settings-under-an-admin-required-sandbox)

1232* **Typ**: Boolescher Wert1232* **Typ**: Boolean

1233 * `true`: Claude Code beendet sich beim Start mit einem Fehler, wenn `sandbox.enabled` `true` ist, die Sandbox aber nicht starten kann1233 * `true`: Claude Code beendet sich beim Start mit einem Fehler, wenn `sandbox.enabled` auf `true` steht, die Sandbox aber nicht starten kann. Besteht die Sandbox diese Prüfung und schlägt danach die Initialisierung fehl, läuft die Sitzung weiter und Claude Code [verweigert jeden Befehl in der Sandbox](https://code.claude.com/docs/de/sandboxing.md#commands-refused-with-sandbox-is-required)

1234 * `false`: Claude Code führt Befehle ohne Sandbox aus, wenn die Sandbox nicht starten kann1234 * `false`: Claude Code führt Befehle ohne Sandbox aus, wenn die Sandbox nicht starten kann

1235* **Standard**: `false`1235* **Standard**: `false`

1236 1236 

1237Dies lässt jeden verwalteten Computer Befehle in der Sandbox ausführen oder den Start verweigern:1237Dieses Beispiel schaltet die Sandbox für verwaltete Rechner ein und setzt `failIfUnavailable` auf `true`:

1238 1238 

1239```json managed-settings.json theme={null}1239```json managed-settings.json theme={null}

1240{1240{


2415 2415 

2416### `idleCompaction`2416### `idleCompaction`

2417 2417 

2418Die Komprimierung im Leerlauf [komprimiert](https://code.claude.com/docs/de/context-window.md#what-survives-compaction) eine lange Konversation, von der Sie sich entfernt haben, kurz bevor ihr Prompt-Cache abläuft. Ihre nächste Nachricht sendet dann eine Zusammenfassung statt der gesamten Konversation. Wenn Sie zurückkehren, zeigt die Konversation eine Zeile an, die mit `Compacted while idle, before the prompt cache expired` beginnt.2418Die Komprimierung im Leerlauf [komprimiert](https://code.claude.com/docs/de/context-window.md#what-survives-compaction) eine lange Konversation, von der Sie sich entfernt haben. Ihre nächste Nachricht sendet dann eine Zusammenfassung statt der gesamten Konversation. Nach der Komprimierung zeigt die Konversation einen Hinweis an:

2419 

2420* **Terminal**: eine Zeile, die mit `Compacted while idle, before the prompt cache expired` beginnt

2421* **[VS Code-Chatbereich](#idle-compaction-in-vs-code-and-the-desktop-app)**: ein Hinweis, der `a summary written while you were away` enthält

2422* **[Desktop-App](#idle-compaction-in-vs-code-and-the-desktop-app)**: derselbe Hinweis, innerhalb einer Zeile, deren Beschriftung `Claude Code notice` enthält. Wenn Sie diese Zeile oder ihren Text nicht sehen, wechseln Sie in den [Ansichtsmodus Verbose](https://code.claude.com/docs/de/desktop.md#switch-view-modes).

2419 2423 

2420Die Komprimierung im Leerlauf ist standardmäßig für Konversationen aktiviert, die alle diese Bedingungen erfüllen:2424Die Komprimierung im Leerlauf ist standardmäßig für Konversationen aktiviert, die alle diese Bedingungen erfüllen:

2421 2425 

2422* **Sitzung**: Sie befinden sich in einer interaktiven Terminal-Sitzung2426* **Sitzung**: Sie befinden sich in einer interaktiven Terminal-Sitzung oder im Chatbereich der VS Code-Erweiterung bzw. im Code-Tab der Desktop-App mit einem [Konto, das Anthropic auswählt](#idle-compaction-in-vs-code-and-the-desktop-app)

2423* **Automatische Komprimierung**: [`autoCompactEnabled`](#autocompactenabled) ist aktiviert2427* **Automatische Komprimierung**: [`autoCompactEnabled`](#autocompactenabled) ist aktiviert

2424* **Prompt-Cache**: Die Konversation verwendet die [einstündige Prompt-Cache-TTL](https://code.claude.com/docs/de/prompt-caching.md#which-ttl-each-request-gets)2428* **Prompt-Cache**: Die Konversation verwendet die [einstündige Prompt-Cache-TTL](https://code.claude.com/docs/de/prompt-caching.md#which-ttl-each-request-gets)

2425* **Feature-Flags**: Claude Code kann [Feature-Flags von Anthropic abrufen](https://code.claude.com/docs/de/env-vars.md#features-that-need-feature-flag-fetching)2429* **Feature-Flags**: Claude Code kann [Feature-Flags von Anthropic abrufen](https://code.claude.com/docs/de/env-vars.md#features-that-need-feature-flag-fetching)


2441}2445}

2442```2446```

2443 2447 

2444Um die Komprimierung im Leerlauf innerhalb einer Sitzung aus- oder einzuschalten, führen Sie `/config` aus und ändern Sie die Zeile **Idle compaction**. Ihre Auswahl wird in Ihren Benutzereinstellungen gespeichert und gilt sofort. Die Zeile erfordert Claude Code v2.1.302 oder später. Wenn Sie eine dieser Versionen verwenden und `/config` die Zeile nicht anzeigt, prüfen Sie diese Ursachen:2448Um die Komprimierung im Leerlauf innerhalb einer Terminal-Sitzung aus- oder einzuschalten, führen Sie `/config` aus und ändern Sie die Zeile **Idle compaction**. Ihre Auswahl wird in Ihren Benutzereinstellungen gespeichert und gilt sofort. Die Zeile erfordert Claude Code v2.1.302 oder später. Wenn Sie eine dieser Versionen verwenden und `/config` die Zeile nicht anzeigt, prüfen Sie diese Ursachen:

2445 2449 

2446* **Eine andere Einstellungsquelle setzt den Schlüssel**: Ein Wert in verwalteten Einstellungen, im Flag `--settings` oder in einer Projekt- oder lokalen Einstellungsdatei überschreibt Ihre Benutzereinstellungen. Ändern Sie den Schlüssel stattdessen in dieser Quelle2450* **Eine andere Einstellungsquelle setzt den Schlüssel**: Ein Wert in verwalteten Einstellungen, im Flag `--settings` oder in einer Projekt- oder lokalen Einstellungsdatei überschreibt Ihre Benutzereinstellungen. Ändern Sie den Schlüssel stattdessen in dieser Quelle

2447* **Feature-Flags sind nicht verfügbar**: Wo Claude Code keine [Feature-Flags von Anthropic abrufen](https://code.claude.com/docs/de/env-vars.md#features-that-need-feature-flag-fetching) kann, wird die Komprimierung im Leerlauf nicht ausgeführt, daher gibt es nichts auszuschalten2451* **Feature-Flags sind nicht verfügbar**: Wo Claude Code keine [Feature-Flags von Anthropic abrufen](https://code.claude.com/docs/de/env-vars.md#features-that-need-feature-flag-fetching) kann, wird die Komprimierung im Leerlauf nicht ausgeführt, daher gibt es nichts auszuschalten


2462}2466}

2463```2467```

2464 2468 

2469#### Komprimierung im Leerlauf in VS Code und der Desktop-App

2470 

2471Ein Hinweis wie dieser bedeutet, dass Claude Code [Ihre bisherige Konversation durch eine Zusammenfassung ersetzt hat](https://code.claude.com/docs/de/context-window.md#what-survives-compaction), mit der Claude nun weiterarbeitet:

2472 

2473```text theme={null}

2474Compacted using a summary written while you were away · turn off with "idleCompaction": false in settings.json

2475```

2476 

2477Sie müssen nichts tun. Um die Komprimierung im Leerlauf auszuschalten, setzen Sie `idleCompaction` in `~/.claude/settings.json` oder einer anderen [Einstellungsdatei](https://code.claude.com/docs/de/settings.md#settings-files-and-who-they-affect) auf `false`.

2478 

2479Im Chatbereich der VS Code-Erweiterung und im Code-Tab der Desktop-App wird die Komprimierung im Leerlauf für Konten ausgeführt, die Anthropic auswählt. Claude Code schreibt die Zusammenfassung, während Sie abwesend sind, und komprimiert damit nur, wenn Ihre nächste Nachricht eine Stunde oder länger nach der letzten Anfrage eintrifft.

2480 

2465### `plansDirectory`2481### `plansDirectory`

2466 2482 

2467Wählen Sie, wo Claude Code die Plandateien speichert, die es im [Plan-Modus](https://code.claude.com/docs/de/permission-modes.md#analyze-before-you-edit-with-plan-mode) schreibt. Claude Code löst den Pfad relativ zum Projektstamm auf.2483Wählen Sie, wo Claude Code die Plandateien speichert, die es im [Plan-Modus](https://code.claude.com/docs/de/permission-modes.md#analyze-before-you-edit-with-plan-mode) schreibt. Claude Code löst den Pfad relativ zum Projektstamm auf.


3522 3538 

3523* **Verwaltete und SDK-Hooks werden ausgeführt**: Hooks aus verwalteten Einstellungen und Hooks, die das [Agent SDK](https://code.claude.com/docs/de/agent-sdk/overview.md) im Prozess registriert3539* **Verwaltete und SDK-Hooks werden ausgeführt**: Hooks aus verwalteten Einstellungen und Hooks, die das [Agent SDK](https://code.claude.com/docs/de/agent-sdk/overview.md) im Prozess registriert

3524* **Erzwungene Plugin-Hooks werden ausgeführt**: Hooks aus Plugins, die Ihre verwalteten Einstellungen durch [`enabledPlugins`](#enabledplugins) erzwingen. Claude Code gleicht die vollständige `plugin@marketplace`-ID ab, daher bleibt ein Plugin mit demselben Namen aus einem anderen Marketplace blockiert. Dies ermöglicht es Ihnen, überprüfte Hooks über einen Organisations-Marketplace zu verteilen und alles andere zu blockieren. Ein [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) in einem solchen Plugin wird nur geladen, wenn er [als Mod Ihrer Organisation gilt](https://code.claude.com/docs/de/plugins/mods/admin.md#install-your-organizations-mods)3540* **Erzwungene Plugin-Hooks werden ausgeführt**: Hooks aus Plugins, die Ihre verwalteten Einstellungen durch [`enabledPlugins`](#enabledplugins) erzwingen. Claude Code gleicht die vollständige `plugin@marketplace`-ID ab, daher bleibt ein Plugin mit demselben Namen aus einem anderen Marketplace blockiert. Dies ermöglicht es Ihnen, überprüfte Hooks über einen Organisations-Marketplace zu verteilen und alles andere zu blockieren. Ein [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) in einem solchen Plugin wird nur geladen, wenn er [als Mod Ihrer Organisation gilt](https://code.claude.com/docs/de/plugins/mods/admin.md#install-your-organizations-mods)

3541* **Monitore aus anderen Plugins werden blockiert**: Die [Monitore](https://code.claude.com/docs/de/plugins/components.md#monitors) eines Plugins starten nur, wenn das Plugin erzwungen aktiviert ist. Erfordert Claude Code v2.1.310 oder später

3525* **Alles andere wird blockiert**: Benutzer-, Projekt- und lokale Hooks, Hooks und Mods aus anderen installierten Plugins sowie Hooks, die im Agent-Frontmatter deklariert sind. [In Claude Code integrierte Mods](https://code.claude.com/docs/de/plugins/mods/overview.md#mods-built-into-claude-code) werden weiterhin ausgeführt. Um nur die Mods der Benutzer zu blockieren, setzen Sie stattdessen [`allowManagedModsOnly`](https://code.claude.com/docs/de/plugins/mods/admin#set-options-on-the-built-in-guard).3542* **Alles andere wird blockiert**: Benutzer-, Projekt- und lokale Hooks, Hooks und Mods aus anderen installierten Plugins sowie Hooks, die im Agent-Frontmatter deklariert sind. [In Claude Code integrierte Mods](https://code.claude.com/docs/de/plugins/mods/overview.md#mods-built-into-claude-code) werden weiterhin ausgeführt. Um nur die Mods der Benutzer zu blockieren, setzen Sie stattdessen [`allowManagedModsOnly`](https://code.claude.com/docs/de/plugins/mods/admin#set-options-on-the-built-in-guard).

3526* **Command-sourced Plugins sind deaktiviert**: Claude Code deaktiviert auch Plugins mit einer [`command`-Quelle](https://code.claude.com/docs/de/plugins/marketplace-reference#command-plugin-source), einschließlich Plugins, die in verwalteten `enabledPlugins` erzwungen werden, es sei denn, Sie setzen [`disableCommandPluginSources`](#disablecommandpluginsources) explizit auf `false`3543* **Command-sourced Plugins sind deaktiviert**: Claude Code deaktiviert auch Plugins mit einer [`command`-Quelle](https://code.claude.com/docs/de/plugins/marketplace-reference#command-plugin-source), einschließlich Plugins, die in verwalteten `enabledPlugins` erzwungen werden, es sei denn, Sie setzen [`disableCommandPluginSources`](#disablecommandpluginsources) explizit auf `false`

3527* **Marketplace `headersHelper`-Befehle werden blockiert**: Claude Code blockiert auch Marketplace-[`headersHelper`-Befehle](https://code.claude.com/docs/de/plugins/host-marketplace#authenticate-archive-downloads), es sei denn, [`disableCommandPluginSources`](#disablecommandpluginsources) ist explizit auf `false` gesetzt, außer für einen Marketplace, den die verwalteten Einstellungen selbst deklarieren. Erfordert Claude Code v2.1.238 oder später3544* **Marketplace `headersHelper`-Befehle werden blockiert**: Claude Code blockiert auch Marketplace-[`headersHelper`-Befehle](https://code.claude.com/docs/de/plugins/host-marketplace#authenticate-archive-downloads), es sei denn, [`disableCommandPluginSources`](#disablecommandpluginsources) ist explizit auf `false` gesetzt, außer für einen Marketplace, den die verwalteten Einstellungen selbst deklarieren. Erfordert Claude Code v2.1.238 oder später

statusline.md +86 −86

Details

171 171 

172| Feld | Beschreibung |172| Feld | Beschreibung |

173| - | - |173| - | - |

174| `model.id`, `model.display_name` | Aktuelle Modellkennung und Anzeigename |174| `model.id`, `model.display_name` | Kennung und Anzeigename des aktuellen Modells |

175| `cwd`, `workspace.current_dir` | Aktuelles Arbeitsverzeichnis. Beide Felder enthalten denselben Wert; `workspace.current_dir` wird für Konsistenz mit `workspace.project_dir` bevorzugt. |175| `cwd`, `workspace.current_dir` | Aktuelles Arbeitsverzeichnis. Beide Felder enthalten denselben Wert; `workspace.current_dir` wird aus Gründen der Konsistenz mit `workspace.project_dir` bevorzugt. |

176| `workspace.project_dir` | Verzeichnis, in dem Claude Code gestartet wurde, das sich von `cwd` unterscheiden kann, wenn sich das Arbeitsverzeichnis während einer Sitzung ändert |176| `workspace.project_dir` | Verzeichnis, in dem Claude Code gestartet wurde. Es kann sich von `cwd` unterscheiden, wenn sich das Arbeitsverzeichnis während einer Sitzung ändert |

177| `workspace.added_dirs` | Zusätzliche Verzeichnisse, die über `/add-dir` oder `--add-dir` hinzugefügt wurden. Leeres Array, wenn keine hinzugefügt wurden |177| `workspace.added_dirs` | Zusätzliche Verzeichnisse, die über `/add-dir` oder `--add-dir` hinzugefügt wurden. Leeres Array, wenn keine hinzugefügt wurden |

178| `workspace.git_worktree` | Git-Worktree-Name, wenn sich das aktuelle Verzeichnis in einem verknüpften Worktree befindet, der mit `git worktree add` erstellt wurde. Fehlt im Haupt-Worktree. Wird für jeden Git-Worktree gefüllt, im Gegensatz zu `worktree.*`, das nur während einer [Worktree-Sitzung](https://code.claude.com/docs/de/worktrees.md) vorhanden ist. |178| `workspace.git_worktree` | Name des Git-Worktrees, wenn sich das aktuelle Verzeichnis in einem verknüpften Worktree befindet, der mit `git worktree add` erstellt wurde. Fehlt im Haupt-Arbeitsbaum. Wird für jeden Git-Worktree befüllt, im Gegensatz zu `worktree.*`, das nur vorhanden ist, solange sich die Sitzung in einer [Worktree-Sitzung](https://code.claude.com/docs/de/worktrees.md) befindet |

179| `workspace.repo.host`, `workspace.repo.owner`, `workspace.repo.name` | Repository-Identität, die aus dem `origin` Remote geparst wird, zum Beispiel `"github.com"`, `"anthropics"`, `"claude-code"`. Fehlt außerhalb eines Git-Repositorys oder wenn kein `origin` Remote konfiguriert ist. Für ein gitlab.com-Projekt, das in Untergruppen verschachtelt ist, ist `owner` der vollständige Namespace-Pfad mit Schrägstrichen, wie `"group/subgroup"`. Vor v2.1.260 fehlte `workspace.repo` für diese Projekte |179| `workspace.repo.host`, `workspace.repo.owner`, `workspace.repo.name` | Identität des Repositorys, ermittelt aus dem Remote `origin`, zum Beispiel `"github.com"`, `"anthropics"`, `"claude-code"`. Fehlt außerhalb eines Git-Repositorys oder wenn kein Remote `origin` konfiguriert ist. Bei einem gitlab.com-Projekt, das in Untergruppen verschachtelt ist, ist `owner` der vollständige Namespace-Pfad mit Schrägstrichen, etwa `"group/subgroup"`. Vor v2.1.260 fehlte `workspace.repo` bei solchen Projekten |

180| `cost.total_cost_usd` | Geschätzte Sitzungskosten in USD, berechnet auf der Client-Seite zum Listenpreis, es sei denn, eine [`modelPricing`](https://code.claude.com/docs/de/settings-reference#modelpricing) Tabelle ist in Kraft. Kann sich von Ihrer tatsächlichen Rechnung unterscheiden. Wird auf \$0 zurückgesetzt, wenn `/clear` eine neue Sitzung startet |180| `cost.total_cost_usd` | Geschätzte Sitzungskosten in USD, clientseitig zum Listenpreis berechnet, sofern keine [`modelPricing`](https://code.claude.com/docs/de/settings-reference#modelpricing)-Tabelle aktiv ist. Kann von Ihrer tatsächlichen Rechnung abweichen. Wird auf \$0 zurückgesetzt, wenn `/clear` eine neue Sitzung startet |

181| `cost.total_duration_ms` | Gesamtverstrichene Zeit seit Sitzungsbeginn in Millisekunden |181| `cost.total_duration_ms` | Gesamte reale Laufzeit (Wall-Clock-Zeit) der Sitzung in Millisekunden. Summiert sich über Fortsetzungen hinweg auf und schließt Zeiträume nicht ein, in denen die Sitzung nicht läuft |

182| `cost.total_api_duration_ms` | Gesamtzeit, die auf API-Antworten wartet, in Millisekunden |182| `cost.total_api_duration_ms` | Gesamte Wartezeit auf API-Antworten in Millisekunden |

183| `cost.total_lines_added`, `cost.total_lines_removed` | Geänderte Codezeilen |183| `cost.total_lines_added`, `cost.total_lines_removed` | Geänderte Codezeilen |

184| `context_window.total_input_tokens`, `context_window.total_output_tokens` | Token-Zählungen, die sich derzeit im Kontextfenster befinden, aus der letzten API-Antwort. Die Eingabe umfasst Cache-Lesevorgänge und -Schreibvorgänge |184| `context_window.total_input_tokens`, `context_window.total_output_tokens` | Anzahl der Token, die sich aktuell im Kontextfenster befinden, aus der letzten API-Antwort. Die Eingabe umfasst Cache-Lese- und -Schreibvorgänge |

185| `context_window.context_window_size` | Maximale Kontextfenstergröße in Token. Standardmäßig 200.000 oder 1.000.000 für Modelle mit erweitertem Kontext. |185| `context_window.context_window_size` | Maximale Größe des Kontextfensters in Token. Standardmäßig 200000 oder 1000000 bei Modellen mit erweitertem Kontext. |

186| `context_window.used_percentage` | Vorberechneter Prozentsatz der Kontextfensternutzung |186| `context_window.used_percentage` | Vorberechneter Prozentsatz des genutzten Kontextfensters |

187| `context_window.remaining_percentage` | Vorberechneter Prozentsatz des verbleibenden Kontextfensters |187| `context_window.remaining_percentage` | Vorberechneter Prozentsatz des verbleibenden Kontextfensters |

188| `context_window.current_usage` | Token-Zählungen aus dem letzten API-Aufruf, beschrieben in [Kontextfenster-Felder](#context-window-fields) |188| `context_window.current_usage` | Token-Anzahlen aus dem letzten API-Aufruf, beschrieben unter [Felder des Kontextfensters](#context-window-fields) |

189| `exceeds_200k_tokens` | Ob die Gesamttoken-Zählung (Eingabe-, Cache- und Ausgabe-Token kombiniert) aus der letzten API-Antwort 200k überschreitet. Dies ist ein fester Schwellenwert unabhängig von der tatsächlichen Kontextfenstergröße. |189| `exceeds_200k_tokens` | Ob die gesamte Token-Anzahl (Eingabe-, Cache- und Ausgabe-Token zusammen) aus der letzten API-Antwort 200k überschreitet. Dies ist ein fester Schwellenwert, unabhängig von der tatsächlichen Größe des Kontextfensters. |

190| `fast_mode` | Ob [Schnellmodus](https://code.claude.com/docs/de/fast-mode.md) für die Sitzung aktiviert ist |190| `fast_mode` | Ob der [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md) für die Sitzung aktiviert ist |

191| `effort.level` | Aktueller Reasoning-Aufwand (`low`, `medium`, `high`, `xhigh` oder `max`). Spiegelt den Live-Sitzungswert wider, einschließlich Änderungen von `/effort` während der Sitzung. Fehlt, wenn das aktuelle Modell den Effort-Parameter nicht unterstützt |191| `effort.level` | Aktueller Reasoning-Aufwand (`low`, `medium`, `high`, `xhigh` oder `max`). Spiegelt den aktuellen Sitzungswert wider, einschließlich Änderungen über `/effort` während der Sitzung. Fehlt, wenn das aktuelle Modell den Effort-Parameter nicht unterstützt |

192| `thinking.enabled` | Ob erweitertes Denken für die Sitzung aktiviert ist |192| `thinking.enabled` | Ob Extended Thinking für die Sitzung aktiviert ist |

193| `rate_limits.five_hour.used_percentage`, `rate_limits.seven_day.used_percentage` | Prozentsatz des 5-Stunden- oder 7-Tage-Ratenlimits verbraucht, von 0 bis 100 |193| `rate_limits.five_hour.used_percentage`, `rate_limits.seven_day.used_percentage` | Verbrauchter Prozentsatz des 5-Stunden- bzw. 7-Tage-Rate-Limits, von 0 bis 100 |

194| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | Unix-Epochensekunden, wenn das 5-Stunden- oder 7-Tage-Ratenlimit-Fenster zurückgesetzt wird |194| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | Unix-Epoch-Sekunden, zu denen das 5-Stunden- bzw. 7-Tage-Rate-Limit-Fenster zurückgesetzt wird |

195| `rate_limits.spend_limit.used_percentage`, `rate_limits.spend_limit.resets_at` | Hinter einem Claude-Apps-Gateway, wie viel Ihres Ausgabenlimits Sie verbraucht haben und wann sein Zeitraum zurückgesetzt wird. Siehe [Ausgabenlimit-Felder](#spend-limit-fields). Erfordert Claude Code v2.1.251 oder später |195| `rate_limits.spend_limit.used_percentage`, `rate_limits.spend_limit.resets_at` | Hinter einem Claude-Apps-Gateway: wie viel Ihres Ausgabenlimits Sie verbraucht haben und wann dessen Zeitraum zurückgesetzt wird. Siehe [Felder des Ausgabenlimits](#spend-limit-fields). Erfordert Claude Code v2.1.251 oder höher |

196| `rate_limits.spend_limit.used_usd`, `rate_limits.spend_limit.limit_usd`, `rate_limits.spend_limit.period` | Ihre geschätzten Ausgaben und Ihr Limit in US-Dollar sowie der Zeitraum des Limits. Diese Felder können fehlen. Siehe [Ausgabenlimit-Felder](#spend-limit-fields). Erfordert v2.1.284 oder später sowohl bei Claude Code als auch beim Gateway |196| `rate_limits.spend_limit.used_usd`, `rate_limits.spend_limit.limit_usd`, `rate_limits.spend_limit.period` | Ihre geschätzten Ausgaben und Ihr Limit in US-Dollar sowie der Zeitraum des Limits. Diese Felder können fehlen. Siehe [Felder des Ausgabenlimits](#spend-limit-fields). Erfordert v2.1.284 oder höher sowohl bei Claude Code als auch beim Gateway |

197| `prompt_cache` | Die [Prompt-Cache](https://code.claude.com/docs/de/prompt-caching.md) Statistiken der Sitzung für die Hauptkonversation: Hit-Ratio, Misses und ob der Cache warm ist. Siehe [Prompt-Cache-Felder](#prompt-cache-fields) für jedes Feld. Fehlt bis zur ersten API-Antwort der Hauptkonversation. Erfordert Claude Code v2.1.251 oder später |197| `prompt_cache` | Die [Prompt-Cache](https://code.claude.com/docs/de/prompt-caching.md)-Statistiken der Sitzung für die Hauptkonversation: Trefferquote, Misses und ob der Cache warm ist. Alle Felder finden Sie unter [Felder des Prompt-Caches](#prompt-cache-fields). Fehlt bis zur ersten API-Antwort der Hauptkonversation. Erfordert Claude Code v2.1.251 oder höher |

198| `session_id` | Eindeutige Sitzungskennung |198| `session_id` | Eindeutige Sitzungskennung |

199| `session_name` | Sitzungsname. Verwendet den benutzerdefinierten Namen, der mit dem `--name` Flag oder `/rename` gesetzt wurde, wenn einer vorhanden ist, andernfalls den von der KI generierten Sitzungstitel. Der [Standard-Anzeigename](https://code.claude.com/docs/de/sessions.md#name-your-sessions), wie `my-app-3f`, füllt dieses Feld nicht. Fehlt, wenn die Sitzung weder einen benutzerdefinierten Namen noch einen von der KI generierten Titel hat |199| `session_name` | Sitzungsname. Verwendet den benutzerdefinierten Namen, der mit dem Flag `--name` oder mit `/rename` festgelegt wurde, sofern vorhanden, andernfalls den KI-generierten Sitzungstitel. Der [Standard-Anzeigename](https://code.claude.com/docs/de/sessions.md#name-your-sessions), etwa `my-app-3f`, befüllt dieses Feld nicht. Fehlt, wenn die Sitzung weder einen benutzerdefinierten Namen noch einen KI-generierten Titel hat |

200| `prompt_id` | UUID, die die Benutzereingabe identifiziert, die gerade verarbeitet wird. Entspricht dem [`prompt.id` Attribut auf OpenTelemetry-Ereignissen](https://code.claude.com/docs/de/monitoring-usage#event-correlation-attributes). Fehlt bis zur ersten Benutzereingabe |200| `prompt_id` | UUID, die den aktuell verarbeiteten Benutzer-Prompt identifiziert. Entspricht dem [Attribut `prompt.id` bei OpenTelemetry-Ereignissen](https://code.claude.com/docs/de/monitoring-usage#event-correlation-attributes). Fehlt bis zur ersten Benutzereingabe |

201| `transcript_path` | Pfad zur Gesprächstranskriptdatei |201| `transcript_path` | Pfad zur Transkriptdatei der Konversation |

202| `version` | Claude Code-Version |202| `version` | Version von Claude Code |

203| `output_style.name` | Name des aktuellen Ausgabestils |203| `output_style.name` | Name des aktuellen Ausgabestils |

204| `vim.mode` | Aktueller Vim-Modus (`NORMAL`, `INSERT`, `VISUAL` oder `VISUAL LINE`), wenn [Vim-Modus](https://code.claude.com/docs/de/interactive-mode.md#vim-editor-mode) aktiviert ist |204| `vim.mode` | Aktueller Vim-Modus (`NORMAL`, `INSERT`, `VISUAL` oder `VISUAL LINE`), wenn der [Vim-Modus](https://code.claude.com/docs/de/interactive-mode.md#vim-editor-mode) aktiviert ist |

205| `agent.name` | Agent-Name bei Ausführung mit dem `--agent` Flag oder konfigurierter Agent-Einstellung |205| `agent.name` | Name des Agenten bei Ausführung mit dem Flag `--agent` oder bei konfigurierten Agenteneinstellungen |

206| `pr.number`, `pr.url` | Offener Pull Request für den aktuellen Branch. Spiegelt das PR-Badge in der Fußzeile wider. In einem Repository mit einem GitLab-Remote füllt Claude Code diese Felder stattdessen aus der offenen [Merge Request](https://code.claude.com/docs/de/interactive-mode.md#gitlab-merge-requests) des Branches, daher ist `pr.number` die Merge-Request-Nummer. Merge-Request-Daten erfordern Claude Code v2.1.234 oder später. Fehlt, wenn nicht in einem Git-Repository, bis ein Pull Request oder eine Merge Request gefunden wird, oder sobald sie zusammengeführt oder geschlossen wird |206| `pr.number`, `pr.url` | Offener Pull Request für den aktuellen Branch. Entspricht dem PR-Badge in der Fußzeile. In einem Repository mit einem GitLab-Remote befüllt Claude Code diese Felder stattdessen aus dem offenen [Merge Request](https://code.claude.com/docs/de/interactive-mode.md#gitlab-merge-requests) des Branches, sodass `pr.number` die Nummer des Merge Requests ist. Daten zu Merge Requests erfordern Claude Code v2.1.234 oder höher. Fehlt außerhalb eines Git-Repositorys, bis ein Pull Request oder Merge Request gefunden wird, oder sobald dieser gemergt oder geschlossen wird |

207| `pr.review_state` | Review-Status des offenen PR: `approved`, `pending`, `changes_requested` oder `draft`. Kann unabhängig fehlen, auch wenn `pr` vorhanden ist |207| `pr.review_state` | Review-Status des offenen PR: `approved`, `pending`, `changes_requested` oder `draft`. Kann unabhängig fehlen, auch wenn `pr` vorhanden ist |

208| `pr.kind` | `mr`, wenn `pr` eine [GitLab-Merge-Request](https://code.claude.com/docs/de/interactive-mode.md#gitlab-merge-requests) beschreibt. Fehlt bei GitHub-Pull-Requests, daher funktionieren Skripte, die vor diesem Feld geschrieben wurden, weiterhin. Für eine Merge Request setzt Claude Code `review_state` auf `approved`, wenn GitLab meldet, dass sie zusammenführbar ist, `pending` für jeden anderen offenen Status und `draft` für einen Entwurf. Erfordert Claude Code v2.1.234 oder später |208| `pr.kind` | `mr`, wenn `pr` einen [GitLab Merge Request](https://code.claude.com/docs/de/interactive-mode.md#gitlab-merge-requests) beschreibt. Fehlt bei GitHub Pull Requests, sodass Skripte, die vor Einführung dieses Felds geschrieben wurden, weiterhin funktionieren. Bei einem Merge Request setzt Claude Code `review_state` auf `approved`, wenn GitLab ihn als mergebar meldet, auf `pending` bei jedem anderen offenen Zustand und auf `draft` bei einem Entwurf. Erfordert Claude Code v2.1.234 oder höher |

209| `worktree.name` | Name des aktiven Worktree. Nur während einer [Worktree-Sitzung](https://code.claude.com/docs/de/worktrees.md) vorhanden |209| `worktree.name` | Name des aktiven Worktrees. Nur vorhanden, solange sich die Sitzung in einer [Worktree-Sitzung](https://code.claude.com/docs/de/worktrees.md) befindet |

210| `worktree.path` | Absoluter Pfad zum Worktree-Verzeichnis |210| `worktree.path` | Absoluter Pfad zum Worktree-Verzeichnis |

211| `worktree.branch` | Git-Branch-Name für den Worktree (zum Beispiel `"worktree-my-feature"`). Fehlt bei Hook-basierten Worktrees |211| `worktree.branch` | Name des Git-Branches für den Worktree (zum Beispiel `"worktree-my-feature"`). Fehlt bei Hook-basierten Worktrees |

212| `worktree.original_cwd` | Das Verzeichnis, in dem Claude sich befand, bevor es den Worktree betrat |212| `worktree.original_cwd` | Das Verzeichnis, in dem sich Claude vor dem Wechsel in den Worktree befand |

213| `worktree.original_branch` | Git-Branch, der vor dem Betreten des Worktree ausgecheckt wurde. Fehlt bei Hook-basierten Worktrees |213| `worktree.original_branch` | Git-Branch, der vor dem Wechsel in den Worktree ausgecheckt war. Fehlt bei Hook-basierten Worktrees |

214 214 

215> **Vollständiges JSON-Schema**215> **Vollständiges JSON-Schema**

216>216>

217> Ihr Statuszeilen-Befehl empfängt diese JSON-Struktur über stdin:217> Ihr Statuszeilen-Befehl erhält diese JSON-Struktur über stdin:

218>218>

219> ```json theme={null}219> ```json theme={null}

220> {220> {


330> }330> }

331> ```331> ```

332>332>

333> **Felder, die möglicherweise fehlen** (nicht in JSON vorhanden):333> **Felder, die fehlen können** (nicht im JSON vorhanden):

334>334>

335> * `session_name`: erscheint, wenn ein benutzerdefinierter Name mit `--name` oder `/rename` gesetzt wurde, oder sobald ein von der KI generierter Sitzungstitel vorhanden ist. Der Standard-Anzeigename, wie `my-app-3f`, füllt dieses Feld nicht335> * `session_name`: erscheint, wenn ein benutzerdefinierter Name mit `--name` oder `/rename` festgelegt wurde oder sobald ein KI-generierter Sitzungstitel existiert. Der Standard-Anzeigename, etwa `my-app-3f`, befüllt es nicht

336> * `prompt_id`: erscheint nur nach der ersten Benutzereingabe336> * `prompt_id`: erscheint erst nach der ersten Benutzereingabe

337> * `workspace.git_worktree`: erscheint nur, wenn sich das aktuelle Verzeichnis in einem verknüpften Git-Worktree befindet337> * `workspace.git_worktree`: erscheint nur, wenn sich das aktuelle Verzeichnis in einem verknüpften Git-Worktree befindet

338> * `workspace.repo`: erscheint nur in einem Git-Repository mit einem konfigurierten `origin` Remote338> * `workspace.repo`: erscheint nur innerhalb eines Git-Repositorys mit konfiguriertem Remote `origin`

339> * `effort`: erscheint nur, wenn das aktuelle Modell den Reasoning-Effort-Parameter unterstützt339> * `effort`: erscheint nur, wenn das aktuelle Modell den Parameter für den Reasoning-Aufwand unterstützt

340> * `vim`: erscheint nur, wenn Vim-Modus aktiviert ist340> * `vim`: erscheint nur, wenn der Vim-Modus aktiviert ist

341> * `agent`: erscheint nur bei Ausführung mit dem `--agent` Flag oder konfigurierter Agent-Einstellung341> * `agent`: erscheint nur bei Ausführung mit dem Flag `--agent` oder bei konfigurierten Agenteneinstellungen

342> * `pr`: erscheint nur, während ein offener PR oder eine GitLab-Merge-Request für den aktuellen Branch gefunden wird, und wird entfernt, sobald sie zusammengeführt oder geschlossen wird. `pr.review_state` und `pr.kind` können unabhängig fehlen342> * `pr`: erscheint nur, solange für den aktuellen Branch ein offener PR oder GitLab Merge Request gefunden wird, und wird entfernt, sobald dieser gemergt oder geschlossen wird. `pr.review_state` und `pr.kind` können unabhängig fehlen

343> * `worktree`: erscheint nur während einer [Worktree-Sitzung](https://code.claude.com/docs/de/worktrees.md). Wenn vorhanden, können `branch` und `original_branch` auch bei Hook-basierten Worktrees fehlen343> * `worktree`: erscheint nur, solange sich die Sitzung in einer [Worktree-Sitzung](https://code.claude.com/docs/de/worktrees.md) befindet. Wenn vorhanden, können `branch` und `original_branch` bei Hook-basierten Worktrees ebenfalls fehlen

344> * `rate_limits`: erscheint nur für Claude.ai Pro und Max Abonnenten, oder hinter einem Claude-Apps-Gateway, das ein Ausgabenlimit für Sie setzt, und nur nach der ersten API-Antwort in der Sitzung. Jedes Fenster (`five_hour`, `seven_day`, `spend_limit`) kann unabhängig fehlen, und Claude Code verwirft ein Fenster, sobald seine `resets_at` Zeit verstrichen ist. Verwenden Sie `jq -r '.rate_limits.five_hour.used_percentage // empty'`, um Abwesenheit elegant zu handhaben.344> * `rate_limits`: erscheint nur für Abonnenten von claude.ai Pro und Max oder hinter einem Claude-Apps-Gateway, das ein Ausgabenlimit für Sie festlegt, und erst nach der ersten API-Antwort in der Sitzung. Jedes Fenster (`five_hour`, `seven_day`, `spend_limit`) kann unabhängig fehlen, und Claude Code entfernt ein Fenster, sobald dessen `resets_at`-Zeitpunkt verstrichen ist. Verwenden Sie `jq -r '.rate_limits.five_hour.used_percentage // empty'`, um fehlende Werte sauber zu behandeln.

345> * `prompt_cache`: erscheint nach der ersten API-Antwort der Hauptkonversation. Siehe [Prompt-Cache-Felder](#prompt-cache-fields)345> * `prompt_cache`: erscheint nach der ersten API-Antwort der Hauptkonversation. Siehe [Felder des Prompt-Caches](#prompt-cache-fields)

346>346>

347> **Felder, die `null` sein können**:347> **Felder, die `null` sein können**:

348>348>

349> * `context_window.current_usage`: `null` vor dem ersten API-Aufruf in einer Sitzung und erneut nach `/compact`, bis der nächste API-Aufruf es erneut füllt349> * `context_window.current_usage`: `null` vor dem ersten API-Aufruf in einer Sitzung und erneut nach `/compact`, bis der nächste API-Aufruf es wieder befüllt

350> * `context_window.used_percentage`, `context_window.remaining_percentage`: können früh in der Sitzung `null` sein350> * `context_window.used_percentage`, `context_window.remaining_percentage`: können früh in der Sitzung `null` sein

351>351>

352> Behandeln Sie fehlende Felder mit bedingtem Zugriff und Null-Werte mit Fallback-Standardwerten in Ihren Skripten.352> Behandeln Sie in Ihren Skripten fehlende Felder mit bedingtem Zugriff und `null`-Werte mit Fallback-Standardwerten.

353 353 

354### Kontextfenster-Felder354### Felder des Kontextfensters

355 355 

356Das `context_window` Objekt beschreibt das Live-Kontextfenster aus der letzten API-Antwort.356Das Objekt `context_window` beschreibt das aktuelle Kontextfenster aus der letzten API-Antwort.

357 357 

358* **Kombinierte Summen** (`total_input_tokens`, `total_output_tokens`): Token, die sich derzeit im Kontextfenster befinden. `total_input_tokens` ist die Summe von `input_tokens`, `cache_creation_input_tokens` und `cache_read_input_tokens`; `total_output_tokens` sind die Ausgabe-Token aus der letzten Antwort. Beide sind `0` vor der ersten API-Antwort.358* **Kombinierte Summen** (`total_input_tokens`, `total_output_tokens`): Token, die sich aktuell im Kontextfenster befinden. `total_input_tokens` ist die Summe aus `input_tokens`, `cache_creation_input_tokens` und `cache_read_input_tokens`; `total_output_tokens` sind die Ausgabe-Token aus der letzten Antwort. Beide sind vor der ersten API-Antwort `0`.

359* **Pro-Komponenten-Nutzung** (`current_usage`): die gleichen Token-Zählungen nach Kategorie aufgeschlüsselt. Verwenden Sie dies, wenn Sie Cache-Treffer separat von frischer Eingabe benötigen.359* **Nutzung pro Komponente** (`current_usage`): dieselben Token-Anzahlen, aufgeschlüsselt nach Kategorie. Verwenden Sie dies, wenn Sie Cache-Treffer getrennt von neuer Eingabe benötigen.

360 360 

361Das `current_usage` Objekt enthält:361Das Objekt `current_usage` enthält:

362 362 

363* `input_tokens`: Eingabe-Token im aktuellen Kontext363* `input_tokens`: Eingabe-Token im aktuellen Kontext

364* `output_tokens`: generierte Ausgabe-Token364* `output_tokens`: generierte Ausgabe-Token

365* `cache_creation_input_tokens`: Token, die in den Cache geschrieben wurden365* `cache_creation_input_tokens`: in den Cache geschriebene Token

366* `cache_read_input_tokens`: Token, die aus dem Cache gelesen wurden366* `cache_read_input_tokens`: aus dem Cache gelesene Token

367 367 

368Für die Bedeutung der Cache-Felder und deren Abrechnung siehe [Cache-Leistung überprüfen](https://code.claude.com/docs/de/prompt-caching.md#check-cache-performance).368Was die Cache-Felder bedeuten und wie sie abgerechnet werden, erfahren Sie unter [Cache-Leistung prüfen](https://code.claude.com/docs/de/prompt-caching.md#check-cache-performance).

369 369 

370Das `used_percentage` Feld wird nur aus Eingabe-Token berechnet: `input_tokens + cache_creation_input_tokens + cache_read_input_tokens`. Es enthält keine `output_tokens`.370Das Feld `used_percentage` wird ausschließlich aus Eingabe-Token berechnet: `input_tokens + cache_creation_input_tokens + cache_read_input_tokens`. Es enthält keine `output_tokens`.

371 371 

372Wenn Sie den Kontextprozentsatz manuell aus `current_usage` berechnen, verwenden Sie die gleiche Eingabe-only-Formel, um `used_percentage` zu entsprechen.372Wenn Sie den Kontext-Prozentsatz manuell aus `current_usage` berechnen, verwenden Sie dieselbe Formel, die nur Eingabe-Token berücksichtigt, damit der Wert mit `used_percentage` übereinstimmt.

373 373 

374Das `current_usage` Objekt ist `null` vor dem ersten API-Aufruf in einer Sitzung und erneut unmittelbar nach `/compact`, bis der nächste API-Aufruf es erneut füllt.374Das Objekt `current_usage` ist vor dem ersten API-Aufruf in einer Sitzung `null` und erneut unmittelbar nach `/compact`, bis der nächste API-Aufruf es wieder befüllt.

375 375 

376### Ausgabenlimit-Felder376### Felder des Ausgabenlimits

377 377 

378Hinter einem [Claude-Apps-Gateway mit Ausgabenlimits](https://code.claude.com/docs/de/claude-apps-gateway-spend-limits.md#usage-warnings-in-claude-code) beschreibt das `rate_limits.spend_limit` Objekt das Ausgabenlimit, das für Sie gilt. Es erscheint nach der ersten API-Antwort der Sitzung und erfordert Claude Code v2.1.251 oder später. Ihr Skript erhält seine Felder nach unterschiedlichen Zeitplänen:378Hinter einem [Claude-Apps-Gateway mit Ausgabenlimits](https://code.claude.com/docs/de/claude-apps-gateway-spend-limits.md#usage-warnings-in-claude-code) beschreibt das Objekt `rate_limits.spend_limit` das Ausgabenlimit, das für Sie gilt. Es erscheint nach der ersten API-Antwort der Sitzung und erfordert Claude Code v2.1.251 oder höher. Ihr Skript erhält seine Felder in unterschiedlichen Intervallen:

379 379 

380* `used_percentage` und `resets_at`: kommen mit jeder Antwort, daher sind sie immer vorhanden, wenn `spend_limit` vorhanden ist. `used_percentage` reicht von 0 bis 100 oder über 100, sobald Sie das Limit überschreiten, und `resets_at` sind die Unix-Epochensekunden, wenn der Zeitraum des Limits zurückgesetzt wird.380* `used_percentage` und `resets_at`: werden mit jeder Antwort geliefert und sind daher immer vorhanden, wenn `spend_limit` vorhanden ist. `used_percentage` reicht von 0 bis 100 oder liegt über 100, sobald Sie das Limit überschreiten, und `resets_at` gibt die Unix-Epoch-Sekunden an, zu denen der Zeitraum des Limits zurückgesetzt wird.

381* `used_usd`, `limit_usd` und `period`: Ihre bisherigen geschätzten Ausgaben und Ihr Limit in US-Dollar sowie der Zeitraum, den das Limit abdeckt, einer von `daily`, `weekly` oder `monthly`. Das Gateway [berechnet `used_usd` aus Token-Zählungen](https://code.claude.com/docs/de/claude-apps-gateway-spend-limits#how-requests-are-priced), daher handelt es sich um eine Schätzung und nicht um einen abgerechneten Betrag. Claude Code liest sie in einer separaten Anfrage vom Gateway, etwa alle fünf Minuten, während Sie Anfragen senden. Die Dollarbeträge können etwa fünf Minuten älter sein als `used_percentage`, sodass die beiden kurzzeitig voneinander abweichen können. Erfordert v2.1.284 oder später sowohl bei Claude Code als auch beim Gateway.381* `used_usd`, `limit_usd` und `period`: Ihre bisherigen geschätzten Ausgaben und Ihr Limit in US-Dollar sowie der Zeitraum, den das Limit abdeckt, einer der Werte `daily`, `weekly` oder `monthly`. Das Gateway [berechnet `used_usd` aus Token-Anzahlen](https://code.claude.com/docs/de/claude-apps-gateway-spend-limits#how-requests-are-priced), daher handelt es sich um eine Schätzung und nicht um einen abgerechneten Betrag. Claude Code liest diese Werte in einer separaten Anfrage vom Gateway, etwa alle fünf Minuten, während Sie Anfragen senden. Die Dollarbeträge können etwa fünf Minuten älter sein als `used_percentage`, sodass die beiden Werte kurzzeitig voneinander abweichen können. Erfordert v2.1.284 oder höher sowohl bei Claude Code als auch beim Gateway.

382 382 

383Behandeln Sie `used_usd`, `limit_usd` und `period` als optional, auch wenn `spend_limit` vorhanden ist. Ihr Skript erhält den Prozentsatz vor ihnen, und sie bleiben aus, wenn Sie `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` setzen, wodurch diese Anfrage ausgeschaltet wird. Lesen Sie jedes Feld in Ihrem Skript mit einem Fallback, zum Beispiel `jq -r '.rate_limits.spend_limit.used_usd // empty'`.383Behandeln Sie `used_usd`, `limit_usd` und `period` als optional, auch wenn `spend_limit` vorhanden ist, da Ihr Skript den Prozentsatz vor ihnen erhält. Lesen Sie jedes dieser Felder in Ihrem Skript mit einem Fallback, etwa `jq -r '.rate_limits.spend_limit.used_usd // empty'`. Vor Claude Code v2.1.295 fehlten sie dauerhaft, wenn Sie `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` gesetzt hatten, da dadurch diese Anfrage deaktiviert wurde.

384 384 

385### Prompt-Cache-Felder385### Felder des Prompt-Caches

386 386 

387Das `prompt_cache` Objekt fasst zusammen, wie die Hauptkonversation der Sitzung den [Prompt-Cache](https://code.claude.com/docs/de/prompt-caching.md) nutzt. Claude Code berechnet es aus den Cache-Token-Zählungen in den API-Antworten, daher funktioniert es bei jedem Anbieter.387Das Objekt `prompt_cache` fasst zusammen, wie die Hauptkonversation der Sitzung den [Prompt-Cache](https://code.claude.com/docs/de/prompt-caching.md) nutzt. Claude Code berechnet es aus den Cache-Token-Anzahlen in den Antworten der API, daher funktioniert es bei jedem Anbieter.

388 388 

389Das Objekt erscheint nach der ersten API-Antwort der Hauptkonversation. Claude Code zählt Subagent-Anfragen nicht in diese Statistiken ein. Erfordert Claude Code v2.1.251 oder später.389Das Objekt erscheint nach der ersten API-Antwort der Hauptkonversation. Claude Code zählt Anfragen von Subagenten nicht in diese Statistiken ein. Erfordert Claude Code v2.1.251 oder höher.

390 390 

391Die Tabelle listet jedes Feld mit seiner Bedeutung auf. Zeitstempel sind Unix-Epochensekunden, die gleiche Einheit wie `rate_limits.*.resets_at`. Eine kurze Statuszeile zeigt normalerweise ein oder zwei davon; `warm` und `hit_ratio` fassen den Cache-Status am direktesten zusammen.391Die Tabelle listet jedes Feld mit seiner Bedeutung auf. Zeitstempel sind Unix-Epoch-Sekunden, dieselbe Einheit wie bei `rate_limits.*.resets_at`. Eine kurze Statuszeile zeigt in der Regel ein oder zwei dieser Felder an; `warm` und `hit_ratio` fassen den Cache-Zustand am direktesten zusammen.

392 392 

393| Feld | Beschreibung |393| Feld | Beschreibung |

394| - | - |394| - | - |

395| `warm` | Ob das zwischengespeicherte Präfix noch innerhalb seiner TTL liegt. `false`, wenn die letzte Antwort keine Cache-Token gemeldet hat, auch wenn `caching_observed` `true` ist |395| `warm` | Ob sich das zwischengespeicherte Präfix noch innerhalb seiner TTL befindet. `false`, wenn die letzte Antwort keine Cache-Token gemeldet hat, selbst wenn `caching_observed` `true` ist |

396| `caching_observed` | Ob eine Antwort dieser Sitzung Cache-Token gemeldet hat. `false` bedeutet, dass Prompt-Caching ausgeschaltet ist, oder Ihr Anbieter oder Gateway meldet es nicht |396| `caching_observed` | Ob eine Antwort in dieser Sitzung Cache-Token gemeldet hat. `false` bedeutet, dass Prompt-Caching deaktiviert ist oder Ihr Anbieter bzw. Gateway es nicht meldet |

397| `ttl` | [Cache-Lebensdauer](https://code.claude.com/docs/de/prompt-caching.md#cache-lifetime) des aktuellen zwischengespeicherten Präfix: `"5m"` oder `"1h"` |397| `ttl` | [Cache-Lebensdauer](https://code.claude.com/docs/de/prompt-caching.md#cache-lifetime) des aktuell zwischengespeicherten Präfixes: `"5m"` oder `"1h"` |

398| `expires_at` | Wann das zwischengespeicherte Präfix seine TTL verlässt und kalt wird, in Epochensekunden. `null`, wenn die letzte Antwort keine Cache-Token gemeldet hat |398| `expires_at` | Zeitpunkt in Epoch-Sekunden, zu dem das zwischengespeicherte Präfix seine TTL verlässt und kalt wird. `null`, wenn die letzte Antwort keine Cache-Token gemeldet hat |

399| `requests` | API-Anfragen, die für die Hauptkonversation dieser Sitzung aufgezeichnet wurden |399| `requests` | Für die Hauptkonversation in dieser Sitzung erfasste API-Anfragen |

400| `misses` | Anfragen, die Inhalte erneut verarbeitet haben, die der Cache bereits enthielt: mehr als 5% und mindestens 2.000 Token von dem, was die Anfrage aus dem Cache hätte lesen können, ohne dass eine Komprimierung oder ein Löschen von alten Tool-Ergebnissen den Mangel an Cache-Lesevorgängen erklärt |400| `misses` | Anfragen, die Inhalte erneut verarbeitet haben, die sich bereits im Cache befanden: mehr als 5 % und mindestens 2.000 Token dessen, was die Anfrage aus dem Cache hätte lesen können, ohne dass eine Komprimierung oder das Leeren von Tool-Ergebnissen den Rückgang der Cache-Lesevorgänge erklärt |

401| `expected_rebuilds` | Cache-Neuerstellungen, die einer Komprimierung oder einem Löschen von alten Tool-Ergebnissen folgten |401| `expected_rebuilds` | Neuaufbauten des Caches, die auf eine Komprimierung oder das Leeren alter Tool-Ergebnisse folgten |

402| `hit_ratio` | Cache-Read-Token als Bruchteil aller Eingabe-Token dieser Sitzung, von 0 bis 1. Der Nenner zählt Cache-Lesevorgänge, Cache-Schreibvorgänge und nicht zwischengespeicherte Eingaben. `null`, während diese Zählungen alle null sind |402| `hit_ratio` | Cache-Lese-Token als Anteil aller Eingabe-Token in dieser Sitzung, von 0 bis 1. Der Nenner umfasst Cache-Lesevorgänge, Cache-Schreibvorgänge und nicht zwischengespeicherte Eingaben. `null`, solange diese Anzahlen alle null sind |

403| `cache_write_tokens` | Alle Token, die diese Sitzung in den Cache geschrieben wurden, einschließlich des anfänglichen Schreibvorgangs der ersten Anfrage |403| `cache_write_tokens` | Alle in dieser Sitzung in den Cache geschriebenen Token, einschließlich des initialen Schreibvorgangs der ersten Anfrage |

404| `miss_recache_tokens` | Token, die von den als Misses gezählten Anfragen in den Cache geschrieben wurden |404| `miss_recache_tokens` | Token, die von den als Misses gezählten Anfragen in den Cache geschrieben wurden |

405| `last_miss_at` | Wann der letzte Miss aufgetreten ist, in Epochensekunden. `null`, während die Sitzung keine Misses hat |405| `last_miss_at` | Zeitpunkt des letzten Misses in Epoch-Sekunden. `null`, solange die Sitzung keine Misses hat |

406| `last_miss_cause` | Was Claude Code als wahrscheinliche Ursache des letzten Miss identifiziert hat, beschrieben unter [Letzte Miss-Ursache](#last-miss-cause). Erfordert Claude Code v2.1.260 oder später |406| `last_miss_cause` | Was Claude Code als wahrscheinliche Ursache des letzten Misses ermittelt hat, beschrieben unter [Ursache des letzten Misses](#last-miss-cause). Erfordert Claude Code v2.1.260 oder höher |

407| `miss_causes` | Wie viele der diagnostizierten Misses dieser Sitzung jede Ursache hatten, mit den gleichen Ursachennamen wie `last_miss_cause` als Schlüssel. Erfordert Claude Code v2.1.260 oder später |407| `miss_causes` | Wie viele der diagnostizierten Misses dieser Sitzung die jeweilige Ursache hatten, geordnet nach denselben Ursachennamen wie bei `last_miss_cause`. Erfordert Claude Code v2.1.260 oder höher |

408| `recache_tokens_if_cold` | Token, die die nächste Anfrage erneut zwischenspeichert, wenn der Cache bis dahin kalt geworden ist. `null` unmittelbar nach einer Komprimierung oder einem Löschen von alten Tool-Ergebnissen, bis die nächste Anfrage die Größe der umgeschriebenen Konversation aufzeichnet |408| `recache_tokens_if_cold` | Token, die die nächste Anfrage erneut zwischenspeichert, falls der Cache bis dahin kalt geworden ist. `null` direkt nach einer Komprimierung oder dem Leeren alter Tool-Ergebnisse, bis die nächste Anfrage die Größe der neu geschriebenen Konversation erfasst |

409 409 

410Claude Code zeigt die gleichen Statistiken im Terminal auf der [`/usage` Befehlszeile `Prompt cache (main)`](https://code.claude.com/docs/de/costs#prompt-cache-statistics).410Claude Code zeigt dieselben Statistiken im Terminal an, in der [Zeile `Prompt cache (main)` des Befehls `/usage`](https://code.claude.com/docs/de/costs#prompt-cache-statistics).

411 411 

412#### Letzte Miss-Ursache412#### Ursache des letzten Misses

413 413 

414Das `last_miss_cause` Objekt meldet, was Claude Code als wahrscheinliche Ursache des letzten Miss identifiziert hat. Sein `causes` Array enthält einen oder mehrere Ursachennamen, wie `tools_changed`, `system_prompt_changed`, `ttl_expired_5m` oder `likely_server_side`. Das Objekt ist `null`, bis der erste Miss der Sitzung auftritt, und erneut, wenn Claude Code keine Ursache für den letzten Miss identifizieren konnte. Erfordert Claude Code v2.1.260 oder später.414Das Objekt `last_miss_cause` gibt an, was Claude Code als wahrscheinliche Ursache des letzten Misses ermittelt hat. Sein Array `causes` enthält einen oder mehrere Ursachennamen, etwa `tools_changed`, `system_prompt_changed`, `ttl_expired_5m` oder `likely_server_side`. Das Objekt ist bis zum ersten Miss der Sitzung `null` und erneut immer dann, wenn Claude Code keine Ursache für den letzten Miss ermitteln konnte. Erfordert Claude Code v2.1.260 oder höher.

415 415 

416Zwei Ursachen fügen Zählungen zum Objekt hinzu:416Zwei Ursachen fügen dem Objekt Zählwerte hinzu:

417 417 

418* `tools_added` und `tools_removed`: mit `tools_changed`, wie viele Tools zur Anfrage hinzugefügt oder aus ihr entfernt wurden418* `tools_added` und `tools_removed`: bei `tools_changed`, wie viele Tools der Anfrage hinzugefügt oder aus ihr entfernt wurden

419* `system_char_delta`: mit `system_prompt_changed`, die Änderung der Länge des System-Prompts in Zeichen419* `system_char_delta`: bei `system_prompt_changed`, die Änderung der Länge des System-Prompts in Zeichen

420 420 

421## Beispiele421## Beispiele

422 422 

Details

121* **Hintergrundsitzung**: Eine [Hintergrundsitzung](https://code.claude.com/docs/de/agent-view.md) meldet ihren Status nicht an Ihr Terminal, selbst wenn Sie mit ihr verbunden sind. Stattdessen zeigt die Agent-Ansicht ihren Status an.121* **Hintergrundsitzung**: Eine [Hintergrundsitzung](https://code.claude.com/docs/de/agent-view.md) meldet ihren Status nicht an Ihr Terminal, selbst wenn Sie mit ihr verbunden sind. Stattdessen zeigt die Agent-Ansicht ihren Status an.

122* **[`CLAUDE_CODE_DISABLE_TERMINAL_TITLE`](https://code.claude.com/docs/de/env-vars#variables)**: Wenn Sie diese Variable auf `1` setzen, prüft Claude Code weder die Unterstützung noch meldet es den Status. Entfernen Sie die Variable.122* **[`CLAUDE_CODE_DISABLE_TERMINAL_TITLE`](https://code.claude.com/docs/de/env-vars#variables)**: Wenn Sie diese Variable auf `1` setzen, prüft Claude Code weder die Unterstützung noch meldet es den Status. Entfernen Sie die Variable.

123 123 

124In einem Terminal, das Unterstützung für das Protokoll meldet, beginnt der Tab-Titel nicht mit einem Statussymbol. Das Terminal zeigt den Zustand der Sitzung selbst an, daher lässt Claude Code das Symbol weg, das es in anderen Terminals vor den Titel setzt.

125 

124## tmux konfigurieren126## tmux konfigurieren

125 127 

126Wenn Claude Code innerhalb von tmux ausgeführt wird, funktionieren standardmäßig zwei Dinge nicht: Shift+Enter sendet ab, anstatt einen Zeilenumbruch einzufügen, und Desktop-Benachrichtigungen sowie die [Fortschrittsleiste](https://code.claude.com/docs/de/settings-reference.md#terminalprogressbarenabled) erreichen niemals das äußere Terminal. Fügen Sie diese Zeilen zu `~/.tmux.conf` hinzu und führen Sie dann `tmux source-file ~/.tmux.conf` aus, um sie auf den laufenden Server anzuwenden:128Wenn Claude Code innerhalb von tmux ausgeführt wird, funktionieren standardmäßig zwei Dinge nicht: Shift+Enter sendet ab, anstatt einen Zeilenumbruch einzufügen, und Desktop-Benachrichtigungen sowie die [Fortschrittsleiste](https://code.claude.com/docs/de/settings-reference.md#terminalprogressbarenabled) erreichen niemals das äußere Terminal. Fügen Sie diese Zeilen zu `~/.tmux.conf` hinzu und führen Sie dann `tmux source-file ~/.tmux.conf` aus, um sie auf den laufenden Server anzuwenden:

Details

258 258 

259Eine Datei, die sich auf der Festplatte geändert hat, nachdem Claude sie zuletzt gelesen hat, kann immer noch bearbeitet werden, wenn `old_string` genau und eindeutig dem aktuellen Inhalt entspricht und Claude Code die Datei ohne Nachfrage lesen kann. Das Abgleichen mit dem aktuellen Inhalt der Datei hält dies sicher, und das Ergebnis vermerkt, dass die Datei weitere Änderungen enthält, damit Claude sie vor Bearbeitungen, die auf umgebendem Inhalt basieren, erneut liest. In jedem anderen Fall, z. B. bei einem veralteten `old_string` oder einem, der mehr als einmal ohne `replace_all` übereinstimmt, liest Claude die Datei vor der Bearbeitung erneut.259Eine Datei, die sich auf der Festplatte geändert hat, nachdem Claude sie zuletzt gelesen hat, kann immer noch bearbeitet werden, wenn `old_string` genau und eindeutig dem aktuellen Inhalt entspricht und Claude Code die Datei ohne Nachfrage lesen kann. Das Abgleichen mit dem aktuellen Inhalt der Datei hält dies sicher, und das Ergebnis vermerkt, dass die Datei weitere Änderungen enthält, damit Claude sie vor Bearbeitungen, die auf umgebendem Inhalt basieren, erneut liest. In jedem anderen Fall, z. B. bei einem veralteten `old_string` oder einem, der mehr als einmal ohne `replace_all` übereinstimmt, liest Claude die Datei vor der Bearbeitung erneut.

260 260 

261Claude kann eine Datei auch ohne separates Read bearbeiten, nachdem es die Datei mit einem Bash-Befehl wie `cat` oder `grep` angezeigt hat. Diese Befehle sind `cat`, `nl`, `bat`, `batcat`, `head`, `tail`, `sed -n 'X,Yp'`, `grep`, `egrep`, `fgrep` und `rg`, jeweils auf einer einzelnen Datei ohne Pipes oder Umleitungen ausgeführt. Eine Suche, die keine Treffer ausgibt, zählt nicht als Lesen, ebenso wenig wie ein Befehl außerhalb dieser Liste.261Claude kann eine Datei auch ohne separates Read bearbeiten, nachdem es die Datei mit einem Bash-Befehl wie `cat` oder `grep` angezeigt hat. Diese Befehle sind `cat`, `nl`, `bat`, `batcat`, `head`, `tail`, `sed -n 'X,Yp'`, `grep`, `egrep`, `fgrep` und `rg`, jeweils auf einer einzelnen Datei ohne Pipes oder Umleitungen ausgeführt. Wenn der Befehl keinen Text der Datei ausgegeben hat, etwa wenn eine Suche keine Treffer liefert, gilt die Read-before-edit-Überprüfung weiterhin.

262 262 

263Wenn Claude eine Datei auf diese Weise anzeigt, lädt Claude Code außerdem alle [`CLAUDE.md`-Dateien in Unterverzeichnissen](https://code.claude.com/docs/de/memory#how-claude-md-files-load) und [pfadbezogenen Regeln](https://code.claude.com/docs/de/memory.md#path-specific-rules), die für diese Datei gelten. Siehe [Read- und Edit-Berechtigungsregeln](https://code.claude.com/docs/de/permissions.md#read-and-edit) für die Bash-Befehle, die Ihre `Read`- und `Edit`-Ablehnungsregeln abdecken.263Wenn Claude eine Datei auf diese Weise anzeigt, lädt Claude Code außerdem alle [`CLAUDE.md`-Dateien in Unterverzeichnissen](https://code.claude.com/docs/de/memory#how-claude-md-files-load) und [pfadbezogenen Regeln](https://code.claude.com/docs/de/memory.md#path-specific-rules), die für diese Datei gelten. Siehe [Read- und Edit-Berechtigungsregeln](https://code.claude.com/docs/de/permissions.md#read-and-edit) für die Bash-Befehle, die Ihre `Read`- und `Edit`-Ablehnungsregeln abdecken.

264 264 


383 383 

384Die [WebSocket-Quelle](#websocket-source) hat ihre eigene Genehmigungsabfrage, die der Klassifikator auch im Auto-Modus entscheidet.384Die [WebSocket-Quelle](#websocket-source) hat ihre eigene Genehmigungsabfrage, die der Klassifikator auch im Auto-Modus entscheidet.

385 385 

386Das Tool ist nicht auf Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry verfügbar. Es ist auch nicht verfügbar, wenn `DISABLE_TELEMETRY` oder `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` gesetzt ist. Unter Windows ist das Tool nur verfügbar, wenn [Git Bash](https://code.claude.com/docs/de/setup.md#set-up-on-windows) installiert ist.386Monitor benötigt in diesen Fällen eine Mindestversion oder Git Bash:

387 

388* **Mindestversion**: Auf Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform oder Microsoft Foundry sowie wenn `DISABLE_TELEMETRY` oder `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` gesetzt ist, erfordert Monitor Claude Code v2.1.310 oder höher. Die Anforderung gilt, wenn das [Abrufen von Feature-Flags](https://code.claude.com/docs/de/env-vars.md#features-that-need-feature-flag-fetching) deaktiviert ist

389* **Windows**: Das Tool ist nur verfügbar, wenn [Git Bash](https://code.claude.com/docs/de/setup.md#set-up-on-windows) installiert ist

387 390 

388Plugins können Monitore deklarieren, die automatisch starten, wenn das Plugin aktiv ist, anstatt Claude zu bitten, sie zu starten. Siehe [Plugin-Monitore](https://code.claude.com/docs/de/plugins/components.md#monitors).391Plugins können Monitore deklarieren, die automatisch starten, wenn das Plugin aktiv ist, anstatt Claude zu bitten, sie zu starten. Siehe [Plugin-Monitore](https://code.claude.com/docs/de/plugins/components.md#monitors).

389 392 

Details

177 177 

178**1. Öffnen Sie die Diff-Ansicht**178**1. Öffnen Sie die Diff-Ansicht**

179 179 

180Ein Diff-Indikator zeigt Zeilen, die über die Sitzung hinweg hinzugefügt und entfernt wurden, z. B. `+42 -18`. Wählen Sie ihn aus, um die Diff-Ansicht zu öffnen, mit einer Dateiliste auf der linken Seite und Änderungen auf der rechten Seite.180Nachdem Claude seine Änderungen in einen Branch gepusht hat, zeigt die Karte **Changes** im Bereich neben dem Chat die über die Sitzung hinweg hinzugefügten und entfernten Zeilen an, z. B. `+42 -18`. Klicken Sie auf diese Zahlen, um die Diff-Ansicht zu öffnen.

181 

182* Sie können auch in der Titelleiste der Sitzung oder im **⋮**-Menü der Leiste auf **Changes** klicken.

183* Um den Bereich anzuzeigen, wenn er ausgeblendet ist, klicken Sie in der Titelleiste der Sitzung oder im **⋮**-Menü der Leiste auf das Symbol **Show session rail**.

181 184 

182Der Diff vergleicht die Änderungen der Sitzung standardmäßig mit ihrem Basis-Branch. Um gegen einen anderen Branch zu vergleichen, wählen Sie **Vergleichen gegen** und wählen Sie einen aus.185Der Diff vergleicht die Änderungen der Sitzung standardmäßig mit ihrem Basis-Branch. Um gegen einen anderen Branch zu vergleichen, wählen Sie **Vergleichen gegen** und wählen Sie einen aus.

183 186 


187 190 

188**3. Erstellen Sie einen Pull Request**191**3. Erstellen Sie einen Pull Request**

189 192 

190Wenn der Diff richtig aussieht, wählen Sie **PR erstellen** oben in der Diff-Ansicht. Sie können ihn als vollständigen PR, als Entwurf öffnen oder zur Seite zum Verfassen von GitHub mit einem generierten Titel und einer Beschreibung springen.193Wenn der Diff richtig aussieht, [blenden Sie den Bereich wieder ein](https://code.claude.com/docs/de/claude-code-on-the-web.md#review-changes), falls die Karte **Changes** nicht sichtbar ist, und erstellen Sie dann über die Karte einen Pull Request oder einen Entwurf:

194 

195* Klicken Sie auf **Create PR**. Claude Code erstellt den Pull Request mit einem generierten Titel und einer generierten Beschreibung.

196* Um stattdessen einen Entwurf zu öffnen, klicken Sie mit der rechten Maustaste auf **Create PR**, wählen Sie **Create draft PR**, um die Funktion der Schaltfläche zu ändern, und klicken Sie dann auf die Schaltfläche

191 197 

192**4. Fahren Sie nach dem PR mit der Iteration fort**198**4. Fahren Sie nach dem PR mit der Iteration fort**

193 199