SpyBara
Go Premium

Documentation 2026-10-06 23:59 UTC to 2026-10-07 19:00 UTC

55 files changed +437 −379. View all changes and history on the product overview
2026
Wed 7 20:01 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

150 150 

151Claude Code liest das Arbeitsverzeichnis, um Folgendes zu bestimmen:151Claude Code liest das Arbeitsverzeichnis, um Folgendes zu bestimmen:

152 152 

153* **Projekteinstellungen und Hooks**: welche Projekteinstellungen und Hooks geladen werden]\(/de/agent-sdk/claude-code-features)153* **Projekteinstellungen und Hooks**: welche [Projekteinstellungen und Hooks geladen werden](/docs/de/agent-sdk/claude-code-features)

154* **Skills**: wo [session skills are discovered](/docs/de/agent-sdk/skills)154* **Skills**: wo [session skills are discovered](/docs/de/agent-sdk/skills)

155* **Sitzungsspeicher**: zu welchem Projekt eine [stored session belongs to](/docs/de/agent-sdk/session-storage)155* **Sitzungsspeicher**: zu welchem Projekt eine [stored session belongs to](/docs/de/agent-sdk/session-storage)

156 156 

agent-sdk/hooks.md +14 −14

Details

36 </Step>36 </Step>

37 37 

38 <Step title="Ihr Callback gibt eine Entscheidung zurück">38 <Step title="Ihr Callback gibt eine Entscheidung zurück">

39 Nach dem Ausführen von Operationen (Protokollierung, API-Aufrufe, Validierung) gibt Ihr Callback ein [Ausgabeobjekt](#outputs) zurück, das dem Agent mitteilt, was zu tun ist: die Operation zulassen, blockieren, die Eingabe ändern oder Kontext in das Gespräch einfügen.39 Nach dem Ausführen von Operationen (Protokollierung, API-Aufrufe, Validierung) gibt Ihr Callback ein [Ausgabeobjekt](#outputs) zurück, das dem Agenten mitteilt, was zu tun ist: die Operation zulassen, blockieren, die Eingabe ändern oder Kontext in die Konversation einfügen.

40 </Step>40 </Step>

41</Steps>41</Steps>

42 42 


140 ```140 ```

141</CodeGroup>141</CodeGroup>

142 142 

143Wenn Sie eines der Skripte ausführen, versucht Claude, die `.env`-Datei zu erstellen, der Hook verweigert den Tool-Aufruf, und Claudes endgültige Antwort erklärt, dass es keine `.env`-Dateien erstellen kann.143Wenn Sie eines der Skripte ausführen, versucht Claude, die `.env`-Datei zu erstellen, und der Hook verweigert den Tool-Aufruf.

144 144 

145<h2 id="available-hooks">145<h2 id="available-hooks">

146 Verfügbare Hooks146 Verfügbare Hooks


179| `ConfigChange` | Nein | Ja | Konfigurationsdatei ändert sich | Einstellungen dynamisch neu laden |179| `ConfigChange` | Nein | Ja | Konfigurationsdatei ändert sich | Einstellungen dynamisch neu laden |

180| `InstructionsLoaded` | Nein | Ja | Eine `CLAUDE.md`- oder Regeldatei wird in den Kontext geladen | Überprüfen, welche Anweisungsdateien geladen werden |180| `InstructionsLoaded` | Nein | Ja | Eine `CLAUDE.md`- oder Regeldatei wird in den Kontext geladen | Überprüfen, welche Anweisungsdateien geladen werden |

181| `WorktreeCreate` | Nein | Ja | Git Worktree erstellt | Isolierte Workspaces verfolgen |181| `WorktreeCreate` | Nein | Ja | Git Worktree erstellt | Isolierte Workspaces verfolgen |

182| `WorktreeRemove` | Nein | Ja | Git Worktree entfernt | Workspace-Ressourcen bereinigen |182| `WorktreeRemove` | Nein | Ja | Ein durch einen `WorktreeCreate`-Hook erstellter Worktree wird entfernt | Workspace-Ressourcen bereinigen |

183| `CwdChanged` | Nein | Ja | Das Arbeitsverzeichnis ändert sich während einer Sitzung | Umgebungsvariablen pro Verzeichnis neu laden |183| `CwdChanged` | Nein | Ja | Das Arbeitsverzeichnis ändert sich während einer Sitzung | Umgebungsvariablen pro Verzeichnis neu laden |

184| `FileChanged` | Nein | Ja | Eine überwachte Datei wird geändert, erstellt oder gelöscht | Konfiguration neu laden, wenn sich Projektdateien ändern |184| `FileChanged` | Nein | Ja | Eine überwachte Datei wird geändert, erstellt oder gelöscht | Konfiguration neu laden, wenn sich Projektdateien ändern |

185| `DirectoryAdded` | Nein | Ja | Ein Arbeitsverzeichnis wird während einer Sitzung hinzugefügt | Abhängigkeiten für ein während der Sitzung hinzugefügtes Repository installieren |185| `DirectoryAdded` | Nein | Ja | Ein Arbeitsverzeichnis wird während einer Sitzung hinzugefügt | Abhängigkeiten für ein während der Sitzung hinzugefügtes Repository installieren |


249 249 

250* **Eingabedaten:** ein typisiertes Objekt mit Ereignisdetails. Jeder Hook-Typ hat seine eigene Eingabeform. Beispielsweise enthält `PreToolUseHookInput` `tool_name` und `tool_input`, während `NotificationHookInput` `message` enthält. Siehe die vollständigen Typdefinitionen in den [TypeScript](/docs/de/agent-sdk/typescript#hookinput) und [Python](/docs/de/agent-sdk/python#hookinput) SDK-Referenzen.250* **Eingabedaten:** ein typisiertes Objekt mit Ereignisdetails. Jeder Hook-Typ hat seine eigene Eingabeform. Beispielsweise enthält `PreToolUseHookInput` `tool_name` und `tool_input`, während `NotificationHookInput` `message` enthält. Siehe die vollständigen Typdefinitionen in den [TypeScript](/docs/de/agent-sdk/typescript#hookinput) und [Python](/docs/de/agent-sdk/python#hookinput) SDK-Referenzen.

251 * Alle Hook-Eingaben teilen `session_id`, `cwd` und `hook_event_name`.251 * Alle Hook-Eingaben teilen `session_id`, `cwd` und `hook_event_name`.

252 * `agent_id` und `agent_type` werden ausgefüllt, wenn der Hook in einem Subagent ausgelöst wird. In TypeScript befinden sich diese in der Basis-Hook-Eingabe und sind für alle Hook-Typen verfügbar. In Python sind sie optionale Felder auf `PreToolUse`, `PostToolUse`, `PostToolUseFailure` und `PermissionRequest`, und erforderliche Felder auf `SubagentStart` und `SubagentStop`.252 * `agent_id` und `agent_type` werden ausgefüllt, wenn der Hook in einem Subagenten ausgelöst wird. In TypeScript befinden sich diese in der Basis-Hook-Eingabe und sind für alle Hook-Typen verfügbar. In Python sind sie optionale Felder auf `PreToolUse`, `PostToolUse`, `PostToolUseFailure` und `PermissionRequest`, und erforderliche Felder auf `SubagentStart` und `SubagentStop`.

253* **Tool-Verwendungs-ID** (`str | None` / `string | undefined`): korreliert `PreToolUse` und `PostToolUse` Ereignisse für denselben Tool-Aufruf.253* **Tool-Verwendungs-ID** (`str | None` / `string | undefined`): korreliert `PreToolUse` und `PostToolUse` Ereignisse für denselben Tool-Aufruf.

254* **Kontext:** In TypeScript enthält eine `signal` Eigenschaft (`AbortSignal`) für Abbruch. In Python ist dieses Argument für zukünftige Verwendung reserviert.254* **Kontext:** In TypeScript enthält eine `signal` Eigenschaft (`AbortSignal`) für Abbruch. In Python ist dieses Argument für zukünftige Verwendung reserviert.

255 255 


262* **Top-Level-Felder** werden bei jedem Ereignis akzeptiert: `systemMessage` zeigt eine Nachricht für den Benutzer an, und `continue` (`continue_` in Python) bestimmt, ob der Agent nach diesem Hook weiterläuft. Einige Ereignisse verwerfen sie oder liefern sie an anderer Stelle. Jeder [Abschnitt des Ereignisses](/docs/de/hooks#hook-events) auf der Hooks-Seite sagt, wo sie landen.262* **Top-Level-Felder** werden bei jedem Ereignis akzeptiert: `systemMessage` zeigt eine Nachricht für den Benutzer an, und `continue` (`continue_` in Python) bestimmt, ob der Agent nach diesem Hook weiterläuft. Einige Ereignisse verwerfen sie oder liefern sie an anderer Stelle. Jeder [Abschnitt des Ereignisses](/docs/de/hooks#hook-events) auf der Hooks-Seite sagt, wo sie landen.

263* **`hookSpecificOutput`** steuert die aktuelle Operation. Die Felder, die Sie darin setzen, hängen vom Hook-Ereignistyp ab:263* **`hookSpecificOutput`** steuert die aktuelle Operation. Die Felder, die Sie darin setzen, hängen vom Hook-Ereignistyp ab:

264 * Für `PreToolUse` Hooks ist dies der Ort, an dem Sie `permissionDecision` (`"allow"`, `"deny"`, `"ask"` oder `"defer"`), `permissionDecisionReason` und `updatedInput` setzen. Wenn Sie `"defer"` zurückgeben, endet der Turn mit einer Ergebnisnachricht, deren `stop_reason` `"tool_deferred"` ist, sodass Sie den Aufruf [später fortsetzen](/docs/de/hooks#defer-a-tool-call-for-later) können.264 * Für `PreToolUse` Hooks ist dies der Ort, an dem Sie `permissionDecision` (`"allow"`, `"deny"`, `"ask"` oder `"defer"`), `permissionDecisionReason` und `updatedInput` setzen. Wenn Sie `"defer"` zurückgeben, endet der Turn mit einer Ergebnisnachricht, deren `stop_reason` `"tool_deferred"` ist, sodass Sie den Aufruf [später fortsetzen](/docs/de/hooks#defer-a-tool-call-for-later) können.

265 * Für `PostToolUse` Hooks können Sie `additionalContext` setzen, um Informationen zum Tool-Ergebnis anzuhängen. Um die Ausgabe des Tools zu ersetzen, bevor Claude sie sieht, setzen Sie `updatedToolOutput`, das für jedes Tool in beiden SDKs funktioniert. Das ältere `updatedMCPToolOutput` Feld ersetzt nur MCP-Tool-Ausgabe und ist veraltet.265 * Für `PostToolUse` Hooks können Sie `additionalContext` setzen, um Informationen zum Tool-Ergebnis anzuhängen. Um die Ausgabe des Tools zu ersetzen, bevor Claude sie sieht, setzen Sie `updatedToolOutput`, das für jedes Tool in beiden SDKs funktioniert. Das ältere `updatedMCPToolOutput` Feld ersetzt nur MCP-Tool-Ausgabe.

266 * Im TypeScript SDK kann ein `PostToolUse` Callback auch `classifierContext` zurückgeben, eine kurze Notiz über das Ergebnis des Tool-Aufrufs für den Berechtigungsklassifikator des [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode). Da Ihr Callback in Ihrem eigenen Anwendungsprozess ausgeführt wird, kann der Klassifikator eine Benutzeraussage, die Sie in der Notiz weitergeben, als Benutzerabsicht gewichten. Das Feld erfordert TypeScript Agent SDK v0.3.236 oder später. [Ein Ergebnis für den Auto-Modus-Klassifikator annotieren](/docs/de/hooks#annotate-a-result-for-the-auto-mode-classifier) behandelt die Längenbegrenzung, die Nur-Synchron-Regel und was nicht in die Notiz gehört.266 * Im TypeScript SDK kann ein `PostToolUse` Callback auch `classifierContext` zurückgeben, eine kurze Notiz über das Ergebnis des Tool-Aufrufs für den Berechtigungsklassifikator des [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode). Da Ihr Callback in Ihrem eigenen Anwendungsprozess ausgeführt wird, kann der Klassifikator eine Benutzeraussage, die Sie in der Notiz weitergeben, als Benutzerabsicht gewichten. Das Feld erfordert TypeScript Agent SDK v0.3.236 oder später. [Ein Ergebnis für den Auto-Modus-Klassifikator annotieren](/docs/de/hooks#annotate-a-result-for-the-auto-mode-classifier) behandelt die Längenbegrenzung, die Nur-Synchron-Regel und was nicht in die Notiz gehört.

267 267 

268Geben Sie `{}` zurück, um die Operation ohne Änderungen zuzulassen. SDK-Callback-Hooks verwenden das gleiche JSON-Ausgabeformat wie [Claude Code Shell-Befehls-Hooks](/docs/de/hooks#json-output), das jedes Feld und ereignisspezifische Option dokumentiert. Für die SDK-Typdefinitionen siehe die [TypeScript](/docs/de/agent-sdk/typescript#synchookjsonoutput) und [Python](/docs/de/agent-sdk/python#synchookjsonoutput) SDK-Referenzen.268Geben Sie `{}` zurück, um die Operation ohne Änderungen zuzulassen. SDK-Callback-Hooks verwenden das gleiche JSON-Ausgabeformat wie [Claude Code Shell-Befehls-Hooks](/docs/de/hooks#json-output), das jedes Feld und ereignisspezifische Option dokumentiert. Für die SDK-Typdefinitionen siehe die [TypeScript](/docs/de/agent-sdk/typescript#synchookjsonoutput) und [Python](/docs/de/agent-sdk/python#synchookjsonoutput) SDK-Referenzen.


275 Asynchrone Ausgabe275 Asynchrone Ausgabe

276</h4>276</h4>

277 277 

278Standardmäßig wartet der Agent darauf, dass Ihr Hook zurückkommt, bevor er fortfährt. Wenn Ihr Hook einen Nebeneffekt ausführt, wie Protokollierung oder Webhook-Versand, und das Verhalten des Agenten nicht beeinflussen muss, können Sie stattdessen eine asynchrone Ausgabe zurückgeben. Dies teilt dem Agent mit, dass er sofort fortfahren soll, ohne auf die Fertigstellung des Hooks zu warten. In diesem Ausschnitt stehen `send_to_logging_service` in Python und `sendToLoggingService` in TypeScript für jede Protokollierungsfunktion, die Sie definieren:278Standardmäßig wartet der Agent darauf, dass Ihr Hook zurückkommt, bevor er fortfährt. Wenn Ihr Hook einen Nebeneffekt ausführt, wie Protokollierung oder Webhook-Versand, und das Verhalten des Agenten nicht beeinflussen muss, können Sie stattdessen eine asynchrone Ausgabe zurückgeben. Dies teilt dem Agenten mit, dass er sofort fortfahren soll, ohne auf die Fertigstellung des Hooks zu warten. In diesem Ausschnitt stehen `send_to_logging_service` in Python und `sendToLoggingService` in TypeScript für jede Protokollierungsfunktion, die Sie definieren:

279 279 

280<CodeGroup>280<CodeGroup>

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


834 834 

835* `PreToolUse`: Claude Code führt den Tool-Aufruf nicht aus, Claude erhält ein Tool-Ergebnis, das besagt, dass der Hook nicht vor seinem Timeout geantwortet hat, und der Turn wird fortgesetzt. Wenn ein anderer `PreToolUse` Hook eine explizite Ablehnung zurückgegeben hat, erhält Claude stattdessen diese Ablehnung. Vor v2.1.210 meldete Claude Code das Timeout an Claude als Benutzerabweisung, was unbeaufsichtigte Sitzungen zum Stoppen und Warten auf Eingabe führte.835* `PreToolUse`: Claude Code führt den Tool-Aufruf nicht aus, Claude erhält ein Tool-Ergebnis, das besagt, dass der Hook nicht vor seinem Timeout geantwortet hat, und der Turn wird fortgesetzt. Wenn ein anderer `PreToolUse` Hook eine explizite Ablehnung zurückgegeben hat, erhält Claude stattdessen diese Ablehnung. Vor v2.1.210 meldete Claude Code das Timeout an Claude als Benutzerabweisung, was unbeaufsichtigte Sitzungen zum Stoppen und Warten auf Eingabe führte.

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

837* `UserPromptSubmit` und [`UserPromptExpansion`](/docs/de/hooks#userpromptexpansion): Claude Code blockiert die Aufforderung mit einer Nachricht, die den Hook und das Timeout benennt, und die Sitzung wird fortgesetzt. Da ein Callback bei diesen Ereignissen als Richtlinien-Gate fungieren kann, lässt Claude Code niemals eine abgelaufene Aufforderung ungeprüft durch. Vor v2.1.208 endete Claude Code die Abfrage mit `error_during_execution`, wenn ein Callback bei diesen Ereignissen abgelaufen ist.837* `UserPromptSubmit` und [`UserPromptExpansion`](/docs/de/hooks#userpromptexpansion): Claude Code blockiert den Prompt mit einer Nachricht, die den Hook und das Timeout benennt, und die Sitzung wird fortgesetzt. Da ein Callback bei diesen Ereignissen als Richtlinien-Gate fungieren kann, lässt Claude Code niemals einen Prompt mit abgelaufenem Timeout ungeprüft durch. Vor v2.1.208 beendete Claude Code die Abfrage mit `error_during_execution`, wenn ein Callback bei diesen Ereignissen abgelaufen ist.

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

839* `SessionStart`: der abgelaufene Callback zählt als Rückgabe ohne Ausgabe, und die Sitzung wird mit der Ausgabe Ihrer anderen `SessionStart` Hooks fortgesetzt.839* `SessionStart`: der abgelaufene Callback zählt als Rückgabe ohne Ausgabe, und die Sitzung wird mit der Ausgabe Ihrer anderen `SessionStart` Hooks fortgesetzt.

840* `PreModelSwitch`: Claude Code blockiert den Modellwechsel. Ein Hook, der nicht antwortet, hat den Wechsel nicht genehmigt.840* `PreModelSwitch`: Claude Code blockiert den Modellwechsel. Ein Hook, der nicht antwortet, hat den Wechsel nicht genehmigt.


851</h3>851</h3>

852 852 

853* Überprüfen Sie alle `PreToolUse` Hooks auf `permissionDecision: 'deny'` Rückgaben853* Überprüfen Sie alle `PreToolUse` Hooks auf `permissionDecision: 'deny'` Rückgaben

854* Fügen Sie Protokollierung zu Ihren Hooks hinzu, um zu sehen, welche `permissionDecisionReason` sie zurückgeben854* Fügen Sie Logging zu Ihren Hooks hinzu, um zu sehen, welche `permissionDecisionReason` sie zurückgeben

855* Überprüfen Sie, ob Matcher-Muster nicht zu breit sind: ein leerer Matcher gleicht alle Tools ab855* Überprüfen Sie, ob Matcher-Muster nicht zu breit sind: ein leerer Matcher gleicht alle Tools ab

856 856 

857<h3 id="modified-input-not-applied">857<h3 id="modified-input-not-applied">


878 Sitzungs-Hooks nicht in Python verfügbar878 Sitzungs-Hooks nicht in Python verfügbar

879</h3>879</h3>

880 880 

881`SessionStart` und `SessionEnd` können als SDK-Callback-Hooks in TypeScript registriert werden, sind aber im Python SDK nicht verfügbar, da sein `HookEvent` Typ sie auslässt. In Python sind sie nur als [Shell-Befehls-Hooks](/docs/de/hooks#hook-events) verfügbar, die in Einstellungsdateien wie `.claude/settings.json` definiert sind. Um Shell-Befehls-Hooks aus Ihrer SDK-Anwendung zu laden, schließen Sie die entsprechende Einstellungsquelle mit [`setting_sources`](/docs/de/agent-sdk/python#settingsource) oder [`settingSources`](/docs/de/agent-sdk/typescript#settingsource) ein:881`SessionStart` und `SessionEnd` können als SDK-Callback-Hooks in TypeScript registriert werden, sind aber im Python SDK nicht verfügbar, da sein `HookEvent` Typ sie auslässt. In Python sind sie nur als [Shell-Befehls-Hooks](/docs/de/hooks#hook-events) verfügbar, die in Einstellungsdateien wie `.claude/settings.json` definiert sind. Welche Einstellungsdateien Ihre SDK-Anwendung lädt, hängt von [`setting_sources`](/docs/de/agent-sdk/python#settingsource) bzw. [`settingSources`](/docs/de/agent-sdk/typescript#settingsource) ab. Wenn Sie diese Option festlegen, schließen Sie die Quelle ein, die die Hooks enthält:

882 882 

883<CodeGroup>883<CodeGroup>

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


897Um stattdessen Initialisierungslogik als Python SDK-Callback auszuführen, verwenden Sie die erste Nachricht von `client.receive_response()` als Auslöser.897Um stattdessen Initialisierungslogik als Python SDK-Callback auszuführen, verwenden Sie die erste Nachricht von `client.receive_response()` als Auslöser.

898 898 

899<h3 id="subagent-permission-prompts-multiplying">899<h3 id="subagent-permission-prompts-multiplying">

900 Subagent-Berechtigungsaufforderungen vervielfachen sich900 Berechtigungsabfragen von Subagenten vervielfachen sich

901</h3>901</h3>

902 902 

903Beim Spawnen mehrerer Subagents kann jeder einzelne Berechtigungen separat anfordern. Um wiederholte Aufforderungen zu vermeiden, verwenden Sie `PreToolUse` Hooks, um spezifische Tools automatisch zu genehmigen, oder konfigurieren Sie Berechtigungsregeln, die Subagents [vom übergeordneten Gespräch erben](/docs/de/sub-agents#permission-modes).903Beim Starten mehrerer Subagenten kann jeder einzelne für seine eigenen Tool-Aufrufe separat Berechtigungen anfordern. Um wiederholte Abfragen zu vermeiden, verwenden Sie `PreToolUse` Hooks, um spezifische Tools automatisch zu genehmigen, oder konfigurieren Sie Berechtigungsregeln, die Subagenten [von der übergeordneten Konversation erben](/docs/de/sub-agents#permission-modes).

904 904 

905<h3 id="recursive-hook-loops-with-subagents">905<h3 id="recursive-hook-loops-with-subagents">

906 Rekursive Hook-Schleifen mit Subagents906 Rekursive Hook-Schleifen mit Subagenten

907</h3>907</h3>

908 908 

909Ein `UserPromptSubmit` Hook, der Subagents spawnt, kann unendliche Schleifen erzeugen, wenn diese Subagents denselben Hook auslösen. Um dies zu verhindern:909Ein `UserPromptSubmit` Hook, der Subagenten startet, kann unendliche Schleifen erzeugen, wenn diese Subagenten denselben Hook auslösen. Um dies zu verhindern:

910 910 

911* Verwenden Sie eine gemeinsame Variable oder Sitzungsstatus, um zu verfolgen, ob Sie bereits in einem Subagent sind911* Verwenden Sie eine gemeinsame Variable oder Sitzungsstatus, um zu verfolgen, ob Sie sich bereits in einem Subagenten befinden

912* Beschränken Sie Hooks so, dass sie nur für die Top-Level-Agent-Sitzung ausgeführt werden912* Beschränken Sie Hooks so, dass sie nur für die Top-Level-Agent-Sitzung ausgeführt werden

913 913 

914<h3 id="systemmessage-not-appearing-in-output">914<h3 id="systemmessage-not-appearing-in-output">

Details

194 `ToolAnnotations`194 `ToolAnnotations`

195</h4>195</h4>

196 196 

197Verhaltenshinweise für ein Tool, die als `annotations`-Argument von [`tool()`](#tool) übergeben werden. `ToolAnnotations` erweitert die `mcp.types.ToolAnnotations` des MCP SDK um ein `maxResultSizeChars`-Feld, und Sie können jeden Hinweis in camelCase oder snake\_case schreiben: `ToolAnnotations(readOnlyHint=True)` und `ToolAnnotations(read_only_hint=True)` sind gleichwertig. Sie können auch überall dort, wo das SDK Anmerkungen akzeptiert, ein einfaches `mcp.types.ToolAnnotations` übergeben.197Verhaltenshinweise für ein Tool, die als `annotations`-Argument von [`tool()`](#tool) übergeben werden. `ToolAnnotations` erweitert die `mcp.types.ToolAnnotations` des MCP SDK um ein `maxResultSizeChars`-Feld, und Sie können jeden Hinweis in camelCase oder snake\_case schreiben: `ToolAnnotations(readOnlyHint=True)` und `ToolAnnotations(read_only_hint=True)` sind gleichwertig. Um einen Hinweis aus dem Objekt wieder auszulesen, verwenden Sie die Schreibweise, die Ihr installiertes `mcp`-Paket deklariert: `.readOnlyHint` unter `mcp` 1.x und `.read_only_hint` unter 2.x, während `.maxResultSizeChars` unter beiden funktioniert. Sie können auch überall dort, wo das SDK Anmerkungen akzeptiert, ein einfaches `mcp.types.ToolAnnotations` übergeben.

198 198 

199Die snake\_case-Namen und das typisierte `maxResultSizeChars`-Feld erfordern Python Agent SDK 0.2.140 oder später. Versionen 0.1.31 bis 0.2.139 exportieren `mcp.types.ToolAnnotations` unverändert erneut. In Versionen 0.1.55 bis 0.2.139 können Sie `maxResultSizeChars` immer noch als Schlüsselwortargument übergeben: Die MCP-Klasse akzeptiert zusätzliche Felder, und das SDK leitet den Wert an Claude Code weiter.199Die snake\_case-Namen und das typisierte `maxResultSizeChars`-Feld erfordern Python Agent SDK 0.2.140 oder später. Versionen 0.1.31 bis 0.2.139 exportieren `mcp.types.ToolAnnotations` unverändert erneut. In Versionen 0.1.55 bis 0.2.139 können Sie `maxResultSizeChars` immer noch als Schlüsselwortargument übergeben: Die MCP-Klasse akzeptiert zusätzliche Felder, und das SDK leitet den Wert an Claude Code weiter.

200 200 


1465| `enabled` | `type`, `budget_tokens`, `display` | Aktivieren Sie Thinking mit einem bestimmten Token-Budget |1465| `enabled` | `type`, `budget_tokens`, `display` | Aktivieren Sie Thinking mit einem bestimmten Token-Budget |

1466| `disabled` | `type` | Deaktivieren Sie Thinking |1466| `disabled` | `type` | Deaktivieren Sie Thinking |

1467 1467 

1468Das optionale Feld `display` steuert, ob Thinking-Text `"summarized"` oder `"omitted"` zurückgegeben wird. Bei Claude Opus 4.7 und später ist der API-Standard `"omitted"`, setzen Sie daher `"summarized"`, um Thinking-Inhalte in [`ThinkingBlock`](#thinkingblock)-Ausgaben zu erhalten. Claude Code sendet `display` nicht an Amazon Bedrock oder die Agent Platform von Google Cloud, daher geben Opus 4.7 und später bei diesen Anbietern leere `ThinkingBlock`-Ausgaben zurück, auch wenn Sie `display` auf `"summarized"` setzen.1468Das optionale Feld `display` steuert, ob Thinking-Text `"summarized"` oder `"omitted"` zurückgegeben wird. Bei Claude Opus 4.7 und später ist der API-Standard `"omitted"`, setzen Sie daher `"summarized"`, um Thinking-Inhalte in [`ThinkingBlock`](#thinkingblock)-Ausgaben zu erhalten. Claude Code lässt `display` bei Anfragen an einige Anbieter weg, etwa Amazon Bedrock und die Agent Platform von Google Cloud. Bei diesen Anbietern geben Opus 4.7 und später leere `ThinkingBlock`-Ausgaben zurück, auch wenn Sie `display` auf `"summarized"` setzen.

1469 1469 

1470Da dies `TypedDict`-Klassen sind, sind sie zur Laufzeit einfache Dicts. Konstruieren Sie sie entweder als Dict-Literale oder rufen Sie die Klasse wie einen Konstruktor auf; beide Varianten erzeugen ein `dict`. Greifen Sie auf Felder mit `config["budget_tokens"]` zu, nicht mit `config.budget_tokens`:1470Da dies `TypedDict`-Klassen sind, sind sie zur Laufzeit einfache Dicts. Konstruieren Sie sie entweder als Dict-Literale oder rufen Sie die Klasse wie einen Konstruktor auf; beide Varianten erzeugen ein `dict`. Greifen Sie auf Felder mit `config["budget_tokens"]` zu, nicht mit `config.budget_tokens`:

1471 1471 


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

1876| `canonicalModel` | `str` | Kanonische Modell-ID, die für die Preissuche verwendet wird. Kann sich vom Raw-Modell-String unterscheiden, nach dem der Eintrag verschlüsselt ist, wie eine anbieter-spezifische ID oder ein Alias. Nicht immer vorhanden. |1876| `canonicalModel` | `str` | Kanonische Modell-ID, die für die Preissuche verwendet wird. Kann sich vom Raw-Modell-String unterscheiden, nach dem der Eintrag verschlüsselt ist, wie eine anbieter-spezifische ID oder ein Alias. Nicht immer vorhanden. |

1877| `provider` | `str` | API-Anbieter, der dieses Modell bereitgestellt hat, wie `firstParty`, `bedrock`, `vertex`, `foundry`, `anthropicAws`, `mantle` oder `gateway`. Nicht immer vorhanden. |1877| `provider` | `str` | API-Anbieter, der dieses Modell bereitgestellt hat, wie `firstParty`, `bedrock`, `vertex`, `foundry`, `anthropicAws`, `mantle` oder `gateway`. Nicht immer vorhanden. |

1878| `costBasis` | `str` | Preistabelle, nach der die letzte Anfrage dieses Modells bepreist wurde: `list` für den Listenpreis, `managed` für eine [`modelPricing`](/docs/de/settings-reference#modelpricing)-Tabelle oder `unknown`, wenn keine der beiden zur Modell-ID passte. Nicht immer vorhanden und nicht auf dem TypedDict deklariert, daher lesen Sie es mit `.get()`. Erfordert Claude Code v2.1.246 oder später. |

1878 1879 

1879<h3 id="streamevent">1880<h3 id="streamevent">

1880 `StreamEvent`1881 `StreamEvent`


1945 1946 

1946| Feld | Typ | Beschreibung |1947| Feld | Typ | Beschreibung |

1947| :- | :- | :- |1948| :- | :- | :- |

1948| `status` | `RateLimitStatus` | Aktueller Status. `"allowed_warning"` bedeutet, dass die Grenze näher rückt; `"rejected"` bedeutet, dass die Grenze erreicht wurde |1949| `status` | `RateLimitStatus` | Aktueller Status, einer von `"allowed"`, `"allowed_warning"` oder `"rejected"`. `"allowed_warning"` bedeutet, dass die Grenze näher rückt; `"rejected"` bedeutet, dass die Grenze erreicht wurde |

1949| `resets_at` | `int \| None` | Unix-Zeitstempel, wenn das Rate-Limit-Fenster zurückgesetzt wird |1950| `resets_at` | `int \| None` | Unix-Zeitstempel, wenn das Rate-Limit-Fenster zurückgesetzt wird |

1950| `rate_limit_type` | `RateLimitType \| None` | Welches Rate-Limit-Fenster gilt |1951| `rate_limit_type` | `RateLimitType \| None` | Welches Rate-Limit-Fenster gilt |

1951| `utilization` | `float \| None` | Anteil des Rate-Limits, das verbraucht wurde (0,0 bis 1,0) |1952| `utilization` | `float \| None` | Anteil des Rate-Limits, das verbraucht wurde (0,0 bis 1,0) |


2166 """Base error for Claude SDK."""2167 """Base error for Claude SDK."""

2167```2168```

2168 2169 

2169Wenn eine einmalige `query()` mit einem Fehlerergebnis endet, beispielsweise ein Turn-Limit-Fehler, löst das SDK eine [`ResultError`](#resulterror) aus, nachdem die endgültige Ergebnismeldung ausgegeben wurde. Python Agent SDK-Versionen vor 0.2.140 lösten eine einfache `Exception` aus, die keine `ClaudeSDKError`-Unterklasse war.2170Wenn eine einmalige `query()` mit einem Fehlerergebnis endet, beispielsweise ein Turn-Limit-Fehler, löst das SDK eine [`ResultError`](#resulterror) aus.

2170 2171 

2171<h3 id="clinotfounderror">2172<h3 id="clinotfounderror">

2172 `CLINotFoundError`2173 `CLINotFoundError`


2216 `ResultError`2217 `ResultError`

2217</h3>2218</h3>

2218 2219 

2219Wird ausgelöst, nachdem die endgültige [`ResultMessage`](#resultmessage) ausgegeben wurde, wenn der Claude Code-Prozess beendet wird, weil die Ausführung mit einem Fehlerergebnis endete, z. B. ein Turn-Limit-Fehler oder ein API-Fehler. `ResultError` ist eine Unterklasse von `ProcessError`, daher fängt ein vorhandener `except ProcessError`-Handler auch diesen ab. Seine Attribute enthalten die Felder dieser Ergebnismeldung, sodass Sie verzweigen können, warum die Ausführung fehlgeschlagen ist, ohne den Meldungstext zu analysieren. Erfordert Python Agent SDK 0.2.140 oder später.2220Wird ausgelöst, wenn der Claude Code-Prozess beendet wird, weil die Ausführung mit einer Fehler-[Ergebnismeldung](#resultmessage) endete, z. B. ein Turn-Limit-Fehler oder ein API-Fehler. `ResultError` ist eine Unterklasse von `ProcessError`, daher fängt ein vorhandener `except ProcessError`-Handler auch diesen ab. Seine Attribute enthalten die Felder dieser Ergebnismeldung, sodass Sie verzweigen können, warum die Ausführung fehlgeschlagen ist, ohne den Meldungstext zu analysieren. Erfordert Python Agent SDK 0.2.140 oder später.

2220 2221 

2221```python theme={null}2222```python theme={null}

2222class ResultError(ProcessError):2223class ResultError(ProcessError):


2649 hookEventName: Literal["PostToolUse"]2650 hookEventName: Literal["PostToolUse"]

2650 additionalContext: NotRequired[str]2651 additionalContext: NotRequired[str]

2651 updatedToolOutput: NotRequired[Any]2652 updatedToolOutput: NotRequired[Any]

2652 updatedMCPToolOutput: NotRequired[Any] # Deprecated: use updatedToolOutput, which works for all tools2653 updatedMCPToolOutput: NotRequired[Any] # MCP tools only. Prefer updatedToolOutput, which works for all tools

2653 2654 

2654 2655 

2655class PostToolUseFailureHookSpecificOutput(TypedDict):2656class PostToolUseFailureHookSpecificOutput(TypedDict):


2767 Eingabe-/Ausgabetypen für Tools2768 Eingabe-/Ausgabetypen für Tools

2768</h2>2769</h2>

2769 2770 

2770Dokumentation der Eingabe-/Ausgabeschemas für alle integrierten Claude Code-Tools. Obwohl das Python SDK diese nicht als Typen exportiert, stellen sie die Struktur von Tool-Eingaben und -Ausgaben in Nachrichten dar.2771Dokumentation der Eingabe-/Ausgabeschemas für integrierte Claude Code-Tools. Obwohl das Python SDK diese nicht als Typen exportiert, stellen sie die Struktur von Tool-Eingaben und -Ausgaben in Nachrichten dar.

2771 2772 

2772Jede angezeigte Ausgabe ist der Wert, den Sie aus [`UserMessage.tool_use_result`](#usermessage) für dieses Tool lesen. Schlüsselnamen erscheinen genau so, wie Claude Code sie ausgibt. Ein Schlüssel, der mit `| None` annotiert ist und einen Kommentar „vorhanden wenn“ oder „optional“ hat, wird weggelassen, wenn er nicht zutrifft.2773Jede angezeigte Ausgabe ist der Wert, den Sie aus [`UserMessage.tool_use_result`](#usermessage) für dieses Tool lesen. Schlüsselnamen erscheinen genau so, wie Claude Code sie ausgibt. Ein Schlüssel, der mit `| None` annotiert ist und einen Kommentar „vorhanden wenn“ oder „optional“ hat, wird weggelassen, wenn er nicht zutrifft.

2773 2774 

Details

60 60 

61Um strukturierte Ausgaben zu verwenden, definieren Sie ein [JSON Schema](https://json-schema.org/understanding-json-schema/about), das die Form der gewünschten Daten beschreibt, und übergeben Sie es dann an `query()` über die Option `outputFormat` (TypeScript) oder `output_format` (Python). Wenn der Agent fertig ist, enthält die Ergebnismeldung ein Feld `structured_output` mit validierten Daten, die Ihrem Schema entsprechen.61Um strukturierte Ausgaben zu verwenden, definieren Sie ein [JSON Schema](https://json-schema.org/understanding-json-schema/about), das die Form der gewünschten Daten beschreibt, und übergeben Sie es dann an `query()` über die Option `outputFormat` (TypeScript) oder `output_format` (Python). Wenn der Agent fertig ist, enthält die Ergebnismeldung ein Feld `structured_output` mit validierten Daten, die Ihrem Schema entsprechen.

62 62 

63Das folgende Beispiel fordert den Agenten auf, Anthropic zu recherchieren und den Firmennamen, das Gründungsjahr und den Hauptsitz als strukturierte Ausgabe zurückzugeben.63Bevor Sie die Beispiele auf dieser Seite ausführen, installieren Sie das Claude Agent SDK, indem Sie dem [Schnellstart](/docs/de/agent-sdk/quickstart#setup) folgen. Das folgende Beispiel fordert den Agenten auf, Anthropic zu recherchieren und den Firmennamen, das Gründungsjahr und den Hauptsitz als strukturierte Ausgabe zurückzugeben.

64 64 

65<CodeGroup>65<CodeGroup>

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


390 Fehlerbehandlung390 Fehlerbehandlung

391</h2>391</h2>

392 392 

393Die Generierung strukturierter Ausgaben kann fehlschlagen, wenn der Agent kein gültiges JSON erzeugen kann, das Ihrem Schema entspricht. Dies geschieht normalerweise, wenn das Schema für die Aufgabe zu komplex ist, die Aufgabe selbst mehrdeutig ist, oder der Agent sein Wiederholungslimit beim Versuch, Validierungsfehler zu beheben, erreicht. Es kann auch ohne Validierungsfehler geschehen: Ein [Modell-Fallback](/docs/de/model-config#automatic-model-fallback) kann eine bereits abgeschlossene Ausgabe mitten im Stream zurückziehen, und wenn kein erfolgreicher Wiederholungsversuch sie ersetzt, endet der Durchlauf mit demselben Fehler. Überprüfen Sie die `errors`-Liste der Ergebnismeldung, um die beiden Ursachen auseinanderzuhalten, bevor Sie Ihr Schema debuggen.393Die Generierung strukturierter Ausgaben kann fehlschlagen, wenn der Agent kein gültiges JSON erzeugen kann, das Ihrem Schema entspricht. Dies geschieht normalerweise, wenn das Schema für die Aufgabe zu komplex ist, die Aufgabe selbst mehrdeutig ist, oder der Agent sein Wiederholungslimit beim Versuch, Validierungsfehler zu beheben, erreicht. Es kann auch ohne Validierungsfehler geschehen: Ein [Modell-Fallback](/docs/de/model-config#automatic-model-fallback) kann eine bereits abgeschlossene Ausgabe mitten im Stream zurückziehen, und wenn kein erfolgreicher Wiederholungsversuch sie ersetzt, endet der Durchlauf mit demselben Fehler. Überprüfen Sie die `errors`-Liste der Fehler-Ergebnismeldung, um die beiden Ursachen auseinanderzuhalten, bevor Sie Ihr Schema debuggen.

394 394 

395Wenn ein Fehler auftritt, hat die Ergebnismeldung einen `subtype`, der angibt, was schief gelaufen ist:395Wenn ein Fehler auftritt, hat die Ergebnismeldung einen `subtype`, der angibt, was schief gelaufen ist:

396 396 


399| `success` | Ausgabe wurde erfolgreich generiert und validiert |399| `success` | Ausgabe wurde erfolgreich generiert und validiert |

400| `error_max_structured_output_retries` | Keine gültige Ausgabe überstand mehrere Versuche (Validierungsfehler oder ein Modell-Fallback-Rückzug ohne erfolgreichen Wiederholungsversuch) |400| `error_max_structured_output_retries` | Keine gültige Ausgabe überstand mehrere Versuche (Validierungsfehler oder ein Modell-Fallback-Rückzug ohne erfolgreichen Wiederholungsversuch) |

401 401 

402Ein Ergebnis kann auch mit dem Subtype `success` enden, aber ohne `structured_output`-Wert, beispielsweise wenn der Durchlauf endet, ohne dass der Agent eine strukturierte Ausgabe erzeugt. Behandeln Sie diesen Fall auch als Fehler. Der Troubleshooting-Eintrag [structured\_output ist None, aber das Ergebnis sagt success](/docs/de/agent-sdk/troubleshooting#structured_output-is-none-but-the-result-says-success) behandelt diesen Fall. Das folgende Beispiel behandelt ein Ergebnis als erfolgreich nur, wenn der `subtype` `success` ist und `structured_output` vorhanden ist, und behandelt jedes andere Ergebnis als Fehler:402Ein Ergebnis kann auch mit dem Subtype `success` enden, aber ohne `structured_output`-Wert, beispielsweise wenn der Durchlauf endet, ohne dass der Agent eine strukturierte Ausgabe erzeugt. Behandeln Sie diesen Fall auch als Fehler. Der Eintrag zur Fehlerbehebung [structured\_output ist None, aber das Ergebnis sagt success](/docs/de/agent-sdk/troubleshooting#structured_output-is-none-but-the-result-says-success) behandelt diesen Fall. Das folgende Beispiel behandelt ein Ergebnis als erfolgreich nur, wenn der `subtype` `success` ist und `structured_output` vorhanden ist, und behandelt jedes andere Ergebnis als Fehler:

403 403 

404<CodeGroup>404<CodeGroup>

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

Details

181});181});

182 182 

183spare.claimed.catch((error: Error) => {183spare.claimed.catch((error: Error) => {

184 // Wenn die Nachricht nicht mit "option_not_applied" beginnt, wurde die Eingabeaufforderung nicht ausgeführt:184 // Wenn die Nachricht nicht mit "option_not_applied" beginnt, wurde der Prompt nicht ausgeführt:

185 // starten Sie diese Sitzung stattdessen mit query()185 // starten Sie diese Sitzung stattdessen mit query()

186 console.error("Claim failed:", error.message);186 console.error("Claim failed:", error.message);

187});187});

188 188 

189for await (const message of claimedQuery) {189try {

190 for await (const message of claimedQuery) {

190 console.log(message);191 console.log(message);

192 }

193} catch (error) {

194 // Nach einem abgelehnten Claim wirft die beanspruchte Query einen Fehler, sobald sie das Fehlerergebnis ausgegeben hat

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

191}196}

192```197```

193 198 


717| `accountInfo()` | Gibt Kontoinformationen zurück |722| `accountInfo()` | Gibt Kontoinformationen zurück |

718| `reconnectMcpServer(serverName)` | Verbinden Sie einen MCP-Server nach Name erneut. Wenn der Name auch einem Eintrag in einer Einstellungsdatei wie `.mcp.json` oder `~/.claude.json` entspricht, verbindet Claude Code den Server, den Sie über [`mcpServers`](#options) oder `setMcpServers()` konfiguriert haben, nicht den Einstellungsdatei-Eintrag. Diese Auflösungsreihenfolge erfordert Claude Code v2.1.257 oder später |723| `reconnectMcpServer(serverName)` | Verbinden Sie einen MCP-Server nach Name erneut. Wenn der Name auch einem Eintrag in einer Einstellungsdatei wie `.mcp.json` oder `~/.claude.json` entspricht, verbindet Claude Code den Server, den Sie über [`mcpServers`](#options) oder `setMcpServers()` konfiguriert haben, nicht den Einstellungsdatei-Eintrag. Diese Auflösungsreihenfolge erfordert Claude Code v2.1.257 oder später |

719| `toggleMcpServer(serverName, enabled)` | Einen MCP-Server anhand des Namens aktivieren oder deaktivieren, mit derselben Namensauflösung wie `reconnectMcpServer()`. Das Deaktivieren eines Servers trennt die Verbindung und entfernt seine Tools. Unter [`toggleMcpServer()`](#togglemcpserver) erfahren Sie, welche Claude Code-Version dafür für die einzelnen Serverarten erforderlich ist |724| `toggleMcpServer(serverName, enabled)` | Einen MCP-Server anhand des Namens aktivieren oder deaktivieren, mit derselben Namensauflösung wie `reconnectMcpServer()`. Das Deaktivieren eines Servers trennt die Verbindung und entfernt seine Tools. Unter [`toggleMcpServer()`](#togglemcpserver) erfahren Sie, welche Claude Code-Version dafür für die einzelnen Serverarten erforderlich ist |

720| `setMcpServers(servers)` | Ersetzen Sie dynamisch die Menge der MCP-Server für diese Sitzung. Wird mit einem [`McpSetServersResult`](#mcpsetserversresult) aufgelöst, das benennt, welche Server hinzugefügt und entfernt wurden, und alle Fehler |725| `setMcpServers(servers)` | Die MCP-Server ersetzen, die diese Methode verwaltet: über sie hinzugefügte Server und [In-Process-SDK-Server](#createsdkmcpserver). Wird mit einem [`McpSetServersResult`](#mcpsetserversresult) aufgelöst, das nennt, welche Server hinzugefügt und entfernt wurden, sowie etwaige Fehler; dieser Abschnitt beschreibt, welche anderen Server verbunden bleiben |

721| `readMcpResource(serverName, uri)` | *Alpha.* Liest eine MCP Apps `ui://`-Ressource von einem verbundenen MCP-Server, damit Ihre Anwendung das Widget eines Tools rendern kann. Wird mit einer [`SDKControlMcpReadResourceResponse`](#sdkcontrolmcpreadresourceresponse) aufgelöst. Erfordert TypeScript Agent SDK v0.3.280 oder später |726| `readMcpResource(serverName, uri)` | *Alpha.* Liest eine MCP Apps `ui://`-Ressource von einem verbundenen MCP-Server, damit Ihre Anwendung das Widget eines Tools rendern kann. Wird mit einer [`SDKControlMcpReadResourceResponse`](#sdkcontrolmcpreadresourceresponse) aufgelöst. Erfordert TypeScript Agent SDK v0.3.280 oder später |

722| `streamInput(stream)` | Streamen Sie Eingabenachrichten zur Abfrage für Multi-Turn-Gespräche |727| `streamInput(stream)` | Streamen Sie Eingabenachrichten zur Abfrage für Multi-Turn-Gespräche |

723| `stopTask(taskId)` | Beenden Sie eine laufende Hintergrund-Task nach ID |728| `stopTask(taskId)` | Beenden Sie eine laufende Hintergrund-Task nach ID |


844 849 

845`options.cwd` ist erforderlich. Eine Beanspruchung kann auch `additionalDirectories`, `model`, `permissionMode`, `maxThinkingTokens`, eine Flag-Einstellungs-Überlagerung in `settings`, `appendSystemPrompt`, `title`, `agents` und sitzungsspezifische Token in `env` setzen.850`options.cwd` ist erforderlich. Eine Beanspruchung kann auch `additionalDirectories`, `model`, `permissionMode`, `maxThinkingTokens`, eine Flag-Einstellungs-Überlagerung in `settings`, `appendSystemPrompt`, `title`, `agents` und sitzungsspezifische Token in `env` setzen.

846 851 

847Claude Code kann eine Beanspruchung verweigern, z. B. für einen Ordner, der nicht existiert, oder einen, dessen Projekteinstellungen `env`, `agent` oder `model` setzen. Wenn `claimed` mit einer Nachricht ablehnt, die mit `option_not_applied` beginnt, läuft die Sitzung ohne das `model` oder `maxThinkingTokens`, das Sie angefordert haben. Nach jeder anderen Ablehnung ist Ihre Eingabeaufforderung nicht gelaufen, daher starten Sie die Sitzung stattdessen mit `query()`.852Claude Code kann eine Beanspruchung verweigern, zum Beispiel für einen Ordner, der nicht existiert, oder für einen, dessen Projekteinstellungen `env`, `agent` oder `model` setzen. Nach einer Verweigerung erhält ein Prompt, den `claim()` bereits gesendet hat, ein Fehlerergebnis, dessen Text mit `not_claimed` beginnt, und die zurückgegebene Query löst anschließend eine Ausnahme aus. Umschließen Sie die Schleife der Query mit einem try-Block, um nach der Ausnahme fortzufahren. Wenn `claimed` mit einer Meldung abgelehnt wird, die mit `option_not_applied` beginnt, läuft die Sitzung ohne das angeforderte `model` oder `maxThinkingTokens`. Nach jeder anderen Ablehnung wurde Ihr Prompt nicht ausgeführt; starten Sie die Sitzung daher stattdessen mit `query()`.

848 853 

849<h3 id="sdkcontrolinitializeresponse">854<h3 id="sdkcontrolinitializeresponse">

850 `SDKControlInitializeResponse`855 `SDKControlInitializeResponse`


1337| `mcpServer` | `{ name: string; source: string }` | Für ein `mcp__*`-Tool, der MCP-Server, der es bedient, und woher diese Server-Definition kam, mit den Feldern von [`McpServerProvenance`](#mcpserverprovenance). Abwesend für andere Tools. Erfordert Agent SDK v0.3.274 oder später |1342| `mcpServer` | `{ name: string; source: string }` | Für ein `mcp__*`-Tool, der MCP-Server, der es bedient, und woher diese Server-Definition kam, mit den Feldern von [`McpServerProvenance`](#mcpserverprovenance). Abwesend für andere Tools. Erfordert Agent SDK v0.3.274 oder später |

1338| `decisionReason` | `string` | Erklärt, warum diese Berechtigungsanfrage ausgelöst wurde |1343| `decisionReason` | `string` | Erklärt, warum diese Berechtigungsanfrage ausgelöst wurde |

1339| `defaultToNo` | `boolean` | Wenn `true`, muss ein einzelner Tippfehler diese Anfrage nicht genehmigen: öffnen Sie Ihre Eingabeaufforderung auf ihrer Ablehnungsoption, wählen Sie nicht vorab genehmigen, und bieten Sie keine Eintasten-Genehmigungsverknüpfung. Erfordert Agent SDK v0.3.268 oder später |1344| `defaultToNo` | `boolean` | Wenn `true`, muss ein einzelner Tippfehler diese Anfrage nicht genehmigen: öffnen Sie Ihre Eingabeaufforderung auf ihrer Ablehnungsoption, wählen Sie nicht vorab genehmigen, und bieten Sie keine Eintasten-Genehmigungsverknüpfung. Erfordert Agent SDK v0.3.268 oder später |

1340| `suppressAlwaysAllowRule` | `boolean` | Wenn `true`, bieten Sie keine persistente Always-Allow-Wahl für diese Anfrage, da die Regel, die sie schreiben würde, mehr als die Aktion der Anfrage selbst gewährt. Erfordert Agent SDK v0.3.268 oder später |1345| `suppressAlwaysAllowRule` | `boolean` | Wenn `true`, bieten Sie für diese Anfrage keine dauerhafte Option „Immer erlauben“ an. Erfordert Agent SDK v0.3.268 oder höher |

1341| `toolUseID` | `string` | Eindeutige Kennung für diesen spezifischen Tool-Aufruf innerhalb der Assistent-Nachricht |1346| `toolUseID` | `string` | Eindeutige Kennung für diesen spezifischen Tool-Aufruf innerhalb der Assistent-Nachricht |

1342| `agentID` | `string` | Wenn innerhalb eines Sub-Agenten läuft, die ID des Sub-Agenten |1347| `agentID` | `string` | Wenn innerhalb eines Sub-Agenten läuft, die ID des Sub-Agenten |

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


3788};3793};

3789```3794```

3790 3795 

3791Meldet Code-Review-Erkenntnisse als strukturierte Liste, damit Claude Code sie rendern kann, anstatt sie als Text auszudrucken. `level` ist die Aufwandsstufe, auf der die Überprüfung ausgeführt wurde. Erkenntnisse sind nach Schweregrad geordnet, mit höchstens 32 pro Aufruf, und das Array ist leer, wenn keine überlebt haben. Erfordert Claude Code v2.1.196 oder später.3796Meldet Code-Review-Erkenntnisse als strukturierte Liste, damit Claude Code sie rendern kann, anstatt sie als Text auszudrucken. Erkenntnisse sind nach Schweregrad geordnet, mit höchstens 32 pro Aufruf, und das Array ist leer, wenn keine überlebt haben. Erfordert Claude Code v2.1.196 oder später.

3797 

3798`level` ist optional und enthält die Effort-Stufe, die Claude für das Review meldet. Claude Code vergleicht sie nicht mit der Stufe, auf der das Review ausgeführt wurde, daher können die beiden voneinander abweichen.

3792 3799 

3793Jede Erkenntnis enthält diese Felder:3800Jede Erkenntnis enthält diese Felder:

3794 3801 


4838};4845};

4839```4846```

4840 4847 

4841Gibt die Anzahl der gemeldeten Erkenntnisse, die Aufwandsstufe, auf der die Überprüfung lief, und die Erkenntnisse zurück, die für den Ergebnis-Text wiedergegeben werden. Erfordert Claude Code v2.1.196 oder später. Das wiedergegebene Feld `short_summary` erfordert Claude Code v2.1.212 oder später.4848Gibt die Anzahl der gemeldeten Erkenntnisse, den `level`-Wert, den Claude übergeben hat, und die Erkenntnisse zurück, die für den Ergebnis-Text wiedergegeben werden. Erfordert Claude Code v2.1.196 oder später. Das wiedergegebene Feld `short_summary` erfordert Claude Code v2.1.212 oder später.

4842 4849 

4843<h3 id="artifact-2">4850<h3 id="artifact-2">

4844 Artifact4851 Artifact


5459 | { type: "disabled" }; // Kein Extended Thinking5466 | { type: "disabled" }; // Kein Extended Thinking

5460```5467```

5461 5468 

5462Das optionale `display`-Feld steuert, ob Thinking-Text `"summarized"` oder `"omitted"` zurückgegeben wird. Bei Claude Opus 4.7 und später ist der API-Standard `"omitted"`, daher setzen Sie `"summarized"`, um Thinking-Inhalte in `thinking`-Blöcken zu erhalten. Claude Code sendet `display` nicht an Amazon Bedrock oder Google Cloud's Agent Platform, daher geben Opus 4.7 und später auf diesen Anbietern leere `thinking`-Blöcke zurück, auch wenn Sie `display` auf `"summarized"` setzen.5469Das optionale `display`-Feld steuert, ob Thinking-Text `"summarized"` oder `"omitted"` zurückgegeben wird. Bei Claude Opus 4.7 und später ist der API-Standard `"omitted"`, daher setzen Sie `"summarized"`, um Thinking-Inhalte in `thinking`-Blöcken zu erhalten. Claude Code lässt `display` bei Anfragen an einige Anbieter weg, etwa Amazon Bedrock und Google Clouds Agent Platform. Bei diesen Anbietern geben Opus 4.7 und später leere `thinking`-Blöcke zurück, auch wenn Sie `display` auf `"summarized"` setzen.

5463 5470 

5464<h3 id="spawnedprocess">5471<h3 id="spawnedprocess">

5465 `SpawnedProcess`5472 `SpawnedProcess`


5530 5537 

5531Wenn Sie `setMcpServers()` aufrufen, wendet Claude Code diese Regeln an:5538Wenn Sie `setMcpServers()` aufrufen, wendet Claude Code diese Regeln an:

5532 5539 

5533* **Server, die der Aufruf nicht benennt**: Claude Code hält von Plugins bereitgestellte Server am Laufen. Erfordert Agent SDK v0.3.210 oder später.5540* **Server, die der Aufruf nicht benennt**: Außerhalb einer [Cloud-Sitzung](/docs/de/claude-code-on-the-web) trennt Claude Code die Server, die ein früherer `setMcpServers()`-Aufruf hinzugefügt hat, sowie die In-Process-SDK-Server und listet sie in `removed` auf. Andere Server laufen weiter und werden nicht in `removed` aufgeführt, darunter die Stdio-, HTTP- und SSE-Server aus der [`mcpServers`](#options)-Option, Server aus Einstellungsdateien und von Plugins bereitgestellte Server.

5534* **Server, die der Aufruf benennt**: außer für integrierte Server, die die CLI beim Start gestartet hat, ersetzt Claude Code einen laufenden Server nur, wenn sich seine Konfiguration von der unterscheidet, die Sie übergeben haben.5541* **Server, die der Aufruf benennt**: Claude Code ersetzt einen Stdio-, HTTP- oder SSE-Server, den ein früherer `setMcpServers()`-Aufruf hinzugefügt hat, nur, wenn sich seine Konfiguration von der unterscheidet, die Sie übergeben haben. Ein In-Process-SDK-Server, der bereits unter diesem Namen registriert ist, bleibt unverändert; um einen auszutauschen, lassen Sie ihn in einem Aufruf weg und fügen Sie ihn im nächsten hinzu.

5535* **Integrierte Server, die die CLI beim Start gestartet hat**: Wenn der Aufruf einen benennt, verwirft Claude Code diesen Eintrag und meldet ihn in `errors`.5542* **Integrierte Server, die die CLI beim Start gestartet hat**: Wenn der Aufruf einen benennt, verwirft Claude Code diesen Eintrag und meldet ihn in `errors`.

5536 5543 

5537Das Promise wird aufgelöst, nachdem neu hinzugefügte Stdio-, HTTP- und SSE-Server verbunden oder fehlgeschlagen sind, daher sind Tools von Servern, die verbunden sind, im nächsten Turn verfügbar.5544Das Promise wird aufgelöst, nachdem neu hinzugefügte Stdio-, HTTP- und SSE-Server verbunden oder fehlgeschlagen sind, daher sind Tools von Servern, die verbunden sind, im nächsten Turn verfügbar.

agent-view.md +1 −0

Details

819| `claude rm <id> --discard-unpushed <commit>@<worktree-id>` | Eine Sitzung löschen, deren Löschung wegen nicht gepushter Commits abgelehnt wurde, und dabei den Worktree zusammen mit seinem Branch und seinen Commits verwerfen. Übergeben Sie den genauen Wert, den die Ablehnung gedruckt hat; siehe [Was das Löschen einer Sitzung entfernt](#what-deleting-a-session-removes). Erfordert v2.1.260 oder später |819| `claude rm <id> --discard-unpushed <commit>@<worktree-id>` | Eine Sitzung löschen, deren Löschung wegen nicht gepushter Commits abgelehnt wurde, und dabei den Worktree zusammen mit seinem Branch und seinen Commits verwerfen. Übergeben Sie den genauen Wert, den die Ablehnung gedruckt hat; siehe [Was das Löschen einer Sitzung entfernt](#what-deleting-a-session-removes). Erfordert v2.1.260 oder später |

820| `claude rm <id> --force-remove-worktree <worktree-id>` | Eine Sitzung löschen, deren Löschung abgelehnt wurde, weil git oder der `WorktreeRemove`-Hook seinen Worktree nicht entfernen konnte, und dabei das Worktree-Verzeichnis trotzdem löschen und seinen Branch im Repository belassen. Übergeben Sie den genauen Wert, den die Ablehnung gedruckt hat; siehe [Was das Löschen einer Sitzung entfernt](#what-deleting-a-session-removes). Erfordert v2.1.268 oder später |820| `claude rm <id> --force-remove-worktree <worktree-id>` | Eine Sitzung löschen, deren Löschung abgelehnt wurde, weil git oder der `WorktreeRemove`-Hook seinen Worktree nicht entfernen konnte, und dabei das Worktree-Verzeichnis trotzdem löschen und seinen Branch im Repository belassen. Übergeben Sie den genauen Wert, den die Ablehnung gedruckt hat; siehe [Was das Löschen einer Sitzung entfernt](#what-deleting-a-session-removes). Erfordert v2.1.268 oder später |

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

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

822| `claude daemon stop --any` | Den Supervisor-Prozess und die Hintergrund-Sitzungen, die er hostet, stoppen. Übergeben Sie `--keep-workers`, um Hintergrund-Sitzungen laufen zu lassen, damit der nächste Supervisor sich mit ihnen verbinden kann. Der nächste `claude agents` oder `claude --bg` startet einen neuen Supervisor |823| `claude daemon stop --any` | Den Supervisor-Prozess und die Hintergrund-Sitzungen, die er hostet, stoppen. Übergeben Sie `--keep-workers`, um Hintergrund-Sitzungen laufen zu lassen, damit der nächste Supervisor sich mit ihnen verbinden kann. Der nächste `claude agents` oder `claude --bg` startet einen neuen Supervisor |

823 824 

824`claude attach` und `claude logs` akzeptieren anstelle der ID auch einen Teil des Namens einer laufenden Sitzung, wie in `claude logs "auth refactor"`. Die Angabe eines Namens erfordert Claude Code v2.1.290 oder später.825`claude attach` und `claude logs` akzeptieren anstelle der ID auch einen Teil des Namens einer laufenden Sitzung, wie in `claude logs "auth refactor"`. Die Angabe eines Namens erfordert Claude Code v2.1.290 oder später.

agents.md +1 −1

Details

20 20 

21Drei weitere Tools unterstützen diese Arbeit, ohne selbst eine Möglichkeit zu sein, Agenten auszuführen:21Drei weitere Tools unterstützen diese Arbeit, ohne selbst eine Möglichkeit zu sein, Agenten auszuführen:

22 22 

23* [Worktrees](/docs/de/worktrees) geben jeder Sitzung einen separaten Git-Checkout, sodass parallele Sitzungen niemals dieselben Dateien bearbeiten. Verwenden Sie sie für Sitzungen, die Sie selbst ausführen. Eine Sitzung, die Sie aus der Agent-Ansicht versenden, [wird vor der Bearbeitung von Dateien in ihren eigenen Worktree verschoben](/docs/de/agent-view#how-file-edits-are-isolated), und Subagenten, die Sie spawnen, können jeweils einen erhalten.23* [Worktrees](/docs/de/worktrees) geben jeder Sitzung einen separaten Git-Checkout, sodass parallele Sitzungen jeweils ihre eigene Kopie der Dateien bearbeiten. Verwenden Sie sie für Sitzungen, die Sie selbst ausführen. Eine Sitzung, die Sie aus der Agent-Ansicht versenden, [wird vor der Bearbeitung von Dateien in ihren eigenen Worktree verschoben](/docs/de/agent-view#how-file-edits-are-isolated), und Subagenten, die Sie spawnen, können ebenfalls jeweils einen erhalten.

24* [Sitzungsübergreifendes Messaging](/docs/de/cross-session-messaging) ermöglicht es Claude, Ihre anderen Claude Code-Sitzungen auf diesem Computer, auf einem anderen Computer oder [in der Cloud](/docs/de/claude-code-on-the-web) aufzulisten und zu kontaktieren, sodass Sitzungen, die Sie selbst ausführen, Ergebnisse und Status untereinander weitergeben können.24* [Sitzungsübergreifendes Messaging](/docs/de/cross-session-messaging) ermöglicht es Claude, Ihre anderen Claude Code-Sitzungen auf diesem Computer, auf einem anderen Computer oder [in der Cloud](/docs/de/claude-code-on-the-web) aufzulisten und zu kontaktieren, sodass Sitzungen, die Sie selbst ausführen, Ergebnisse und Status untereinander weitergeben können.

25* [`/batch`](/docs/de/commands) ist ein [Skill](/docs/de/skills), der Claude eine große Änderung in 5 bis 30 Worktree-isolierte Subagenten aufteilt. Es ist eine gepackte Verwendung von Subagenten und Worktrees, keine separate Koordinationsstil.25* [`/batch`](/docs/de/commands) ist ein [Skill](/docs/de/skills), der Claude eine große Änderung in 5 bis 30 Worktree-isolierte Subagenten aufteilt. Es ist eine gepackte Verwendung von Subagenten und Worktrees, keine separate Koordinationsstil.

26 26 

Details

681 681 

682Amazon Bedrock streamt `InvokeModelWithResponseStream`-Antworten in einem binären Event-Stream-Format mit dem Header `Content-Type: application/vnd.amazon.eventstream`. Ein Gateway oder Proxy zwischen Claude Code und Amazon Bedrock muss den Antwortkörper und seine Header, einschließlich `Content-Type`, so durchleiten, wie Amazon Bedrock sie gesendet hat.682Amazon Bedrock streamt `InvokeModelWithResponseStream`-Antworten in einem binären Event-Stream-Format mit dem Header `Content-Type: application/vnd.amazon.eventstream`. Ein Gateway oder Proxy zwischen Claude Code und Amazon Bedrock muss den Antwortkörper und seine Header, einschließlich `Content-Type`, so durchleiten, wie Amazon Bedrock sie gesendet hat.

683 683 

684Wenn das Gateway `Content-Type` in einen anderen Wert umschreibt, lehnt Claude Code die Antwort mit einem Fehler ab, der mit `Bedrock streaming response has content-type` beginnt und den empfangenen Wert nennt. Die häufige Umschreibung ist `text/event-stream`, von einer Integration, die den Stream als Server-Sent Events erneut aussendet.684Wenn das Gateway `Content-Type` in einen anderen Wert umschreibt, lehnt Claude Code die Antwort mit einem Fehler ab, der mit `Bedrock streaming response has content-type` beginnt und den empfangenen Wert nennt. Die häufige Umschreibung ist `text/event-stream`, von einer Integration, die den Stream als Server-Sent Events erneut aussendet. Informationen zur Variable `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD`, die in der Fehlermeldung genannt wird, finden Sie unter [Bedrock streaming response has an unexpected content-type](/docs/de/errors#bedrock-streaming-response-has-an-unexpected-content-type).

685 685 

686Wenn das Gateway den Header stattdessen löscht oder leer lässt, geht Claude Code davon aus, dass der Body Amazons Bedrock-Event-Stream ist, und dekodiert ihn, sodass ein Body, den das Gateway unverändert durchgeleitet hat, weiterhin streamt.686Wenn das Gateway den Header stattdessen löscht oder leer lässt, geht Claude Code davon aus, dass der Body Amazons Bedrock-Event-Stream ist, und dekodiert ihn, sodass ein Body, den das Gateway unverändert durchgeleitet hat, weiterhin streamt.

687 687 

Details

12 Melden Sie sich bei Claude Code an12 Melden Sie sich bei Claude Code an

13</h2>13</h2>

14 14 

15Nach dem [Installieren von Claude Code](/docs/de/setup#install-claude-code) führen Sie `claude` in Ihrem Terminal aus. Beim ersten Start öffnet Claude Code ein Browserfenster, in dem Sie sich anmelden können. Wenn Sie die Umgebungsvariable `ANTHROPIC_API_KEY` gesetzt haben, überspringt Claude Code die Anmeldeeingabeaufforderung und fordert Sie stattdessen auf, den Schlüssel zu genehmigen.15Nach dem [Installieren von Claude Code](/docs/de/setup#install-claude-code) führen Sie `claude` in Ihrem Terminal aus. Beim ersten Start öffnet Claude Code ein Browserfenster, in dem Sie sich anmelden können. Wenn Sie die Umgebungsvariable `ANTHROPIC_API_KEY` gesetzt haben und den Schlüssel genehmigen, wenn Claude Code fragt, ob er verwendet werden soll, überspringt Claude Code die Anmeldeeingabeaufforderung.

16 16 

17Wenn der Browser nicht automatisch geöffnet wird, drücken Sie `c`, um die Anmelde-URL in Ihre Zwischenablage zu kopieren, und fügen Sie sie dann in Ihren Browser ein.17Wenn der Browser nicht automatisch geöffnet wird, drücken Sie `c`, um die Anmelde-URL in Ihre Zwischenablage zu kopieren, und fügen Sie sie dann in Ihren Browser ein.

18 18 


258 258 

2591. Cloud-Anbieter-Anmeldedaten, wenn `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX` oder `CLAUDE_CODE_USE_FOUNDRY` gesetzt ist. Siehe [Integrationen von Drittanbietern](/docs/de/third-party-integrations) für die Einrichtung.2591. Cloud-Anbieter-Anmeldedaten, wenn `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX` oder `CLAUDE_CODE_USE_FOUNDRY` gesetzt ist. Siehe [Integrationen von Drittanbietern](/docs/de/third-party-integrations) für die Einrichtung.

2602. `ANTHROPIC_AUTH_TOKEN` Umgebungsvariable. Wird als `Authorization: Bearer` Header gesendet. Verwenden Sie dies, wenn Sie durch ein [LLM-Gateway oder einen Proxy](/docs/de/llm-gateway) leiten, das sich mit Bearer-Tokens anstelle von Anthropic API-Schlüsseln authentifiziert.2602. `ANTHROPIC_AUTH_TOKEN` Umgebungsvariable. Wird als `Authorization: Bearer` Header gesendet. Verwenden Sie dies, wenn Sie durch ein [LLM-Gateway oder einen Proxy](/docs/de/llm-gateway) leiten, das sich mit Bearer-Tokens anstelle von Anthropic API-Schlüsseln authentifiziert.

2613. `ANTHROPIC_API_KEY` Umgebungsvariable. Wird als `X-Api-Key` Header gesendet. Verwenden Sie dies für direkten Anthropic API-Zugriff mit einem Schlüssel aus der [Claude Console](https://platform.claude.com). Im interaktiven Modus werden Sie einmal aufgefordert, den Schlüssel zu genehmigen oder abzulehnen, und Ihre Wahl wird gespeichert. Um dies später zu ändern, verwenden Sie den Umschalter „Use custom API key" in `/config`. Der Umschalter wird nur angezeigt, während `ANTHROPIC_API_KEY` in Ihrer Umgebung gesetzt ist. Im nicht-interaktiven Modus (`-p`) wird der Schlüssel immer verwendet, wenn er vorhanden ist.2613. `ANTHROPIC_API_KEY` Umgebungsvariable. Wird als `X-Api-Key` Header gesendet. Verwenden Sie dies für direkten Anthropic API-Zugriff mit einem Schlüssel aus der [Claude Console](https://platform.claude.com). Im interaktiven Modus werden Sie einmal aufgefordert, den Schlüssel zu genehmigen oder abzulehnen, und Ihre Wahl wird gespeichert. Um dies später zu ändern, verwenden Sie den Umschalter „Use custom API key“ in `/config`. Der Umschalter wird nur angezeigt, während `ANTHROPIC_API_KEY` in Ihrer Umgebung gesetzt ist. Im nicht-interaktiven Modus (`-p`) wird der Schlüssel immer verwendet, wenn er vorhanden ist.

2624. [`apiKeyHelper`](/docs/de/settings-reference#apikeyhelper) Skriptausgabe. Verwenden Sie dies für dynamische oder rotierende Anmeldedaten, wie kurzlebige Tokens, die aus einem Vault abgerufen werden.2624. [`apiKeyHelper`](/docs/de/settings-reference#apikeyhelper) Skriptausgabe. Verwenden Sie dies für dynamische oder rotierende Anmeldedaten, wie kurzlebige Tokens, die aus einem Vault abgerufen werden.

2635. `CLAUDE_CODE_OAUTH_TOKEN` Umgebungsvariable. Ein langlebiges OAuth-Token, das von [`claude setup-token`](#generate-a-long-lived-token) generiert wird. Verwenden Sie dies für CI-Pipelines und Skripte, bei denen Browser-Anmeldung nicht verfügbar ist. Wenn Sie `/login` ausführen, während die Variable gesetzt ist, wechselt Claude Code die aktuelle Sitzung zur neuen Anmeldung, liest die Variable aber in jeder neuen Sitzung erneut, bis Sie sie aus Ihrem Shell-Profil oder dem `env` Block einer [Einstellungsdatei](/docs/de/settings) entfernen.2635. `CLAUDE_CODE_OAUTH_TOKEN` Umgebungsvariable. Ein langlebiges OAuth-Token, das von [`claude setup-token`](#generate-a-long-lived-token) generiert wird. Verwenden Sie dies für CI-Pipelines und Skripte, bei denen Browser-Anmeldung nicht verfügbar ist. Wenn Sie `/login` ausführen, während die Variable gesetzt ist, wechselt Claude Code die aktuelle Sitzung zur neuen Anmeldung, liest die Variable aber in jeder neuen Sitzung erneut, bis Sie sie aus Ihrem Shell-Profil oder dem `env` Block einer [Einstellungsdatei](/docs/de/settings) entfernen.

2646. Anthropic-Profil und Verbundsanmeldedaten, die Anmeldedaten, die die `ant` CLI und Workload Identity Federation verwenden. Ein Profil, das `ant auth login` geschrieben hat, wird hier nur eingestuft, wenn Sie es in `ANTHROPIC_PROFILE` benennen; andernfalls wird es unter `/login` eingestuft. Siehe [Anthropic-Profile und Verbundsanmeldedaten](#anthropic-profiles-and-federation-credentials).2646. Anthropic-Profil und Verbundsanmeldedaten, die Anmeldedaten, die die `ant` CLI und Workload Identity Federation verwenden. Ein Profil, das `ant auth login` geschrieben hat, wird hier nur eingestuft, wenn Sie es in `ANTHROPIC_PROFILE` benennen; andernfalls wird es unter `/login` eingestuft. Siehe [Anthropic-Profile und Verbundsanmeldedaten](#anthropic-profiles-and-federation-credentials).

Details

9[Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) ermöglicht es Claude Code, ohne routinemäßige Berechtigungsaufforderungen zu laufen, indem Werkzeugaufrufe durch einen Klassifizierer geleitet werden, der alles blockiert, das irreversibel, destruktiv oder außerhalb Ihrer Umgebung ausgerichtet ist. Deny- und explizite Ask-Regeln werden vor dem Klassifizierer ausgewertet und blockieren oder fordern weiterhin auf. Verwenden Sie den `autoMode`-Einstellungsblock, um diesem Klassifizierer mitzuteilen, welche Repos, Buckets und Domains Ihre Organisation vertraut, damit er routinemäßige interne Operationen nicht mehr blockiert.9[Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) ermöglicht es Claude Code, ohne routinemäßige Berechtigungsaufforderungen zu laufen, indem Werkzeugaufrufe durch einen Klassifizierer geleitet werden, der alles blockiert, das irreversibel, destruktiv oder außerhalb Ihrer Umgebung ausgerichtet ist. Deny- und explizite Ask-Regeln werden vor dem Klassifizierer ausgewertet und blockieren oder fordern weiterhin auf. Verwenden Sie den `autoMode`-Einstellungsblock, um diesem Klassifizierer mitzuteilen, welche Repos, Buckets und Domains Ihre Organisation vertraut, damit er routinemäßige interne Operationen nicht mehr blockiert.

10 10 

11<Note>11<Note>

12 Diese Seite ist die Konfigurationsreferenz. Das Aktivieren und Deaktivieren des Auto-Modus wird auf der Seite „Berechtigungsmodi" behandelt:12 Diese Seite ist die Konfigurationsreferenz. Das Aktivieren und Deaktivieren des Auto-Modus wird auf der Seite „Berechtigungsmodi“ behandelt:

13 13 

14 * **Wechseln Sie während einer Sitzung zum Auto-Modus oder kehren Sie aus ihm zurück**: siehe [Berechtigungsmodi wechseln](/docs/de/permission-modes#switch-permission-modes)14 * **Wechseln Sie während einer Sitzung zum Auto-Modus oder kehren Sie aus ihm zurück**: siehe [Berechtigungsmodi wechseln](/docs/de/permission-modes#switch-permission-modes)

15 * **Starten Sie eine Sitzung im Auto-Modus**: siehe [In einem anderen Berechtigungsmodus starten](/docs/de/permission-modes#start-in-a-different-mode)15 * **Starten Sie eine Sitzung im Auto-Modus**: siehe [In einem anderen Berechtigungsmodus starten](/docs/de/permission-modes#start-in-a-different-mode)


59| :- | :- | :- |59| :- | :- | :- |

60| Aufforderung vor der Aktion | `permissions.ask` | Fordert immer für einen Befehl auf, der einer inhaltsgebundenen Regel wie dem obigen Rezept entspricht. Der Klassifizierer kann eine übereinstimmende Aktion nicht automatisch genehmigen. |60| Aufforderung vor der Aktion | `permissions.ask` | Fordert immer für einen Befehl auf, der einer inhaltsgebundenen Regel wie dem obigen Rezept entspricht. Der Klassifizierer kann eine übereinstimmende Aktion nicht automatisch genehmigen. |

61| Aktion niemals ausführen | `permissions.deny` | Blockiert, bevor der Klassifizierer konsultiert wird. Weder der Klassifizierer noch die Benutzerabsicht können dies überschreiben. |61| Aktion niemals ausführen | `permissions.deny` | Blockiert, bevor der Klassifizierer konsultiert wird. Weder der Klassifizierer noch die Benutzerabsicht können dies überschreiben. |

62| Einmalige Grenze für diese Sitzung | Geben Sie es im Gespräch an, z. B. „nicht pushen, bis ich überprüft habe" | Der Klassifizierer blockiert übereinstimmende Aktionen, aber die Grenze kann verloren gehen, wenn die [Kontext-Komprimierung](/docs/de/costs#reduce-token-usage) die Nachricht entfernt, die sie angegeben hat. Verwenden Sie eine Ask- oder Deny-Regel für eine dauerhafte Garantie. |62| Einmalige Grenze für diese Sitzung | Geben Sie es im Gespräch an, z. B. „nicht pushen, bis ich überprüft habe“ | Der Klassifizierer blockiert übereinstimmende Aktionen, aber die Grenze kann verloren gehen, wenn die [Kontext-Komprimierung](/docs/de/costs#reduce-token-usage) die Nachricht entfernt, die sie angegeben hat. Verwenden Sie eine Ask- oder Deny-Regel für eine dauerhafte Garantie. |

63 63 

64<h2 id="where-the-classifier-reads-configuration">64<h2 id="where-the-classifier-reads-configuration">

65 Wo der Klassifizierer die Konfiguration liest65 Wo der Klassifizierer die Konfiguration liest

66</h2>66</h2>

67 67 

68Der Klassifizierer liest denselben [CLAUDE.md](/docs/de/memory)-Inhalt, den Claude selbst lädt, sodass eine Anweisung wie „niemals force push" in der CLAUDE.md deines Projekts sowohl Claude als auch den Klassifizierer gleichzeitig steuert. Beginne dort mit Projektkonventionen und Verhaltensregeln.68Der Klassifizierer liest denselben [CLAUDE.md](/docs/de/memory)-Inhalt, den Claude selbst lädt, sodass eine Anweisung wie „niemals force push“ in der CLAUDE.md deines Projekts sowohl Claude als auch den Klassifizierer gleichzeitig steuert. Beginne dort mit Projektkonventionen und Verhaltensregeln.

69 69 

70Für Regeln, die projektübergreifend gelten, wie vertrauenswürdige Infrastruktur oder organisationsweite Ablehnungsregeln, verwende den `autoMode`-Einstellungsblock. Der Klassifizierer liest `autoMode` aus den folgenden Bereichen:70Für Regeln, die projektübergreifend gelten, wie vertrauenswürdige Infrastruktur oder organisationsweite Ablehnungsregeln, verwende den `autoMode`-Einstellungsblock. Der Klassifizierer liest `autoMode` aus den folgenden Bereichen:

71 71 


87 Vertrauenswürdige Infrastruktur definieren87 Vertrauenswürdige Infrastruktur definieren

88</h2>88</h2>

89 89 

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

91 91 

92`claude auto-mode defaults` gibt drei Arten von Umgebungseinträgen aus.92`claude auto-mode defaults` gibt drei Arten von Umgebungseinträgen aus.

93 93 


204 `/auto-mode-setup` ausschalten204 `/auto-mode-setup` ausschalten

205</h3>205</h3>

206 206 

207Sobald der Auto-Modus mehrere Aktionen blockiert hat und Sie immer noch keine `autoMode.environment`-Einträge haben, zeigt Claude Code am Ende einer Runde ein Dialogfeld mit dem Titel „Auto-Modus über Ihre Umgebung unterrichten?" an und bietet an, `/auto-mode-setup` für Sie auszuführen. Um das Angebot zu stoppen, aber den Befehl zu behalten, wählen Sie **Nicht mehr anzeigen** in diesem Dialogfeld.207Sobald der Auto-Modus mehrere Aktionen blockiert hat und Sie immer noch keine `autoMode.environment`-Einträge haben, zeigt Claude Code am Ende einer Runde ein Dialogfeld mit dem Titel „Auto-Modus über Ihre Umgebung unterrichten?“ an und bietet an, `/auto-mode-setup` für Sie auszuführen. Um das Angebot zu stoppen, aber den Befehl zu behalten, wählen Sie **Nicht mehr anzeigen** in diesem Dialogfeld.

208 208 

209Um sowohl den Befehl als auch das Angebot auszuschalten, fügen Sie diesen [`skillOverrides`](/docs/de/skills#override-skill-visibility-from-settings)-Eintrag zu `~/.claude/settings.json` hinzu:209Um sowohl den Befehl als auch das Angebot auszuschalten, fügen Sie diesen [`skillOverrides`](/docs/de/skills#override-skill-visibility-from-settings)-Eintrag zu `~/.claude/settings.json` hinzu:

210 210 


237* `allow`-Regeln überschreiben dann übereinstimmende `soft_deny`-Regeln als Ausnahmen.237* `allow`-Regeln überschreiben dann übereinstimmende `soft_deny`-Regeln als Ausnahmen.

238* Explizite Benutzerabsicht überschreibt die verbleibenden weichen Blöcke: Wenn die Nachricht des Benutzers direkt und spezifisch die genaue Aktion beschreibt, die Claude ausführen wird, erlaubt der Klassifizierer es, auch wenn eine `soft_deny`-Regel zutrifft.238* Explizite Benutzerabsicht überschreibt die verbleibenden weichen Blöcke: Wenn die Nachricht des Benutzers direkt und spezifisch die genaue Aktion beschreibt, die Claude ausführen wird, erlaubt der Klassifizierer es, auch wenn eine `soft_deny`-Regel zutrifft.

239 239 

240Allgemeine Anfragen zählen nicht als explizite Absicht. Claude zu bitten, das Repo „aufzuräumen", autorisiert keinen Force-Push, aber Claude zu bitten, „diesen Branch zu force-pushen", tut es.240Allgemeine Anfragen zählen nicht als explizite Absicht. Claude zu bitten, das Repo „aufzuräumen“, autorisiert keinen Force-Push, aber Claude zu bitten, „diesen Branch zu force-pushen“, tut es.

241 241 

242Um zu lockern, fügen Sie zu `allow` hinzu, wenn der Klassifizierer wiederholt ein routinemäßiges Muster kennzeichnet, das die Standard-Ausnahmen nicht abdecken. Um zu straffen, fügen Sie zu `soft_deny` für destruktive Risiken hinzu, die spezifisch für Ihre Umgebung sind und die Standardwerte übersehen, oder zu `hard_deny` für Sicherheitsgrenzen, die niemals überschritten werden dürfen.242Um zu lockern, fügen Sie zu `allow` hinzu, wenn der Klassifizierer wiederholt ein routinemäßiges Muster kennzeichnet, das die Standard-Ausnahmen nicht abdecken. Um zu straffen, fügen Sie zu `soft_deny` für destruktive Risiken hinzu, die spezifisch für Ihre Umgebung sind und die Standardwerte übersehen, oder zu `hard_deny` für Sicherheitsgrenzen, die niemals überschritten werden dürfen.

243 243 


351}351}

352```352```

353 353 

354Erhalten Sie KI-Feedback zu Ihren benutzerdefinierten Regeln `allow`, `soft_deny` und `hard_deny`:354Erhalten Sie KI-Feedback zu Ihren benutzerdefinierten Einträgen für `allow`, `soft_deny`, `hard_deny` und `environment`:

355 355 

356```bash theme={null}356```bash theme={null}

357claude auto-mode critique357claude auto-mode critique

chrome.md +1 −1

Details

343 343 

344| Fehler | Ursache | Behebung |344| Fehler | Ursache | Behebung |

345| - | - | - |345| - | - | - |

346| „Browser-Erweiterung ist nicht verbunden“ | Der native Messaging-Host kann die Erweiterung nicht erreichen, oder die IP-Allowlist Ihrer Organisation lehnt die Verbindung zu `bridge.claudeusercontent.com` ab | Starten Sie Chrome und Claude Code neu und führen Sie dann `/chrome` aus, um die Verbindung wiederherzustellen. Wenn Ihre Organisation IP-Allowlisting verwendet und der Fehler weiterhin besteht, siehe [Organization IP allowlists and proxy egress](/docs/de/network-config#organization-ip-allowlists-and-proxy-egress) |346| „Browser-Erweiterung ist nicht verbunden“ | Der native Messaging-Host kann die Erweiterung nicht erreichen, oder die IP-Allowlist Ihrer Organisation lehnt die Verbindung zu `bridge.claudeusercontent.com` ab | Überprüfen Sie, ob die Erweiterung beim selben claude.ai-Konto angemeldet ist wie Claude Code, starten Sie Chrome und Claude Code neu und führen Sie dann `/chrome` aus, um die Verbindung wiederherzustellen. Wenn Ihre Organisation IP-Allowlisting verwendet und der Fehler weiterhin besteht, siehe [Organization IP allowlists and proxy egress](/docs/de/network-config#organization-ip-allowlists-and-proxy-egress) |

347| Erweiterung zeigt „Nicht erkannt“ in `/chrome` | Chrome-Erweiterung ist nicht installiert oder deaktiviert | Installieren oder aktivieren Sie die Erweiterung in `chrome://extensions` |347| Erweiterung zeigt „Nicht erkannt“ in `/chrome` | Chrome-Erweiterung ist nicht installiert oder deaktiviert | Installieren oder aktivieren Sie die Erweiterung in `chrome://extensions` |

348| „Keine Registerkarte verfügbar“ | Claude versuchte zu handeln, bevor eine Registerkarte bereit war | Bitten Sie Claude, eine neue Registerkarte zu erstellen und es erneut zu versuchen |348| „Keine Registerkarte verfügbar“ | Claude versuchte zu handeln, bevor eine Registerkarte bereit war | Bitten Sie Claude, eine neue Registerkarte zu erstellen und es erneut zu versuchen |

349| „Empfänger existiert nicht“ | Der Service Worker der Erweiterung ist in den Leerlauf gegangen | Führen Sie `/chrome` aus und wählen Sie „Erweiterung erneut verbinden“ |349| „Empfänger existiert nicht“ | Der Service Worker der Erweiterung ist in den Leerlauf gegangen | Führen Sie `/chrome` aus und wählen Sie „Erweiterung erneut verbinden“ |

Details

75| - | - |75| - | - |

76| Claude Code v2.1.195 oder später | Der `claude gateway`-Unterbefehl und der Gateway-Anmeldungsfluss werden in v2.1.195 ausgeliefert. Frühere öffentliche Builds enthalten sie nicht. Sowohl die Maschine, auf der der Gateway-Server läuft, als auch die Maschine jedes Entwicklers müssen v2.1.195 oder später sein; führen Sie `claude update` aus, um die neueste Version zu erhalten. Die [Claude Platform auf AWS Upstream](/docs/de/claude-apps-gateway-config#claude-platform-on-aws) erfordert Claude Code v2.1.198 oder später auf dem Gateway-Server. |76| Claude Code v2.1.195 oder später | Der `claude gateway`-Unterbefehl und der Gateway-Anmeldungsfluss werden in v2.1.195 ausgeliefert. Frühere öffentliche Builds enthalten sie nicht. Sowohl die Maschine, auf der der Gateway-Server läuft, als auch die Maschine jedes Entwicklers müssen v2.1.195 oder später sein; führen Sie `claude update` aus, um die neueste Version zu erhalten. Die [Claude Platform auf AWS Upstream](/docs/de/claude-apps-gateway-config#claude-platform-on-aws) erfordert Claude Code v2.1.198 oder später auf dem Gateway-Server. |

77| OpenID Connect (OIDC)-Identitätsanbieter | Okta, Microsoft Entra ID, Google Workspace, Keycloak oder Dex, oder ein anderer OIDC-konformer IdP wie PingFederate. Das Gateway führt Standard-OIDC-Erkennung und den Authorization-Code-Flow dagegen aus. SAML und LDAP werden nicht unterstützt. |77| OpenID Connect (OIDC)-Identitätsanbieter | Okta, Microsoft Entra ID, Google Workspace, Keycloak oder Dex, oder ein anderer OIDC-konformer IdP wie PingFederate. Das Gateway führt Standard-OIDC-Erkennung und den Authorization-Code-Flow dagegen aus. SAML und LDAP werden nicht unterstützt. |

78| PostgreSQL 14 oder später | Unterstützt den Geräte-Anmeldungsfluss, bei dem der Browser-Callback schreibt und die Polling-CLI liest, sowie Rate-Limit-Zähler. Jedes verwaltete Postgres funktioniert, einschließlich der kleinsten Stufe. Ohne konfigurierte Ausgabenlimits speichert das Gateway einige KB kurzlebigen Auth-Status; mit [Ausgabenlimits](/docs/de/claude-apps-gateway-spend-limits) enthält es auch dauerhafte Ausgaben-, Audit- und Identitätstabellen, die gesichert werden sollten. TLS über `?sslmode=require` wird empfohlen. |78| PostgreSQL 11 oder später | Unterstützt den Geräte-Anmeldungsfluss und Rate-Limit-Zähler. Ein verwalteter PostgreSQL-Dienst funktioniert, einschließlich der kleinsten Stufe; siehe [welche Datenbanken unterstützt werden](/docs/de/claude-apps-gateway-deploy#postgres). Mit [Ausgabenlimits](/docs/de/claude-apps-gateway-spend-limits) enthält es auch dauerhafte Ausgaben-, Audit- und Identitätstabellen, die gesichert werden sollten. TLS über `?sslmode=require` wird empfohlen. PostgreSQL 11, 12 und 13 erfordern Claude Code v2.1.290 oder später auf dem Gateway-Server. Das PostgreSQL-Projekt pflegt diese Versionen nicht mehr, verwenden Sie daher nach Möglichkeit eine neuere. |

79| Modell-Upstream | Amazon-Bedrock-Anmeldedaten, Claude Platform auf AWS Anmeldedaten, Google-Cloud-Anmeldedaten, eine Microsoft-Foundry-Ressource oder einen Anthropic-API-Schlüssel. Mehrere Upstreams werden mit Failover unterstützt. |79| Modell-Upstream | Amazon-Bedrock-Anmeldedaten, Claude Platform auf AWS Anmeldedaten, Google-Cloud-Anmeldedaten, eine Microsoft-Foundry-Ressource oder einen Anthropic-API-Schlüssel. Mehrere Upstreams werden mit Failover unterstützt. |

80| HTTPS | Das Gateway muss über `https://` von Entwickler-Laptops und von jedem Browser, der für die Anmeldung verwendet wird, erreichbar sein; das Gateway bedient die Geräteüberprüfungsseite auf dem gleichen Listener. Stellen Sie entweder ein TLS-Zertifikat über `listen.tls` bereit, oder führen Sie hinter einem TLS-terminierenden Ingress aus und setzen Sie `listen.public_url` auf den externen Ursprung in beiden Fällen. Bei `/login` akzeptiert Claude Code einen einfachen `http://`-Ursprung nur, wenn der Gateway-Host Loopback ist: `localhost`, `127.0.0.1` oder `::1`. |80| HTTPS | Das Gateway muss über `https://` von Entwickler-Laptops und von jedem Browser, der für die Anmeldung verwendet wird, erreichbar sein; das Gateway bedient die Geräteüberprüfungsseite auf dem gleichen Listener. Stellen Sie entweder ein TLS-Zertifikat über `listen.tls` bereit, oder führen Sie hinter einem TLS-terminierenden Ingress aus und setzen Sie `listen.public_url` auf den externen Ursprung in beiden Fällen. Bei `/login` akzeptiert Claude Code einen einfachen `http://`-Ursprung nur, wenn der Gateway-Host Loopback ist: `localhost`, `127.0.0.1` oder `::1`. |

81| Private-Netzwerk-Adresse | Bei `/login` erfordert Claude Code, dass der Hostname oder die IP-Adresse des Gateways nur zu privaten Adressen aufgelöst wird: RFC 1918, Link-lokal, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7` oder Loopback. Für ein von Ihnen gehostetes Gateway wird jede öffentliche Adresse außerhalb eines Blocks, den Sie deklarieren, abgelehnt; siehe das [Bedrohungsmodell](/docs/de/claude-apps-gateway-deploy#threat-model-summary) im Bereitstellungsleitfaden. Wenn Entwicklermaschinen HTTPS über einen Unternehmens-Proxy leiten, erfordert die Anmeldung auch, dass der Proxy-Host zu privaten Adressen aufgelöst wird; wenn nicht, fügen Sie den Gateway-Host zu `NO_PROXY` hinzu, damit die CLI direkt verbunden wird. Wenn Ihr internes Netzwerk aus öffentlichem IPv4-Adressraum nummeriert ist, den Ihre Organisation besitzt, [deklarieren Sie diese Blöcke](#allow-a-gateway-on-public-address-space-you-own), damit `/login` ein Gateway dort akzeptiert. |81| Private-Netzwerk-Adresse | Bei `/login` erfordert Claude Code, dass der Hostname oder die IP-Adresse des Gateways nur zu privaten Adressen aufgelöst wird: RFC 1918, Link-lokal, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7` oder Loopback. Für ein von Ihnen gehostetes Gateway wird jede öffentliche Adresse außerhalb eines Blocks, den Sie deklarieren, abgelehnt; siehe das [Bedrohungsmodell](/docs/de/claude-apps-gateway-deploy#threat-model-summary) im Bereitstellungsleitfaden. Wenn Entwicklermaschinen HTTPS über einen Unternehmens-Proxy leiten, erfordert die Anmeldung auch, dass der Proxy-Host zu privaten Adressen aufgelöst wird; wenn nicht, fügen Sie den Gateway-Host zu `NO_PROXY` hinzu, damit die CLI direkt verbunden wird. Wenn Ihr internes Netzwerk aus öffentlichem IPv4-Adressraum nummeriert ist, den Ihre Organisation besitzt, [deklarieren Sie diese Blöcke](#allow-a-gateway-on-public-address-space-you-own), damit `/login` ein Gateway dort akzeptiert. |


91 </Step>91 </Step>

92 92 

93 <Step title="Stellen Sie eine PostgreSQL-Datenbank bereit">93 <Step title="Stellen Sie eine PostgreSQL-Datenbank bereit">

94 Jedes Postgres 14 oder später funktioniert, einschließlich der kleinsten verwalteten Stufe. Das Gateway führt seine eigenen Schema-Migrationen beim Start aus, daher benötigt die Datenbankrolle Rechte zum Erstellen und Ändern von Tabellen; siehe [`store`](/docs/de/claude-apps-gateway-config#store).94 Verwenden Sie PostgreSQL 11 oder später. Die kleinste verwaltete Stufe reicht aus. Das Gateway führt seine eigenen Schema-Migrationen beim Start aus, daher benötigt die Datenbankrolle Rechte zum Erstellen und Ändern von Tabellen; siehe [`store`](/docs/de/claude-apps-gateway-config#store).

95 </Step>95 </Step>

96 96 

97 <Step title="Schreiben Sie gateway.yaml">97 <Step title="Schreiben Sie gateway.yaml">


132 auto_include_builtin_models: true132 auto_include_builtin_models: true

133 ```133 ```

134 134 

135 Diese Konfiguration reicht für eine funktionierende Anmeldeschleife mit dem Standard-Bedrock-Modellkatalog aus. Sobald es läuft, fügen Sie Pro-Gruppen-RBAC und verwaltete Einstellungen über [`managed.policies`](/docs/de/claude-apps-gateway-config#managed) hinzu, Telemetrie-Verteilung über [`telemetry`](/docs/de/claude-apps-gateway-config#telemetry) und Multi-Upstream-Failover, bereitgestellte Durchsatz-ARNs oder Nicht-US-Regionen über [`models`](/docs/de/claude-apps-gateway-config#models).135 Diese Konfiguration reicht für eine funktionierende Anmeldeschleife mit dem Standard-Modellkatalog von Amazon Bedrock aus. Sobald es läuft, fügen Sie Pro-Gruppen-RBAC und verwaltete Einstellungen über [`managed.policies`](/docs/de/claude-apps-gateway-config#managed) hinzu, Telemetrie-Verteilung über [`telemetry`](/docs/de/claude-apps-gateway-config#telemetry) und Multi-Upstream-Failover, bereitgestellte Durchsatz-ARNs oder Nicht-US-Regionen über [`models`](/docs/de/claude-apps-gateway-config#models).

136 136 

137 <Note>137 <Note>

138 Der Amazon-Bedrock-Upstream benötigt einen AWS-Principal mit `bedrock:InvokeModel` und `bedrock:InvokeModelWithResponseStream` auf beiden `inference-profile/us.anthropic.*`-ARNs und den zugrunde liegenden `foundation-model/anthropic.*`-ARNs. Er benötigt auch Anthropics einmalige Anwendungsform, die für das Konto aus der Bedrock-Konsole des Modellkatalogs eingereicht werden muss. Stellen Sie die Anmeldedaten mit IRSA auf EKS, einer ECS-Task-Rolle oder einem EC2-Instance-Profil bereit, anstatt statische Schlüssel zu verwenden. Die [`upstreams`-Referenz](/docs/de/claude-apps-gateway-config#upstreams) hat die vollständigen IAM-Details, die Cloud-übergreifende Anmeldedaten-Matrix und die `auth`-Blöcke für die anderen Anbieter.138 Der Amazon-Bedrock-Upstream benötigt einen AWS-Principal mit `bedrock:InvokeModel` und `bedrock:InvokeModelWithResponseStream` auf beiden `inference-profile/us.anthropic.*`-ARNs und den zugrunde liegenden `foundation-model/anthropic.*`-ARNs. Er benötigt auch Anthropics einmaliges Anwendungsfall-Formular, das für das Konto über den Modellkatalog der Bedrock-Konsole eingereicht werden muss.

139 

140 Stellen Sie die Anmeldedaten mit IRSA auf EKS, einer ECS-Task-Rolle oder einem EC2-Instance-Profil bereit, anstatt statische Schlüssel zu verwenden. Die [`upstreams`-Referenz](/docs/de/claude-apps-gateway-config#upstreams) hat die vollständigen IAM-Details, die Cloud-übergreifende Anmeldedaten-Matrix und die `auth`-Blöcke für die anderen Anbieter.

139 </Note>141 </Note>

140 </Step>142 </Step>

141 143 


170 volumes: { pgdata: }172 volumes: { pgdata: }

171 ```173 ```

172 174 

173 Das Gateway ist eine einzelne Linux-Binärdatei, die die Konfiguration liest, sich mit Postgres verbindet und seine Schema-Migrationen anwendet, OIDC-Erkennung gegen Ihren IdP ausführt, Upstream-Clients erstellt und mit dem Abhören beginnt. Der Start ist fail-closed für die Konfiguration, die Postgres-Verbindung, OIDC-Erkennung und Upstream-Client-Konstruktion. Wenn einer dieser Punkte unerreichbar oder falsch konfiguriert ist, beendet sich das Gateway mit einem Fehler, anstatt Datenverkehr in einem degradierten Zustand zu bedienen.175 Das Gateway ist eine einzelne Linux-Binärdatei, die die Konfiguration liest, sich mit Postgres verbindet und seine Schema-Migrationen anwendet, OIDC-Erkennung gegen Ihren IdP ausführt, Upstream-Clients erstellt und mit dem Abhören beginnt.

176 

177 Der Start ist fail-closed für die Konfiguration, die Postgres-Verbindung, OIDC-Erkennung und Upstream-Client-Konstruktion. Wenn einer dieser Punkte unerreichbar oder falsch konfiguriert ist, beendet sich das Gateway mit einem Fehler, anstatt Datenverkehr in einem degradierten Zustand zu bedienen.

174 178 

175 Ein erfolgreicher Start validiert nicht den Inferenzpfad, da Amazon Bedrock und Google Clouds Agent Platform Instance-Anmeldedaten bei der ersten Anfrage aufgelöst werden, nicht beim Start.179 Ein erfolgreicher Start validiert nicht den Inferenzpfad, da Amazon Bedrock und Google Clouds Agent Platform Instance-Anmeldedaten bei der ersten Anfrage aufgelöst werden, nicht beim Start.

176 180 


247 * **Erste Überprüfung schlägt fehl**: Der Start wurde nicht abgeschlossen; überprüfen Sie stderr251 * **Erste Überprüfung schlägt fehl**: Der Start wurde nicht abgeschlossen; überprüfen Sie stderr

248 * **Zweite Überprüfung schlägt fehl**: Postgres ist vom Gateway nicht erreichbar oder die Rolle kann nicht schreiben; überprüfen Sie die Verbindungszeichenfolge und Berechtigungen252 * **Zweite Überprüfung schlägt fehl**: Postgres ist vom Gateway nicht erreichbar oder die Rolle kann nicht schreiben; überprüfen Sie die Verbindungszeichenfolge und Berechtigungen

249 * **Dritte Überprüfung erreicht den IdP nicht**: Überprüfen Sie, dass der Redirect-URI des IdP genau `https://<gateway>/oauth/callback` entspricht253 * **Dritte Überprüfung erreicht den IdP nicht**: Überprüfen Sie, dass der Redirect-URI des IdP genau `https://<gateway>/oauth/callback` entspricht

250 * **Dritte Überprüfung erreicht den IdP, springt aber mit einem Fehler zurück**: Lesen Sie das Audit-Protokoll des Gateways, das jede Auth-Ablehnung mit dem Grund aufzeichnet, z. B. `email domain not allowed`254 * **Dritte Überprüfung erreicht den IdP, springt aber mit einem Fehler zurück**: Lesen Sie das Audit-Log des Gateways, das jede Auth-Ablehnung mit dem Grund aufzeichnet, z. B. `email domain not allowed`

251 </Step>255 </Step>

252 256 

253 <Step title="Melden Sie einen Entwickler an">257 <Step title="Melden Sie einen Entwickler an">


295 299 

296Der Entwickler drückt Enter, um sich zu verbinden. Die [Fingerabdruck-Abfrage beim ersten Verbinden](#connect-developers) wird immer noch angezeigt. Sobald die Datei auf einer Maschine vorhanden ist, sieht ein Entwickler, der die Gateway-Anmeldung nicht abgeschlossen hat, eine der unter [Administratorrichtlinie erfordert eine Cloud-Gateway-Anmeldung](/docs/de/errors#administrator-policy-requires-a-cloud-gateway-sign-in) beschriebenen Meldungen. Entwickler, die einen Cloud-Anbieter über eine Umgebungsvariable wie `CLAUDE_CODE_USE_BEDROCK` auswählen, benötigen die Gateway-Anmeldung nicht.300Der Entwickler drückt Enter, um sich zu verbinden. Die [Fingerabdruck-Abfrage beim ersten Verbinden](#connect-developers) wird immer noch angezeigt. Sobald die Datei auf einer Maschine vorhanden ist, sieht ein Entwickler, der die Gateway-Anmeldung nicht abgeschlossen hat, eine der unter [Administratorrichtlinie erfordert eine Cloud-Gateway-Anmeldung](/docs/de/errors#administrator-policy-requires-a-cloud-gateway-sign-in) beschriebenen Meldungen. Entwickler, die einen Cloud-Anbieter über eine Umgebungsvariable wie `CLAUDE_CODE_USE_BEDROCK` auswählen, benötigen die Gateway-Anmeldung nicht.

297 301 

298Ein Entwickler kann dies nicht manuell einrichten. Die Anmeldungsauswahl hat keine Gateway-Option, und `forceLoginGatewayUrl` wird in den eigenen Einstellungsdateien eines Entwicklers ignoriert. `forceLoginMethod` allein, ohne URL, lässt den Entwickler bei einer „Kontaktieren Sie Ihren IT-Administrator"-Nachricht. Die Anmeldeschlüssel gehören in die Datei, die Sie auf Maschinen pushen, nicht in den `managed.policies[].cli`-Block des Gateways, der nur bereits verbundene Clients erreicht.302Ein Entwickler kann dies nicht manuell einrichten. Die Anmeldungsauswahl hat keine Gateway-Option, und `forceLoginGatewayUrl` wird in den eigenen Einstellungsdateien eines Entwicklers ignoriert. `forceLoginMethod` allein, ohne URL, lässt den Entwickler bei einer „Kontaktieren Sie Ihren IT-Administrator“-Nachricht. Die Anmeldeschlüssel gehören in die Datei, die Sie auf Maschinen pushen, nicht in den `managed.policies[].cli`-Block des Gateways, der nur bereits verbundene Clients erreicht.

299 303 

300<h3 id="allow-a-gateway-on-public-address-space-you-own">304<h3 id="allow-a-gateway-on-public-address-space-you-own">

301 Ein Gateway auf öffentlichem Adressraum zulassen, den Sie besitzen305 Ein Gateway auf öffentlichem Adressraum zulassen, den Sie besitzen


460* **`blockedMarketplaces`**: eine übergeordnete Marketplace-Blockliste passiert und ergänzt jede Blockliste, die eine verwaltete Quelle setzt, da eine Blockliste nur weiter einschränken kann. Erfordert Claude Code v2.1.282 oder später.464* **`blockedMarketplaces`**: eine übergeordnete Marketplace-Blockliste passiert und ergänzt jede Blockliste, die eine verwaltete Quelle setzt, da eine Blockliste nur weiter einschränken kann. Erfordert Claude Code v2.1.282 oder später.

461* **`strictPluginOnlyCustomization`**: dieser Schlüssel passiert den Filter unabhängig von jeder Sperre, und er lässt Claude Code die eigene Anpassung des Entwicklers ignorieren, einschließlich schützender Hooks. Keine Sperre blockiert ihn.465* **`strictPluginOnlyCustomization`**: dieser Schlüssel passiert den Filter unabhängig von jeder Sperre, und er lässt Claude Code die eigene Anpassung des Entwicklers ignorieren, einschließlich schützender Hooks. Keine Sperre blockiert ihn.

462 466 

463Unter der Standardeinstellung „first wins" blockiert ein Admin-Wert den übergeordneten nur, wenn er sich in der Admin-Quelle mit der höchsten Priorität befindet, außer bei `allowedMcpServers`, solange die [MCP-Server-Sperre](#lock-behavior-across-sources) aktiv ist. Unter dem Merge-Opt-in `managedSourcesBehavior` legt [wie Claude Code verwaltete Quellen kombiniert](/docs/de/managed-settings#how-claude-code-combines-managed-sources) fest, welcher Quellenwert stattdessen gilt.467Unter der Standardeinstellung „first wins“ blockiert ein Admin-Wert den übergeordneten nur, wenn er sich in der Admin-Quelle mit der höchsten Priorität befindet, außer bei `allowedMcpServers`, solange die [MCP-Server-Sperre](#lock-behavior-across-sources) aktiv ist. Unter dem Merge-Opt-in `managedSourcesBehavior` legt [wie Claude Code verwaltete Quellen kombiniert](/docs/de/managed-settings#how-claude-code-combines-managed-sources) fest, welcher Quellenwert stattdessen gilt.

464 468 

465<h3 id="connect-claude-desktop">469<h3 id="connect-claude-desktop">

466 Claude Desktop verbinden470 Claude Desktop verbinden

Details

91| `extra_auth_params` | Nein | Zusätzliche Abfrageparameter, die wörtlich an die IdP-Autorisierungsanfrage angehängt werden. Dies ist der Überschreibungsmechanismus für IdP-spezifisches Verhalten, wie `access_type: offline` für Google-Aktualisierungstoken, `domain_hint` für einige Entra-Mandanten oder `acr_values` für Step-up-Flows. Kann die vom Gateway verwalteten Protokollparameter nicht überschreiben: `state`, `nonce`, `redirect_uri`, PKCE, `scope`, `response_type`, `response_mode` und `client_id`. |91| `extra_auth_params` | Nein | Zusätzliche Abfrageparameter, die wörtlich an die IdP-Autorisierungsanfrage angehängt werden. Dies ist der Überschreibungsmechanismus für IdP-spezifisches Verhalten, wie `access_type: offline` für Google-Aktualisierungstoken, `domain_hint` für einige Entra-Mandanten oder `acr_values` für Step-up-Flows. Kann die vom Gateway verwalteten Protokollparameter nicht überschreiben: `state`, `nonce`, `redirect_uri`, PKCE, `scope`, `response_type`, `response_mode` und `client_id`. |

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

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

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

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

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

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


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

159 159 

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

1612. Ersetzen Sie die Schlüssel- und Zertifikatsdateien, die `gateway.yaml` lädt, und starten Sie dann das Gateway neu.1612. Ersetzen Sie die Schlüssel- und Zertifikatsdateien, die `gateway.yaml` lädt, und starten Sie dann das Gateway neu. Wenn Sie mehrere Replikate betreiben, funktioniert ein [Rolling Restart](/docs/de/claude-apps-gateway-deploy#upgrades), da der IdP beide Zertifikate hat, bis Sie das alte entfernen.

1623. Entfernen Sie das alte Zertifikat beim IdP.1623. Nachdem jedes Replikat neu gestartet wurde, entfernen Sie das alte Zertifikat beim IdP.

163 163 

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

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


227 227 

228| Feld | Erforderlich | Beschreibung |228| Feld | Erforderlich | Beschreibung |

229| - | - | - |229| - | - | - |

230| `postgres_url` | Ja | `postgres://` oder `postgresql://` URL. Erforderlich: das Device-Grant-Rendezvous, wo der Browser-Callback schreibt und die Polling-CLI liest, benötigt Zustand über Replikate hinweg. Das Gateway führt seine eigenen Schema-Migrationen beim Start und bei Upgrades aus, daher benötigt die Rolle Rechte zum Erstellen und Ändern von Tabellen im Zielschema. Siehe [Upgrades](/docs/de/claude-apps-gateway-deploy#upgrades) und [Postgres](/docs/de/claude-apps-gateway-deploy#postgres). |230| `postgres_url` | Ja | `postgres://`- oder `postgresql://`-URL mit einem einzigen Host, keine kommagetrennte Liste. Das Gateway führt seine eigenen Schema-Migrationen beim Start und bei Upgrades aus, daher benötigt die Rolle Rechte zum Erstellen und Ändern von Tabellen im Zielschema. Siehe [Upgrades](/docs/de/claude-apps-gateway-deploy#upgrades) und [Postgres](/docs/de/claude-apps-gateway-deploy#postgres). |

231| `username` | Nein | Überschreibt den Benutzer in `postgres_url` |231| `username` | Nein | Überschreibt den Benutzer in `postgres_url` |

232| `password` | Nein | Datenbank-Anmeldedaten. Setzen Sie sie hier anstelle von `postgres_url`, damit die Anmeldedaten nicht in der URL stehen. Akzeptiert beliebige Zeichen und hat Vorrang vor Anmeldedaten in der URL. |232| `password` | Nein | Datenbank-Anmeldedaten. Setzen Sie sie hier anstelle von `postgres_url`, damit die Anmeldedaten nicht in der URL stehen. Akzeptiert beliebige Zeichen und hat Vorrang vor Anmeldedaten in der URL. |

233| `max_connections` | Nein | Postgres-Verbindungspool-Größe pro Replikat. Standard `5`, was konservativ und schonend für gemeinsam genutzte Datenbanken ist. Mit aktivierten [Ausgabenlimits](#admin) führt der Hot-Path einige Operationen pro Inference-Anfrage durch, daher erhöhen Sie den Wert für eine dedizierte Datenbank unter Last, und halten Sie Replikate × diesen Wert unter dem `max_connections` der Datenbank. |233| `max_connections` | Nein | Postgres-Verbindungspool-Größe pro Replikat. Standard `5`, was konservativ und schonend für gemeinsam genutzte Datenbanken ist. Mit aktivierten [Ausgabenlimits](#admin) führt der Hot-Path einige Operationen pro Inference-Anfrage durch, daher erhöhen Sie den Wert für eine dedizierte Datenbank unter Last, und halten Sie Replikate × diesen Wert unter dem `max_connections` der Datenbank. |

Details

249 Postgres249 Postgres

250</h3>250</h3>

251 251 

252Das Gateway speichert seinen Zustand in einer PostgreSQL-Datenbank:

253 

254* **Datenbank**: PostgreSQL selbst, selbst gehostet oder verwaltet, in der [Mindestversion](/docs/de/claude-apps-gateway#prerequisites) oder später. Datenbanken, die nur das Postgres-Protokoll implementieren, wie etwa verteilte SQL-Datenbanken, werden nicht unterstützt.

255* **Adresse**: `store.postgres_url` akzeptiert einen Host. Wenn die Datenbank mehrere Knoten hat, verwenden Sie die Adresse, die ihnen vorgelagert ist, etwa den Endpunkt Ihres verwalteten Dienstes, einen Load Balancer oder eine virtuelle IP. Setzen Sie eine [Readiness-Grace-Periode](#readiness-grace-period), die länger ist, als ein Failover dauert.

256 

252Das Gateway hält fünf Datentabellen plus eine `_migrations`-Tabelle, alle erstellt durch seine Boot-Zeit-Migrationen:257Das Gateway hält fünf Datentabellen plus eine `_migrations`-Tabelle, alle erstellt durch seine Boot-Zeit-Migrationen:

253 258 

254| Tabelle | Inhalt | Aufbewahrung |259| Tabelle | Inhalt | Aufbewahrung |


396| CLI `/login`: `Could not resolve the configured HTTP proxy` | Der Hostname in `HTTPS_PROXY` oder `HTTP_PROXY` wird von der Entwicklermaschine nicht aufgelöst, typischerweise weil sie nicht mit dem Unternehmens-Netzwerk verbunden ist | Lassen Sie den Entwickler sich mit Ihrem Netzwerk oder VPN verbinden und versuchen Sie erneut, oder beheben Sie die Proxy-URL |401| CLI `/login`: `Could not resolve the configured HTTP proxy` | Der Hostname in `HTTPS_PROXY` oder `HTTP_PROXY` wird von der Entwicklermaschine nicht aufgelöst, typischerweise weil sie nicht mit dem Unternehmens-Netzwerk verbunden ist | Lassen Sie den Entwickler sich mit Ihrem Netzwerk oder VPN verbinden und versuchen Sie erneut, oder beheben Sie die Proxy-URL |

397| CLI `/login`: `Could not resolve gateway host <host>` | Die Maschine kann den internen DNS-Namen des Gateways nicht auflösen, typischerweise weil sie nicht im Unternehmens-Netzwerk ist | Lassen Sie den Entwickler sich mit Ihrem Netzwerk oder VPN verbinden und versuchen Sie dann `/login` erneut |402| CLI `/login`: `Could not resolve gateway host <host>` | Die Maschine kann den internen DNS-Namen des Gateways nicht auflösen, typischerweise weil sie nicht im Unternehmens-Netzwerk ist | Lassen Sie den Entwickler sich mit Ihrem Netzwerk oder VPN verbinden und versuchen Sie dann `/login` erneut |

398| Boot beendet mit einem Konfigurationsvalidierungsfehler, der `store.postgres_url` benennt | Kein Postgres konfiguriert; das Gateway erfordert Postgres | Setzen Sie `store.postgres_url`. Für lokale Entwicklung verwenden Sie einen Wegwerf-Container: `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`. |403| Boot beendet mit einem Konfigurationsvalidierungsfehler, der `store.postgres_url` benennt | Kein Postgres konfiguriert; das Gateway erfordert Postgres | Setzen Sie `store.postgres_url`. Für lokale Entwicklung verwenden Sie einen Wegwerf-Container: `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`. |

404| Boot beendet: `store.postgres_url in <path> is not a URL the gateway can read`, oder vor v2.1.290 ein bloßes `Invalid URL` oder `URI error` | Die URL kann nicht geparst werden, zum Beispiel weil sie mehr als einen Host auflistet oder ihr Passwort ein nicht kodiertes `/`, `?`, `#` oder `%` enthält | Geben Sie [einen Host](#postgres) an, und verschieben Sie das Passwort in [`store.password`](/docs/de/claude-apps-gateway-config#store) |

399| Boot beendet: `requires the native binary` | Läuft unter Node statt der nativen Binärdatei | Installieren Sie Claude Code mit einer der [Standalone-Installationsmethoden](/docs/de/setup) |405| Boot beendet: `requires the native binary` | Läuft unter Node statt der nativen Binärdatei | Installieren Sie Claude Code mit einer der [Standalone-Installationsmethoden](/docs/de/setup) |

400| Boot beendet mit einem OIDC-Discovery-Fehler nach `config.load` | `oidc.issuer` nicht erreichbar oder TLS-Kette nicht vertraut | Überprüfen Sie, dass der Aussteller vom Pod erreichbar ist und `/.well-known/openid-configuration` bedient. Setzen Sie `ca_cert_pem` für private PKI. Wenn der Pod den IdP nur über einen Forward-Proxy erreicht, setzen Sie [`oidc.use_proxy: true`](/docs/de/claude-apps-gateway-config#idp-requests-through-a-forward-proxy); bei Versionen vor v2.1.227 geben Sie dem Pod stattdessen eine direkte Route zu jedem der IdP-Endpunkte. Wenn der Pod auch den Hostnamen des IdP nicht auflösen kann, oder der Proxy verweigert `CONNECT` zu einer IP-Adresse, siehe [Nur-Proxy-Ausgang](/docs/de/claude-apps-gateway-config#proxy-only-egress), das v2.1.277 oder später erfordert. |406| Boot beendet mit einem OIDC-Discovery-Fehler nach `config.load` | `oidc.issuer` nicht erreichbar oder TLS-Kette nicht vertraut | Überprüfen Sie, dass der Aussteller vom Pod erreichbar ist und `/.well-known/openid-configuration` bedient. Setzen Sie `ca_cert_pem` für private PKI. Wenn der Pod den IdP nur über einen Forward-Proxy erreicht, setzen Sie [`oidc.use_proxy: true`](/docs/de/claude-apps-gateway-config#idp-requests-through-a-forward-proxy); bei Versionen vor v2.1.227 geben Sie dem Pod stattdessen eine direkte Route zu jedem der IdP-Endpunkte. Wenn der Pod auch den Hostnamen des IdP nicht auflösen kann, oder der Proxy verweigert `CONNECT` zu einer IP-Adresse, siehe [Nur-Proxy-Ausgang](/docs/de/claude-apps-gateway-config#proxy-only-egress), das v2.1.277 oder später erfordert. |

401| Boot beendet mit einem Postgres-Berechtigungsfehler | Die Datenbankrolle fehlen DDL-Rechte auf ihrem Schema | Gewähren Sie der Rolle `CREATE` auf dem Gateway-Schema, damit sie seine Tabellen beim Boot erstellen und ändern kann |407| Boot beendet mit einem Postgres-Berechtigungsfehler | Die Datenbankrolle fehlen DDL-Rechte auf ihrem Schema | Gewähren Sie der Rolle `CREATE` auf dem Gateway-Schema, damit sie seine Tabellen beim Boot erstellen und ändern kann |

402| Protokoll: `could not connect to Postgres at boot, attempt 1 of 3` | Die Datenbank war nicht erreichbar, als das Gateway gestartet wurde, zum Beispiel auf einer kalten Instanz, deren Netzwerk noch aufgebaut wird | Wenn das Gateway dann das Booten beendet, ist keine Aktion erforderlich. Wenn die Datenbank nicht erreichbar ist, versucht das Gateway die Verbindung dreimal, zwei Sekunden auseinander, bevor es beendet wird. Wenn es mit `could not connect to Postgres` beendet wird, überprüfen Sie `store.postgres_url` und den Netzwerkpfad zur Datenbank. Wenn die Versuche Timeout statt Ablehnung sind, erhöhen Sie [`store.connect_timeout_seconds`](/docs/de/claude-apps-gateway-config#store), um jedem länger zu geben. |408| Protokoll: `could not connect to Postgres at boot, attempt 1 of 3` | Die Datenbank war nicht erreichbar, als das Gateway gestartet wurde, zum Beispiel auf einer kalten Instanz, deren Netzwerk noch aufgebaut wird | Wenn das Gateway dann das Booten beendet, ist keine Aktion erforderlich. Wenn die Datenbank nicht erreichbar ist, versucht das Gateway die Verbindung dreimal, zwei Sekunden auseinander, bevor es beendet wird. Wenn es mit `could not connect to Postgres` beendet wird, überprüfen Sie `store.postgres_url`, einschließlich dessen, dass sie genau einen Host benennt, sowie den Netzwerkpfad zur Datenbank. Wenn die Versuche Timeout statt Ablehnung sind, erhöhen Sie [`store.connect_timeout_seconds`](/docs/de/claude-apps-gateway-config#store), um jedem länger zu geben. |

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

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

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

Details

169 </Step>169 </Step>

170 170 

171 <Step title="Stellen Sie Amazon RDS für PostgreSQL bereit">171 <Step title="Stellen Sie Amazon RDS für PostgreSQL bereit">

172 Die Instanz läuft in den privaten Subnetzen ohne öffentliche Adresse und mit aktivierter Speicherverschlüsselung. Die Engine-Version ist auf Postgres 16 festgelegt, was den unterstützten Boden des Gateways von PostgreSQL 14 erfüllt und garantiert, dass die Parametergruppe unten mit der Instanz übereinstimmt.172 Die Instanz läuft mit Postgres 16 in den privaten Subnetzen, ohne öffentliche Adresse und mit aktivierter Speicherverschlüsselung.

173 173 

174 Erstellen Sie zunächst die Subnet-Gruppe, die die Datenbank in den privaten Subnetzen platziert, und eine Parametergruppe mit `rds.force_ssl=1`, damit der Server Klartextverbindungen ablehnt. Die Engine-Version ist einmal festgelegt, da die Parametergruppen-Familie mit der Engine-Hauptversion übereinstimmen muss, die die Instanz ausführt:174 Erstellen Sie zunächst die Subnet-Gruppe, die die Datenbank in den privaten Subnetzen platziert, und eine Parametergruppe mit `rds.force_ssl=1`, damit der Server Klartextverbindungen ablehnt. Die Engine-Version ist einmal festgelegt, da die Parametergruppen-Familie mit der Engine-Hauptversion übereinstimmen muss, die die Instanz ausführt:

175 175 


201 --no-publicly-accessible --storage-encrypted201 --no-publicly-accessible --storage-encrypted

202 ```202 ```

203 203 

204 Das Literal `--master-user-password` Argument ist in der Prozesstabelle und in Audit-/EDR-Protokollen sichtbar, während der Befehl ausgeführt wird, die gleiche Exposition, die der Geheimnisse-Schritt behandelt. Auf einem gemeinsamen oder überwachten Host übergeben Sie das Passwort stattdessen über `--cli-input-json` aus einer `0600` Datei, wie es das `setup.sh` des Bundles tut.204 Das Literal `--master-user-password` Argument ist in der Prozesstabelle und in Audit-/EDR-Logs sichtbar, während der Befehl ausgeführt wird, die gleiche Exposition, die der Geheimnisse-Schritt behandelt. Auf einem gemeinsamen oder überwachten Host übergeben Sie das Passwort stattdessen über `--cli-input-json` aus einer `0600` Datei, wie es das `setup.sh` des Bundles tut.

205 205 

206 Warten Sie, bis die Instanz hochfährt, was mehrere Minuten dauern kann, lesen Sie dann ihren privaten Endpunkt und stellen Sie die Verbindungszeichenfolge zusammen, die das Gateway verwendet:206 Warten Sie, bis die Instanz hochfährt, was mehrere Minuten dauern kann, lesen Sie dann ihren privaten Endpunkt und stellen Sie die Verbindungszeichenfolge zusammen, die das Gateway verwendet:

207 207 


223 Zwei `listen` Felder beschreiben, was das Gateway frontet:223 Zwei `listen` Felder beschreiben, was das Gateway frontet:

224 224 

225 * `public_url`: die externe `https://` Herkunft, erforderlich für jeden nicht-Loopback-Bind; siehe die [`listen` Referenz](/docs/de/claude-apps-gateway-config#listen). Das Gateway erstellt den IdP `redirect_uri` und sein Discovery-Dokument nur aus diesem Wert, niemals aus `X-Forwarded-*` Headern.225 * `public_url`: die externe `https://` Herkunft, erforderlich für jeden nicht-Loopback-Bind; siehe die [`listen` Referenz](/docs/de/claude-apps-gateway-config#listen). Das Gateway erstellt den IdP `redirect_uri` und sein Discovery-Dokument nur aus diesem Wert, niemals aus `X-Forwarded-*` Headern.

226 * `trusted_proxies`: die Quellbereiche des Front-End. Das Gateway berücksichtigt `X-Forwarded-For` nur, wenn der TCP-Peer in dieser Liste ist, geht dann die Kette über vertrauenswürdige Hops, sodass Anmelderate-Limits pro IP und Audit-Events Entwickler-IPs statt der Load-Balancer-IP aufzeichnen.226 * `trusted_proxies`: die Quellbereiche des Front-End. Das Gateway berücksichtigt `X-Forwarded-For` nur, wenn der TCP-Peer in dieser Liste ist, geht dann die Kette über vertrauenswürdige Hops, sodass Anmelde-Rate-Limits pro IP und Audit-Events Entwickler-IPs statt der Load-Balancer-IP aufzeichnen.

227 227 

228 Auf beiden Pfaden ist das Front-End ein interner ALB, ob direkt erstellt oder vom AWS Load Balancer Controller, und ALB-Knoten nehmen Adressen aus den Subnetzen, an die sie angehängt sind, daher setzen Sie `trusted_proxies` auf die CIDRs dieser Subnetze. Dies vertraut jedem Host in diesen Subnetzen als Proxy. Halten Sie die Ingress-Quelle des ALB, Ihre Unternehmens-CIDR, davon ab, sich zu überlappen, und teilen Sie die Subnetze nicht mit nicht vertrauenswürdigen Workloads, die Client-IPs über `X-Forwarded-For` fälschen könnten.228 Auf beiden Pfaden ist das Front-End ein interner ALB, ob direkt erstellt oder vom AWS Load Balancer Controller, und ALB-Knoten nehmen Adressen aus den Subnetzen, an die sie angehängt sind, daher setzen Sie `trusted_proxies` auf die CIDRs dieser Subnetze. Dies vertraut jedem Host in diesen Subnetzen als Proxy. Halten Sie die Ingress-Quelle des ALB, Ihre Unternehmens-CIDR, davon ab, sich zu überlappen, und teilen Sie die Subnetze nicht mit nicht vertrauenswürdigen Workloads, die Client-IPs über `X-Forwarded-For` fälschen könnten.

229 229 


286 Beachten Sie die ARN, die jeder Aufruf ausgibt; die ECS-Task-Definition referenziert Geheimnisse nach ARN.286 Beachten Sie die ARN, die jeder Aufruf ausgibt; die ECS-Task-Definition referenziert Geheimnisse nach ARN.

287 287 

288 <Note>288 <Note>

289 Literal `--secret-string` Argumente sind in der Prozesstabelle und in Audit-/EDR-Protokollen sichtbar, während jeder Befehl ausgeführt wird. Auf einem gemeinsamen oder überwachten Host legen Sie den Wert in eine `0600` Datei und übergeben Sie stattdessen `--secret-string file://<path>`. Das `setup.sh` des Bundles hält Geheimniswerte auf die gleiche Weise aus dem Prozess-argv, indem es `0600` temporäre Dateien an `--cli-input-json` übergibt.289 Literal `--secret-string` Argumente sind in der Prozesstabelle und in Audit-/EDR-Logs sichtbar, während jeder Befehl ausgeführt wird. Auf einem gemeinsamen oder überwachten Host legen Sie den Wert in eine `0600` Datei und übergeben Sie stattdessen `--secret-string file://<path>`. Das `setup.sh` des Bundles hält Geheimniswerte auf die gleiche Weise aus dem Prozess-argv, indem es `0600` temporäre Dateien an `--cli-input-json` übergibt.

290 </Note>290 </Note>

291 291 

292 Im Gegensatz zu den Geheimnissen enthält `gateway.yaml` selbst keine Geheimniswerte, da jede Anmeldedaten beim Start über [`${VAR}` oder `${file:...}` Erweiterung](/docs/de/claude-apps-gateway-config#secret-expansion) aufgelöst wird. Wie alles den Container erreicht, unterscheidet sich je nach Pfad:292 Im Gegensatz zu den Geheimnissen enthält `gateway.yaml` selbst keine Geheimniswerte, da alle Anmeldedaten beim Start über [`${VAR}` oder `${file:...}` Erweiterung](/docs/de/claude-apps-gateway-config#secret-expansion) aufgelöst werden. Wie alles den Container erreicht, unterscheidet sich je nach Pfad:

293 293 

294 * Auf ECS kopiert der Build des nächsten Schritts `gateway.yaml` in das Image bei `/etc/claude/gateway.yaml`, und die Task-Definition injiziert die drei Geheimnisse als Umgebungsvariablen über sein `secrets` Feld, daher referenziert die YAML `${GATEWAY_JWT_SECRET}`, `${OIDC_CLIENT_SECRET}` und `${GATEWAY_POSTGRES_URL}`.294 * Auf ECS kopiert der Build des nächsten Schritts `gateway.yaml` in das Image bei `/etc/claude/gateway.yaml`, und die Task-Definition injiziert die drei Geheimnisse als Umgebungsvariablen über ihr `secrets` Feld, daher referenziert die YAML `${GATEWAY_JWT_SECRET}`, `${OIDC_CLIENT_SECRET}` und `${GATEWAY_POSTGRES_URL}`.

295 * Auf EKS mounten Sie `gateway.yaml` aus einer ConfigMap und die Geheimnisse als Dateien bei `/secrets`, referenziert als `${file:/secrets/...}`. Beziehen Sie die Kubernetes Secrets aus Secrets Manager mit dem External Secrets Operator oder dem AWS-Provider des Secrets Store CSI-Treibers, oder erstellen Sie sie direkt mit `kubectl`.295 * Auf EKS mounten Sie `gateway.yaml` aus einer ConfigMap und die Geheimnisse als Dateien bei `/secrets`, referenziert als `${file:/secrets/...}`. Beziehen Sie die Kubernetes Secrets aus Secrets Manager mit dem External Secrets Operator oder dem AWS-Provider des Secrets Store CSI-Treibers, oder erstellen Sie sie direkt mit `kubectl`.

296 </Step>296 </Step>

297 297 


335 <Step title="Bereitstellen">335 <Step title="Bereitstellen">

336 <Tabs>336 <Tabs>

337 <Tab title="ECS Fargate">337 <Tab title="ECS Fargate">

338 Erstellen Sie den Cluster und eine Log-Gruppe für die stderr des Gateways, die sowohl seine Audit-Events als auch Betriebsprotokolle trägt. Die Aufbewahrung ist ein separater Aufruf, und ohne eine CloudWatch behält die Protokolle für immer; richten Sie die 90 Tage auf Ihre Audit-Aufbewahrungsrichtlinie aus:338 Erstellen Sie den Cluster und eine Log-Gruppe für die stderr des Gateways, die sowohl seine Audit-Events als auch Betriebslogs trägt. Die Aufbewahrung ist ein separater Aufruf, und ohne einen behält CloudWatch die Logs für immer; richten Sie die 90 Tage auf Ihre Audit-Aufbewahrungsrichtlinie aus:

339 339 

340 ```bash theme={null}340 ```bash theme={null}

341 aws ecs create-cluster --cluster-name claude-gateway341 aws ecs create-cluster --cluster-name claude-gateway


401 401 

402 Fügen Sie den HTTPS-Listener hinzu. `--ssl-policy` pinnt einen modernen TLS-Boden, da das Weglassen auf die Legacy-Standard-Richtlinie `ELBSecurityPolicy-2016-08` zurückfällt, die immer noch TLS 1.0/1.1 akzeptiert.402 Fügen Sie den HTTPS-Listener hinzu. `--ssl-policy` pinnt einen modernen TLS-Boden, da das Weglassen auf die Legacy-Standard-Richtlinie `ELBSecurityPolicy-2016-08` zurückfällt, die immer noch TLS 1.0/1.1 akzeptiert.

403 403 

404 Der ALB schließt eine Verbindung nach 60 Sekunden ohne Daten standardmäßig. Die Keepalive-Pings des Gateways halten Streams innerhalb dieses Standards, daher erhöht das Erhöhen des Timeouts die Marge über der Ping-Kadenz; die [Troubleshooting](#troubleshooting) Zeile auf abgebrochenen Streams behandelt den Mechanismus und ältere Gateways. Die folgenden Befehle fügen den Listener hinzu und erhöhen das Timeout:404 Der ALB schließt eine Verbindung nach 60 Sekunden ohne Daten standardmäßig. Die Keepalive-Pings des Gateways halten Streams innerhalb dieses Standards, daher erhöht das Erhöhen des Timeouts die Marge über der Ping-Kadenz; die Zeile zu abgebrochenen Streams in der [Fehlerbehebung](#troubleshooting) behandelt den Mechanismus und ältere Gateways. Die folgenden Befehle fügen den Listener hinzu und erhöhen den Timeout:

405 405 

406 ```bash theme={null}406 ```bash theme={null}

407 aws elbv2 create-listener --load-balancer-arn "$ALB_ARN" \407 aws elbv2 create-listener --load-balancer-arn "$ALB_ARN" \


425 --load-balancers "targetGroupArn=$TG_ARN,containerName=gateway,containerPort=8080"425 --load-balancers "targetGroupArn=$TG_ARN,containerName=gateway,containerPort=8080"

426 ```426 ```

427 427 

428 Die 60-Sekunden-Gnadenfrist gibt einer kalten Task Zeit, das Image zu ziehen, sich mit dem Store zu verbinden und seinen ersten Health-Check zu beantworten, bevor ECS beginnt, Fehler gegen die Bereitstellung zu zählen. Der Health-Check der Zielgruppe auf `GET /readyz` überprüft, ob der Store erreichbar ist, daher kommt eine Task, die Postgres nicht erreichen kann, nie in Rotation. Um Tasks durch einen kurzen Datenbankausfall wie ein RDS-Failover hindurch den Health-Check bestehen zu lassen, setzen Sie `store.readiness_grace_seconds` wie in [Ausfallverhalten](/docs/de/claude-apps-gateway-deploy#outage-behavior) beschrieben, das auch die `/healthz` Alternative abdeckt.428 Die 60-Sekunden-Gnadenfrist gibt einer kalten Task Zeit, das Image zu ziehen, sich mit dem Store zu verbinden und seinen ersten Health-Check zu beantworten, bevor ECS beginnt, Fehler gegen die Bereitstellung zu zählen.

429 

430 Der Health-Check der Zielgruppe auf `GET /readyz` überprüft, ob der Store erreichbar ist, daher kommt eine Task, die Postgres nicht erreichen kann, nie in Rotation. Um Tasks durch einen kurzen Datenbankausfall wie ein RDS-Failover hindurch den Health-Check bestehen zu lassen, setzen Sie `store.readiness_grace_seconds` wie in [Ausfallverhalten](/docs/de/claude-apps-gateway-deploy#outage-behavior) beschrieben, das auch die `/healthz` Alternative abdeckt.

429 431 

430 Die Tasks laufen in privaten Subnetzen ohne öffentliche IP, daher geht der gesamte Egress (zu Bedrock, Ihrem IdP, Secrets Manager, ECR und CloudWatch Logs) durch das NAT-Gateway. Um Bedrock-Verkehr vom öffentlichen Pfad zu halten, erstellen Sie einen `bedrock-runtime` Interface VPC-Endpunkt und zeigen Sie die `base_url` des Upstream darauf, wie in der [Bedrock Upstream-Referenz](/docs/de/claude-apps-gateway-config#amazon-bedrock) gezeigt; der IdP benötigt immer noch Internet-Egress.432 Die Tasks laufen in privaten Subnetzen ohne öffentliche IP, daher geht der gesamte Egress (zu Bedrock, Ihrem IdP, Secrets Manager, ECR und CloudWatch Logs) durch das NAT-Gateway. Um Bedrock-Verkehr vom öffentlichen Pfad zu halten, erstellen Sie einen `bedrock-runtime` Interface VPC-Endpunkt und zeigen Sie die `base_url` des Upstream darauf, wie in der [Bedrock Upstream-Referenz](/docs/de/claude-apps-gateway-config#amazon-bedrock) gezeigt; der IdP benötigt immer noch Internet-Egress.

431 433 

432 Beenden Sie, indem Sie Entwicklern einen privat auflösbaren Hostnamen geben: In einer Route 53 privaten gehosteten Zone, alias den internen DNS-Namen des Gateways zum ALB, und setzen Sie `listen.public_url` auf diesen Hostnamen. Der eigene `*.elb.amazonaws.com` Name des ALB wird zu privaten Adressen auf einem internen ALB aufgelöst, kann aber Ihr ACM-Zertifikat nicht tragen, daher verwenden Sie Ihren eigenen Namen.434 Beenden Sie, indem Sie Entwicklern einen privat auflösbaren Hostnamen geben: In einer Route 53 privaten gehosteten Zone, alias den internen DNS-Namen des Gateways zum ALB, und setzen Sie `listen.public_url` auf diesen Hostnamen. Der eigene `*.elb.amazonaws.com` Name des ALB wird zu privaten Adressen auf einem internen ALB aufgelöst, kann aber Ihr ACM-Zertifikat nicht tragen, daher verwenden Sie Ihren eigenen Namen.

433 435 

434 Aktualisieren Sie die autorisierte Redirect-URI des OAuth-Clients auf `<public_url>/oauth/callback`, bevor die erste Anmeldung. Nach dem Ändern von `public_url` erstellen Sie das Image unter einem neuen Tag neu, registrieren Sie eine neue Task-Definition-Revision und stellen Sie erneut bereit. Auf ECS lebt die Einstellung in der eingebetteten `gateway.yaml` des Images, und das Gateway erstellt seinen öffentlichen Ursprung nur aus dieser Einstellung, ignoriert `X-Forwarded-Host` und `X-Forwarded-Proto`. `X-Forwarded-For` wird nur berücksichtigt, wenn `listen.trusted_proxies` gesetzt ist.436 Aktualisieren Sie die autorisierte Redirect-URI des OAuth-Clients auf `<public_url>/oauth/callback` vor der ersten Anmeldung. Nach dem Ändern von `public_url` erstellen Sie das Image unter einem neuen Tag neu, registrieren Sie eine neue Task-Definition-Revision und stellen Sie erneut bereit. Auf ECS lebt die Einstellung in der eingebetteten `gateway.yaml` des Images, und das Gateway erstellt seinen öffentlichen Ursprung nur aus dieser Einstellung, ignoriert `X-Forwarded-Host` und `X-Forwarded-Proto`. `X-Forwarded-For` wird für Client-IPs nur berücksichtigt, wenn `listen.trusted_proxies` gesetzt ist.

435 </Tab>437 </Tab>

436 438 

437 <Tab title="EKS">439 <Tab title="EKS">

438 Dieser Pfad benötigt `kubectl` und `eksctl` lokal installiert, und einen bestehenden EKS-Cluster mit einem IAM OIDC-Provider und dem AWS Load Balancer Controller installiert. Der Cluster muss auf `$VPC_ID` sein, damit Pods den RDS-Privatendpunkt erreichen können, und die `claude-gateway-db` Sicherheitsgruppe muss die Sicherheitsgruppe des Clusters oder des Pods des Clusters anstelle von `$GW_SG` zulassen.440 Dieser Pfad benötigt `kubectl` und `eksctl` lokal installiert, und einen bestehenden EKS-Cluster mit einem IAM OIDC-Provider und dem AWS Load Balancer Controller installiert. Der Cluster muss auf `$VPC_ID` sein, damit Pods den RDS-Privatendpunkt erreichen können, und die `claude-gateway-db` Sicherheitsgruppe muss die Pod- oder Node-Sicherheitsgruppe des Clusters anstelle von `$GW_SG` zulassen.

439 441 

440 Auf EKS erhält das Gateway seine Bedrock-Anmeldedaten über IRSA statt der ECS-Rollen. Die `ecs-tasks.amazonaws.com` Vertrauensrichtlinie aus dem IAM-Schritt gilt hier nicht; IRSA benötigt eine Rolle, deren Vertrauensrichtlinie auf dem OIDC-Provider des Clusters föderiert ist, begrenzt auf `system:serviceaccount:claude-gateway:gateway`. `eksctl create iamserviceaccount` erstellt diese Rolle, hängt die Richtlinien an und kommentiert das Kubernetes-Dienstkonto mit der Rollen-ARN in einem Schritt. Verwandeln Sie die zwei Richtliniendokumente aus dem IAM-Schritt in verwaltete Richtlinien, die es anhängen kann:442 Auf EKS erhält das Gateway seine Bedrock-Anmeldedaten über IRSA statt der ECS-Rollen. Die `ecs-tasks.amazonaws.com` Vertrauensrichtlinie aus dem IAM-Schritt gilt hier nicht; IRSA benötigt eine Rolle, deren Vertrauensrichtlinie auf dem OIDC-Provider des Clusters föderiert ist, begrenzt auf `system:serviceaccount:claude-gateway:gateway`. `eksctl create iamserviceaccount` erstellt diese Rolle, hängt die Richtlinien an und kommentiert das Kubernetes-Dienstkonto mit der Rollen-ARN in einem Schritt. Verwandeln Sie die zwei Richtliniendokumente aus dem IAM-Schritt in verwaltete Richtlinien, die es anhängen kann:

441 443 


453 --approve455 --approve

454 ```456 ```

455 457 

456 Die Geheimnisse-Richtlinie wird nur benötigt, wenn die Pods Secrets Manager selbst lesen, wie es der AWS-Provider des Secrets Store CSI-Treibers mit dem Dienstkonto des Mounting-Pods tut; lassen Sie sie weg, wenn Sie die Kubernetes Secrets auf andere Weise erstellen. Der Provider benötigt beide Aktionen der Richtlinie: Er ruft `DescribeSecret` auf, wenn er rotierte Geheimnisse abstimmt, daher gewährt ein `GetSecretValue`-only Grant Mounts beim ersten Deploy, stoppt aber das Abholen von Rotationen.458 Die Geheimnisse-Richtlinie wird nur benötigt, wenn die Pods Secrets Manager selbst lesen, wie es der AWS-Provider des Secrets Store CSI-Treibers mit dem Dienstkonto des Mounting-Pods tut; lassen Sie sie weg, wenn Sie die Kubernetes Secrets auf andere Weise erstellen. Der Provider benötigt beide Aktionen der Richtlinie: Er ruft `DescribeSecret` auf, wenn er rotierte Geheimnisse abstimmt, daher funktioniert ein Grant nur mit `GetSecretValue` beim ersten Deploy, übernimmt aber keine Rotationen mehr.

457 459 

458 Stellen Sie das Gateway als Standard-Deployment plus Service und Ingress bereit, wie in [Kubernetes-Bereitstellung](/docs/de/claude-apps-gateway-deploy#kubernetes) beschrieben, mit:460 Stellen Sie das Gateway als Standard-Deployment plus Service und Ingress bereit, wie in [Kubernetes-Bereitstellung](/docs/de/claude-apps-gateway-deploy#kubernetes) beschrieben, mit:

459 461 

460 * `serviceAccountName: gateway`462 * `serviceAccountName: gateway`

461 * `gateway.yaml` gemountet aus einer ConfigMap und die Geheimnisse als Dateien bei `/secrets` gemountet463 * `gateway.yaml` gemountet aus einer ConfigMap und die Geheimnisse bei `/secrets` gemountet

462 * die Readiness-Probe auf `GET /readyz` gerichtet464 * die Readiness-Probe auf `GET /readyz` gerichtet

463 465 

464 Für das Front-End, ein Ingress, das vom AWS Load Balancer Controller verwaltet wird, stellt den internen ALB bereit. Kommentieren Sie es mit:466 Für das Front-End stellt ein Ingress, das vom AWS Load Balancer Controller verwaltet wird, den internen ALB bereit. Annotieren Sie es mit:

465 467 

466 * `alb.ingress.kubernetes.io/scheme: internal` und `alb.ingress.kubernetes.io/target-type: ip`468 * `alb.ingress.kubernetes.io/scheme: internal` und `alb.ingress.kubernetes.io/target-type: ip`

467 * `alb.ingress.kubernetes.io/ip-address-type: ipv4`, daher werden keine öffentlichen AAAA-Datensätze für die `/login` [private-Netzwerk-Prüfung](/docs/de/claude-apps-gateway#prerequisites) veröffentlicht, die sie ablehnt469 * `alb.ingress.kubernetes.io/ip-address-type: ipv4`, daher werden keine öffentlichen AAAA-Datensätze veröffentlicht, die die `/login` [private-Netzwerk-Prüfung](/docs/de/claude-apps-gateway#prerequisites) ablehnen würde

468 * `alb.ingress.kubernetes.io/inbound-cidrs: <your-corporate-cidr>`, daher lässt die Controller-verwaltete Frontend-Sicherheitsgruppe nur Ihr Unternehmensnetzwerk anstelle des `0.0.0.0/0` Standards zu470 * `alb.ingress.kubernetes.io/inbound-cidrs: <your-corporate-cidr>`, daher lässt die Controller-verwaltete Frontend-Sicherheitsgruppe nur Ihr Unternehmensnetzwerk anstelle des `0.0.0.0/0` Standards zu

469 * `alb.ingress.kubernetes.io/certificate-arn` mit dem ACM-Zertifikat471 * `alb.ingress.kubernetes.io/certificate-arn` mit dem ACM-Zertifikat

470 * `alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS13-1-2-2021-06`, daher fällt der Listener nicht auf die Legacy-Standard-Richtlinie zurück, die TLS 1.0 und 1.1 akzeptiert472 * `alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS13-1-2-2021-06`, daher fällt der Listener nicht auf die Legacy-Standard-Richtlinie zurück, die TLS 1.0 und 1.1 akzeptiert

471 * `alb.ingress.kubernetes.io/load-balancer-attributes: idle_timeout.timeout_seconds=3600`, eine Marge über dem Streaming-Keepalive des Gateways; siehe [Troubleshooting](#troubleshooting)473 * `alb.ingress.kubernetes.io/load-balancer-attributes: idle_timeout.timeout_seconds=3600`, eine Marge über dem Streaming-Keepalive des Gateways; siehe [Fehlerbehebung](#troubleshooting)

472 474 

473 Mit IRSA liest das AWS SDK ein projiziertes Service-Account-Token und tauscht es mit AWS STS aus, daher benötigt der Pod niemals den EC2-Instanz-Metadaten-Service; eine Egress-NetworkPolicy kann `169.254.169.254` für Gateway-Pods blockieren. Das Node-Hop-Limit-Problem in [Troubleshooting](#troubleshooting) unten gilt nur für Cluster, die IRSA überspringen und sich auf Node-Instanzrollen verlassen.475 Mit IRSA liest das AWS SDK ein projiziertes Service-Account-Token und tauscht es mit AWS STS aus, daher benötigt der Pod niemals den EC2-Instanz-Metadaten-Service; eine Egress-NetworkPolicy kann `169.254.169.254` für Gateway-Pods blockieren. Das Node-Hop-Limit-Problem in der [Fehlerbehebung](#troubleshooting) unten gilt nur für Cluster, die IRSA überspringen und sich auf Node-Instanzrollen verlassen.

474 </Tab>476 </Tab>

475 </Tabs>477 </Tabs>

476 </Step>478 </Step>

477 479 

478 <Step title="Pushen Sie die Gateway-URL zu Entwicklermaschinen">480 <Step title="Pushen Sie die Gateway-URL zu Entwicklermaschinen">

479 Das Gateway läuft jetzt, aber Entwickler können es von `/login` nicht erreichen, bis die Gateway-URL auf ihren Maschinen ist. Setzen Sie `forceLoginMethod` und `forceLoginGatewayUrl` in der [verwalteten Einstellungsdatei](/docs/de/claude-apps-gateway#set-the-gateway-url), die Sie über MDM auf jedes Gerät bereitstellen. Es gibt keine Gateway-Option im Login-Picker für einen Entwickler, um manuell auszuwählen.481 Das Gateway läuft jetzt, aber Entwickler können es von `/login` nicht erreichen, bis die Gateway-URL auf ihren Maschinen ist. Setzen Sie `forceLoginMethod` und `forceLoginGatewayUrl` in der [verwalteten Einstellungsdatei](/docs/de/claude-apps-gateway#set-the-gateway-url), die Sie über MDM auf jedes Gerät bereitstellen. Es gibt keine Gateway-Option im Login-Picker, die ein Entwickler manuell auswählen könnte.

480 </Step>482 </Step>

481</Steps>483</Steps>

482 484 

Details

384 384 

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

386* **Von Ihrem Terminal**: Führen Sie [`/autofix-pr`](/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 Schritt386* **Von Ihrem Terminal**: Führen Sie [`/autofix-pr`](/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

387* **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"387* **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“

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

389 389 

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


416* **Isolierte virtuelle Maschinen**: Jede Sitzung wird in einer isolierten, von Anthropic verwalteten VM ausgeführt. Sitzungen, die Ihre Organisation zu einer [selbstgehosteten Umgebung](/docs/de/self-hosted-environments) leitet, werden stattdessen auf Ihrer eigenen Infrastruktur ausgeführt, wo Isolation die Verantwortung Ihrer Bereitstellung ist416* **Isolierte virtuelle Maschinen**: Jede Sitzung wird in einer isolierten, von Anthropic verwalteten VM ausgeführt. Sitzungen, die Ihre Organisation zu einer [selbstgehosteten Umgebung](/docs/de/self-hosted-environments) leitet, werden stattdessen auf Ihrer eigenen Infrastruktur ausgeführt, wo Isolation die Verantwortung Ihrer Bereitstellung ist

417* <span id="default-allowed-domains" />**Netzwerkzugriffskontrolle**: In von Anthropic gehosteten Umgebungen ist der Netzwerkzugriff standardmäßig begrenzt und kann deaktiviert werden. Siehe [Netzwerkzugriff](/docs/de/cloud-environments#network-access) für die Zugriffsstufen, die [standardmäßig zulässigen Domänen](/docs/de/cloud-environments#default-allowed-domains) und den Datenverkehr, der nicht durch die Zulassungsliste läuft. In einer selbstgehosteten Umgebung beschränken Sie den Sitzungs-Egress an Ihrer eigenen Netzwerkgrenze. Wenn Claude Code mit deaktiviertem Netzwerkzugriff ausgeführt wird, kann Claude Code immer noch mit der Anthropic API kommunizieren, was möglicherweise ermöglicht, dass Daten die VM verlassen.417* <span id="default-allowed-domains" />**Netzwerkzugriffskontrolle**: In von Anthropic gehosteten Umgebungen ist der Netzwerkzugriff standardmäßig begrenzt und kann deaktiviert werden. Siehe [Netzwerkzugriff](/docs/de/cloud-environments#network-access) für die Zugriffsstufen, die [standardmäßig zulässigen Domänen](/docs/de/cloud-environments#default-allowed-domains) und den Datenverkehr, der nicht durch die Zulassungsliste läuft. In einer selbstgehosteten Umgebung beschränken Sie den Sitzungs-Egress an Ihrer eigenen Netzwerkgrenze. Wenn Claude Code mit deaktiviertem Netzwerkzugriff ausgeführt wird, kann Claude Code immer noch mit der Anthropic API kommunizieren, was möglicherweise ermöglicht, dass Daten die VM verlassen.

418* **Schutz von Anmeldedaten**: In von Anthropic gehosteten Umgebungen befinden sich Git-Anmeldedaten und Signaturschlüssel außerhalb der Sandbox, und ein Proxy authentifiziert sich im Namen der Sitzung mit scoped Credentials. In einer selbstgehosteten Umgebung stellt Ihre Bereitstellung Git-Anmeldedaten bereit; siehe [Git konfigurieren](/docs/de/self-hosted-environments-deploy#configure-git)418* **Schutz von Anmeldedaten**: In von Anthropic gehosteten Umgebungen befinden sich Git-Anmeldedaten und Signaturschlüssel außerhalb der Sandbox, und ein Proxy authentifiziert sich im Namen der Sitzung mit scoped Credentials. In einer selbstgehosteten Umgebung stellt Ihre Bereitstellung Git-Anmeldedaten bereit; siehe [Git konfigurieren](/docs/de/self-hosted-environments-deploy#configure-git)

419* **API-Anmeldedaten**: In von Anthropic gehosteten Umgebungen auf Pro- und Max-Plänen bleiben Schlüssel, die Sie [zu einer Cloud-Umgebung hinzufügen](/docs/de/cloud-environments#add-api-credentials), auf die gleiche Weise außerhalb der Sandbox, angehängt an übereinstimmende Anfragen, nachdem sie die Sitzung verlassen. Eine selbstgehostete Umgebung hat keine API-Anmeldedaten, und Team- und Enterprise-Pläne haben sie noch nicht419* **Netzwerk-Secrets**: In von Anthropic gehosteten Umgebungen auf Pro- und Max-Plänen bleiben Schlüssel, die Sie [zu einer Cloud-Umgebung hinzufügen](/docs/de/cloud-environments#add-api-credentials), auf die gleiche Weise außerhalb der Sandbox und werden an übereinstimmende Anfragen angehängt, nachdem diese die Sitzung verlassen haben. Eine selbstgehostete Umgebung hat keine Netzwerk-Secrets, und Team- und Enterprise-Pläne haben sie noch nicht

420* **Sichere Analyse**: Code wird in der isolierten Umgebung der Sitzung analysiert und geändert, bevor PRs erstellt werden420* **Sichere Analyse**: Code wird in der isolierten Umgebung der Sitzung analysiert und geändert, bevor PRs erstellt werden

421 421 

422<h2 id="troubleshooting">422<h2 id="troubleshooting">


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

443 443 

444* `Unable to get organization UUID`444* `Unable to get organization UUID`

445* Eine Meldung, dass die Authentifizierung per API-Schlüssel nicht ausreicht445* ``Cloud sessions need a claude.ai sign-in. Run `claude auth login` (or /login in a local session), then try again.``

446* `Error loading Claude Code sessions` in der Sitzungsauswahl, wenn Sie `claude --teleport` ohne eine Sitzungs-ID ausführen446* `Error loading Claude Code sessions` in der Sitzungsauswahl, wenn Sie `claude --teleport` ohne eine Sitzungs-ID ausführen

447 447 

448Führen Sie `/login` aus, um sich mit Ihrem claude.ai-Konto anzumelden, und versuchen Sie dann den Befehl erneut. Wenn der Fehler stattdessen Ihren Anbieter benennt, siehe die [Fehlertabelle](#errors-when-sending-to-a-cloud-session): Cloud-Sitzungen sind nicht über Drittanbieter verfügbar.448Führen Sie [`claude auth login`](/docs/de/cli-reference#cli-commands) in Ihrer Shell aus, um sich mit Ihrem claude.ai-Konto anzumelden, und versuchen Sie dann den Befehl erneut. Innerhalb einer laufenden Sitzung bewirkt `/login` dasselbe. Wenn der Fehler stattdessen Ihren Anbieter benennt, siehe die [Fehlertabelle](#errors-when-sending-to-a-cloud-session): Cloud-Sitzungen sind nicht über Drittanbieter verfügbar.

449 

450Von v2.1.274 bis v2.1.289 lautete die Anmeldemeldung `Claude Code cloud sessions require authentication with a Claude.ai account. API key authentication is not sufficient. Please run /login to authenticate, or check your authentication status with /status.`

449 451 

450<h3 id="remote-control-session-expired-or-access-denied">452<h3 id="remote-control-session-expired-or-access-denied">

451 Remote Control-Sitzung abgelaufen oder Zugriff verweigert453 Remote Control-Sitzung abgelaufen oder Zugriff verweigert

Details

34 oneLiner: 'Project instructions Claude reads every session',34 oneLiner: 'Project instructions Claude reads every session',

35 when: 'Loaded into context at the start of every session',35 when: 'Loaded into context at the start of every session',

36 description: 'Project-specific instructions that shape how Claude works in this repository. Put your conventions, common commands, and architectural context here so Claude operates with the same assumptions your team does.',36 description: 'Project-specific instructions that shape how Claude works in this repository. Put your conventions, common commands, and architectural context here so Claude operates with the same assumptions your team does.',

37 tips: ['Target under 200 lines. Longer files still load in full but may reduce adherence', <>CLAUDE.md loads into every session. If something only matters for specific tasks, move it to a <A href="/docs/en/skills">skill</A> or a path-scoped <A href="/docs/en/memory#organize-rules-with-claude/rules/">rule</A> so it loads only when needed</>, 'List the commands you run most, like build, test, and format, so Claude knows them without you spelling them out each time', <>Run <C>/memory</C> to open and edit CLAUDE.md from within a session</>, <>Also works at <C>.claude/CLAUDE.md</C> if you prefer to keep the project root clean</>, <>If your repo already has an <C>AGENTS.md</C> for other coding agents, Claude Code <A href="/docs/en/memory#agents-md">can read that</A> on its own or alongside CLAUDE.md</>],37 tips: ['Target under 200 lines. Longer files still load in full but may reduce adherence', <>CLAUDE.md loads into every session. If something only matters for specific tasks, move it to a <A href="/docs/en/skills">skill</A> or a path-scoped <A href="/docs/en/memory#organize-rules-with-claude/rules/">rule</A> so it loads only when needed</>, 'List the commands you run most, like build, test, and format, so Claude knows them without you spelling them out each time', <>Run <C>/memory</C> to open and edit CLAUDE.md from within a session</>, <>Also works at <C>.claude/CLAUDE.md</C> if you prefer to keep the project root clean</>, <>If your repo already has an <C>AGENTS.md</C> for other coding agents, Claude Code <A href="/docs/en/memory#agents-md">can read that</A> in place of a <C>CLAUDE.md</C></>],

38 exampleIntro: 'This example is for a TypeScript and React project. It lists the build and test commands, the framework conventions Claude should follow, and project-specific rules like export style and file layout.',38 exampleIntro: 'This example is for a TypeScript and React project. It lists the build and test commands, the framework conventions Claude should follow, and project-specific rules like export style and file layout.',

39 example: `# Project conventions39 example: `# Project conventions

40 40 


164 icon: 'folder',164 icon: 'folder',

165 color: '#9B7BC4',165 color: '#9B7BC4',

166 oneLiner: 'Topic-scoped instructions, optionally gated by file paths',166 oneLiner: 'Topic-scoped instructions, optionally gated by file paths',

167 when: <>Rules without <C>paths:</C> load at session start. Rules with <C>paths:</C> load when a matching file enters context</>,167 when: <>Rules without <C>paths:</C> load at session start. Rules with <C>paths:</C> load when Claude reads, writes, or edits a matching file</>,

168 description: [<>Project instructions split into topic files that can load conditionally based on file paths. A rule without <C>paths:</C> frontmatter loads at session start like CLAUDE.md; a rule with <C>paths:</C> loads only when Claude reads, writes, or edits a matching file.</>, <>Like CLAUDE.md, rules are guidance Claude reads, not configuration Claude Code enforces. For guaranteed behavior use <A href="/docs/en/hooks">hooks</A> or <A href="/docs/en/permissions">permissions</A>.</>],168 description: [<>Project instructions split into topic files that can load conditionally based on file paths. A rule without <C>paths:</C> frontmatter loads at session start like CLAUDE.md; a rule with <C>paths:</C> loads only when Claude reads, writes, or edits a matching file.</>, <>Like CLAUDE.md, rules are guidance Claude reads, not configuration Claude Code enforces. For guaranteed behavior use <A href="/docs/en/hooks">hooks</A> or <A href="/docs/en/permissions">permissions</A>.</>],

169 tips: [<>Use <C>paths:</C> frontmatter with globs to scope rules to directories or file types</>, <>Subdirectories work: <C>.claude/rules/frontend/react.md</C> is discovered automatically</>, 'When CLAUDE.md approaches 200 lines, start splitting into rules'],169 tips: [<>Use <C>paths:</C> frontmatter with globs to scope rules to directories or file types</>, <>Subdirectories work: <C>.claude/rules/frontend/react.md</C> is discovered automatically</>, 'When CLAUDE.md approaches 200 lines, start splitting into rules'],

170 docsLink: '/en/memory#organize-rules-with-claude/rules/',170 docsLink: '/en/memory#organize-rules-with-claude/rules/',


176 color: '#9B7BC4',176 color: '#9B7BC4',

177 badge: 'committed',177 badge: 'committed',

178 oneLiner: 'Test conventions scoped to test files',178 oneLiner: 'Test conventions scoped to test files',

179 when: <>Loaded when Claude reads a file matching the <C>paths:</C> globs below</>,179 when: <>Loaded when Claude reads, writes, or edits a file matching the <C>paths:</C> globs below</>,

180 description: <>An example rule that only loads when Claude is working on test files. The <C>paths:</C> globs in the frontmatter define which files trigger it; here, anything ending in .test.ts or .test.tsx. For other files, this rule is not loaded into context.</>,180 description: <>An example rule that only loads when Claude is working on test files. The <C>paths:</C> globs in the frontmatter define which files trigger it; here, anything ending in .test.ts or .test.tsx. For other files, this rule is not loaded into context.</>,

181 example: `---181 example: `---

182paths:182paths:


197 color: '#9B7BC4',197 color: '#9B7BC4',

198 badge: 'committed',198 badge: 'committed',

199 oneLiner: 'API conventions scoped to backend code',199 oneLiner: 'API conventions scoped to backend code',

200 when: <>Loaded when Claude reads a file matching the <C>paths:</C> glob below</>,200 when: <>Loaded when Claude reads, writes, or edits a file matching the <C>paths:</C> glob below</>,

201 description: <>A second example showing a rule scoped to backend code. The <C>paths:</C> glob matches files under src/api/, so these conventions load only when Claude is editing API routes.</>,201 description: <>A second example showing a rule scoped to backend code. The <C>paths:</C> glob matches files under src/api/, so these conventions load only when Claude is working on API routes.</>,

202 example: `---202 example: `---

203paths:203paths:

204 - "src/api/**/*.ts"204 - "src/api/**/*.ts"


605 icon: 'folder',605 icon: 'folder',

606 color: '#9B7BC4',606 color: '#9B7BC4',

607 oneLiner: 'User-level rules that apply to every project',607 oneLiner: 'User-level rules that apply to every project',

608 when: <>Rules without <C>paths:</C> load at session start. Rules with <C>paths:</C> load when a matching file enters context</>,608 when: <>Rules without <C>paths:</C> load at session start. Rules with <C>paths:</C> load when Claude reads, writes, or edits a matching file</>,

609 description: 'Same as project .claude/rules/ but applies everywhere. Use this for conventions you want across all your work, like personal code style or commit message format.',609 description: 'Same as project .claude/rules/ but applies everywhere. Use this for conventions you want across all your work, like personal code style or commit message format.',

610 docsLink: '/en/memory#organize-rules-with-claude/rules/',610 docsLink: '/en/memory#organize-rules-with-claude/rules/',

611 children: []611 children: []


1434 1434 

1435Unter Windows wird `~/.claude` zu `%USERPROFILE%\.claude` aufgelöst. Wenn Sie [`CLAUDE_CONFIG_DIR`](/docs/de/env-vars) setzen, lebt jeder `~/.claude`-Pfad auf dieser Seite stattdessen unter diesem Verzeichnis.1435Unter Windows wird `~/.claude` zu `%USERPROFILE%\.claude` aufgelöst. Wenn Sie [`CLAUDE_CONFIG_DIR`](/docs/de/env-vars) setzen, lebt jeder `~/.claude`-Pfad auf dieser Seite stattdessen unter diesem Verzeichnis.

1436 1436 

1437Die meisten Benutzer bearbeiten nur `CLAUDE.md` und `settings.json`. Wenn Ihr Repository bereits eine `AGENTS.md` für andere Coding-Agenten hat, kann Claude Code [diese](/docs/de/memory#agents-md) eigenständig oder zusammen mit `CLAUDE.md` lesen. Der Rest des Verzeichnisses ist optional: Fügen Sie Skills, Rules oder Subagents hinzu, wenn Sie sie benötigen.1437Die meisten Benutzer bearbeiten nur `CLAUDE.md` und `settings.json`. Wenn Ihr Repository bereits eine `AGENTS.md` für andere Coding-Agenten hat, kann Claude Code [diese](/docs/de/memory#agents-md) anstelle einer `CLAUDE.md` lesen. Der Rest des Verzeichnisses ist optional: Fügen Sie Skills, Regeln oder Subagenten hinzu, wenn Sie sie benötigen.

1438 1438 

1439<h2 id="explore-the-directory">1439<h2 id="explore-the-directory">

1440 Erkunden Sie das Verzeichnis1440 Erkunden Sie das Verzeichnis


1454| - | - | - |1454| - | - | - |

1455| `managed-settings.json` | Systemebene, variiert je nach Betriebssystem | Von Unternehmen erzwungene Einstellungen, die Sie nicht überschreiben können, mit Ausnahme von [engen Ausnahmen](/docs/de/settings#security-keys-where-the-stricter-value-applies). Siehe [wo die Datei gespeichert werden soll](/docs/de/managed-settings#deploy-a-managed-settings-file) und [welche verwaltete Quelle Claude Code verwendet](/docs/de/managed-settings#precedence-within-the-managed-tier). |1455| `managed-settings.json` | Systemebene, variiert je nach Betriebssystem | Von Unternehmen erzwungene Einstellungen, die Sie nicht überschreiben können, mit Ausnahme von [engen Ausnahmen](/docs/de/settings#security-keys-where-the-stricter-value-applies). Siehe [wo die Datei gespeichert werden soll](/docs/de/managed-settings#deploy-a-managed-settings-file) und [welche verwaltete Quelle Claude Code verwendet](/docs/de/managed-settings#precedence-within-the-managed-tier). |

1456| `CLAUDE.local.md` | Projektstammverzeichnis | Ihre privaten Voreinstellungen für dieses Projekt, geladen zusammen mit CLAUDE.md. Erstellen Sie es manuell und fügen Sie es zu `.gitignore` hinzu. |1456| `CLAUDE.local.md` | Projektstammverzeichnis | Ihre privaten Voreinstellungen für dieses Projekt, geladen zusammen mit CLAUDE.md. Erstellen Sie es manuell und fügen Sie es zu `.gitignore` hinzu. |

1457| `AGENTS.md` | Projektstammverzeichnis, `.claude/` oder ein beliebiges Verzeichnis | Projektanweisungen, die Sie für KI-Codierungs-Agenten schreiben. Claude Code kann [sie laden](/docs/de/memory#agents-md) eigenständig oder zusammen mit `CLAUDE.md`. |1457| `AGENTS.md` | Projektstammverzeichnis, `.claude/` oder ein beliebiges Verzeichnis | Projektanweisungen, die Sie für KI-Codierungs-Agenten schreiben. Claude Code kann sie anstelle einer `CLAUDE.md` [laden](/docs/de/memory#agents-md). |

1458| Installierte Plugins | `~/.claude/plugins` | Geklonte Marketplaces, installierte Plugin-Versionen, der `installed_plugins.json`-Installationsdatensatz und Pro-Plugin-Daten, verwaltet durch `claude plugin`-Befehle. Plugins [synchronisiert von Ihrem claude.ai-Konto](/docs/de/plugins/loading#synced-plugins) werden in `~/.claude/plugins/synced/` heruntergeladen. Für ein Plugin, das von einem Marketplace mit [`command`-Quelle](/docs/de/plugins/marketplace-reference#command-plugin-source) im Link-Modus installiert wurde, speichert Claude Code hier Links statt einer Kopie, und die Dateien des Plugins bleiben in dem Verzeichnis, das der Befehl ausgibt. Eine `command`-Quelle erfordert Claude Code v2.1.229 oder später. Ein Plugin, das nach relativem Pfad in einem Marketplace aufgelistet ist, den Sie über einen lokalen Pfad hinzugefügt haben, wird ebenfalls [an Ort und Stelle geladen](/docs/de/plugins/loading#find-plugins-on-disk) aus seinem Quellverzeichnis statt aus einer Cache-Kopie. Siehe [Plugin-Caching](/docs/de/plugins/loading#find-plugins-on-disk) für die Bereinigung verwaister Versionen. |1458| Installierte Plugins | `~/.claude/plugins` | Geklonte Marketplaces, installierte Plugin-Versionen, der `installed_plugins.json`-Installationsdatensatz und Pro-Plugin-Daten, verwaltet durch `claude plugin`-Befehle. Plugins [synchronisiert von Ihrem claude.ai-Konto](/docs/de/plugins/loading#synced-plugins) werden in `~/.claude/plugins/synced/` heruntergeladen. Für ein Plugin, das von einem Marketplace mit [`command`-Quelle](/docs/de/plugins/marketplace-reference#command-plugin-source) im Link-Modus installiert wurde, speichert Claude Code hier Links statt einer Kopie, und die Dateien des Plugins bleiben in dem Verzeichnis, das der Befehl ausgibt. Eine `command`-Quelle erfordert Claude Code v2.1.229 oder später. Ein Plugin, das nach relativem Pfad in einem Marketplace aufgelistet ist, den Sie über einen lokalen Pfad hinzugefügt haben, wird ebenfalls [an Ort und Stelle geladen](/docs/de/plugins/loading#find-plugins-on-disk) aus seinem Quellverzeichnis statt aus einer Cache-Kopie. Siehe [Plugin-Caching](/docs/de/plugins/loading#find-plugins-on-disk) für die Bereinigung verwaister Versionen. |

1459 1459 

1460`~/.claude` enthält auch Daten, die Claude Code während der Arbeit schreibt: Transkripte, Prompt-Verlauf, Datei-Snapshots, Caches und Logs. Siehe [Anwendungsdaten](#application-data) unten.1460`~/.claude` enthält auch Daten, die Claude Code während der Arbeit schreibt: Transkripte, Prompt-Verlauf, Datei-Snapshots, Caches und Logs. Siehe [Anwendungsdaten](#application-data) unten.

claude-projects.md +44 −44

Details

7> Geben Sie Claude einen Bestand zusammenhängender Arbeiten in einem Gespräch und lassen Sie ihn parallele Cloud-Sitzungen koordinieren, die Repositorys, Anweisungen und Speicher gemeinsam nutzen.7> Geben Sie Claude einen Bestand zusammenhängender Arbeiten in einem Gespräch und lassen Sie ihn parallele Cloud-Sitzungen koordinieren, die Repositorys, Anweisungen und Speicher gemeinsam nutzen.

8 8 

9<Note>9<Note>

10 Projekte befinden sich in der öffentlichen Beta auf Pro- und Max-Plänen und werden schrittweise eingeführt, beginnend mit Konten, die [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) verwendet haben und keine vorhandenen Projekte in claude.ai-Chat oder Cowork haben. Sie sind noch nicht auf Team- oder Enterprise-Plänen verfügbar. Wenn **Projekte** nicht in der Seitenleiste unter [claude.ai/code](https://claude.ai/code) oder auf der Registerkarte „Code" der [Desktop-App](/docs/de/desktop) angezeigt wird, hat die Einführung Ihr Konto noch nicht erreicht, und Sie können sich [auf die Warteliste eintragen](https://claude.com/form/projects). [Agenten parallel ausführen](/docs/de/agents) listet auf, was Sie in der Zwischenzeit verwenden können.10 Projekte befinden sich in der öffentlichen Beta auf Pro- und Max-Plänen und werden schrittweise eingeführt, beginnend mit Konten, die [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) verwendet haben und keine vorhandenen Projekte in claude.ai-Chat oder Cowork haben. Sie sind noch nicht auf Team- oder Enterprise-Plänen verfügbar. Wenn **Projekte** nicht in der Seitenleiste unter [claude.ai/code](https://claude.ai/code) oder auf der Registerkarte „Code“ der [Desktop-App](/docs/de/desktop) angezeigt wird, hat die Einführung Ihr Konto noch nicht erreicht, und Sie können sich [auf die Warteliste eintragen](https://claude.com/form/projects). [Agenten parallel ausführen](/docs/de/agents) listet auf, was Sie in der Zwischenzeit verwenden können.

11</Note>11</Note>

12 12 

13Ein Projekt ist ein laufendes Gespräch, in dem Claude einen Strom zusammenhängender Arbeiten für Sie koordiniert. Sie teilen ihm mit, was getan werden muss, und er startet einen Thread für jede Aufgabe.13Ein Projekt ist ein laufendes Gespräch, in dem Claude einen Strom zusammenhängender Arbeiten für Sie koordiniert. Sie teilen ihm mit, was getan werden muss, und er startet einen Thread für jede Aufgabe.


28 28 

29Ein Projekt lohnt sich, wenn die Arbeit ein Ziel hat, das eine Sitzung übersteigt und weiterhin Aufgaben erzeugt. Diese Arten von Arbeiten eignen sich gut für ein Projekt:29Ein Projekt lohnt sich, wenn die Arbeit ein Ziel hat, das eine Sitzung übersteigt und weiterhin Aufgaben erzeugt. Diese Arten von Arbeiten eignen sich gut für ein Projekt:

30 30 

31* **Ein Ziel über viele Repositories**: „Bringen Sie jeden Service auf die neue Lint-Konfiguration." Claude kann einen Thread pro Repository ausführen, jeder mit seinem eigenen Pull Request, und der [**Übersichts**-Bereich](#see-what-needs-you-in-overview) zeigt, welche zur Überprüfung bereit sind.31* **Ein Ziel über viele Repositories**: „Bringen Sie jeden Service auf die neue Lint-Konfiguration.“ Claude kann einen Thread pro Repository ausführen, jeder mit seinem eigenen Pull Request, und der [**Übersichts**-Bereich](#see-what-needs-you-in-overview) zeigt, welche zur Überprüfung bereit sind.

32* **Ein Bereich, den Sie ständig füttern**: Die Fehler, Stack-Traces und Überprüfungsanfragen für einen Service, die in das Gespräch eingefügt werden, wenn sie Sie erreichen. Eine Fallstricke, die Sie Claude nach einer Reparatur merken lassen, ist im [Projektgedächtnis](#give-a-project-standing-context) für die nächste.32* **Ein Bereich, den Sie ständig füttern**: Die Fehler, Stack-Traces und Überprüfungsanfragen für einen Service, die in das Gespräch eingefügt werden, wenn sie Sie erreichen. Eine Fallstricke, die Sie Claude nach einer Reparatur merken lassen, ist im [Projektgedächtnis](#give-a-project-standing-context) für die nächste.

33* **Ein Build oder eine Migration größer als eine Sitzung**: „Bauen Sie, was `docs/spec.md` beschreibt" oder „Verschieben Sie die App weg vom veralteten ORM." Die Arbeit teilt sich in Threads auf, die jeweils einen Teil übernehmen, Entscheidungen, die Sie Claude früh merken lassen, erreichen die späteren Threads, und die Spec-Änderungen und Fehler, die Sie während des Builds finden, gehen in das gleiche Gespräch.33* **Ein Build oder eine Migration größer als eine Sitzung**: „Bauen Sie, was `docs/spec.md` beschreibt“ oder „Verschieben Sie die App weg vom veralteten ORM.“ Die Arbeit teilt sich in Threads auf, die jeweils einen Teil übernehmen, Entscheidungen, die Sie Claude früh merken lassen, erreichen die späteren Threads, und die Spec-Änderungen und Fehler, die Sie während des Builds finden, gehen in das gleiche Gespräch.

34* **Arbeit, die kein Code ist**: Ein Ordner mit Verträgen oder ein Support-Ticket-Export, zu dem Sie ständig mit neuen Fragen zurückkehren, wie z. B. „Finden Sie die zehn häufigsten Integrationsfehler in diesen Tickets." Laden Sie die Dokumente hoch, anstatt ein Repository hinzuzufügen, und Threads liefern jede Zusammenfassung als Datei auf der Registerkarte [**Bibliothek**](#see-what-needs-you-in-overview) des Projekts.34* **Arbeit, die kein Code ist**: Ein Ordner mit Verträgen oder ein Support-Ticket-Export, zu dem Sie ständig mit neuen Fragen zurückkehren, wie z. B. „Finden Sie die zehn häufigsten Integrationsfehler in diesen Tickets.“ Laden Sie die Dokumente hoch, anstatt ein Repository hinzuzufügen, und Threads liefern jede Zusammenfassung als Datei auf der Registerkarte [**Bibliothek**](#see-what-needs-you-in-overview) des Projekts.

35 35 

36In jedem dieser Fälle können Sie einen Batch von Aufgaben senden, Claude anweisen, ohne Sie zur Bestätigung aufzufordern zu starten, weggehen und die Threads finden, die Sie unter [**Warten auf Sie**](#see-what-needs-you-in-overview) benötigen, wenn Sie zurück sind, oder Claude bitten, einen Teil der Arbeit als [Routine](/docs/de/routines) zu planen. Wenn einer dieser Fälle Ihre Situation ist, [erstellen Sie ein Projekt](#create-a-project).36In jedem dieser Fälle können Sie einen Batch von Aufgaben senden, Claude anweisen, ohne Sie zur Bestätigung aufzufordern zu starten, weggehen und die Threads finden, die Sie unter [**Warten auf Sie**](#see-what-needs-you-in-overview) benötigen, wenn Sie zurück sind, oder Claude bitten, einen Teil der Arbeit als [Routine](/docs/de/routines) zu planen. Wenn einer dieser Fälle Ihre Situation ist, [erstellen Sie ein Projekt](#create-a-project).

37 37 


41 41 

42Ein Projekt passt immer noch, wenn nur einige Aufgaben Ihren Computer benötigen. Cloud-Threads funktionieren auf GitHub-Repositories und auf Dateien, Ordnern und Google Drive-Ordnern, die Sie in das Projekt hochladen, und für die gelegentliche Aufgabe, die eine lokale Datenbank oder ein Tool auf Ihrem Computer benötigt, können Sie Claude bitten, [diesen Thread des Projekts auf Ihrem Computer auszuführen](#run-a-thread-on-your-own-computer). Etwas anderes passt besser in diesen Fällen:42Ein Projekt passt immer noch, wenn nur einige Aufgaben Ihren Computer benötigen. Cloud-Threads funktionieren auf GitHub-Repositories und auf Dateien, Ordnern und Google Drive-Ordnern, die Sie in das Projekt hochladen, und für die gelegentliche Aufgabe, die eine lokale Datenbank oder ein Tool auf Ihrem Computer benötigt, können Sie Claude bitten, [diesen Thread des Projekts auf Ihrem Computer auszuführen](#run-a-thread-on-your-own-computer). Etwas anderes passt besser in diesen Fällen:

43 43 

44* **Eine Aufgabe, die in eine Sitzung passt**: „Reparieren Sie den instabilen Login-Test." Starten Sie selbst eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web).44* **Eine Aufgabe, die in eine Sitzung passt**: „Reparieren Sie den instabilen Login-Test.“ Starten Sie selbst eine [Cloud-Sitzung](/docs/de/claude-code-on-the-web).

45* **Arbeit, bei der jede Aufgabe Ihren Computer benötigt**: eine lokale Datenbank, einen Geräteemulator oder eine API hinter Ihrem VPN. Verwenden Sie eine lokale Sitzung oder [Agent-Ansicht](/docs/de/agent-view), um mehrere gleichzeitig auszuführen. Wenn die Arbeit nur lokale Dateien benötigt, laden Sie sie stattdessen in das Projekt hoch.45* **Arbeit, bei der jede Aufgabe Ihren Computer benötigt**: eine lokale Datenbank, einen Geräteemulator oder eine API hinter Ihrem VPN. Verwenden Sie eine lokale Sitzung oder [Agent-Ansicht](/docs/de/agent-view), um mehrere gleichzeitig auszuführen. Wenn die Arbeit nur lokale Dateien benötigt, laden Sie sie stattdessen in das Projekt hoch.

46* **Eine Aufgabe, die sich nach einem Zeitplan ohne Gespräch wiederholt**: „Veröffentlichen Sie jeden Montag einen Abhängigkeitsbericht." Erstellen Sie eine [Routine](/docs/de/routines) für sich allein.46* **Eine Aufgabe, die sich nach einem Zeitplan ohne Gespräch wiederholt**: „Veröffentlichen Sie jeden Montag einen Abhängigkeitsbericht.“ Erstellen Sie eine [Routine](/docs/de/routines) für sich allein.

47* **Mehrere Personen geben Claude Arbeit und lenken sie zusammen in einem Slack-Kanal**: Siehe [Claude Tag](https://claude.com/docs/claude-tag/overview).47* **Mehrere Personen geben Claude Arbeit und lenken sie zusammen in einem Slack-Kanal**: Siehe [Claude Tag](https://claude.com/docs/claude-tag/overview).

48 48 

49Ein Projekt nutzt die gleichen Planlimits wie Ihre anderen Claude Code-Sitzungen und nutzt sie schneller. [Nutzung und Kosten](#usage-and-cost) behandelt, was Ihren Plan nutzt und wie Sie es niedrig halten.49Ein Projekt nutzt die gleichen Planlimits wie Ihre anderen Claude Code-Sitzungen und nutzt sie schneller. [Nutzung und Kosten](#usage-and-cost) behandelt, was Ihren Plan nutzt und wie Sie es niedrig halten.

50 50 

51<h2 id="how-a-project-is-organized">51<h2 id="how-a-project-is-organized">

52 Wie ein Projekt organisiert ist52 Wie ein Projekt aufgebaut ist

53</h2>53</h2>

54 54 

55Ein Projekt ist eine koordinierende Konversation mit Claude plus die Threads, die es startet, um die Arbeit zu erledigen. Dies sind seine Teile:55Ein Projekt besteht aus einer koordinierenden Konversation mit Claude sowie den Threads, die sie startet, um die Arbeit zu erledigen. Dies sind seine Bestandteile:

56 56 

57* **Die Projektkonversation**: eine lange laufende Sitzung, in der Claude als Koordinator fungiert. Sie nimmt das auf, was Sie senden, entscheidet, was zu einem Thread wird, und verfolgt jeden Thread, den sie gestartet hat. Sie sieht, was Threads zurückberichten, nicht jeden Schritt, den sie unternehmen.57* **Die Projektkonversation**: eine lang laufende Sitzung, in der Claude als Koordinator agiert. Sie nimmt entgegen, was Sie senden, entscheidet, was zu einem Thread wird, und behält den Überblick über jeden Thread, den sie gestartet hat. Sie sieht, was Threads zurückmelden, nicht jeden einzelnen Schritt, den sie ausführen.

58* **Threads**: die Worker. Jeder ist eine separate Sitzung mit seinem eigenen Kontextfenster, die ein Stück Arbeit erledigt und der Konversation Bericht erstattet, wenn sie fertig ist. Ein Cloud-Thread arbeitet in seinem eigenen Branch und öffnet einen Pull Request, wenn die Arbeit dies erfordert.58* **Threads**: die ausführenden Einheiten. Jeder Thread ist eine separate Sitzung mit eigenem Kontextfenster, die ein Arbeitspaket erledigt und nach Abschluss an die Konversation zurückmeldet. Ein Cloud-Thread arbeitet auf einem eigenen Branch und öffnet einen Pull Request, wenn die Arbeit dies erfordert.

59* **Was jeder Cloud-Thread startet mit**:59* **Womit jeder Cloud-Thread startet**:

60 * Die Repositories und Dateien des Projekts, plus seine [Anweisungen und Memory](#give-a-project-standing-context)60 * Die Repositorys und Dateien des Projekts sowie seine [Anweisungen und sein Memory](#give-a-project-standing-context)

61 * Die `CLAUDE.md` und Skills in [jedem der Repositories des Projekts](#what-threads-pick-up-from-your-repositories), und in einem Projekt mit einem Repository auch die Berechtigungsregeln und Hooks dieses Repositories61 * Die `CLAUDE.md` und Skills in [jedem Repository des Projekts](#what-threads-pick-up-from-your-repositories) und in einem Projekt mit nur einem Repository zusätzlich die Berechtigungsregeln und Hooks dieses Repositorys

62 * Die [Connectors](#get-skills-plugins-connectors-and-tools-into-threads) auf Ihrem claude.ai-Konto62 * Die [Konnektoren](#get-skills-plugins-connectors-and-tools-into-threads) in Ihrem claude.ai-Konto

63 * Eine [Cloud-Umgebung](#choose-an-environment-for-threads), die seinen Netzwerkzugriff, Umgebungsvariablen, API-Anmeldedaten und installierte Tools festlegt63 * Eine [Cloud-Umgebung](#choose-an-environment-for-threads), die Netzwerkzugriff, Umgebungsvariablen, Netzwerk-Secrets und installierte Tools festlegt

64* **Der Übersichtsbereich**: wo Sie [alle Threads auf einmal sehen](#see-what-needs-you-in-overview) und welche von ihnen Sie benötigen. Seine anderen Registerkarten sind **Library** für die Dateien, die Sie hinzugefügt haben, und die Dateien, die Threads produziert haben, **Pull requests** für die, die Threads geöffnet haben, und **Routines** für geplante Arbeit im Projekt.64* **Der Bereich Overview**: Hier [sehen Sie alle Threads auf einen Blick](#see-what-needs-you-in-overview) und welche davon Sie benötigen, also auf Sie warten. Die weiteren Tabs sind **Library** für die von Ihnen hinzugefügten und die von Threads erzeugten Dateien, **Pull requests** für die von Threads geöffneten Pull Requests und **Routines** für geplante Arbeit im Projekt.

65 65 

66Cloud-Threads übernehmen nichts aus dem Claude Code-Setup auf Ihrem eigenen Computer. [Get skills, plugins, connectors, and tools into threads](#get-skills-plugins-connectors-and-tools-into-threads) behandelt, wie Sie ihnen das geben, was ihnen sonst fehlen würde.66Cloud-Threads übernehmen nichts aus der Claude Code-Einrichtung auf Ihrem eigenen Rechner. Unter [Skills, Plugins, Konnektoren und Tools in Threads verfügbar machen](#get-skills-plugins-connectors-and-tools-into-threads) erfahren Sie, wie Sie ihnen bereitstellen, was ihnen sonst fehlen würde.

67 67 

68Hier ist, wie diese Teile verbunden sind, von Ihnen durch die Konversation zu den Threads, die die Arbeit erledigen, mit **Overview**, das ihren Zustand verfolgt:68So hängen diese Bestandteile zusammen, von Ihnen über die Konversation bis zu den Threads, die die Arbeit erledigen, wobei **Overview** ihren Status verfolgt:

69 69 

70<Frame>70<Frame>

71 <img src="https://mintcdn.com/claude-code/e8CLbxM17eD7cAiv/images/claude-projects-overview.svg?fit=max&auto=format&n=e8CLbxM17eD7cAiv&q=85&s=dbf446f69f0bbdb9961d21af207cb93b" className="dark:hidden" alt="Diagramm eines Projekts. Sie schreiben in der Projektkonversation, wo Claude antwortet oder einen Thread startet. Jeder Cloud-Thread arbeitet in seinem eigenen Branch und Pull Request. Der Übersichtsbereich listet Threads nach Zustand auf, z. B. bereit zur Überprüfung, wartet auf Sie und arbeitet." width="600" height="250" data-path="images/claude-projects-overview.svg" />71 <img src="https://mintcdn.com/claude-code/e8CLbxM17eD7cAiv/images/claude-projects-overview.svg?fit=max&auto=format&n=e8CLbxM17eD7cAiv&q=85&s=dbf446f69f0bbdb9961d21af207cb93b" className="dark:hidden" alt="Diagramm eines Projekts. Sie schreiben in der Projektkonversation, in der Claude antwortet oder einen Thread startet. Jeder Cloud-Thread arbeitet auf einem eigenen Branch und Pull Request. Der Bereich Overview listet Threads nach Status auf, etwa bereit zur Überprüfung, wartet auf Sie und in Arbeit." width="600" height="250" data-path="images/claude-projects-overview.svg" />

72 72 

73 <img src="https://mintcdn.com/claude-code/e8CLbxM17eD7cAiv/images/claude-projects-overview-dark.svg?fit=max&auto=format&n=e8CLbxM17eD7cAiv&q=85&s=549a5ba9fea8433729babc37a1f6e9c8" className="hidden dark:block" alt="Diagramm eines Projekts. Sie schreiben in der Projektkonversation, wo Claude antwortet oder einen Thread startet. Jeder Cloud-Thread arbeitet in seinem eigenen Branch und Pull Request. Der Übersichtsbereich listet Threads nach Zustand auf, z. B. bereit zur Überprüfung, wartet auf Sie und arbeitet." width="600" height="250" data-path="images/claude-projects-overview-dark.svg" />73 <img src="https://mintcdn.com/claude-code/e8CLbxM17eD7cAiv/images/claude-projects-overview-dark.svg?fit=max&auto=format&n=e8CLbxM17eD7cAiv&q=85&s=549a5ba9fea8433729babc37a1f6e9c8" className="hidden dark:block" alt="Diagramm eines Projekts. Sie schreiben in der Projektkonversation, in der Claude antwortet oder einen Thread startet. Jeder Cloud-Thread arbeitet auf einem eigenen Branch und Pull Request. Der Bereich Overview listet Threads nach Status auf, etwa bereit zur Überprüfung, wartet auf Sie und in Arbeit." width="600" height="250" data-path="images/claude-projects-overview-dark.svg" />

74</Frame>74</Frame>

75 75 

76<h2 id="create-a-project">76<h2 id="create-a-project">

77 Erstellen Sie ein Projekt77 Erstellen Sie ein Projekt

78</h2>78</h2>

79 79 

80Sie erstellen und verwenden Projekte unter [claude.ai/code](https://claude.ai/code), auf der Registerkarte „Code" der Desktop-App oder in der Claude-Mobile-App für [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) und [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude). Im Browser und in der Desktop-App gibt es zwei Möglichkeiten, ein Projekt zu starten:80Sie erstellen und verwenden Projekte unter [claude.ai/code](https://claude.ai/code), auf der Registerkarte „Code“ der Desktop-App oder in der Claude-Mobile-App für [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) und [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude). Im Browser und in der Desktop-App gibt es zwei Möglichkeiten, ein Projekt zu starten:

81 81 

82* **Von Grund auf**, wenn Sie den Strom von Arbeiten kennen, die Claude ausführen soll: Öffnen Sie den Dialog **Neues Projekt** und benennen Sie ihn. [Starten Sie ein neues Projekt von Grund auf](#start-a-new-project-from-scratch) führt Sie durch den Dialog.82* **Von Grund auf**, wenn Sie den Strom von Arbeiten kennen, die Claude ausführen soll: Öffnen Sie den Dialog **Neues Projekt** und benennen Sie ihn. [Starten Sie ein neues Projekt von Grund auf](#start-a-new-project-from-scratch) führt Sie durch den Dialog.

83* **Aus einer Cloud-Sitzung, die bereits die Arbeit erledigt**: Wählen Sie **Als Projekt fortfahren** aus dem Menü dieser Sitzung, und Claude schlägt die Projekteinrichtung aus dem vor, was die Sitzung tat. Siehe [Von einer vorhandenen Cloud-Sitzung starten](#start-from-an-existing-cloud-session).83* **Aus einer Cloud-Sitzung, die bereits die Arbeit erledigt**: Wählen Sie **Als Projekt fortfahren** aus dem Menü dieser Sitzung, und Claude schlägt die Projekteinrichtung aus dem vor, was die Sitzung tat. Siehe [Von einer vorhandenen Cloud-Sitzung starten](#start-from-an-existing-cloud-session).


92 92 

93* **Plan**: Sie sind auf Pro oder Max und **Projekte** werden in Ihrer Seitenleiste angezeigt.93* **Plan**: Sie sind auf Pro oder Max und **Projekte** werden in Ihrer Seitenleiste angezeigt.

94* **GitHub, wenn das Projekt an Code arbeitet**: Ihr Code ist auf github.com statt auf GitHub Enterprise Server, GitLab oder Bitbucket, Ihr verbundenes GitHub-Konto hat Push-Zugriff darauf, und die Claude GitHub App ist darauf installiert. Wenn Sie GitHub mit [`/web-setup`](/docs/de/web-quickstart#connect-from-your-terminal) verbunden haben, ermöglicht dieses Token Ihren anderen Cloud-Sitzungen, ein Repository zu erreichen, reicht aber nicht für Projekt-Cloud-Threads aus, die die Claude GitHub App benötigen. [Richten Sie GitHub-Zugriff ein](#set-up-github-access) hat die Schritte.94* **GitHub, wenn das Projekt an Code arbeitet**: Ihr Code ist auf github.com statt auf GitHub Enterprise Server, GitLab oder Bitbucket, Ihr verbundenes GitHub-Konto hat Push-Zugriff darauf, und die Claude GitHub App ist darauf installiert. Wenn Sie GitHub mit [`/web-setup`](/docs/de/web-quickstart#connect-from-your-terminal) verbunden haben, ermöglicht dieses Token Ihren anderen Cloud-Sitzungen, ein Repository zu erreichen, reicht aber nicht für Projekt-Cloud-Threads aus, die die Claude GitHub App benötigen. [Richten Sie GitHub-Zugriff ein](#set-up-github-access) hat die Schritte.

95* **Netzwerk, Anmeldedaten und Tools**: Für Cloud-Threads stammen diese aus der [Cloud-Umgebung](#choose-an-environment-for-threads) des Projekts. Die Standardumgebung erreicht bereits [häufige Paket-Registries](/docs/de/cloud-environments#default-allowed-domains), überprüfen Sie dies also nur, wenn die Arbeit andere Domains, ein Geheimnis oder ein Tool benötigt, das nicht vorinstalliert ist. Wenn die Arbeit einen MCP-Server benötigt, überprüfen Sie, dass er als verbunden in Ihren [claude.ai-Connectors](https://claude.ai/customize/connectors) angezeigt wird.95* **Netzwerk, Geheimnisse und Tools**: Für Cloud-Threads stammen diese aus der [Cloud-Umgebung](#choose-an-environment-for-threads) des Projekts. Die Standardumgebung erreicht bereits [häufige Paket-Registries](/docs/de/cloud-environments#default-allowed-domains), überprüfen Sie dies also nur, wenn die Arbeit andere Domains, ein Geheimnis oder ein Tool benötigt, das nicht vorinstalliert ist. Wenn die Arbeit einen MCP-Server benötigt, überprüfen Sie, dass er als verbunden in Ihren [claude.ai-Konnektoren](https://claude.ai/customize/connectors) angezeigt wird.

96 96 

97<h3 id="start-a-new-project-from-scratch">97<h3 id="start-a-new-project-from-scratch">

98 Starten Sie ein neues Projekt von Grund auf98 Starten Sie ein neues Projekt von Grund auf


102 102 

103<Steps>103<Steps>

104 <Step title="Öffnen Sie Projekte">104 <Step title="Öffnen Sie Projekte">

105 Wählen Sie unter [claude.ai/code](https://claude.ai/code) oder auf der Registerkarte „Code" der Desktop-App **Projekte** in der linken Seitenleiste und dann **Neues Projekt**. In einem Browser können Sie auch direkt zu [claude.ai/code/projects/browse](https://claude.ai/code/projects/browse) gehen.105 Wählen Sie unter [claude.ai/code](https://claude.ai/code) oder auf der Registerkarte „Code“ der Desktop-App **Projekte** in der linken Seitenleiste und dann **Neues Projekt**. In einem Browser können Sie auch direkt zu [claude.ai/code/projects/browse](https://claude.ai/code/projects/browse) gehen.

106 </Step>106 </Step>

107 107 

108 <Step title="Füllen Sie den Dialog „Neues Projekt&#x22; aus">108 <Step title="Füllen Sie den Dialog „Neues Projekt&#x22; aus">

109 Beschränken Sie das Projekt auf einen Strom von Arbeiten, den Sie ständig hinzufügen, wie z. B. alles, was erforderlich ist, um eine API unter ihrem Latenz-Ziel zu halten. [Wann ein Projekt verwendet werden sollte](#when-to-use-a-project) hat mehr Beispiele. Füllen Sie dann die Felder des Dialogs aus:109 Beschränken Sie das Projekt auf einen Strom von Arbeiten, den Sie ständig hinzufügen, wie z. B. alles, was erforderlich ist, um eine API unter ihrem Latenz-Ziel zu halten. [Wann ein Projekt verwendet werden sollte](#when-to-use-a-project) hat mehr Beispiele. Füllen Sie dann die Felder des Dialogs aus:

110 110 

111 * **Name**: Wie das Projekt in der Liste **Projekte** angezeigt wird.111 * **Name**: Wie das Projekt in der Liste **Projekte** angezeigt wird.

112 * **Ziel** (optional): Eine Zeile, was Sie versuchen zu erreichen, wie z. B. „Halten Sie die p95-API-Latenz unter 200 ms". Claude im Gespräch arbeitet darauf hin. Ohne ein Ziel arbeitet Claude aus den Aufgaben, die Sie senden, und Sie können später ein Ziel in **Projekteinstellungen > Allgemein** hinzufügen.112 * **Ziel** (optional): Eine Zeile, was Sie versuchen zu erreichen, wie z. B. „Halten Sie die p95-API-Latenz unter 200 ms“. Claude im Gespräch arbeitet darauf hin. Ohne ein Ziel arbeitet Claude aus den Aufgaben, die Sie senden, und Sie können später ein Ziel in **Projekteinstellungen > Allgemein** hinzufügen.

113 * **Kontext** (optional): Die GitHub-Repositories, an denen dieses Projekt arbeitet, plus alle Dateien, Ordner oder Google Drive-Ordner, die Threads lesen sollten. Klicken Sie für jeden auf **Hinzufügen**. Fügen Sie die Repositories hinzu, die die meisten Aufgaben benötigen, anstatt jeden, den die Arbeit möglicherweise berührt; [Entscheiden Sie, welche Repositories hinzugefügt werden sollen](#decide-which-repositories-to-add) behandelt die Wahl, und Sie können später mehr in **Projekteinstellungen > Umgebung** hinzufügen.113 * **Kontext** (optional): Die GitHub-Repositories, an denen dieses Projekt arbeitet, plus alle Dateien, Ordner oder Google Drive-Ordner, die Threads lesen sollten. Klicken Sie für jeden auf **Hinzufügen**. Fügen Sie die Repositories hinzu, die die meisten Aufgaben benötigen, anstatt jeden, den die Arbeit möglicherweise berührt; [Entscheiden Sie, welche Repositories hinzugefügt werden sollen](#decide-which-repositories-to-add) behandelt die Wahl, und Sie können später mehr in **Projekteinstellungen > Umgebung** hinzufügen.

114 114 

115 Stehende Regeln für die Funktionsweise von Threads gehen in [Projektanweisungen](#give-a-project-standing-context), die Sie nach der Projekterstellung festlegen.115 Stehende Regeln für die Funktionsweise von Threads gehen in [Projektanweisungen](#give-a-project-standing-context), die Sie nach der Projekterstellung festlegen.


396 Wählen Sie eine Umgebung für Threads396 Wählen Sie eine Umgebung für Threads

397</h3>397</h3>

398 398 

399Jeder neue Cloud-Thread startet in der [Cloud-Umgebung](/docs/de/cloud-environments) des Projekts. Die Umgebung legt fest, welche Domains Threads erreichen können, welche Umgebungsvariablen sie haben, welche API-Anmeldedaten zu ihren Anfragen hinzugefügt werden, und was das Setup-Skript installiert, bevor Claude startet. Cloud-Threads verwenden eine Standard-Anthropic-gehostete Umgebung, bis Sie eine in **Projekteinstellungen > Umgebung** auswählen.399Jeder neue Cloud-Thread startet in der [Cloud-Umgebung](/docs/de/cloud-environments) des Projekts. Die Umgebung legt fest, welche Domains Threads erreichen können, welche Umgebungsvariablen sie haben, welche Netzwerk-Secrets zu ihren Anfragen hinzugefügt werden und was das Setup-Skript installiert, bevor Claude startet. Cloud-Threads verwenden eine standardmäßige, von Anthropic gehostete Umgebung, bis Sie in **Projekteinstellungen > Umgebung** eine auswählen.

400 400 

401Wenn Cloud-Threads eine interne API oder eine private Package-Registry erreichen müssen oder ein Token benötigen, das Ihr Computer normalerweise hält, ändern Sie die Umgebung statt des Projekts: siehe [Netzwerkzugriff](/docs/de/cloud-environments#network-access), [API-Anmeldedaten hinzufügen](/docs/de/cloud-environments#add-api-credentials) und [Setup-Skripte](/docs/de/cloud-environments#setup-scripts).401Wenn Cloud-Threads eine interne API oder eine private Paket-Registry erreichen müssen oder ein Token benötigen, das normalerweise Ihr Computer bereithält, ändern Sie die Umgebung statt des Projekts: siehe [Netzwerkzugriff](/docs/de/cloud-environments#network-access), [Netzwerk-Secrets hinzufügen](/docs/de/cloud-environments#add-api-credentials) und [Setup-Skripte](/docs/de/cloud-environments#setup-scripts).

402 402 

403<h3 id="get-skills-plugins-connectors-and-tools-into-threads">403<h3 id="get-skills-plugins-connectors-and-tools-into-threads">

404 Bringen Sie Skills, Plugins, Connectors und Tools in Threads404 Bringen Sie Skills, Plugins, Connectors und Tools in Threads


443Alle drei Steuerelemente befinden sich am unteren Ende von **Projekteinstellungen > Allgemein**:443Alle drei Steuerelemente befinden sich am unteren Ende von **Projekteinstellungen > Allgemein**:

444 444 

445* **Pausieren**: stoppt alles auf einmal. Jeder laufende Thread und die Konversation werden unterbrochen, keine neuen Threads starten, Routinen werden nicht ausgeführt, und das Projekt akzeptiert keine Nachrichten, bis Sie es fortsetzen. Klicken Sie auf **Fortsetzen** an derselben Stelle oder auf dem Banner über dem Nachrichtenfeld des Projekts; ein pausierter Thread wird fortgesetzt, wenn Sie ihm danach eine Nachricht senden.445* **Pausieren**: stoppt alles auf einmal. Jeder laufende Thread und die Konversation werden unterbrochen, keine neuen Threads starten, Routinen werden nicht ausgeführt, und das Projekt akzeptiert keine Nachrichten, bis Sie es fortsetzen. Klicken Sie auf **Fortsetzen** an derselben Stelle oder auf dem Banner über dem Nachrichtenfeld des Projekts; ein pausierter Thread wird fortgesetzt, wenn Sie ihm danach eine Nachricht senden.

446* **Archivieren**: verbirgt das Projekt aus der Seitenleiste und archiviert seine Threads, was jeden Thread stoppt, der lief oder einen Pull Request überwachte. Routinen im Projekt werden nicht ausgeführt, während es archiviert ist. Um das Projekt zurückzubringen, öffnen Sie es von der Seite „Projekte" und klicken Sie auf **Archivierung aufheben**. Seine Threads bleiben archiviert, bis Sie sie einzeln aus der Sitzungsliste archivieren aufheben.446* **Archivieren**: verbirgt das Projekt aus der Seitenleiste und archiviert seine Threads, was jeden Thread stoppt, der lief oder einen Pull Request überwachte. Routinen im Projekt werden nicht ausgeführt, während es archiviert ist. Um das Projekt zurückzubringen, öffnen Sie es von der Seite „Projekte“ und klicken Sie auf **Archivierung aufheben**. Seine Threads bleiben archiviert, bis Sie sie einzeln aus der Sitzungsliste archivieren aufheben.

447* **Löschen**: entfernt das Projekt dauerhaft zusammen mit seinen Threads, seinem Memory und seinen Dateien und deaktiviert die Routinen des Projekts. Dies kann nicht rückgängig gemacht werden. Branches und Pull Requests, die die Threads zu GitHub gepusht haben, sind nicht betroffen.447* **Löschen**: entfernt das Projekt dauerhaft zusammen mit seinen Threads, seinem Memory und seinen Dateien und deaktiviert die Routinen des Projekts. Dies kann nicht rückgängig gemacht werden. Branches und Pull Requests, die die Threads zu GitHub gepusht haben, sind nicht betroffen.

448 448 

449<h2 id="usage-and-cost">449<h2 id="usage-and-cost">


523 Threads haben geraten oder stecken fest, anstatt zu fragen523 Threads haben geraten oder stecken fest, anstatt zu fragen

524</h3>524</h3>

525 525 

526Wenn mehrere Threads zurückkommen und etwas Falsches angenommen haben, fehlenden Zugriff umgangen haben oder mit „blockiert" gestoppt haben, ist die Ursache normalerweise die gleiche Lücke in der Einrichtung des Projekts statt eines Problems mit jeder Aufgabe. Sortieren Sie, welche Threads solide sind, bevor Sie etwas reparieren:526Wenn mehrere Threads zurückkommen und etwas Falsches angenommen haben, fehlenden Zugriff umgangen haben oder mit „blockiert“ gestoppt haben, ist die Ursache normalerweise die gleiche Lücke in der Einrichtung des Projekts statt eines Problems mit jeder Aufgabe. Sortieren Sie, welche Threads solide sind, bevor Sie etwas reparieren:

527 527 

5281. Bitten Sie Claude im Gespräch: „Für jeden offenen Thread, listen Sie auf, was Sie ihn zu tun aufgefordert haben, was er angenommen oder nicht erreichen konnte, und worauf es wartet." Claude liest jeden Thread und antwortet im Gespräch.5281. Bitten Sie Claude im Gespräch: „Für jeden offenen Thread, listen Sie auf, was Sie ihn zu tun aufgefordert haben, was er angenommen oder nicht erreichen konnte, und worauf es wartet.“ Claude liest jeden Thread und antwortet im Gespräch.

5292. Für Threads, die von einer falschen Annahme gestartet wurden, öffnen Sie den Thread von **Übersicht** und markieren Sie ihn als gelöst aus seinem Menü, oder sagen Sie ihm, was stattdessen zu tun ist, in seinem Nachrichtenfeld. Sein Branch und jeder Pull Request bleiben auf GitHub, bis Sie sie löschen.5292. Für Threads, die von einer falschen Annahme gestartet wurden, öffnen Sie den Thread von **Übersicht** und markieren Sie ihn als gelöst aus seinem Menü, oder sagen Sie ihm, was stattdessen zu tun ist, in seinem Nachrichtenfeld. Sein Branch und jeder Pull Request bleiben auf GitHub, bis Sie sie löschen.

5303. Reparieren Sie die Lücke einmal, in [Projektanweisungen](#give-a-project-standing-context) oder der [Umgebung](#choose-an-environment-for-threads), dann senden Sie einen Thread, bevor Sie den Rest der Arbeit erneut als neue Threads senden.5303. Reparieren Sie die Lücke einmal, in [Projektanweisungen](#give-a-project-standing-context) oder der [Umgebung](#choose-an-environment-for-threads), dann senden Sie einen Thread, bevor Sie den Rest der Arbeit erneut als neue Threads senden.

531 531 


533 Claude hat nicht geantwortet533 Claude hat nicht geantwortet

534</h3>534</h3>

535 535 

536Das Projektgespräch zeigt ein Banner „Claude hat nicht geantwortet", wenn Claude läuft, aber seine Antworten das Projekt nicht erreichen. Klicken Sie auf **Claude neu starten** auf dem Banner, oder gehen Sie zu **Projekteinstellungen > Allgemein** und klicken Sie auf **Neu starten** in der Zeile **Claude neu starten**. Claude verbindet sich erneut mit dem Gespräch; jede Antwort, die es gerade schrieb, geht verloren, und Threads sind nicht betroffen.536Das Projektgespräch zeigt ein Banner „Claude hat nicht geantwortet“, wenn Claude läuft, aber seine Antworten das Projekt nicht erreichen. Klicken Sie auf **Claude neu starten** auf dem Banner, oder gehen Sie zu **Projekteinstellungen > Allgemein** und klicken Sie auf **Neu starten** in der Zeile **Claude neu starten**. Claude verbindet sich erneut mit dem Gespräch; jede Antwort, die es gerade schrieb, geht verloren, und Threads sind nicht betroffen.

537 537 

538<h3 id="repository-access-errors">538<h3 id="repository-access-errors">

539 Repository-Zugriffsfehler539 Repository-Zugriffsfehler


541 541 

542Drei Nachrichten bedeuten, dass ein Thread oder das Projekt eines seiner Repositories nicht erreichen kann. Ein Projekt-Cloud-Thread benötigt die [GitHub-Voraussetzungen](#check-the-prerequisites) auch wenn Ihre anderen Cloud-Sitzungen das gleiche Repository ohne Probleme klonen.542Drei Nachrichten bedeuten, dass ein Thread oder das Projekt eines seiner Repositories nicht erreichen kann. Ein Projekt-Cloud-Thread benötigt die [GitHub-Voraussetzungen](#check-the-prerequisites) auch wenn Ihre anderen Cloud-Sitzungen das gleiche Repository ohne Probleme klonen.

543 543 

544* **„Konnte die Sitzung nicht starten — Claude hat keinen GitHub-Zugriff auf das Repository dieses Projekts"**, berichtet, bevor der Thread startet, wenn die Claude GitHub App nicht auf diesem Repository installiert ist, ausgesetzt ist oder nicht mit dem GitHub-Konto verknüpft ist, das Sie verbunden haben.544* **„Konnte die Sitzung nicht starten — Claude hat keinen GitHub-Zugriff auf das Repository dieses Projekts“**, berichtet, bevor der Thread startet, wenn die Claude GitHub App nicht auf diesem Repository installiert ist, ausgesetzt ist oder nicht mit dem GitHub-Konto verknüpft ist, das Sie verbunden haben.

545* **„Kann Ihr Repository nicht erreichen"**, berichtet von einem Thread, wenn sein Klon fehlschlägt: GitHub lehnte den Klon ab, das Repository wurde nicht unter dem Namen gefunden, den das Projekt hat, oder der Branch, von dem der Thread starten sollte, existiert nicht.545* **„Kann Ihr Repository nicht erreichen“**, berichtet von einem Thread, wenn sein Klon fehlschlägt: GitHub lehnte den Klon ab, das Repository wurde nicht unter dem Namen gefunden, den das Projekt hat, oder der Branch, von dem der Thread starten sollte, existiert nicht.

546* **„Claude kann nicht auf" ein Repository zugreifen**, angezeigt, wenn Sie Repositories im Dialog **Neues Projekt** oder **Projekteinstellungen** speichern. Die Nachricht wird mit einem Install-Link und einem Reconnect-Link fortgesetzt. Verwenden Sie den Install-Link, wenn die Claude GitHub App nicht auf diesem Repository ist, und den Reconnect-Link, wenn sie es ist, da die GitHub App auf GitHub installiert sein kann, ohne mit dem Konto verknüpft zu sein, das Sie mit Claude verbunden haben. Wenn die Nachricht sagt, dass die GitHub App ausgesetzt ist oder dieses Repository nicht enthält, folgen Sie ihrem Link zu GitHub, um das zu beheben.546* **„Claude kann nicht auf“ ein Repository zugreifen**, angezeigt, wenn Sie Repositories im Dialog **Neues Projekt** oder **Projekteinstellungen** speichern. Die Nachricht wird mit einem Install-Link und einem Reconnect-Link fortgesetzt. Verwenden Sie den Install-Link, wenn die Claude GitHub App nicht auf diesem Repository ist, und den Reconnect-Link, wenn sie es ist, da die GitHub App auf GitHub installiert sein kann, ohne mit dem Konto verknüpft zu sein, das Sie mit Claude verbunden haben. Wenn die Nachricht sagt, dass die GitHub App ausgesetzt ist oder dieses Repository nicht enthält, folgen Sie ihrem Link zu GitHub, um das zu beheben.

547 547 

548Um eines von ihnen zu beheben, klicken Sie auf die Schaltfläche, die die Nachricht anbietet, wie z. B. **GitHub App installieren** oder **Repositories auf GitHub auswählen**, dann **Erneut überprüfen**. Wenn der Block auf der GitHub-Organisations-Seite ist, wie z. B. ein Besitzer, der die App nicht genehmigt hat, oder eine IP-Zulassungsliste, die Claude ausschließt, zeigt die Nachricht einen Link **Siehe wie zu beheben** statt. Wenn es keine Schaltfläche gibt, folgen Sie [GitHub-Zugriff einrichten](#set-up-github-access), dann senden Sie eine weitere Nachricht zum Wiederholen.548Um eines von ihnen zu beheben, klicken Sie auf die Schaltfläche, die die Nachricht anbietet, wie z. B. **GitHub App installieren** oder **Repositories auf GitHub auswählen**, dann **Erneut überprüfen**. Wenn der Block auf der GitHub-Organisations-Seite ist, wie z. B. ein Besitzer, der die App nicht genehmigt hat, oder eine IP-Zulassungsliste, die Claude ausschließt, zeigt die Nachricht einen Link **Siehe wie zu beheben** statt. Wenn es keine Schaltfläche gibt, folgen Sie [GitHub-Zugriff einrichten](#set-up-github-access), dann senden Sie eine weitere Nachricht zum Wiederholen.

549 549 


551 Ein Thread hat das Nutzungslimit erreicht551 Ein Thread hat das Nutzungslimit erreicht

552</h3>552</h3>

553 553 

554Wenn ein Thread oder das Projektgespräch Ihr Plan-Limit von fünf Stunden oder wöchentlich erreicht, versucht es weiterhin selbst und wird fortgesetzt, wenn das Limit zurückgesetzt wird. Während es wartet, zeigt der Thread **Service ist beschäftigt** mit „Claude versucht immer noch und wird automatisch fortgesetzt." Sie müssen nichts tun, damit die Arbeit fortgesetzt wird. Wenn Sie lieber möchten, dass es Ihr nächstes Nutzungsfenster nicht nutzt, klicken Sie auf **Stopp** im Thread, oder [pausieren Sie das Projekt](#pause-archive-or-delete-a-project), um jeden Thread zu halten. Ein Thread, den eine Routine gestartet hat, wartet nicht: Sein Zug stoppt mit einem Limit-Fehler, und Sie senden ihm nach dem Limit-Reset eine Nachricht.554Wenn ein Thread oder das Projektgespräch Ihr Plan-Limit von fünf Stunden oder wöchentlich erreicht, versucht es weiterhin selbst und wird fortgesetzt, wenn das Limit zurückgesetzt wird. Während es wartet, zeigt der Thread **Service ist beschäftigt** mit „Claude versucht immer noch und wird automatisch fortgesetzt.“ Sie müssen nichts tun, damit die Arbeit fortgesetzt wird. Wenn Sie lieber möchten, dass es Ihr nächstes Nutzungsfenster nicht nutzt, klicken Sie auf **Stopp** im Thread, oder [pausieren Sie das Projekt](#pause-archive-or-delete-a-project), um jeden Thread zu halten. Ein Thread, den eine Routine gestartet hat, wartet nicht: Sein Zug stoppt mit einem Limit-Fehler, und Sie senden ihm nach dem Limit-Reset eine Nachricht.

555 555 

556[Nutzungslimit-Fehler](/docs/de/errors#youve-hit-your-session-limit) erklären die Limits und wann sie zurückgesetzt werden.556[Nutzungslimit-Fehler](/docs/de/errors#youve-hit-your-session-limit) erklären die Limits und wann sie zurückgesetzt werden.

557 557 


575 575 

576| Nachricht | Was zu tun ist |576| Nachricht | Was zu tun ist |

577| :- | :- |577| :- | :- |

578| „Kann nicht mit Repository verbinden" mit „Claude konnte nicht zu GitHub gehen, um Ihr Repository zu holen" | Warten Sie einen Moment, dann senden Sie eine weitere Nachricht zum Wiederholen |578| „Kann nicht mit Repository verbinden“ mit „Claude konnte nicht zu GitHub gehen, um Ihr Repository zu holen“ | Warten Sie einen Moment, dann senden Sie eine weitere Nachricht zum Wiederholen |

579| „Kann nicht mit Repository verbinden" mit „Claude konnte nicht auf Ihr Repository oder Ihre Umgebung zugreifen" | Ihr GitHub-Konto benötigt Push-Zugriff auf das Repository, und die Umgebung muss immer noch existieren. Überprüfen Sie beide in **Projekteinstellungen > Umgebung**, dann wiederholen Sie |579| „Kann nicht mit Repository verbinden“ mit „Claude konnte nicht auf Ihr Repository oder Ihre Umgebung zugreifen“ | Ihr GitHub-Konto benötigt Push-Zugriff auf das Repository, und die Umgebung muss immer noch existieren. Überprüfen Sie beide in **Projekteinstellungen > Umgebung**, dann wiederholen Sie |

580| „Konnte die Setup-Vorschlag nicht anzeigen" | Die App, die Sie offen haben, ist älter als die **Setup-Empfehlungen**, die Claude gesendet hat. Aktualisieren Sie die Seite oder starten Sie die Desktop-App neu, oder bitten Sie Claude, den Setup erneut vorzuschlagen |580| „Konnte die Setup-Vorschlag nicht anzeigen“ | Die App, die Sie offen haben, ist älter als die **Setup-Empfehlungen**, die Claude gesendet hat. Aktualisieren Sie die Seite oder starten Sie die Desktop-App neu, oder bitten Sie Claude, den Setup erneut vorzuschlagen |

581| „Die Umgebung des Projekts wurde entfernt" | Wählen Sie eine andere Umgebung in **Projekteinstellungen > Umgebung**; die Änderung gilt für neue Threads |581| „Die Umgebung des Projekts wurde entfernt“ | Wählen Sie eine andere Umgebung in **Projekteinstellungen > Umgebung**; die Änderung gilt für neue Threads |

582| „Setup-Skript fehlgeschlagen" | Klicken Sie auf **Setup-Skript bearbeiten** auf dem Fehler, reparieren Sie das Skript in der Umgebung, dann senden Sie eine weitere Nachricht. [Setup-Skript fehlgeschlagen](/docs/de/web-quickstart#setup-script-failed) listet häufige Ursachen auf |582| „Setup-Skript fehlgeschlagen“ | Klicken Sie auf **Setup-Skript bearbeiten** auf dem Fehler, reparieren Sie das Skript in der Umgebung, dann senden Sie eine weitere Nachricht. [Setup-Skript fehlgeschlagen](/docs/de/web-quickstart#setup-script-failed) listet häufige Ursachen auf |

583| „Claude ist auf diesem Zug aus dem Kontext gelaufen" | Der Thread hat sein Kontextfenster gefüllt. Wenn die Nachricht sagt, dass der Thread in einer frischen Sitzung fortgesetzt wird, wird er von selbst fortgesetzt; andernfalls bitten Sie Claude im Projektgespräch, einen neuen Thread für die verbleibende Arbeit zu starten |583| „Claude ist auf diesem Zug aus dem Kontext gelaufen“ | Der Thread hat sein Kontextfenster gefüllt. Wenn die Nachricht sagt, dass der Thread in einer frischen Sitzung fortgesetzt wird, wird er von selbst fortgesetzt; andernfalls bitten Sie Claude im Projektgespräch, einen neuen Thread für die verbleibende Arbeit zu starten |

584| „Couldn't start in" gefolgt von Ihrem Ordnernamen | Sie erlaubten einem Thread, auf Ihrem Computer zu laufen, aber die Sitzung konnte dort nicht gestartet werden. Wenn eine Zeile unter der Nachricht den Grund angibt, beheben Sie das, dann bitten Sie Claude, die Aufgabe erneut auszuführen |584| „Couldn't start in“ gefolgt von Ihrem Ordnernamen | Sie erlaubten einem Thread, auf Ihrem Computer zu laufen, aber die Sitzung konnte dort nicht gestartet werden. Wenn eine Zeile unter der Nachricht den Grund angibt, beheben Sie das, dann bitten Sie Claude, die Aufgabe erneut auszuführen |

585| „Claude is out of date on your device" | Der Computer, den Sie zum Ausführen eines Threads ausgewählt haben, hat eine Claude Code-Version älter als v2.1.280. Aktualisieren Sie Claude Code dort, oder aktualisieren Sie die Desktop-App, wenn das das ist, was den Ordner verbindet, dann bitten Sie Claude, die Aufgabe erneut auszuführen |585| „Claude is out of date on your device“ | Der Computer, den Sie zum Ausführen eines Threads ausgewählt haben, hat eine Claude Code-Version älter als v2.1.280. Aktualisieren Sie Claude Code dort, oder aktualisieren Sie die Desktop-App, wenn das das ist, was den Ordner verbindet, dann bitten Sie Claude, die Aufgabe erneut auszuführen |

586| „Erreichte das Zug-Limit" | Der Thread erreichte die Obergrenze für agentic Turns, die [`CLAUDE_CODE_MAX_TURNS`](/docs/de/env-vars) setzt. Senden Sie eine weitere Nachricht zum Fortfahren, oder erhöhen oder entfernen Sie diese Variable, wo sie gesetzt ist |586| „Erreichte das Zug-Limit“ | Der Thread erreichte die Obergrenze für agentic Turns, die [`CLAUDE_CODE_MAX_TURNS`](/docs/de/env-vars) setzt. Senden Sie eine weitere Nachricht zum Fortfahren, oder erhöhen oder entfernen Sie diese Variable, wo sie gesetzt ist |

587 587 

588<h2 id="related-resources">588<h2 id="related-resources">

589 Verwandte Ressourcen589 Verwandte Ressourcen

590</h2>590</h2>

591 591 

592* [Verwenden Sie Claude Code in der Cloud](/docs/de/claude-code-on-the-web): Wie die Cloud-Sitzungen hinter jedem Thread funktionieren, einschließlich GitHub-Zugriffsoptionen und Auto-Fix auf Pull Requests592* [Verwenden Sie Claude Code in der Cloud](/docs/de/claude-code-on-the-web): Wie die Cloud-Sitzungen hinter jedem Thread funktionieren, einschließlich GitHub-Zugriffsoptionen und Auto-Fix auf Pull Requests

593* [Konfigurieren Sie Cloud-Umgebungen](/docs/de/cloud-environments): Ändern Sie, was Threads im Netzwerk erreichen können, geben Sie ihnen Umgebungsvariablen und API-Anmeldedaten, und installieren Sie Tools mit einem Setup-Skript593* [Konfigurieren Sie Cloud-Umgebungen](/docs/de/cloud-environments): Ändern Sie, was Cloud-Threads im Netzwerk erreichen können, geben Sie ihnen Umgebungsvariablen und Netzwerk-Secrets, und installieren Sie Tools mit einem Setup-Skript

594* [Automatisieren Sie Arbeit mit Routinen](/docs/de/routines): Zeitpläne, Trigger und Management für Routinen, einschließlich der von Claude aus einem Projekt erstellten594* [Automatisieren Sie Arbeit mit Routinen](/docs/de/routines): Zeitpläne, Trigger und Management für Routinen, einschließlich der von Claude aus einem Projekt erstellten

595* [Verwalten Sie mehrere Agenten mit Agent-Ansicht](/docs/de/agent-view): Führen Sie mehrere Sitzungen auf Ihrem eigenen Computer aus und verfolgen Sie sie, wenn die Arbeit Tools oder Services benötigt, die nur Ihr Computer erreichen kann595* [Verwalten Sie mehrere Agenten mit Agent-Ansicht](/docs/de/agent-view): Führen Sie mehrere Sitzungen auf Ihrem eigenen Computer aus und verfolgen Sie sie, wenn die Arbeit Tools oder Services benötigt, die nur Ihr Computer erreichen kann

596* [Projekte neu gestaltet: von Ordner zu Gespräch](https://claude.com/blog/projects-redesigned): Die Launch-Ankündigung mit dem Denken hinter der Umwandlung eines Projekts in ein Gespräch mit Claude596* [Projekte neu gestaltet: von Ordner zu Gespräch](https://claude.com/blog/projects-redesigned): Die Launch-Ankündigung mit dem Denken hinter der Umwandlung eines Projekts in ein Gespräch mit Claude

Details

31| `claude attach <id\|name>` | Verbinden Sie sich mit einer [Hintergrundsitzung](/docs/de/agent-view#manage-sessions-from-the-shell) in diesem Terminal. Die Übergabe eines Teils des Namens einer laufenden Sitzung anstelle der ID erfordert Claude Code v2.1.290 oder später | `claude attach 7c5dcf5d` |31| `claude attach <id\|name>` | Verbinden Sie sich mit einer [Hintergrundsitzung](/docs/de/agent-view#manage-sessions-from-the-shell) in diesem Terminal. Die Übergabe eines Teils des Namens einer laufenden Sitzung anstelle der ID erfordert Claude Code v2.1.290 oder später | `claude attach 7c5dcf5d` |

32| `claude auto-mode defaults` | Drucken Sie die integrierten [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) Klassifikatorregeln als JSON. Verwenden Sie `claude auto-mode config`, um Ihre effektive Konfiguration mit angewendeten Einstellungen anzuzeigen. `--label <prefix>` druckt nur die Regeln, deren Bezeichnung mit diesem Präfix beginnt, Groß- und Kleinschreibung wird nicht beachtet. Erfordert Claude Code v2.1.208 oder später | `claude auto-mode defaults --label 'Git Destructive'` |32| `claude auto-mode defaults` | Drucken Sie die integrierten [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) Klassifikatorregeln als JSON. Verwenden Sie `claude auto-mode config`, um Ihre effektive Konfiguration mit angewendeten Einstellungen anzuzeigen. `--label <prefix>` druckt nur die Regeln, deren Bezeichnung mit diesem Präfix beginnt, Groß- und Kleinschreibung wird nicht beachtet. Erfordert Claude Code v2.1.208 oder später | `claude auto-mode defaults --label 'Git Destructive'` |

33| `claude auto-mode reset` | Stellen Sie die Standard-[Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) Konfiguration wieder her, indem Sie den `autoMode` Abschnitt aus Ihrer Benutzereinstellungsdatei entfernen. Fordert zur Bestätigung auf, bevor geschrieben wird; übergeben Sie `-y`/`--yes`, um die Eingabeaufforderung zu überspringen. Regeln aus [verwalteten Einstellungen](/docs/de/server-managed-settings) oder dem `--settings` Flag gelten weiterhin. Erfordert Claude Code v2.1.212 oder später. Siehe [Überprüfen Sie die Standardwerte und Ihre effektive Konfiguration](/docs/de/auto-mode-config#inspect-the-defaults-and-your-effective-config) | `claude auto-mode reset --yes` |33| `claude auto-mode reset` | Stellen Sie die Standard-[Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) Konfiguration wieder her, indem Sie den `autoMode` Abschnitt aus Ihrer Benutzereinstellungsdatei entfernen. Fordert zur Bestätigung auf, bevor geschrieben wird; übergeben Sie `-y`/`--yes`, um die Eingabeaufforderung zu überspringen. Regeln aus [verwalteten Einstellungen](/docs/de/server-managed-settings) oder dem `--settings` Flag gelten weiterhin. Erfordert Claude Code v2.1.212 oder später. Siehe [Überprüfen Sie die Standardwerte und Ihre effektive Konfiguration](/docs/de/auto-mode-config#inspect-the-defaults-and-your-effective-config) | `claude auto-mode reset --yes` |

34| `claude daemon logs` | Verfolgen Sie die Logdatei des Hintergrund-Sitzungs-[Supervisors](/docs/de/agent-view#the-supervisor-process), `~/.claude/daemon.log`, wobei neue Zeilen ausgegeben werden, sobald sie eintreffen, bis Sie `Ctrl+C` drücken | `claude daemon logs` |

35| `claude daemon run` | Führen Sie den Hintergrund-Sitzungs-[Supervisor](/docs/de/agent-view#the-supervisor-process) im Vordergrund dieses Terminals aus und geben Sie sein Log aus | `claude daemon run` |

34| `claude daemon status` | Drucken Sie den Hintergrund-Sitzungs-[Supervisor](/docs/de/agent-view#the-supervisor-process) Status, Version, Socket-Verzeichnis und Worker-Anzahl für Diagnosen. Beendet mit 1, wenn der Supervisor nicht läuft | `claude daemon status` |36| `claude daemon status` | Drucken Sie den Hintergrund-Sitzungs-[Supervisor](/docs/de/agent-view#the-supervisor-process) Status, Version, Socket-Verzeichnis und Worker-Anzahl für Diagnosen. Beendet mit 1, wenn der Supervisor nicht läuft | `claude daemon status` |

35| `claude daemon stop --any` | Stoppen Sie den Hintergrund-Sitzungs-[Supervisor](/docs/de/agent-view#the-supervisor-process) und die Sitzungen, die er hostet. Übergeben Sie `--keep-workers`, um Hintergrundsitzungen laufen zu lassen, damit sich der nächste Supervisor mit ihnen verbindet. `--any` bestätigt das Stoppen eines On-Demand-Supervisors, was die Standardeinstellung ist. Verwenden Sie dies, um sich von einem [nicht reagierenden Supervisor](/docs/de/agent-view#agent-view-says-the-background-service-did-not-respond) zu erholen | `claude daemon stop --any --keep-workers` |37| `claude daemon stop --any` | Stoppen Sie den Hintergrund-Sitzungs-[Supervisor](/docs/de/agent-view#the-supervisor-process) und die Sitzungen, die er hostet. Übergeben Sie `--keep-workers`, um Hintergrundsitzungen laufen zu lassen, damit sich der nächste Supervisor mit ihnen verbindet. `--any` bestätigt das Stoppen eines On-Demand-Supervisors, was die Standardeinstellung ist. Verwenden Sie dies, um sich von einem [nicht reagierenden Supervisor](/docs/de/agent-view#agent-view-says-the-background-service-did-not-respond) zu erholen | `claude daemon stop --any --keep-workers` |

36| `claude doctor` | Drucken Sie schreibgeschützte Installations- und Einstellungsdiagnosen vom Terminal aus, ohne eine Sitzung zu starten, einschließlich Installationsintegrität, Validierungsfehlern in der Einstellungsdatei und Remote Control-Berechtigung. Für die In-Session-Setup-Überprüfung, die auch Fixes anwenden kann, führen Sie [`/doctor`](/docs/de/commands#all-commands) aus | `claude doctor` |38| `claude doctor` | Drucken Sie schreibgeschützte Installations- und Einstellungsdiagnosen vom Terminal aus, ohne eine Sitzung zu starten, einschließlich Installationsintegrität, Validierungsfehlern in der Einstellungsdatei und Remote Control-Berechtigung. Für die In-Session-Setup-Überprüfung, die auch Fixes anwenden kann, führen Sie [`/doctor`](/docs/de/commands#all-commands) aus | `claude doctor` |

Details

10 Cloud-Umgebungen gelten für [Cloud-Sitzungen](/docs/de/claude-code-on-the-web), die auf Pro-, Max- und Team-Plänen verfügbar sind, sowie für Enterprise-Benutzer mit [Premium-Sitzen oder Chat + Claude Code-Sitzen](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan).10 Cloud-Umgebungen gelten für [Cloud-Sitzungen](/docs/de/claude-code-on-the-web), die auf Pro-, Max- und Team-Plänen verfügbar sind, sowie für Enterprise-Benutzer mit [Premium-Sitzen oder Chat + Claude Code-Sitzen](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan).

11</Note>11</Note>

12 12 

13Jede [Cloud-Sitzung](/docs/de/claude-code-on-the-web) wird in einer Cloud-Umgebung ausgeführt. Sie können eine Umgebung so konfigurieren, dass sie [Netzwerkzugriff](#access-levels) zulässt oder verweigert, [Umgebungsvariablen](#set-environment-variables) für die Sitzung festlegt, auf Pro- und Max-Plänen [API-Anmeldedaten](#add-api-credentials) speichert, die Sitzungen verwenden, ohne sie zu sehen, und ein [Setup-Skript](#setup-scripts) ausführt, bevor Claude mit der Arbeit beginnt.13Jede [Cloud-Sitzung](/docs/de/claude-code-on-the-web) wird in einer Cloud-Umgebung ausgeführt. Sie können eine Umgebung so konfigurieren, dass sie [Netzwerkzugriff](#access-levels) zulässt oder verweigert, [Umgebungsvariablen](#set-environment-variables) für die Sitzung festlegt, auf Pro- und Max-Plänen [Netzwerk-Secrets](#add-api-credentials) speichert, die Sitzungen verwenden, ohne sie zu sehen, und ein [Setup-Skript](#setup-scripts) ausführt, bevor Claude mit der Arbeit beginnt.

14 14 

15Die gleichen Umgebungen gelten überall dort, wo Sie eine Cloud-Sitzung starten: die [Desktop-App](/docs/de/desktop), die [Claude Mobile-App](/docs/de/mobile), Ihr Browser unter [claude.ai/code](https://claude.ai/code), das Terminal mit [`claude --cloud`](/docs/de/claude-code-on-the-web#from-terminal-to-cloud), [Routinen](/docs/de/routines) und [Claude Tag](https://claude.com/docs/claude-tag/overview). Jede dieser Oberflächen kann auch zu einer [selbstgehosteten Umgebung](/docs/de/self-hosted-environments) weiterleiten. [Verfügbarkeit und Einschränkungen](/docs/de/self-hosted-environments#availability-and-limitations) behandelt, was Claude noch nicht verwenden kann, wenn eine Claude Tag-Sitzung in einer ausgeführt wird.15Die gleichen Umgebungen gelten überall dort, wo Sie eine Cloud-Sitzung starten: die [Desktop-App](/docs/de/desktop), die [Claude Mobile-App](/docs/de/mobile), Ihr Browser unter [claude.ai/code](https://claude.ai/code), das Terminal mit [`claude --cloud`](/docs/de/claude-code-on-the-web#from-terminal-to-cloud), [Routinen](/docs/de/routines) und [Claude Tag](https://claude.com/docs/claude-tag/overview). Jede dieser Oberflächen kann auch zu einer [selbstgehosteten Umgebung](/docs/de/self-hosted-environments) weiterleiten. [Verfügbarkeit und Einschränkungen](/docs/de/self-hosted-environments#availability-and-limitations) behandelt, was Claude noch nicht verwenden kann, wenn eine Claude Tag-Sitzung in einer ausgeführt wird.

16 16 


58 <Step title="Fügen Sie eine Umgebung hinzu oder bearbeiten Sie sie">58 <Step title="Fügen Sie eine Umgebung hinzu oder bearbeiten Sie sie">

59 Wählen Sie **Cloud** aus, um Ihre Umgebungen aufzulisten. Wählen Sie dann **Cloud-Umgebung hinzufügen**, oder bewegen Sie den Mauszeiger über eine vorhandene Umgebung und wählen Sie das Einstellungssymbol aus, das auf der rechten Seite angezeigt wird.59 Wählen Sie **Cloud** aus, um Ihre Umgebungen aufzulisten. Wählen Sie dann **Cloud-Umgebung hinzufügen**, oder bewegen Sie den Mauszeiger über eine vorhandene Umgebung und wählen Sie das Einstellungssymbol aus, das auf der rechten Seite angezeigt wird.

60 60 

61 Der Dialog enthält den Namen, die Netzwerkzugriffsstufe, Umgebungsvariablen und ein Setup-Skript. Wenn Sie eine vorhandene Cloud-Umgebung in einem Pro- oder Max-Plan bearbeiten, enthält der Dialog auch [API-Anmeldedaten](#add-api-credentials).61 Der Dialog enthält den Namen, die Netzwerkzugriffsstufe, Umgebungsvariablen und ein Setup-Skript. Wenn Sie eine vorhandene Cloud-Umgebung in einem Pro- oder Max-Plan bearbeiten, enthält der Dialog auch [Netzwerk-Secrets](#add-api-credentials).

62 62 

63 <Frame>63 <Frame>

64 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-dialog.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=30d4478b31d1f879f7ee287ddab32505" alt="Der Dialog Neue Cloud-Umgebung. Ein Namensfeld mit dem Platzhalter Default, ein Netzwerkzugriff-Wähler auf Trusted eingestellt mit Links zur Netzwerkrichtlinie und Zugriffsstufen, ein Umgebungsvariablen-Feld mit .env-Format-Platzhaltertext und einem Hinweis, dass Werte für jeden sichtbar sind, der die Umgebung nutzt, ein Setup-Skript-Feld, das als Bash-Skript beschrieben wird, das ausgeführt wird, wenn eine neue Sitzung startet, bevor Claude Code startet, und Schaltflächen zum Abbrechen und Erstellen der Umgebung." width="874" height="1372" data-path="images/cloud-environment-dialog.png" />64 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-dialog.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=30d4478b31d1f879f7ee287ddab32505" alt="Der Dialog Neue Cloud-Umgebung. Ein Namensfeld mit dem Platzhalter Default, ein Netzwerkzugriff-Wähler auf Trusted eingestellt mit Links zur Netzwerkrichtlinie und Zugriffsstufen, ein Umgebungsvariablen-Feld mit .env-Format-Platzhaltertext und einem Hinweis, dass Werte für jeden sichtbar sind, der die Umgebung nutzt, ein Setup-Skript-Feld, das als Bash-Skript beschrieben wird, das ausgeführt wird, wenn eine neue Sitzung startet, bevor Claude Code startet, und Schaltflächen zum Abbrechen und Erstellen der Umgebung." width="874" height="1372" data-path="images/cloud-environment-dialog.png" />


91 91 

92Eine Cloud-Sitzung setzt auch einige Variablen selbst, wenn sie startet. Für [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/de/claude-code-on-the-web#manage-context) überschreibt der Wert, den die Sitzung setzt, einen, den Sie hier hinzufügen, daher hat das Hinzufügen dieses Schlüssels hier keine Auswirkung.92Eine Cloud-Sitzung setzt auch einige Variablen selbst, wenn sie startet. Für [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/de/claude-code-on-the-web#manage-context) überschreibt der Wert, den die Sitzung setzt, einen, den Sie hier hinzufügen, daher hat das Hinzufügen dieses Schlüssels hier keine Auswirkung.

93 93 

94Jeder, der die Umgebung nutzt, kann die Werte lesen. Verwenden Sie in Pro- und Max-Plänen stattdessen eine [API-Anmeldedaten](#add-api-credentials) für einen Schlüssel, den der Agent-Proxy an eine Anfrage anhängen kann. Die [Anfragen, die niemals eine Anmeldedaten erhalten](#requests-that-never-get-the-credential), sind dort aufgelistet.94Jeder, der die Umgebung nutzt, kann die Werte lesen. Verwenden Sie in Pro- und Max-Plänen stattdessen ein [Netzwerk-Secret](#add-api-credentials) für einen Schlüssel, den der Agent-Proxy an eine Anfrage anhängen kann. Die [Anfragen, die niemals ein Secret erhalten](#requests-that-never-get-the-credential), sind dort aufgelistet.

95 95 

96<h3 id="add-api-credentials">96<h3 id="add-api-credentials">

97 Fügen Sie API-Anmeldedaten hinzu97 Fügen Sie Netzwerk-Secrets hinzu

98</h3>98</h3>

99 99 

100Eine API-Anmeldedaten ist ein API-Schlüssel oder Token, den Sie in einer Cloud-Umgebung speichern, damit Claude diese API aus jeder Sitzung in der Umgebung aufrufen kann, ohne den Schlüssel zu sehen. Der Agent-Proxy von Anthropic fügt den Schlüssel zu Anfragen für die Hosts hinzu, die Sie auflisten, nachdem jede Anfrage die VM der Sitzung verlässt. Der Schlüssel erreicht niemals Claude, die Befehle, die er ausführt, oder die Umgebungsvariablen der Sitzung.100Ein Netzwerk-Secret ist ein API-Schlüssel oder Token, den Sie in einer Cloud-Umgebung speichern, damit Claude diese API aus jeder Sitzung in der Umgebung aufrufen kann, ohne den Schlüssel zu sehen. Der Agent-Proxy von Anthropic fügt den Schlüssel zu Anfragen für die Hosts hinzu, die Sie auflisten, nachdem jede Anfrage die VM der Sitzung verlässt. Der Schlüssel erreicht niemals Claude, die Befehle, die es ausführt, oder die Umgebungsvariablen der Sitzung.

101 101 

102API-Anmeldedaten sind in Pro- und Max-Plänen verfügbar. Sie sind in Team- oder Enterprise-Plänen noch nicht verfügbar, daher erscheint der Bereich **API-Anmeldedaten** im Umgebungsdialog in diesen Plänen nicht.102Netzwerk-Secrets sind in Pro- und Max-Plänen verfügbar. Sie sind in Team- oder Enterprise-Plänen noch nicht verfügbar, daher erscheint der Bereich **Netzwerk-Secrets** im Umgebungsdialog in diesen Plänen nicht.

103 103 

104<h4 id="requirements">104<h4 id="requirements">

105 Anforderungen105 Anforderungen

106</h4>106</h4>

107 107 

108Zwei davon entscheiden, ob Sie eine Anmeldedaten hinzufügen können, und zwei entscheiden, ob der Agent-Proxy sie nach dem Hinzufügen verwenden kann:108Zwei davon entscheiden, ob Sie ein Secret hinzufügen können, und zwei entscheiden, ob der Agent-Proxy es nach dem Hinzufügen verwenden kann:

109 109 

110* **Rolle**: eine Organisationsadministrator-Rolle in Ihrer claude.ai-Organisation110* **Rolle**: eine Organisationsadministrator-Rolle in Ihrer claude.ai-Organisation

111 * In Team und Enterprise haben Owner diese Rolle, Admins nicht111 * In Team und Enterprise haben Owner diese Rolle, Admins nicht

112 * In Pro und Max halten Sie sie in Ihrer eigenen Organisation112 * In Pro und Max halten Sie sie in Ihrer eigenen Organisation

113* **Umgebungstyp**: eine von Anthropic gehostete Cloud-Umgebung, die bereits existiert. Eine [selbst gehostete Umgebung](/docs/de/self-hosted-environments) hat keine API-Anmeldedaten113* **Umgebungstyp**: eine von Anthropic gehostete Cloud-Umgebung, die bereits existiert. Eine [selbst gehostete Umgebung](/docs/de/self-hosted-environments) hat keine Netzwerk-Secrets

114* **API-Erreichbarkeit**: die API akzeptiert Verbindungen aus dem Internet, da Anfragen aus dem Netzwerk von Anthropic ausgehen114* **API-Erreichbarkeit**: die API akzeptiert Verbindungen aus dem Internet, da Anfragen aus dem Netzwerk von Anthropic ausgehen

115* **Verschlüsselungsschlüssel**: wenn Ihre Organisation kundenverwaltete Verschlüsselungsschlüssel verwendet, können Sie keine Anmeldedaten speichern115* **Verschlüsselungsschlüssel**: wenn Ihre Organisation kundenverwaltete Verschlüsselungsschlüssel verwendet, können Sie keine Netzwerk-Secrets speichern

116 116 

117<h4 id="add-a-credential">117<h4 id="add-a-credential">

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

119</h4>119</h4>

120 120 

121Sie fügen Anmeldedaten einzeln hinzu, und Sie können Anmeldedaten nach dem Hinzufügen nicht bearbeiten. Um die Hosts oder den Wert einer Anmeldedaten zu ändern, löschen Sie sie und fügen Sie sie erneut hinzu.121Sie fügen Secrets einzeln hinzu, und Sie können ein Secret nach dem Hinzufügen nicht bearbeiten. Um die Hosts oder den Wert eines Secrets zu ändern, löschen Sie es und fügen Sie es erneut hinzu.

122 122 

123<Steps>123<Steps>

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

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

126 </Step>126 </Step>

127 127 

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

129 Wählen Sie **Anmeldedaten hinzufügen** und füllen Sie das Formular aus. Behalten Sie den Standard-**Anmeldedatentyp**, **Bearer**, für einen API-Schlüssel, der in einem Request-Header übertragen wird, und füllen Sie diese Felder aus:129 Wählen Sie **Secret hinzufügen** und füllen Sie das Formular aus. Behalten Sie den Standard-**Anmeldedatentyp**, **Bearer**, für einen API-Schlüssel, der in einem Request-Header übertragen wird, und füllen Sie diese Felder aus:

130 130 

131 * **Name**: eine Bezeichnung für die Anmeldedaten, wie `Internal billing API`131 * **Name**: eine Bezeichnung für das Secret, wie `Internal billing API`

132 * **Zulässige Websites**: die Hosts der API, wie `api.example.com`. Ein führendes `*.` passt zu jeder Subdomain132 * **Zulässige Websites**: die Hosts der API, wie `api.example.com`. Ein führendes `*.` passt zu jeder Subdomain

133 * **Benutzerdefinierte Header**: eine Zeile für den Header, der den Schlüssel trägt. Die Zeile beginnt mit `Authorization` als **Name** des Headers und `Bearer` als **Präfix**; fügen Sie den Schlüssel selbst als **Wert** ein. Für einen Header wie `X-Api-Key`, der den bloßen Wert nimmt, ändern Sie den Namen und löschen Sie das Präfix133 * **Benutzerdefinierte Header**: eine Zeile für den Header, der den Schlüssel trägt. Die Zeile beginnt mit `Authorization` als **Name** des Headers und `Bearer` als **Präfix**; fügen Sie den Schlüssel selbst als **Wert** ein. Für einen Header wie `X-Api-Key`, der den bloßen Wert nimmt, ändern Sie den Namen und löschen Sie das Präfix

134 134 

135 Für eine API, die sich anders authentifiziert, wählen Sie einen anderen **Anmeldedatentyp**. Die Liste ist dieselbe, die [Claude Tag](https://claude.com/docs/claude-tag/overview), die Slack-Integration für Team- und Enterprise-Pläne, für [Verbindungen](https://claude.com/docs/claude-tag/admins/add-connections) anbietet.135 Für eine API, die sich anders authentifiziert, wählen Sie einen anderen **Anmeldedatentyp**. Die Liste ist dieselbe, die [Claude Tag](https://claude.com/docs/claude-tag/overview), die Slack-Integration für Team- und Enterprise-Pläne, für [Verbindungen](https://claude.com/docs/claude-tag/admins/add-connections) anbietet.

136 </Step>136 </Step>

137 137 

138 <Step title="Speichern Sie die Anmeldedaten">138 <Step title="Speichern Sie das Secret">

139 Wählen Sie **Verbinden**. Die Anmeldedaten erscheinen in der Liste mit ihren Hosts, gespeichert ohne die Schaltfläche **Änderungen speichern** des Dialogs. Sie können den Wert nach dem Speichern nicht erneut anzeigen.139 Wählen Sie **Verbinden**. Das Secret erscheint in der Liste mit seinen Hosts, gespeichert ohne die Schaltfläche **Änderungen speichern** des Dialogs. Sie können den Wert nach dem Speichern nicht erneut anzeigen.

140 </Step>140 </Step>

141</Steps>141</Steps>

142 142 

143Um zu bestätigen, dass die Anmeldedaten funktionieren, starten Sie eine Sitzung in der Umgebung und bitten Sie Claude, die API aufzurufen, zum Beispiel mit `curl`. Die API antwortet, als wäre der Schlüssel in der Anfrage, und der Schlüssel erscheint nicht in den Umgebungsvariablen der Sitzung oder in einer Datei. Wenn die Liste eine Anmeldedaten stattdessen als **Nicht gesendet** markiert, sagt der Hinweis darunter, warum und was zu tun ist. Zwei Anmeldedaten, deren Hosts sich überlappen, ohne genau übereinzustimmen, erhalten keine Markierung, und der Agent-Proxy sendet nur eine davon.143Um zu bestätigen, dass das Secret funktioniert, starten Sie eine Sitzung in der Umgebung und bitten Sie Claude, die API aufzurufen, zum Beispiel mit `curl`. Die API antwortet, als wäre der Schlüssel in der Anfrage, und der Schlüssel erscheint nicht in den Umgebungsvariablen der Sitzung oder in einer Datei. Wenn die Liste ein Secret stattdessen als **Nicht gesendet** markiert, sagt der Hinweis darunter, warum und was zu tun ist. Zwei Secrets, deren Hosts sich überlappen, ohne genau übereinzustimmen, erhalten keine Markierung, und der Agent-Proxy sendet nur eines davon.

144 144 

145<h4 id="which-requests-get-the-credential">145<h4 id="which-requests-get-the-credential">

146 Welche Anfragen erhalten die Anmeldedaten146 Welche Anfragen erhalten das Secret

147</h4>147</h4>

148 148 

149Der Agent-Proxy fügt eine Anmeldedaten an eine Anfrage an, wenn der Host der Anfrage mit einem übereinstimmt, den Sie auf dieser Anmeldedaten aufgelistet haben. Sitzungen können diese Hosts erreichen, auch wenn die [Netzwerkzugriffsstufe](#access-levels) der Umgebung dies sonst nicht zulassen würde, außer den [Hosts, die niemals die Anmeldedaten erhalten](#requests-that-never-get-the-credential). Die Anmeldedaten gelten in jeder Sitzung, die in der Umgebung ausgeführt wird, wer sie auch gestartet hat, bis Sie sie löschen.149Der Agent-Proxy fügt ein Secret an eine Anfrage an, wenn der Host der Anfrage mit einem übereinstimmt, den Sie bei diesem Secret aufgelistet haben. Sitzungen können diese Hosts erreichen, auch wenn die [Netzwerkzugriffsstufe](#access-levels) der Umgebung dies sonst nicht zulassen würde, außer den [Hosts, die niemals das Secret erhalten](#requests-that-never-get-the-credential). Das Secret gilt in jeder Sitzung, die in der Umgebung ausgeführt wird, wer sie auch gestartet hat, bis Sie es löschen.

150 150 

151<h4 id="requests-that-never-get-the-credential">151<h4 id="requests-that-never-get-the-credential">

152 Anfragen, die niemals die Anmeldedaten erhalten152 Anfragen, die niemals das Secret erhalten

153</h4>153</h4>

154 154 

155Der Agent-Proxy fügt niemals eine Anmeldedaten, die Sie hinzufügen, zu diesen Anfragen hinzu:155Der Agent-Proxy fügt niemals ein Secret, das Sie hinzufügen, zu diesen Anfragen hinzu:

156 156 

157* **GitHub**: der [GitHub-Proxy](#github-proxy) authentifiziert stattdessen Anfragen an GitHub, daher benötigen Sie keine API-Anmeldedaten dafür157* **GitHub**: der [GitHub-Proxy](#github-proxy) authentifiziert stattdessen Anfragen an GitHub, daher benötigen Sie kein Netzwerk-Secret dafür

158* **Die Anthropic API und öffentliche Paketregistrierungen**: `api.anthropic.com`, `registry.npmjs.org`, `jsr.io`, `npm.jsr.io`, `pypi.org`, `files.pythonhosted.org`, `index.crates.io` und `proxy.golang.org`158* **Die Anthropic API und öffentliche Paketregistrierungen**: `api.anthropic.com`, `registry.npmjs.org`, `jsr.io`, `npm.jsr.io`, `pypi.org`, `files.pythonhosted.org`, `index.crates.io` und `proxy.golang.org`

159* **Setup-Skript-Anfragen**: Claude Code verbindet sich mit dem Agent-Proxy, wenn er startet, nachdem das [Setup-Skript](#setup-scripts) ausgeführt wurde159* **Setup-Skript-Anfragen**: Claude Code verbindet sich mit dem Agent-Proxy, wenn er startet, nachdem das [Setup-Skript](#setup-scripts) ausgeführt wurde

160* **Claude Code's Telemetrie-Export**: Claude Code sendet seinen [Telemetrie-Export](/docs/de/monitoring-usage#telemetry-from-cloud-sessions-and-claude-tag) selbst, anstatt durch einen Befehl, den es ausführt, und diese Anfrage geht nicht durch den Agent-Proxy160* **Claude Code's Telemetrie-Export**: Claude Code sendet seinen [Telemetrie-Export](/docs/de/monitoring-usage#telemetry-from-cloud-sessions-and-claude-tag) selbst, anstatt durch einen Befehl, den es ausführt, und diese Anfrage geht nicht durch den Agent-Proxy


179 179 

180* Sitzungen, die bereits in der Umgebung laufen, funktionieren weiterhin.180* Sitzungen, die bereits in der Umgebung laufen, funktionieren weiterhin.

181* Die Umgebung verschwindet aus dem Wähler und aus `/remote-env`, daher können Sie sie nicht für neue Sitzungen auswählen.181* Die Umgebung verschwindet aus dem Wähler und aus `/remote-env`, daher können Sie sie nicht für neue Sitzungen auswählen.

182* API-Anmeldedaten in der Umgebung bleiben in ihren laufenden Sitzungen angehängt. Löschen Sie alle, die Sie nicht mehr benötigen, bevor Sie archivieren.182* Netzwerk-Secrets in der Umgebung bleiben in ihren laufenden Sitzungen angehängt. Löschen Sie alle, die Sie nicht mehr benötigen, bevor Sie archivieren.

183* Keine neue Sitzung kann in einer archivierten Umgebung starten, auf keiner Oberfläche. Wenn die Umgebung Ihr gespeicherter [CLI-Standard](#select-an-environment-from-the-cli) war, startet Claude Code CLI-Cloud-Sitzungen in der von Anthropic gehosteten Umgebung, wenn Ihre Liste eine hat, und ansonsten in der ersten Umgebung in Ihrer Liste, die keine [Remote Control-Bridge-Umgebung](#the-default-environment) ist. Alles, das explizit mit der Umgebung konfiguriert ist, wie eine [Routine](/docs/de/routines#environments-and-network-access), kann keine neuen Sitzungen darin starten. Zeigen Sie es auf eine andere Umgebung.183* Keine neue Sitzung kann in einer archivierten Umgebung starten, auf keiner Oberfläche. Wenn die Umgebung Ihr gespeicherter [CLI-Standard](#select-an-environment-from-the-cli) war, startet Claude Code CLI-Cloud-Sitzungen in der von Anthropic gehosteten Umgebung, wenn Ihre Liste eine hat, und ansonsten in der ersten Umgebung in Ihrer Liste, die keine [Remote Control-Bridge-Umgebung](#the-default-environment) ist. Alles, das explizit mit der Umgebung konfiguriert ist, wie eine [Routine](/docs/de/routines#environments-and-network-access), kann keine neuen Sitzungen darin starten. Zeigen Sie es auf eine andere Umgebung.

184 184 

185<h3 id="organization-shared-environments">185<h3 id="organization-shared-environments">


197 197 

198Owner wählen die [Standardumgebung](#the-default-environment) der Organisation separat unter [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code).198Owner wählen die [Standardumgebung](#the-default-environment) der Organisation separat unter [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code).

199 199 

200Die Sitzungen jedes Mitglieds in einer gemeinsamen Umgebung lesen ihre Variablen, daher fügen Sie keine Geheimnisse darin ein. [API-Anmeldedaten](#add-api-credentials), die Sitzungen einen Schlüssel geben, den sie nicht lesen können, sind in Team- oder Enterprise-Plänen noch nicht verfügbar.200Die Sitzungen jedes Mitglieds in einer gemeinsamen Umgebung lesen ihre Variablen, daher fügen Sie keine Geheimnisse darin ein. [Netzwerk-Secrets](#add-api-credentials), die Sitzungen einen Schlüssel geben, den sie nicht lesen können, sind in Team- oder Enterprise-Plänen noch nicht verfügbar.

201 201 

202<h3 id="set-the-environment-a-claude-tag-channel-uses">202<h3 id="set-the-environment-a-claude-tag-channel-uses">

203 Legen Sie die Umgebung fest, die ein Claude Tag-Kanal verwendet203 Legen Sie die Umgebung fest, die ein Claude Tag-Kanal verwendet


239 239 

240* GitHub, über seinen [separaten Proxy](#github-proxy)240* GitHub, über seinen [separaten Proxy](#github-proxy)

241* [MCP-Konnektoren](#network-access), die Sie aktivieren, deren Datenverkehr über die Server von Anthropic verläuft241* [MCP-Konnektoren](#network-access), die Sie aktivieren, deren Datenverkehr über die Server von Anthropic verläuft

242* Die Hosts, die Sie in den [API-Anmeldedaten](#add-api-credentials) der Umgebung aufgelistet haben, außer den [Hosts, die die Anmeldedaten niemals erhalten](#requests-that-never-get-the-credential)242* Die Hosts, die Sie in den [Netzwerk-Secrets](#add-api-credentials) der Umgebung aufgelistet haben, außer den [Hosts, die das Secret niemals erhalten](#requests-that-never-get-the-credential)

243* Die Anthropic-API für die eigenen Anfragen von Claude Code, auch bei **Keine**, wie unter [Sicherheit und Isolation](/docs/de/claude-code-on-the-web#security-and-isolation) erwähnt243* Die Anthropic-API für die eigenen Anfragen von Claude Code, auch bei **Keine**, wie unter [Sicherheit und Isolation](/docs/de/claude-code-on-the-web#security-and-isolation) erwähnt

244 244 

245<h3 id="allow-specific-domains">245<h3 id="allow-specific-domains">

246 Bestimmte Domänen zulassen246 Bestimmte Domänen zulassen

247</h3>247</h3>

248 248 

249Um Domänen zuzulassen, die nicht in der Liste „Vertraut" enthalten sind, wählen Sie **Benutzerdefiniert** in den Netzwerkzugriffseinstellungen der Umgebung aus und listen Sie dann eine Domäne pro Zeile im Feld **Zulässige Domänen** auf. Dieses Beispiel ermöglicht drei Hosts, die ein internes Projekt möglicherweise benötigt.249Um Domänen zuzulassen, die nicht in der Liste „Vertraut“ enthalten sind, wählen Sie **Benutzerdefiniert** in den Netzwerkzugriffseinstellungen der Umgebung aus und listen Sie dann eine Domäne pro Zeile im Feld **Zulässige Domänen** auf. Dieses Beispiel ermöglicht drei Hosts, die ein internes Projekt möglicherweise benötigt.

250 250 

251```text theme={null}251```text theme={null}

252api.example.com252api.example.com


254registry.example.com254registry.example.com

255```255```

256 256 

257Sitzungen in dieser Umgebung können jetzt auf `api.example.com`, jede Subdomäne von `internal.example.com` und `registry.example.com` zugreifen, und auf keine anderen Domänen über das Netzwerk der Sitzung. [GitHub-Datenverkehr](#github-proxy), [MCP-Konnektordatenverkehr](#network-access) und Anfragen an die Hosts der [API-Anmeldedaten](#add-api-credentials) der Umgebung, außer den [Hosts, die die Anmeldedaten niemals erhalten](#requests-that-never-get-the-credential), gehen nicht durch diese Zulassungsliste. Ein führendes `*.` entspricht jeder Subdomäne. Um die [vertrauten Domänen](#default-allowed-domains) ebenfalls zu behalten, aktivieren Sie **Auch Standardliste häufiger Paketmanager einschließen**; lassen Sie es deaktiviert, um nur das zuzulassen, was Sie auflisten.257Sitzungen in dieser Umgebung können jetzt auf `api.example.com`, jede Subdomäne von `internal.example.com` und `registry.example.com` zugreifen, und auf keine anderen Domänen über das Netzwerk der Sitzung. [GitHub-Datenverkehr](#github-proxy), [MCP-Konnektordatenverkehr](#network-access) und Anfragen an die Hosts der [Netzwerk-Secrets](#add-api-credentials) der Umgebung, außer den [Hosts, die das Secret niemals erhalten](#requests-that-never-get-the-credential), gehen nicht durch diese Allowlist. Ein führendes `*.` entspricht jeder Subdomäne. Um die [vertrauten Domänen](#default-allowed-domains) ebenfalls zu behalten, aktivieren Sie **Auch Standardliste häufiger Paketmanager einschließen**; lassen Sie es deaktiviert, um nur das zuzulassen, was Sie auflisten.

258 258 

259Wenn Ihre Organisation [Artefakte](/docs/de/artifacts#availability) verwendet, benötigen Sie `*.frame.claudeusercontent.com` nicht in der Liste, damit Sitzungen diese lesen können. Wenn die Liste diesen Host auslässt, liest Claude Code Artefaktinhalte stattdessen über die Verbindung der Sitzung zu Anthropic. Behalten Sie den Host in einer Zulassungsliste in zwei Situationen:259Wenn Ihre Organisation [Artefakte](/docs/de/artifacts#availability) verwendet, benötigen Sie `*.frame.claudeusercontent.com` nicht in der Liste, damit Sitzungen diese lesen können. Wenn die Liste diesen Host auslässt, liest Claude Code Artefaktinhalte stattdessen über die Verbindung der Sitzung zu Anthropic. Behalten Sie den Host in einer Zulassungsliste in zwei Situationen:

260 260 


302 Was wird von Ihrem Setup übernommen302 Was wird von Ihrem Setup übernommen

303</h3>303</h3>

304 304 

305Cloud-Sitzungen starten aus einem frischen Klon Ihres Repositories. Alles, das Sie in das Repo committen, ist verfügbar. Alles, das Sie nur auf Ihrem eigenen Computer installiert oder konfiguriert haben, ist nicht in der Sitzung verfügbar. Die Richtlinie Ihrer Organisation kommt separat über [Server-verwaltete Einstellungen](/docs/de/server-managed-settings) an.305Cloud-Sitzungen starten aus einem frischen Klon Ihres Repositorys. Alles, das Sie in das Repo committen, ist verfügbar. Alles, das Sie nur auf Ihrem eigenen Computer installiert oder konfiguriert haben, ist nicht in der Sitzung verfügbar. Die Richtlinie Ihrer Organisation kommt separat über [Server-verwaltete Einstellungen](/docs/de/server-managed-settings) an.

306 306 

307| | Verfügbar in Cloud-Sitzungen | Warum |307| | Verfügbar in Cloud-Sitzungen | Warum |

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

309| Die `CLAUDE.md` Ihres Repos | Ja | Teil des Klons |309| Die `CLAUDE.md` Ihres Repos | Ja | Teil des Klons |

310| Die `.claude/settings.json`-Hooks und Berechtigungsregeln Ihres Repos | Ja, in einer Sitzung mit einem Repository | Teil des Klons. Eine Sitzung mit mehreren Repositories, einschließlich eines [Projekt](/docs/de/claude-projects#what-threads-pick-up-from-your-repositories)-Threads, startet über den Klonen und liest sie nicht |310| Die `.claude/settings.json`-Hooks und Berechtigungsregeln Ihres Repos | Ja, in einer Sitzung mit einem Repository | Teil des Klons. Eine Sitzung mit mehreren Repositorys, einschließlich eines [Projekt](/docs/de/claude-projects#what-threads-pick-up-from-your-repositories)-Threads, startet über den Klonen und liest sie nicht |

311| Die `.mcp.json` MCP-Server Ihres Repos | Ja, in einer Sitzung mit einem Repository | Teil des Klons, gefunden aus dem Arbeitsverzeichnis der Sitzung |311| Die `.mcp.json` MCP-Server Ihres Repos | Ja, in einer Sitzung mit einem Repository | Teil des Klons, gefunden aus dem Arbeitsverzeichnis der Sitzung |

312| Das `.claude/rules/` Ihres Repos | Ja | Teil des Klons |312| Das `.claude/rules/` Ihres Repos | Ja | Teil des Klons |

313| Die `.claude/skills/`, `.claude/agents/`, `.claude/commands/` Ihres Repos | Ja | Teil des Klons |313| Die `.claude/skills/`, `.claude/agents/`, `.claude/commands/` Ihres Repos | Ja | Teil des Klons |

314| Plugins und Marketplaces, die in der `.claude/settings.json` Ihres Repos deklariert sind | Nein | Eine Cloud-Sitzung installiert nicht die Plugins, die ein Repository unter [`enabledPlugins`](/docs/de/settings-reference#enabledplugins) aktiviert, einschließlich solcher aus den Marketplaces, die es unter [`extraKnownMarketplaces`](/docs/de/settings-reference#extraknownmarketplaces) auflistet |314| Plugins und Marketplaces, die in der `.claude/settings.json` Ihres Repos deklariert sind | Nein | Eine Cloud-Sitzung installiert nicht die Plugins, die ein Repository unter [`enabledPlugins`](/docs/de/settings-reference#enabledplugins) aktiviert, einschließlich solcher aus den Marketplaces, die es unter [`extraKnownMarketplaces`](/docs/de/settings-reference#extraknownmarketplaces) auflistet |

315| Die [Server-verwalteten Einstellungen](/docs/de/server-managed-settings) Ihrer Organisation | Ja, außer in [Claude Tag](https://claude.com/docs/claude-tag/overview)-Sitzungen | Abgerufen von Anthropic-Servern, wenn die Sitzung startet. Siehe [Surface coverage](/docs/de/model-config#surface-coverage) für die Durchsetzung von `availableModels` in Cloud-Sitzungen. Einstellungen, die auf Ihrem Gerät über MDM oder verwaltete Einstellungsdateien bereitgestellt werden, gelten nicht, da die Sitzung auf einer von Anthropic verwalteten VM läuft; in einer [selbstgehosteten Umgebung](/docs/de/self-hosted-environments) lesen Sitzungen auch die verwaltete Einstellungsdatei im Runner-Image, pro [wie Claude Code verwaltete Quellen kombiniert](/docs/de/managed-settings#how-claude-code-combines-managed-sources) |315| Die [Server-verwalteten Einstellungen](/docs/de/server-managed-settings) Ihrer Organisation | Ja, außer in [Claude Tag](https://claude.com/docs/claude-tag/overview)-Sitzungen | Abgerufen von Anthropic-Servern, wenn die Sitzung startet. Siehe [Surface coverage](/docs/de/model-config#surface-coverage) für die Durchsetzung von `availableModels` in Cloud-Sitzungen. Einstellungen, die auf Ihrem Gerät über MDM oder verwaltete Einstellungsdateien bereitgestellt werden, gelten nicht, da die Sitzung auf einer von Anthropic verwalteten VM läuft; in einer [selbstgehosteten Umgebung](/docs/de/self-hosted-environments) lesen Sitzungen auch die verwaltete Einstellungsdatei im Runner-Image, gemäß [wie Claude Code verwaltete Quellen kombiniert](/docs/de/managed-settings#how-claude-code-combines-managed-sources) |

316| Ihre Benutzer `~/.claude/CLAUDE.md` | Nein | Lebt auf Ihrem Computer, nicht im Repo |316| Ihre Benutzer `~/.claude/CLAUDE.md` | Nein | Lebt auf Ihrem Computer, nicht im Repo. Siehe [Persönliche Präferenzen hinzufügen, ohne sie in das Repo zu committen](#add-personal-preferences-without-committing-to-the-repo) |

317| Ihre Benutzer `~/.claude/skills/`, `~/.claude/agents/`, `~/.claude/commands/` | Nein | Leben auf Ihrem Computer, nicht im Repo. Committen Sie sie stattdessen in das Verzeichnis `.claude/` des Repos. Cloud-Sitzungen laden automatisch Skills, die Sie auf claude.ai aktivieren |317| Ihre Benutzer `~/.claude/skills/`, `~/.claude/agents/`, `~/.claude/commands/` | Nein | Leben auf Ihrem Computer, nicht im Repo. Committen Sie sie stattdessen in das Verzeichnis `.claude/` des Repos. Cloud-Sitzungen laden automatisch Skills, die Sie auf claude.ai aktivieren |

318| Plugins, die nur in Ihren Benutzereinstellungen aktiviert sind | Nein | Benutzer-scoped `enabledPlugins` lebt in `~/.claude/settings.json` auf Ihrem Computer |318| Plugins, die nur in Ihren Benutzereinstellungen aktiviert sind | Nein | `enabledPlugins` im Benutzer-Geltungsbereich lebt in `~/.claude/settings.json` auf Ihrem Computer |

319| MCP-Server, die Sie mit `claude mcp add` im Standard-lokalen Bereich oder Benutzerbereich hinzugefügt haben | Nein | Diese schreiben in `~/.claude.json` auf Ihrem Computer, nicht im Repo. Fügen Sie den Server mit `claude mcp add --scope project` hinzu, das die [`.mcp.json`](/docs/de/mcp#project-scope) des Repos schreibt, und committen Sie diese Datei. Eine Sitzung mit einem Repository lädt sie |319| MCP-Server, die Sie mit `claude mcp add` im standardmäßigen lokalen Geltungsbereich oder im Benutzer-Geltungsbereich hinzugefügt haben | Nein | Diese schreiben in `~/.claude.json` auf Ihrem Computer, nicht im Repo. Fügen Sie den Server mit `claude mcp add --scope project` hinzu, das die [`.mcp.json`](/docs/de/mcp#project-scope) des Repos schreibt, und committen Sie diese Datei. Eine Sitzung mit einem Repository lädt sie |

320| Transport-Variablen in der `.claude/settings.json` `env`-Block Ihres Repos, wie `NODE_EXTRA_CA_CERTS` und die [mTLS-Client-Zertifikat-Variablen](/docs/de/network-config#mtls-authentication) | Nein | Die Hosting-Umgebung verwaltet die API-Verbindung der Sitzung, daher ignoriert Claude Code diese Schlüssel und notiert jeden ignorierten Schlüssel im Debug-Log der Sitzung |320| Transport-Variablen im `env`-Block der `.claude/settings.json` Ihres Repos, wie `NODE_EXTRA_CA_CERTS` und die [mTLS-Client-Zertifikat-Variablen](/docs/de/network-config#mtls-authentication) | Nein | Die Hosting-Umgebung verwaltet die API-Verbindung der Sitzung, daher ignoriert Claude Code diese Schlüssel und notiert jeden ignorierten Schlüssel im Debug-Log der Sitzung |

321| API-Schlüssel und Tokens für Services, die Claude aufruft | Auf Pro- und Max-Plänen, als [API-Anmeldedaten](#add-api-credentials) | Sie fügen den Schlüssel einmal auf der Umgebung hinzu und der Agent-Proxy fügt ihn an Anfragen für die Hosts an, die Sie auflisten. Ein Schlüssel, den der Agent-Proxy [nicht anhängen kann](#requests-that-never-get-the-credential), oder ein beliebiger Schlüssel auf einem Team- oder Enterprise-Plan, bleibt in einer Umgebungsvariable |321| API-Schlüssel und Token für Services, die Claude aufruft | Auf Pro- und Max-Plänen, als [Netzwerk-Secrets](#add-api-credentials) | Sie fügen den Schlüssel einmal auf der Umgebung hinzu und der Agent-Proxy fügt ihn an Anfragen für die Hosts an, die Sie auflisten. Ein Schlüssel, den der Agent-Proxy [nicht anhängen kann](#requests-that-never-get-the-credential), oder ein beliebiger Schlüssel auf einem Team- oder Enterprise-Plan, bleibt in einer Umgebungsvariable |

322| Interaktive Authentifizierung wie AWS SSO | Nein | Nicht unterstützt. SSO erfordert browserbasierte Anmeldung, die nicht in einer Cloud-Sitzung ausgeführt werden kann |322| Interaktive Authentifizierung wie AWS SSO | Nein | Nicht unterstützt. SSO erfordert browserbasierte Anmeldung, die nicht in einer Cloud-Sitzung ausgeführt werden kann |

323 323 

324Um Ihre eigene Konfiguration in Cloud-Sitzungen verfügbar zu machen, committen Sie sie in das Repo.324Um Ihre eigene Konfiguration in Cloud-Sitzungen verfügbar zu machen, committen Sie sie in das Repo.

325 325 

326Jeder, der die Umgebung nutzt, kann ihre Umgebungsvariablen und Setup-Skripte lesen. Der Hinweis des Dialogs unter **Umgebungsvariablen** sagt dies und warnt vor dem Hinzufügen von Geheimnissen. Auf Pro- und Max-Plänen speichern Sie einen Schlüssel, den der Agent-Proxy anhängen kann, als [API-Anmeldedaten](#add-api-credentials) stattdessen.326Jeder, der die Umgebung nutzt, kann ihre Umgebungsvariablen und ihr Setup-Skript lesen. Der Hinweis des Dialogs unter **Umgebungsvariablen** sagt dies und warnt vor dem Hinzufügen von Geheimnissen. Auf Pro- und Max-Plänen speichern Sie einen Schlüssel, den der Agent-Proxy anhängen kann, stattdessen als [Netzwerk-Secret](#add-api-credentials).

327 

328<h4 id="add-personal-preferences-without-committing-to-the-repo">

329 Persönliche Präferenzen hinzufügen, ohne sie in das Repo zu committen

330</h4>

331 

332Fügen Sie in einer von Anthropic gehosteten Umgebung ein [Setup-Skript](#setup-scripts) hinzu, das `~/.claude/CLAUDE.md` für Präferenzen schreibt, die Sie lieber nicht in ein gemeinsam genutztes Repository aufnehmen möchten. Claude Code lädt diese Datei in der Sitzung als [Benutzeranweisungen](/docs/de/memory#choose-where-to-put-claude-md-files). Dieses Beispiel legt eine Präferenz für Commit-Nachrichten fest:

333 

334```bash theme={null}

335#!/bin/bash

336mkdir -p ~/.claude

337cat > ~/.claude/CLAUDE.md <<'EOF'

338Use conventional commit messages.

339EOF

340```

341 

342Legen Sie das Skript in einer Ihrer eigenen Umgebungen ab statt in einer [gemeinsam genutzten](#organization-shared-environments).

343 

344Führen Sie `/context` in Ihrer nächsten Cloud-Sitzung aus und bestätigen Sie, dass `/root/.claude/CLAUDE.md` unter **Memory files** erscheint.

327 345 

328<h3 id="installed-tools">346<h3 id="installed-tools">

329 Installierte Tools347 Installierte Tools


349 367 

350Um die Versionen der meisten Tools in dieser Tabelle zu erhalten, bitten Sie Claude, `check-tools` in einer Cloud-Sitzung auszuführen. Es ist ein Shell-Befehl, der auf der Sitzungs-VM installiert ist, kein Befehl, den Sie mit `/` eingeben; Sie bitten Claude, weil [Claude alle VM-Befehle für Sie ausführt](#run-tests-start-services-and-add-packages). Für ein Tool, das es nicht meldet, wie Ruby, PHP, bun, PostgreSQL oder Redis, bitten Sie Claude, den Versions-Befehl des Tools selbst auszuführen, zum Beispiel `psql --version`.368Um die Versionen der meisten Tools in dieser Tabelle zu erhalten, bitten Sie Claude, `check-tools` in einer Cloud-Sitzung auszuführen. Es ist ein Shell-Befehl, der auf der Sitzungs-VM installiert ist, kein Befehl, den Sie mit `/` eingeben; Sie bitten Claude, weil [Claude alle VM-Befehle für Sie ausführt](#run-tests-start-services-and-add-packages). Für ein Tool, das es nicht meldet, wie Ruby, PHP, bun, PostgreSQL oder Redis, bitten Sie Claude, den Versions-Befehl des Tools selbst auszuführen, zum Beispiel `psql --version`.

351 369 

352Node.js-Versionen sind unter `/opt/node20`, `/opt/node21` und `/opt/node22` installiert, mit 22 auf `PATH` standardmäßig. Um mit einer anderen Version zu arbeiten, bitten Sie Claude, das `bin`-Verzeichnis dieser Version, wie `/opt/node20/bin`, zu `PATH` voranstellen.370Node.js-Versionen sind unter `/opt/node20`, `/opt/node21` und `/opt/node22` installiert, mit 22 auf `PATH` standardmäßig. Um mit einer anderen Version zu arbeiten, bitten Sie Claude, das `bin`-Verzeichnis dieser Version, wie `/opt/node20/bin`, `PATH` voranzustellen.

353 371 

354Toolchains außerhalb dieser Liste, wie das .NET SDK, sind nicht vorinstalliert, auch wenn ihre Paketregistrierungen auf der [Standard-Whitelist](#default-allowed-domains) sind. Installieren Sie sie mit einem [Setup-Skript](#setup-scripts).372Toolchains außerhalb dieser Liste, wie das .NET SDK, sind nicht vorinstalliert, auch wenn ihre Paketregistrierungen auf der [Standard-Allowlist](#default-allowed-domains) sind. Installieren Sie sie mit einem [Setup-Skript](#setup-scripts).

355 373 

356<h3 id="work-with-github-issues-and-pull-requests">374<h3 id="work-with-github-issues-and-pull-requests">

357 Arbeiten Sie mit GitHub-Issues und Pull Requests375 Arbeiten Sie mit GitHub-Issues und Pull Requests

358</h3>376</h3>

359 377 

360Cloud-Sitzungen enthalten integrierte GitHub-Tools, die Claude Issues lesen, Pull Requests auflisten, Diffs abrufen und Kommentare posten lassen, ohne Setup. Diese Tools authentifizieren sich über den [GitHub-Proxy](#github-proxy) mit der Methode, die Sie unter [GitHub-Authentifizierungsoptionen](/docs/de/claude-code-on-the-web#github-authentication-options) konfiguriert haben, daher betritt Ihr Token niemals den Container.378Cloud-Sitzungen enthalten integrierte GitHub-Tools, die Claude Issues lesen, Pull Requests auflisten, Diffs abrufen und Kommentare posten lassen, ohne Setup. Diese Tools authentifizieren sich über den [GitHub-Proxy](#github-proxy) mit der Methode, die Sie unter [GitHub-Authentifizierungsoptionen](/docs/de/claude-code-on-the-web#github-authentication-options) konfiguriert haben, daher gelangt Ihr Token niemals in den Container.

361 379 

362Sie können `GH_TOKEN` oder `GITHUB_TOKEN` selbst in [Umgebungseinstellungen](#set-environment-variables) setzen, oder beide ungesetzt lassen und den [GitHub-Proxy](#github-proxy) für Sie authentifizieren lassen:380Sie können `GH_TOKEN` oder `GITHUB_TOKEN` selbst in [Umgebungseinstellungen](#set-environment-variables) setzen, oder beide ungesetzt lassen und den [GitHub-Proxy](#github-proxy) für Sie authentifizieren lassen:

363 381 

364* Wenn Sie einen Token setzen, wird er unverändert an den Container übergeben, daher verwenden Ihre Skripte und GitHub's [`gh` CLI](https://cli.github.com) ihn direkt.382* Wenn Sie ein Token setzen, wird es unverändert an den Container übergeben, daher verwenden Ihre Skripte und GitHubs [`gh` CLI](https://cli.github.com) es direkt.

365* Wenn Sie keinen setzen und der [GitHub-Proxy](#github-proxy) die Authentifizierung für Ihre Sitzung handhabt, lesen beide Variablen als die Platzhalter-Zeichenkette `proxy-injected` in den Befehlen, die Claude ausführt, und der Proxy ersetzt Ihre echten Anmeldedaten bei ausgehenden GitHub-Anfragen. `gh` funktioniert ohne einen Token von Ihnen, aber ein Skript, das `GITHUB_TOKEN` direkt liest, erhält den Platzhalter, nicht einen verwendbaren Token.383* Wenn Sie keines setzen und der [GitHub-Proxy](#github-proxy) die Authentifizierung für Ihre Sitzung handhabt, lesen beide Variablen als die Platzhalter-Zeichenkette `proxy-injected` in den Befehlen, die Claude ausführt, und der Proxy ersetzt Ihre echten Anmeldedaten bei ausgehenden GitHub-Anfragen. `gh` funktioniert ohne ein eigenes Token, aber ein Skript, das `GITHUB_TOKEN` direkt liest, erhält den Platzhalter, nicht ein verwendbares Token.

366 384 

367Ein Token, den Sie setzen, ist eine gewöhnliche Umgebungsvariable, daher kann jeder, der die Umgebung nutzt, ihn lesen; der Proxy-Pfad hält die Anmeldedaten aus der Umgebungskonfiguration und der Sitzungs-VM.385Ein Token, das Sie setzen, ist eine gewöhnliche Umgebungsvariable, daher kann jeder, der die Umgebung nutzt, es lesen; der Proxy-Pfad hält die Anmeldedaten aus der Umgebungskonfiguration und der Sitzungs-VM heraus.

368 386 

369Um zu überprüfen, welcher Fall auf Ihre Sitzung zutrifft, bitten Sie Claude, `echo $GH_TOKEN` auszuführen.387Um zu überprüfen, welcher Fall auf Ihre Sitzung zutrifft, bitten Sie Claude, `echo $GH_TOKEN` auszuführen.

370 388 

371GitHub's [`gh` CLI](https://cli.github.com) ist vorinstalliert. Wenn Sie einen `gh`-Befehl benötigen, den die integrierten Tools nicht abdecken, wie `gh release` oder `gh workflow run`, bitten Sie Claude, ihn auszuführen. `gh` liest `GH_TOKEN` automatisch, daher müssen Sie `gh auth login` nicht ausführen.389GitHubs [`gh` CLI](https://cli.github.com) ist vorinstalliert. Wenn Sie einen `gh`-Befehl benötigen, den die integrierten Tools nicht abdecken, wie `gh release` oder `gh workflow run`, bitten Sie Claude, ihn auszuführen. `gh` liest `GH_TOKEN` automatisch, daher müssen Sie `gh auth login` nicht ausführen.

372 390 

373<h3 id="link-output-back-to-the-session">391<h3 id="link-output-back-to-the-session">

374 Verknüpfen Sie die Ausgabe zurück zur Sitzung392 Verknüpfen Sie die Ausgabe zurück zur Sitzung


376 394 

377Jede Cloud-Sitzung hat eine Transkript-URL auf claude.ai, und die Sitzung kann ihre eigene ID aus der Umgebungsvariable `CLAUDE_CODE_REMOTE_SESSION_ID` lesen. Verwenden Sie dies, um einen nachverfolgbaren Link in PR-Bodies, Commit-Nachrichten, Slack-Posts oder generierten Berichten zu platzieren, damit ein Reviewer den Lauf öffnen kann, der sie produziert hat.395Jede Cloud-Sitzung hat eine Transkript-URL auf claude.ai, und die Sitzung kann ihre eigene ID aus der Umgebungsvariable `CLAUDE_CODE_REMOTE_SESSION_ID` lesen. Verwenden Sie dies, um einen nachverfolgbaren Link in PR-Bodies, Commit-Nachrichten, Slack-Posts oder generierten Berichten zu platzieren, damit ein Reviewer den Lauf öffnen kann, der sie produziert hat.

378 396 

379Commits, die Claude in einer Cloud-Sitzung erstellt, enthalten einen `Claude-Session: <url>` Git-Trailer, und PR-Bodies enthalten die Sitzungs-URL auf ihrer eigenen Zeile. Um den Trailer und den PR-Body-Link zu weglassen, setzen Sie [`attribution.sessionUrl`](/docs/de/settings-reference#attribution-sessionurl) auf `false`.397Commits, die Claude in einer Cloud-Sitzung erstellt, enthalten einen `Claude-Session: <url>` Git-Trailer, und PR-Bodies enthalten die Sitzungs-URL auf einer eigenen Zeile. Um den Trailer und den PR-Body-Link wegzulassen, setzen Sie [`attribution.sessionUrl`](/docs/de/settings-reference#attribution-sessionurl) auf `false`.

380 398 

381Um den Sitzungs-Link in etwas anderem als einem Commit oder PR einzuschließen, wie eine Slack-Nachricht, die Claude postet, oder eine Berichtsdatei, die sie schreibt, lassen Sie Claude den folgenden Befehl ausführen und verwenden Sie seine Ausgabe. Der Befehl konvertiert das `cse_`-Präfix im Wert der Umgebungsvariable in das `session_`-Präfix, das die Transkript-URL erwartet:399Um den Sitzungs-Link in etwas anderem als einem Commit oder PR einzuschließen, wie einer Slack-Nachricht, die Claude postet, oder einer Berichtsdatei, die es schreibt, lassen Sie Claude den folgenden Befehl ausführen und verwenden Sie seine Ausgabe. Der Befehl konvertiert das `cse_`-Präfix im Wert der Umgebungsvariable in das `session_`-Präfix, das die Transkript-URL erwartet:

382 400 

383```bash theme={null}401```bash theme={null}

384echo "https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID/#cse_/session_}"402echo "https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID/#cse_/session_}"


394 Führen Sie Tests aus412 Führen Sie Tests aus

395</h4>413</h4>

396 414 

397Claude führt Tests als Teil der Arbeit an einer Aufgabe aus. Bitten Sie darum in Ihrem Prompt, wie „Beheben Sie die fehlgeschlagenen Tests in `tests/`" oder „Führen Sie pytest nach jeder Änderung aus." Test-Runner, die mit den [vorinstallierten Toolchains](#installed-tools) kommen, wie pytest und cargo test, funktionieren ohne zusätzliches Setup. Ein Runner, den Ihr Projekt als Abhängigkeit deklariert, wie jest, installiert sich mit Ihren Abhängigkeiten.415Claude führt Tests als Teil der Arbeit an einer Aufgabe aus. Bitten Sie darum in Ihrem Prompt, wie „Beheben Sie die fehlgeschlagenen Tests in `tests/`“ oder „Führen Sie pytest nach jeder Änderung aus.“ Test-Runner, die mit den [vorinstallierten Toolchains](#installed-tools) kommen, wie pytest und cargo test, funktionieren ohne zusätzliches Setup. Ein Runner, den Ihr Projekt als Abhängigkeit deklariert, wie jest, wird mit Ihren Abhängigkeiten installiert.

398 416 

399<h4 id="start-services">417<h4 id="start-services">

400 Starten Sie Services418 Starten Sie Services

401</h4>419</h4>

402 420 

403PostgreSQL und Redis sind vorinstalliert, aber nicht standardmäßig laufen. Bitten Sie Claude, diejenigen zu starten, die Sie benötigen; die Befehle, die es ausführt, sind:421PostgreSQL und Redis sind vorinstalliert, laufen aber standardmäßig nicht. Bitten Sie Claude, diejenigen zu starten, die Sie benötigen; die Befehle, die es ausführt, sind:

404 422 

405```bash theme={null}423```bash theme={null}

406service postgresql start424service postgresql start


412 430 

413Docker ist für die Ausführung von containerisierten Services verfügbar. Bitten Sie Claude, `docker compose up` auszuführen, um die Services Ihres Projekts zu starten. Der Netzwerkzugriff zum Abrufen von Images folgt der [Zugriffsstufe](#access-levels) Ihrer Umgebung, und die [Trusted-Standardeinstellungen](#default-allowed-domains) enthalten Docker Hub und andere gängige Registrierungen.431Docker ist für die Ausführung von containerisierten Services verfügbar. Bitten Sie Claude, `docker compose up` auszuführen, um die Services Ihres Projekts zu starten. Der Netzwerkzugriff zum Abrufen von Images folgt der [Zugriffsstufe](#access-levels) Ihrer Umgebung, und die [Trusted-Standardeinstellungen](#default-allowed-domains) enthalten Docker Hub und andere gängige Registrierungen.

414 432 

415Wenn Ihre Images groß oder langsam zum Abrufen sind, fügen Sie `docker compose pull` oder `docker compose build` zu Ihrem [Setup-Skript](#setup-scripts) hinzu. Der [Umgebungs-Cache](#environment-caching) behält die abgerufenen Images, daher hat jede neue Sitzung sie auf der Festplatte. Der Cache speichert nur Dateien, keine laufenden Prozesse, daher startet Claude die Container immer noch jede Sitzung.433Wenn Ihre Images groß oder langsam zum Abrufen sind, fügen Sie `docker compose pull` oder `docker compose build` zu Ihrem [Setup-Skript](#setup-scripts) hinzu. Der [Umgebungs-Cache](#environment-caching) behält die abgerufenen Images, daher hat jede neue Sitzung sie auf der Festplatte. Der Cache speichert nur Dateien, keine laufenden Prozesse, daher startet Claude die Container in jeder Sitzung trotzdem.

416 434 

417<h4 id="add-packages">435<h4 id="add-packages">

418 Fügen Sie Pakete hinzu436 Fügen Sie Pakete hinzu

419</h4>437</h4>

420 438 

421Um Pakete hinzuzufügen, die nicht vorinstalliert sind, verwenden Sie ein [Setup-Skript](#setup-scripts). Der [Umgebungs-Cache](#environment-caching) behält das, was das Skript installiert, daher sind Pakete, die Sie dort installieren, am Anfang jeder Sitzung verfügbar, ohne jedes Mal neu zu installieren. Sie können Claude auch bitten, Pakete mid-Sitzung zu installieren, aber diese Installationen werden nicht auf andere Sitzungen übertragen.439Um Pakete hinzuzufügen, die nicht vorinstalliert sind, verwenden Sie ein [Setup-Skript](#setup-scripts). Der [Umgebungs-Cache](#environment-caching) behält das, was das Skript installiert, daher sind Pakete, die Sie dort installieren, am Anfang jeder Sitzung verfügbar, ohne jedes Mal neu zu installieren. Sie können Claude auch bitten, Pakete während der Sitzung zu installieren, aber diese Installationen werden nicht auf andere Sitzungen übertragen.

422 440 

423<h3 id="resource-limits">441<h3 id="resource-limits">

424 Ressourcenlimits442 Ressourcenlimits


438 456 

439In von Anthropic gehosteten Umgebungen gelten diese Zeitlimits für langfristige Arbeiten in einer Cloud-Sitzung, wie ein Build, eine Installation oder ein Test-Lauf. Jeder Eintrag verlinkt auf den Abschnitt, der das Limit definiert.457In von Anthropic gehosteten Umgebungen gelten diese Zeitlimits für langfristige Arbeiten in einer Cloud-Sitzung, wie ein Build, eine Installation oder ein Test-Lauf. Jeder Eintrag verlinkt auf den Abschnitt, der das Limit definiert.

440 458 

441* **Befehle, die Claude ausführt**: Eine Cloud-Umgebung setzt kein eigenes Befehls-Timeout, daher gelten die Standardeinstellungen des Bash-Tools. Claude wartet standardmäßig 2 Minuten auf einen Befehl und kann bis zu 10 Minuten anfordern.459* **Befehle, die Claude ausführt**: Eine Cloud-Umgebung setzt kein eigenes Befehls-Timeout, daher gelten die Standardeinstellungen des Bash-Tools. Claude wartet standardmäßig 2 Minuten auf einen Vordergrundbefehl und kann bis zu 10 Minuten anfordern.

442 460 

443 Wenn ein Befehl sein [Timeout](/docs/de/tools-reference#timeout-and-output-limits) erreicht, [verschiebt Claude Code ihn in den Hintergrund](/docs/de/tools-reference#foreground-commands-that-move-to-the-background), anstatt ihn zu stoppen, es sei denn, der Befehl beginnt mit `sleep`. Ein Befehl, der auf diese Weise verschoben wird, kann bis zu 30 weitere Minuten laufen, bevor Claude Code ihn bei seinem [Hintergrund-Zeitlimit](/docs/de/tools-reference#time-limit-for-background-commands) stoppt. Das Setzen von `BASH_DEFAULT_TIMEOUT_MS` über `1800000` Millisekunden verlängert dieses Limit sowie die Vordergrund-Standardeinstellung.461 Wenn ein Befehl sein [Timeout](/docs/de/tools-reference#timeout-and-output-limits) erreicht, [verschiebt Claude Code ihn in den Hintergrund](/docs/de/tools-reference#foreground-commands-that-move-to-the-background), anstatt ihn zu stoppen, es sei denn, der Befehl beginnt mit `sleep`. Ein Befehl, der auf diese Weise verschoben wird, kann bis zu 30 weitere Minuten laufen, bevor Claude Code ihn bei seinem [Hintergrund-Zeitlimit](/docs/de/tools-reference#time-limit-for-background-commands) stoppt. Das Setzen von `BASH_DEFAULT_TIMEOUT_MS` über `1800000` Millisekunden verlängert dieses Limit sowie die Vordergrund-Standardeinstellung.

444* **SessionStart-Hooks**: Claude Code bricht einen `command`-Hook nach 600 Sekunden ab, es sei denn, Sie setzen [`timeout`](/docs/de/hooks#common-fields) in Sekunden auf dem Hook-Eintrag. Claude Code erzwingt das Timeout nicht auf einem Hook, den Sie mit [`async: true`](/docs/de/hooks#run-hooks-in-the-background) ausführen.462* **SessionStart-Hooks**: Claude Code bricht einen `command`-Hook nach 600 Sekunden ab, es sei denn, Sie setzen [`timeout`](/docs/de/hooks#common-fields) in Sekunden auf dem Hook-Eintrag. Claude Code erzwingt das Timeout nicht auf einem Hook, den Sie mit [`async: true`](/docs/de/hooks#run-hooks-in-the-background) ausführen.

Details

1586 1586 

1587Die Sitzung durchläuft einen realistischen Ablauf mit repräsentativen Token-Zählungen:1587Die Sitzung durchläuft einen realistischen Ablauf mit repräsentativen Token-Zählungen:

1588 1588 

1589* **Bevor Sie etwas eingeben**: CLAUDE.md, automatisches Gedächtnis, MCP-Tool-Namen und Skill-Beschreibungen werden alle in den Kontext geladen. [AGENTS.md-Dateien](/docs/de/memory#agents-md) können auch geladen werden, eigenständig oder zusammen mit CLAUDE.md. Ihr eigenes Setup kann hier mehr hinzufügen, wie ein [Ausgabestil](/docs/de/output-styles) oder Text aus [`--append-system-prompt`](/docs/de/cli-reference).1589* **Bevor Sie etwas eingeben**: CLAUDE.md, Auto-Memory, MCP-Tool-Namen und Skill-Beschreibungen werden alle in den Kontext geladen. [AGENTS.md-Dateien](/docs/de/memory#agents-md) können anstelle von CLAUDE.md geladen werden. Ihr eigenes Setup kann hier mehr hinzufügen, wie ein [Ausgabestil](/docs/de/output-styles) oder Text aus [`--append-system-prompt`](/docs/de/cli-reference).

1590* **Während Claude arbeitet**: Jeder Dateilesevorgang fügt zum Kontext hinzu, [pfadgebundene Regeln](/docs/de/memory#path-specific-rules) werden automatisch zusammen mit übereinstimmenden Dateien geladen, und ein [PostToolUse Hook](/docs/de/hooks-guide) wird nach jeder Bearbeitung ausgelöst.1590* **Während Claude arbeitet**: Jeder Dateilesevorgang fügt zum Kontext hinzu, [pfadgebundene Regeln](/docs/de/memory#path-specific-rules) werden automatisch zusammen mit übereinstimmenden Dateien geladen, und ein [PostToolUse Hook](/docs/de/hooks-guide) wird nach jeder Bearbeitung ausgelöst.

1591* **Die Folgeeingabeaufforderung**: Ein [Subagent](/docs/de/sub-agents) verarbeitet die Recherche in seinem eigenen separaten Kontextfenster, sodass die großen Dateilesevorgang außerhalb des Ihren bleiben. Nur die Zusammenfassung und ein kleiner Metadaten-Trailer kommen zurück.1591* **Die Folgeeingabeaufforderung**: Ein [Subagent](/docs/de/sub-agents) verarbeitet die Recherche in seinem eigenen separaten Kontextfenster, sodass die großen Dateilesevorgang außerhalb des Ihren bleiben. Nur die Zusammenfassung und ein kleiner Metadaten-Trailer kommen zurück.

1592* **Am Ende der Anleitung**: Sie führen `/compact` aus, das die Konversation durch eine strukturierte Zusammenfassung ersetzt. Der meiste Startinhalt wird automatisch neu geladen; die folgende Tabelle zeigt, was mit jedem Mechanismus geschieht.1592* **Am Ende der Anleitung**: Sie führen `/compact` aus, das die Konversation durch eine strukturierte Zusammenfassung ersetzt. Der meiste Startinhalt wird automatisch neu geladen; die folgende Tabelle zeigt, was mit jedem Mechanismus geschieht.

costs.md +1 −1

Details

394* **Verwenden Sie Plan Mode für komplexe Aufgaben**: Drücken Sie Shift+Tab, um [Plan Mode](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) vor der Implementierung zu betreten. Claude erkundet die Codebasis und schlägt einen Ansatz zur Genehmigung vor, was teure Überarbeitungen verhindert, wenn die anfängliche Richtung falsch ist.394* **Verwenden Sie Plan Mode für komplexe Aufgaben**: Drücken Sie Shift+Tab, um [Plan Mode](/docs/de/permission-modes#analyze-before-you-edit-with-plan-mode) vor der Implementierung zu betreten. Claude erkundet die Codebasis und schlägt einen Ansatz zur Genehmigung vor, was teure Überarbeitungen verhindert, wenn die anfängliche Richtung falsch ist.

395* **Korrigieren Sie den Kurs früh**: Wenn Claude in die falsche Richtung geht, drücken Sie Escape, um sofort zu stoppen. Verwenden Sie `/rewind` oder doppeltippen Sie Escape, um das Gespräch und den Code zu einem vorherigen Checkpoint wiederherzustellen.395* **Korrigieren Sie den Kurs früh**: Wenn Claude in die falsche Richtung geht, drücken Sie Escape, um sofort zu stoppen. Verwenden Sie `/rewind` oder doppeltippen Sie Escape, um das Gespräch und den Code zu einem vorherigen Checkpoint wiederherzustellen.

396* **Geben Sie Verifizierungsziele an**: Fügen Sie Testfälle ein, fügen Sie Screenshots ein oder definieren Sie erwartete Ausgabe in Ihrem Prompt. Wenn Claude seine eigene Arbeit verifizieren kann, erkennt es Probleme, bevor Sie Korrektionen anfordern müssen.396* **Geben Sie Verifizierungsziele an**: Fügen Sie Testfälle ein, fügen Sie Screenshots ein oder definieren Sie erwartete Ausgabe in Ihrem Prompt. Wenn Claude seine eigene Arbeit verifizieren kann, erkennt es Probleme, bevor Sie Korrektionen anfordern müssen.

397* **Testen Sie schrittweise**: Schreiben Sie eine Datei, testen Sie sie, dann fahren Sie fort. Dies erkennt Probleme früh, wenn sie billig zu beheben sind.397* **Testen Sie schrittweise**: Schreiben Sie eine Datei, testen Sie sie, dann fahren Sie fort. Dies erkennt Probleme früh.

398 398 

399<h2 id="background-token-usage">399<h2 id="background-token-usage">

400 Hintergrund-Token-Nutzung400 Hintergrund-Token-Nutzung

desktop.md +1 −1

Details

1092Um zu sehen, welche Version der Desktop-App Sie ausführen:1092Um zu sehen, welche Version der Desktop-App Sie ausführen:

1093 1093 

1094* **macOS**: Klicken Sie auf **Claude** in der Menüleiste und dann auf **Über Claude**1094* **macOS**: Klicken Sie auf **Claude** in der Menüleiste und dann auf **Über Claude**

1095* **Windows**: Klicken Sie auf **Hilfe** und dann auf **Über**1095* **Windows**: Klicken Sie auf **Hilfe** und dann auf **Über Claude**

1096 1096 

1097Klicken Sie auf die Versionsnummer, um sie in Ihre Zwischenablage zu kopieren.1097Klicken Sie auf die Versionsnummer, um sie in Ihre Zwischenablage zu kopieren.

1098 1098 

Details

92* Speichern Sie einen Screenshot mit **Cmd+S** oder eine Bildschirmaufzeichnung mit **Cmd+R**, indem Sie die Erfassungsschaltflächen des Bereichs oder die Tastenkombinationen verwenden; die Dateien werden auf Ihrem Desktop gespeichert92* Speichern Sie einen Screenshot mit **Cmd+S** oder eine Bildschirmaufzeichnung mit **Cmd+R**, indem Sie die Erfassungsschaltflächen des Bereichs oder die Tastenkombinationen verwenden; die Dateien werden auf Ihrem Desktop gespeichert

93* Beenden Sie das Streaming eines Geräts, ohne es auszuschalten, indem Sie auf **Detach simulator** klicken, das den Bereich in seinen Zustand **Attach simulator** zurückversetzt93* Beenden Sie das Streaming eines Geräts, ohne es auszuschalten, indem Sie auf **Detach simulator** klicken, das den Bereich in seinen Zustand **Attach simulator** zurückversetzt

94 94 

95Um den Videostrom vom Simulator zu optimieren, öffnen Sie das Menü **Display** des Bereichs. Senken Sie **Frame rate** oder **Resolution**, wenn der Bereich Ihren Mac belastet. Beide Einstellungen ändern, wie der Bereich das Gerät anzeigt, nicht wie die App läuft.95Wenn der Bereich ein Menü **Display** anzeigt, verwenden Sie es, um den Videostream vom Simulator anzupassen. Senken Sie **Frame rate** oder **Resolution**, wenn der Bereich Ihren Mac belastet. Beide Einstellungen ändern, wie der Bereich das Gerät anzeigt, nicht wie die App läuft.

96 96 

97Sie und Claude steuern das gleiche Gerät, daher ändern Ihre Taps den App-Status, den Claude sieht. Um Claude einen bestimmten Bildschirm überprüfen zu lassen, navigieren Sie dorthin, indem Sie tippen, und fragen Sie dann. Während Claude das Gerät steuert, zeigt der Bereich ein Badge **Claude is using this device** über dem Bildschirm an; halten Sie mit dem Tippen an, bis das Badge verschwindet, damit das Ergebnis die App und nicht Ihre Eingabe widerspiegelt.97Sie und Claude steuern das gleiche Gerät, daher ändern Ihre Taps den App-Status, den Claude sieht. Um Claude einen bestimmten Bildschirm überprüfen zu lassen, navigieren Sie dorthin, indem Sie tippen, und fragen Sie dann. Während Claude das Gerät steuert, zeigt der Bereich ein Badge **Claude is using this device** über dem Bildschirm an; halten Sie mit dem Tippen an, bis das Badge verschwindet, damit das Ergebnis die App und nicht Ihre Eingabe widerspiegelt.

98 98 

env-vars.md +1 −0

Details

354| `CLAUDE_CODE_PERFORCE_MODE` | Auf `1` setzen, um einen Perforce-kompatiblen Schreibschutz zu aktivieren. Wenn gesetzt, schlagen Edit, Write und NotebookEdit mit dem Hinweis `p4 edit <file>` fehl, wenn der Zieldatei das Schreibbit für den Eigentümer fehlt, das Perforce bei synchronisierten Dateien entfernt, bis `p4 edit` sie öffnet. Dadurch wird verhindert, dass Claude Code die Änderungsverfolgung von Perforce umgeht |354| `CLAUDE_CODE_PERFORCE_MODE` | Auf `1` setzen, um einen Perforce-kompatiblen Schreibschutz zu aktivieren. Wenn gesetzt, schlagen Edit, Write und NotebookEdit mit dem Hinweis `p4 edit <file>` fehl, wenn der Zieldatei das Schreibbit für den Eigentümer fehlt, das Perforce bei synchronisierten Dateien entfernt, bis `p4 edit` sie öffnet. Dadurch wird verhindert, dass Claude Code die Änderungsverfolgung von Perforce umgeht |

355| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Überschreibt das Stammverzeichnis für Plugins. Anders als der Name vermuten lässt, legt dies das übergeordnete Verzeichnis fest, nicht den Cache selbst: Marketplaces und der Plugin-Cache liegen in Unterverzeichnissen unter diesem Pfad. Standardmäßig `~/.claude/plugins` |355| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Überschreibt das Stammverzeichnis für Plugins. Anders als der Name vermuten lässt, legt dies das übergeordnete Verzeichnis fest, nicht den Cache selbst: Marketplaces und der Plugin-Cache liegen in Unterverzeichnissen unter diesem Pfad. Standardmäßig `~/.claude/plugins` |

356| `CLAUDE_CODE_PLUGIN_DIRS` | Plugin-Verzeichnisse, die für die Sitzung geladen werden, jeweils so, wie ein [`--plugin-dir`](/docs/de/plugins/cli-reference#flags-that-load-a-plugin-for-one-session)-Flag sie lädt. Trennen Sie mehrere Pfade mit `:` unter Unix oder `;` unter Windows. Geben Sie jeden Pfad als absoluten Pfad an oder beginnen Sie ihn mit `~`, da Claude Code relative Pfade überspringt. Erfordert Claude Code v2.1.280 oder höher. Siehe [Ein Plugin für eine Sitzung laden](/docs/de/plugins/create#load-a-directory-or-archive-for-one-session) |356| `CLAUDE_CODE_PLUGIN_DIRS` | Plugin-Verzeichnisse, die für die Sitzung geladen werden, jeweils so, wie ein [`--plugin-dir`](/docs/de/plugins/cli-reference#flags-that-load-a-plugin-for-one-session)-Flag sie lädt. Trennen Sie mehrere Pfade mit `:` unter Unix oder `;` unter Windows. Geben Sie jeden Pfad als absoluten Pfad an oder beginnen Sie ihn mit `~`, da Claude Code relative Pfade überspringt. Erfordert Claude Code v2.1.280 oder höher. Siehe [Ein Plugin für eine Sitzung laden](/docs/de/plugins/create#load-a-directory-or-archive-for-one-session) |

357| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | Steuert, ob Claude Code einen [Mod](/docs/de/plugins/mods/overview) neu lädt, wenn sich die Dateien des Mods ändern. Das Neuladen gilt für einen Mod, den Sie mit `--plugin-dir` aus einem Verzeichnis laden, und ist in interaktiven Sitzungen standardmäßig aktiviert. Setzen Sie den Wert auf `1`, um es auch in nicht interaktiven Sitzungen zu aktivieren, oder auf `0`, um es in jeder Sitzung zu deaktivieren. Erfordert Claude Code v2.1.287 oder neuer. Siehe [Einstellungen und Umgebungsvariablen für Mods](/docs/de/plugins/mods/reference#settings-and-environment-variables) |

357| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Timeout in Millisekunden für das Klonen oder Aktualisieren eines Plugin-Marketplace (Standard: 120000). Erhöhen Sie diesen Wert bei großen Repositorys oder langsamen Netzwerkverbindungen. Siehe [Git clone timed out](/docs/de/plugins/troubleshooting#git-clone-timed-out-after-120s) |358| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Timeout in Millisekunden für das Klonen oder Aktualisieren eines Plugin-Marketplace (Standard: 120000). Erhöhen Sie diesen Wert bei großen Repositorys oder langsamen Netzwerkverbindungen. Siehe [Git clone timed out](/docs/de/plugins/troubleshooting#git-clone-timed-out-after-120s) |

358| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Auf `1` setzen, um den erneuten Klonversuch zu überspringen und den vorhandenen Marketplace-Checkout weiter zu verwenden, wenn eine Marketplace-Aktualisierung das Remote nicht erreichen oder sich dort nicht authentifizieren kann. Nützlich in Offline- oder Air-Gap-Umgebungen, in denen ein erneutes Klonen auf dieselbe Weise fehlschlagen würde. Siehe [Marketplace-Updates schlagen in Offline-Umgebungen fehl](/docs/de/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |359| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Auf `1` setzen, um den erneuten Klonversuch zu überspringen und den vorhandenen Marketplace-Checkout weiter zu verwenden, wenn eine Marketplace-Aktualisierung das Remote nicht erreichen oder sich dort nicht authentifizieren kann. Nützlich in Offline- oder Air-Gap-Umgebungen, in denen ein erneutes Klonen auf dieselbe Weise fehlschlagen würde. Siehe [Marketplace-Updates schlagen in Offline-Umgebungen fehl](/docs/de/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |

359| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Auf `1` setzen, um GitHub-Quellen in der Kurzform `owner/repo` über HTTPS statt über SSH zu klonen. Gilt für die Installation und Aktualisierung von Plugins sowie für `/plugin marketplace add` und `update`. Nützlich in CI-Runnern, Containern oder jeder Umgebung ohne konfigurierten SSH-Schlüssel für `github.com` |360| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Auf `1` setzen, um GitHub-Quellen in der Kurzform `owner/repo` über HTTPS statt über SSH zu klonen. Gilt für die Installation und Aktualisierung von Plugins sowie für `/plugin marketplace add` und `update`. Nützlich in CI-Runnern, Containern oder jeder Umgebung ohne konfigurierten SSH-Schlüssel für `github.com` |

errors.md +3 −4

Details

197| `Cloud sessions cannot be created from a --restricted session` | [Befehlszeilenfehler](#cloud-sessions-cannot-be-created-from-a-restricted-session) |197| `Cloud sessions cannot be created from a --restricted session` | [Befehlszeilenfehler](#cloud-sessions-cannot-be-created-from-a-restricted-session) |

198| `Cloud sessions are disabled by your organization's policy` | [Befehlszeilenfehler](#cloud-sessions-are-disabled-by-your-organizations-policy) |198| `Cloud sessions are disabled by your organization's policy` | [Befehlszeilenfehler](#cloud-sessions-are-disabled-by-your-organizations-policy) |

199| `Couldn't verify your organization's policy for cloud sessions` | [Befehlszeilenfehler](#cloud-sessions-are-disabled-by-your-organizations-policy) |199| `Couldn't verify your organization's policy for cloud sessions` | [Befehlszeilenfehler](#cloud-sessions-are-disabled-by-your-organizations-policy) |

200| `Cloud sessions need a claude.ai sign-in` | [Unable to get organization UUID](/docs/de/claude-code-on-the-web#unable-to-get-organization-uuid) |

200| `Error: --json-schema is not a valid JSON Schema` | [Befehlszeilenfehler](#the-json-schema-value-is-not-a-valid-json-schema) |201| `Error: --json-schema is not a valid JSON Schema` | [Befehlszeilenfehler](#the-json-schema-value-is-not-a-valid-json-schema) |

201| `Error: Invalid --agents configuration:` | [Befehlszeilenfehler](#invalid-agents-configuration) |202| `Error: Invalid --agents configuration:` | [Befehlszeilenfehler](#invalid-agents-configuration) |

202| `Error: --agents takes a JSON object, or a file path only with --print (-p)` | [Befehlszeilenfehler](#invalid-agents-configuration) |203| `Error: --agents takes a JSON object, or a file path only with --print (-p)` | [Befehlszeilenfehler](#invalid-agents-configuration) |


387* Eine Verbindung, bei der Claude Code erkennt, dass sie unterbrochen wurde, weil Ihr Computer während einer Anfrage in den Ruhezustand gewechselt ist. Claude Code behandelt sie als unterbrochene Verbindung gemäß den obigen Regeln; sobald das Label für den Wiederholungsversuch den konkreten Grund nennt, lautet es `Connection lost while your computer was asleep`, und wenn der Turn endet, nachdem Claude das Nachdenken abgeschlossen, aber noch keinen Text und keinen Tool-Aufruf begonnen hat, lautet die Meldung `Your computer went to sleep before a response was produced`.388* Eine Verbindung, bei der Claude Code erkennt, dass sie unterbrochen wurde, weil Ihr Computer während einer Anfrage in den Ruhezustand gewechselt ist. Claude Code behandelt sie als unterbrochene Verbindung gemäß den obigen Regeln; sobald das Label für den Wiederholungsversuch den konkreten Grund nennt, lautet es `Connection lost while your computer was asleep`, und wenn der Turn endet, nachdem Claude das Nachdenken abgeschlossen, aber noch keinen Text und keinen Tool-Aufruf begonnen hat, lautet die Meldung `Your computer went to sleep before a response was produced`.

388* Ein stockender Antwort-Stream, wenn die Response-Header eingetroffen sind, aber noch nichts von Claudes Antwort angekommen ist, oder wenn Claude das Nachdenken abgeschlossen, aber noch keinen Text und keinen Tool-Aufruf begonnen hat: Claude Code bricht die stockende Verbindung ab und sendet die Anfrage höchstens einmal erneut, außerhalb des oben genannten Budgets von 10 Versuchen. Stockt die Antwort ein zweites Mal, nachdem Claude das Nachdenken abgeschlossen, aber noch keinen Text und keinen Tool-Aufruf begonnen hat, beendet Claude Code den Turn mit `The response stalled before a response was produced`.389* Ein stockender Antwort-Stream, wenn die Response-Header eingetroffen sind, aber noch nichts von Claudes Antwort angekommen ist, oder wenn Claude das Nachdenken abgeschlossen, aber noch keinen Text und keinen Tool-Aufruf begonnen hat: Claude Code bricht die stockende Verbindung ab und sendet die Anfrage höchstens einmal erneut, außerhalb des oben genannten Budgets von 10 Versuchen. Stockt die Antwort ein zweites Mal, nachdem Claude das Nachdenken abgeschlossen, aber noch keinen Text und keinen Tool-Aufruf begonnen hat, beendet Claude Code den Turn mit `The response stalled before a response was produced`.

389* Eine Streaming-Anfrage, die die API nie mit Response-Headern beantwortet, auf einer Verbindung, bei der die [First-Byte-Deadline gilt](/docs/de/network-config#streaming-idle-watchdogs): Claude Code bricht sie bei Erreichen der Deadline ab und sendet sie höchstens einmal pro Modellanfrage erneut, innerhalb des Budgets für Wiederholungsversuche, und beendet den Turn dann mit [No response from API](#no-response-from-api), wenn auch dieser Versuch unbeantwortet bleibt. Bei anderen Verbindungen wartet die Anfrage bis zum Ablauf von `API_TIMEOUT_MS`. Wenn Sie `CLAUDE_CODE_RETRY_WATCHDOG` setzen, gilt die Beschränkung auf einen Wiederholungsversuch nicht.390* Eine Streaming-Anfrage, die die API nie mit Response-Headern beantwortet, auf einer Verbindung, bei der die [First-Byte-Deadline gilt](/docs/de/network-config#streaming-idle-watchdogs): Claude Code bricht sie bei Erreichen der Deadline ab und sendet sie höchstens einmal pro Modellanfrage erneut, innerhalb des Budgets für Wiederholungsversuche, und beendet den Turn dann mit [No response from API](#no-response-from-api), wenn auch dieser Versuch unbeantwortet bleibt. Bei anderen Verbindungen wartet die Anfrage bis zum Ablauf von `API_TIMEOUT_MS`. Wenn Sie `CLAUDE_CODE_RETRY_WATCHDOG` setzen, gilt die Beschränkung auf einen Wiederholungsversuch nicht.

391* Eine Streaming-Antwort, die der Inhaltsfilter für die Ausgabe der API stoppt, bevor Claude entweder das Nachdenken abgeschlossen oder einen Text oder Tool-Aufruf begonnen hat. Claude Code sendet die Anfrage einmal erneut, innerhalb des Budgets für Wiederholungsversuche, und zeigt [Output blocked by content filtering policy](#output-blocked-by-content-filtering-policy) an, wenn der Filter auch die zweite Antwort stoppt.

390* Vorübergehende 429-Drosselungen, jedoch nicht die `429` eines Gateways wegen eines Ausgabenlimits, die keine Drosselung ist; siehe [Spend limit reached](#spend-limit-reached).392* Vorübergehende 429-Drosselungen, jedoch nicht die `429` eines Gateways wegen eines Ausgabenlimits, die keine Drosselung ist; siehe [Spend limit reached](#spend-limit-reached).

391 * Wenn Sie mit einem claude.ai-Abonnement angemeldet sind, gehören dazu auch 429-Drosselungen, die nicht die Kontingent-Header Ihres Plans enthalten. Vor v2.1.199 versuchte Claude Code diese Drosselungen nur bei Anmeldungen mit API-Schlüssel und Enterprise erneut.393 * Wenn Sie mit einem claude.ai-Abonnement angemeldet sind, gehören dazu auch 429-Drosselungen, die nicht die Kontingent-Header Ihres Plans enthalten. Vor v2.1.199 versuchte Claude Code diese Drosselungen nur bei Anmeldungen mit API-Schlüssel und Enterprise erneut.

392* Eine Anfrage, die abgelehnt wird, weil die Eingabe zuzüglich `max_tokens` das Kontextlimit überschreitet. Ein unverändertes erneutes Senden würde auf dieselbe Weise fehlschlagen, daher versucht Claude Code es mit einem reduzierten `max_tokens` erneut und beendet die Wiederholungsversuche und komprimiert stattdessen in zwei Fällen:394* Eine Anfrage, die abgelehnt wird, weil die Eingabe zuzüglich `max_tokens` das Kontextlimit überschreitet. Ein unverändertes erneutes Senden würde auf dieselbe Weise fehlschlagen, daher versucht Claude Code es mit einem reduzierten `max_tokens` erneut und beendet die Wiederholungsversuche und komprimiert stattdessen in zwei Fällen:


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

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

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

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

409 410 

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

411 Was Sie sehen, während Claude Code es erneut versucht oder wartet412 Was Sie sehen, während Claude Code es erneut versucht oder wartet


2299 2300 

2300**Was zu tun ist:**2301**Was zu tun ist:**

2301 2302 

2302* Ändern Sie die Größe des Bildes vor dem Einfügen. Die API akzeptiert Bilder bis zu 8000 Pixeln an der längsten Kante für ein einzelnes Bild oder 2000 Pixel, wenn viele Bilder im Kontext sind.2303* Ändern Sie die Größe des Bildes vor dem Einfügen. Die API akzeptiert Bilder bis zu 8000 Pixeln an der längsten Kante für ein einzelnes Bild oder 3000 Pixel, wenn mehr als 20 Bilder im Kontext sind.

2303* Machen Sie einen engeren Screenshot des relevanten Bereichs statt des gesamten Bildschirms2304* Machen Sie einen engeren Screenshot des relevanten Bereichs statt des gesamten Bildschirms

2304 2305 

2305<h3 id="unable-to-resize-image">2306<h3 id="unable-to-resize-image">


2905API Error: Output blocked by content filtering policy2906API Error: Output blocked by content filtering policy

2906```2907```

2907 2908 

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

2909 

2910**Was zu tun ist:**2909**Was zu tun ist:**

2911 2910 

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

fast-mode.md +13 −13

Details

43Wenn Sie den Schnellmodus aktivieren:43Wenn Sie den Schnellmodus aktivieren:

44 44 

45* Wenn Ihr aktuelles Modell den Schnellmodus nicht unterstützt, wechselt Claude Code zu Opus45* Wenn Ihr aktuelles Modell den Schnellmodus nicht unterstützt, wechselt Claude Code zu Opus

46* Sie sehen eine Bestätigungsmeldung: „Fast mode ON"46* Sie sehen eine Bestätigungsmeldung: „Fast mode ON“

47* Ein kleines `↯`-Symbol wird neben der Eingabeaufforderung angezeigt, während der Schnellmodus aktiv ist47* Ein kleines `↯`-Symbol wird neben der Eingabeaufforderung angezeigt, während der Schnellmodus aktiv ist

48* Führen Sie `/fast` jederzeit erneut aus, um zu überprüfen, ob der Schnellmodus aktiviert oder deaktiviert ist48* Führen Sie `/fast` jederzeit erneut aus, um zu überprüfen, ob der Schnellmodus aktiviert oder deaktiviert ist

49 49 


60* **Wechsel weg**: Wenn Sie zu einem Modell wechseln, das den Schnellmodus nicht unterstützt, schaltet Claude Code den Schnellmodus aus. Dies gilt auch für Opus 4.7; vor v2.1.221 blieb der Schnellmodus nach einem Wechsel zu Opus 4.7 aktiviert und die API lehnte die Anfragen ab.60* **Wechsel weg**: Wenn Sie zu einem Modell wechseln, das den Schnellmodus nicht unterstützt, schaltet Claude Code den Schnellmodus aus. Dies gilt auch für Opus 4.7; vor v2.1.221 blieb der Schnellmodus nach einem Wechsel zu Opus 4.7 aktiviert und die API lehnte die Anfragen ab.

61* **Zurückwechsel**: Das Zurückwechseln zu einem unterstützten Opus-Modell aktiviert den Schnellmodus erneut, wenn Ihre gespeicherte Schnellmodus-Einstellung aktiviert ist, die gleiche Einstellung, mit der eine neue Sitzung standardmäßig beginnt. Ein Modellwechsel aktiviert den Schnellmodus niemals für eine Sitzung, deren gespeicherte Einstellung deaktiviert ist, und mit [Opt-in pro Sitzung](#require-per-session-opt-in) konfiguriert, wird er beim Zurückwechseln auch nicht aktiviert; führen Sie `/fast` aus, um ihn erneut zu aktivieren.61* **Zurückwechsel**: Das Zurückwechseln zu einem unterstützten Opus-Modell aktiviert den Schnellmodus erneut, wenn Ihre gespeicherte Schnellmodus-Einstellung aktiviert ist, die gleiche Einstellung, mit der eine neue Sitzung standardmäßig beginnt. Ein Modellwechsel aktiviert den Schnellmodus niemals für eine Sitzung, deren gespeicherte Einstellung deaktiviert ist, und mit [Opt-in pro Sitzung](#require-per-session-opt-in) konfiguriert, wird er beim Zurückwechseln auch nicht aktiviert; führen Sie `/fast` aus, um ihn erneut zu aktivieren.

62 62 

63Immer wenn ein Modellwechsel den Schnellmodus ein- oder ausschaltet, zeigt Claude Code eine Bestätigung „Fast mode ON" oder „Fast mode OFF" an, und das `↯`-Symbol wird angezeigt, während der Schnellmodus aktiviert ist. Dies gilt, ob Sie mit `/model`, mit [`/config model=<model>`](/docs/de/settings) oder von einem Gerät aus wechseln, das über [Remote Control](/docs/de/remote-control) verbunden ist.63Immer wenn ein Modellwechsel den Schnellmodus ein- oder ausschaltet, zeigt Claude Code eine Bestätigung „Fast mode ON“ oder „Fast mode OFF“ an, und das `↯`-Symbol wird angezeigt, während der Schnellmodus aktiviert ist. Dies gilt, ob Sie mit `/model`, mit [`/config model=<model>`](/docs/de/settings) oder von einem Gerät aus wechseln, das über [Remote Control](/docs/de/remote-control) verbunden ist.

64 64 

65Claude Code sendet den Schnellmodus-Status der Sitzung nach einem Modellwechsel, einer Wiederverbindung oder einer fehlgeschlagenen [Verfügbarkeitsprüfung](#use-fast-mode-behind-proxies-and-llm-gateways) erneut an Geräte, die über Remote Control verbunden sind.65Claude Code sendet den Schnellmodus-Status der Sitzung nach einem Modellwechsel, einer Wiederverbindung oder einer fehlgeschlagenen [Verfügbarkeitsprüfung](#use-fast-mode-behind-proxies-and-llm-gateways) erneut an Geräte, die über Remote Control verbunden sind.

66 66 


88 88 

89Die 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).89Die 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).

90 90 

91Wenn Sie den Schnellmodus zum ersten Mal in einem Gespräch aktivieren, zahlen Sie den vollständigen Schnellmodus-Preis für nicht zwischengespeicherte Eingabe-Token für den gesamten Gesprächskontext. Je tiefer Sie sich in einem Gespräch befinden, desto mehr kostet dies, daher ist die Aktivierung des Schnellmodus von Anfang an günstiger. Die Kosten fallen einmal pro Gespräch an, daher führt das spätere Ausschalten und erneute Einschalten des Schnellmodus nicht zu einer Wiederholung. Für den Mechanismus siehe [wie der Schnellmodus mit dem Prompt-Cache interagiert](/docs/de/prompt-caching#turning-on-fast-mode).91Wenn 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](/docs/de/prompt-caching#turning-on-fast-mode).

92 92 

93<h3 id="see-where-fast-mode-spend-appears">93<h3 id="see-where-fast-mode-spend-appears">

94 Sehen Sie, wo die Ausgaben für den Schnellmodus angezeigt werden94 Sehen Sie, wo die Ausgaben für den Schnellmodus angezeigt werden


136Der Schnellmodus erfordert alle folgenden Voraussetzungen:136Der Schnellmodus erfordert alle folgenden Voraussetzungen:

137 137 

138* **Nur Anthropic API oder Abonnement**: Der Schnellmodus ist über die Anthropic Console API und für Claude-Abonnementpläne mit Nutzungsguthaben verfügbar. Er ist nicht auf Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry oder Claude Platform auf AWS verfügbar. Console-Organisationen müssen auch [Schnellmodus-Zugriff bereitgestellt haben](#enable-fast-mode-for-your-organization).138* **Nur Anthropic API oder Abonnement**: Der Schnellmodus ist über die Anthropic Console API und für Claude-Abonnementpläne mit Nutzungsguthaben verfügbar. Er ist nicht auf Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry oder Claude Platform auf AWS verfügbar. Console-Organisationen müssen auch [Schnellmodus-Zugriff bereitgestellt haben](#enable-fast-mode-for-your-organization).

139* **Nutzungsguthaben für Abonnementpläne aktiviert**: Bei einem Pro-, Max-, Team- oder Enterprise-Plan muss für Ihr Konto [Nutzungsguthaben](/docs/de/costs#add-usage-credits-to-your-subscription) aktiviert sein, was eine Abrechnung über die in Ihrem Plan enthaltene Nutzung hinaus ermöglicht. Solange es nicht aktiviert ist, meldet `/fast` „Fast mode requires usage credits". Wie Sie es aktivieren, hängt von Ihrem Plan ab:139* **Nutzungsguthaben für Abonnementpläne aktiviert**: Bei einem Pro-, Max-, Team- oder Enterprise-Plan muss für Ihr Konto [Nutzungsguthaben](/docs/de/costs#add-usage-credits-to-your-subscription) aktiviert sein, was eine Abrechnung über die in Ihrem Plan enthaltene Nutzung hinaus ermöglicht. Solange es nicht aktiviert ist, meldet `/fast` „Fast mode requires usage credits“. Wie Sie es aktivieren, hängt von Ihrem Plan ab:

140 * Bei Pro und Max aktivieren Sie es im Abschnitt **Nutzungsguthaben** unter [**Einstellungen > Nutzung**](https://claude.ai/settings/usage) auf claude.ai, oder führen Sie `/usage-credits` aus, um diese Seite zu öffnen.140 * Bei Pro und Max aktivieren Sie es im Abschnitt **Nutzungsguthaben** unter [**Einstellungen > Nutzung**](https://claude.ai/settings/usage) auf claude.ai, oder führen Sie `/usage-credits` aus, um diese Seite zu öffnen.

141 * Bei Team und Enterprise aktiviert ein Mitglied mit Abrechnungszugriff es für die Organisation unter [**Organisationseinstellungen > Nutzung**](https://claude.ai/admin-settings/usage), und ein Mitglied ohne diesen Zugriff führt `/usage-credits` aus, um den Admins der Organisation eine Anfrage zu senden.141 * Bei Team und Enterprise aktiviert ein Mitglied mit Abrechnungszugriff es für die Organisation unter [**Organisationseinstellungen > Nutzung**](https://claude.ai/admin-settings/usage), und ein Mitglied ohne diesen Zugriff führt `/usage-credits` aus, um den Admins der Organisation eine Anfrage zu senden.

142 142 


144 Die Nutzung des Schnellmodus wird direkt von Nutzungsguthaben abgerechnet, auch wenn Sie noch Nutzung in Ihrem Plan haben.144 Die Nutzung des Schnellmodus wird direkt von Nutzungsguthaben abgerechnet, auch wenn Sie noch Nutzung in Ihrem Plan haben.

145</Note>145</Note>

146 146 

147* **Bezahlte Console-Organisation**: Claude Console-Konten verwenden keine Nutzungsguthaben, und Ihre Organisation zahlt für den Schnellmodus pro Token zusammen mit dem Rest ihrer API-Nutzung. Im kostenlosen Evaluierungsplan der Console zeigt `/fast` „Fast mode unavailable during evaluation. Please purchase credits." an. Um dies zu beheben, kaufen Sie Guthaben in Ihren [Console-Abrechnungseinstellungen](https://platform.claude.com/settings/billing).147* **Bezahlte Console-Organisation**: Claude Console-Konten verwenden keine Nutzungsguthaben, und Ihre Organisation zahlt für den Schnellmodus pro Token zusammen mit dem Rest ihrer API-Nutzung. Im kostenlosen Evaluierungsplan der Console zeigt `/fast` „Fast mode unavailable during evaluation. Please purchase credits.“ an. Um dies zu beheben, kaufen Sie Guthaben in Ihren [Console-Abrechnungseinstellungen](https://platform.claude.com/settings/billing).

148* **Owner-Aktivierung für Teams und Enterprise**: Der Schnellmodus ist standardmäßig für Teams- und Enterprise-Organisationen deaktiviert. Ein Owner muss den Schnellmodus explizit [aktivieren](#enable-fast-mode-for-your-organization), bevor Benutzer darauf zugreifen können.148* **Owner-Aktivierung für Teams und Enterprise**: Der Schnellmodus ist standardmäßig für Teams- und Enterprise-Organisationen deaktiviert. Ein Owner muss den Schnellmodus explizit [aktivieren](#enable-fast-mode-for-your-organization), bevor Benutzer darauf zugreifen können.

149 149 

150<Note>150<Note>

151 Vier Organisationseinstellungen können das Aktivieren des Schnellmodus mit `/fast` blockieren:151 Vier Organisationseinstellungen können das Aktivieren des Schnellmodus mit `/fast` blockieren:

152 152 

153 * **Schnellmodus nicht aktiviert**: Wenn der Schnellmodus für Ihre Organisation nicht aktiviert wurde, zeigt das Aktivieren des Schnellmodus mit `/fast` „Fast mode has been disabled by your organization." an.153 * **Schnellmodus nicht aktiviert**: Wenn der Schnellmodus für Ihre Organisation nicht aktiviert wurde, zeigt das Aktivieren des Schnellmodus mit `/fast` „Fast mode has been disabled by your organization.“ an.

154 * **Schnellmodus durch verwaltete Einstellungen deaktiviert**: Wenn Ihre Organisation [verwaltete Einstellungen](/docs/de/managed-settings) bereitstellt, die [`fastMode: false`](/docs/de/settings-reference#fastmode) setzen, zeigt das Aktivieren des Schnellmodus mit `/fast` die gleiche Meldung „Fast mode has been disabled by your organization" an.154 * **Schnellmodus durch verwaltete Einstellungen deaktiviert**: Wenn Ihre Organisation [verwaltete Einstellungen](/docs/de/managed-settings) bereitstellt, die [`fastMode: false`](/docs/de/settings-reference#fastmode) setzen, zeigt das Aktivieren des Schnellmodus mit `/fast` die gleiche Meldung „Fast mode has been disabled by your organization“ an.

155 * **Opt-in pro Sitzung erforderlich**: Verwaltete Einstellungen, die [`fastModePerSessionOptIn: true`](#require-per-session-opt-in) setzen, lehnen `/fast on` mit der gleichen Meldung überall ab, außer in einer interaktiven Terminalsitzung.155 * **Opt-in pro Sitzung erforderlich**: Verwaltete Einstellungen, die [`fastModePerSessionOptIn: true`](#require-per-session-opt-in) setzen, lehnen `/fast on` mit der gleichen Meldung überall ab, außer in einer interaktiven Terminalsitzung.

156 * **Schnellmodus-Modell nicht zulässig**: Wenn die [`availableModels`](/docs/de/model-config#restrict-model-selection)-Zulassungsliste Ihrer Organisation das Schnellmodus-Opus-Modell ausschließt, wird das Aktivieren mit „is not in your organization's allowed models" abgelehnt. In einer Sitzung, die bereits auf einem zulässigen Opus-Modell ausgeführt wird, das den Schnellmodus unterstützt, aktiviert `/fast` stattdessen den Schnellmodus auf Ihrem aktuellen Modell, ohne Modelle zu wechseln.156 * **Schnellmodus-Modell nicht zulässig**: Wenn die [`availableModels`](/docs/de/model-config#restrict-model-selection)-Zulassungsliste Ihrer Organisation das Schnellmodus-Opus-Modell ausschließt, wird das Aktivieren mit „is not in your organization's allowed models“ abgelehnt. In einer Sitzung, die bereits auf einem zulässigen Opus-Modell ausgeführt wird, das den Schnellmodus unterstützt, aktiviert `/fast` stattdessen den Schnellmodus auf Ihrem aktuellen Modell, ohne Modelle zu wechseln.

157</Note>157</Note>

158 158 

159<h3 id="enable-fast-mode-for-your-organization">159<h3 id="enable-fast-mode-for-your-organization">


175 175 

176Bevor Claude Code den Schnellmodus anbietet, prüft es die Verfügbarkeit des Schnellmodus Ihrer Organisation mit einer direkten Anfrage an `api.anthropic.com`. Die Prüfung folgt nicht [`ANTHROPIC_BASE_URL`](/docs/de/llm-gateway-connect#set-the-base-url-and-credential), daher schlägt die Prüfung in einem Netzwerk fehl, das Claude-Verkehr durch ein [LLM-Gateway](/docs/de/llm-gateway) leitet und direkten Ausgang zu `api.anthropic.com` blockiert, obwohl Inferenzanfragen funktionieren. Die Prüfung verwendet einen konfigurierten [HTTP-Proxy](/docs/de/network-config#proxy-configuration), daher schlägt eine Netzwerkblockade die Prüfung nur dort fehl, wo `api.anthropic.com` auch über den Proxy nicht erreichbar ist.176Bevor Claude Code den Schnellmodus anbietet, prüft es die Verfügbarkeit des Schnellmodus Ihrer Organisation mit einer direkten Anfrage an `api.anthropic.com`. Die Prüfung folgt nicht [`ANTHROPIC_BASE_URL`](/docs/de/llm-gateway-connect#set-the-base-url-and-credential), daher schlägt die Prüfung in einem Netzwerk fehl, das Claude-Verkehr durch ein [LLM-Gateway](/docs/de/llm-gateway) leitet und direkten Ausgang zu `api.anthropic.com` blockiert, obwohl Inferenzanfragen funktionieren. Die Prüfung verwendet einen konfigurierten [HTTP-Proxy](/docs/de/network-config#proxy-configuration), daher schlägt eine Netzwerkblockade die Prüfung nur dort fehl, wo `api.anthropic.com` auch über den Proxy nicht erreichbar ist.

177 177 

178Wenn die Prüfung fehlschlägt, meldet `/fast` „Fast mode unavailable due to network connectivity issues", und Anfragen werden mit Standardgeschwindigkeit ausgeführt, auch wenn Ihre Organisation den Schnellmodus aktiviert hat. Eine Prüfung, die in der Vergangenheit erfolgreich war, funktioniert weiterhin aus ihrem zwischengespeicherten Ergebnis, daher betrifft eine blockierte Prüfung hauptsächlich neue Installationen.178Wenn die Prüfung fehlschlägt, meldet `/fast` „Fast mode unavailable due to network connectivity issues“, und Anfragen werden mit Standardgeschwindigkeit ausgeführt, auch wenn Ihre Organisation den Schnellmodus aktiviert hat. Eine Prüfung, die in der Vergangenheit erfolgreich war, funktioniert weiterhin aus ihrem zwischengespeicherten Ergebnis, daher betrifft eine blockierte Prüfung hauptsächlich neue Installationen.

179 179 

180Die gleiche Konnektivitätsmeldung wird in einem offenen Netzwerk angezeigt, wenn die Prüfung `api.anthropic.com` erreicht, aber eine Anmeldedaten präsentiert, die Anthropic ablehnt. Eine Sitzung, deren aufgelöster Schlüssel eine vom Gateway ausgegebene Anmeldedaten ist, die in [`ANTHROPIC_API_KEY`](/docs/de/llm-gateway-connect#set-the-base-url-and-credential) gespeichert oder von einem [`apiKeyHelper`](/docs/de/settings-reference#apikeyhelper) erzeugt wird, sendet die Prüfung mit diesem Schlüssel, und die abgelehnte Anfrage wird als Konnektivitätsfehler gemeldet.180Die gleiche Konnektivitätsmeldung wird in einem offenen Netzwerk angezeigt, wenn die Prüfung `api.anthropic.com` erreicht, aber eine Anmeldedaten präsentiert, die Anthropic ablehnt. Eine Sitzung, deren aufgelöster Schlüssel eine vom Gateway ausgegebene Anmeldedaten ist, die in [`ANTHROPIC_API_KEY`](/docs/de/llm-gateway-connect#set-the-base-url-and-credential) gespeichert oder von einem [`apiKeyHelper`](/docs/de/settings-reference#apikeyhelper) erzeugt wird, sendet die Prüfung mit diesem Schlüssel, und die abgelehnte Anfrage wird als Konnektivitätsfehler gemeldet.

181 181 

182Um den Schnellmodus wiederherzustellen, erlauben Sie direkten Ausgang zu `api.anthropic.com`, wenn eine Netzwerkblockade die Ursache ist, oder setzen Sie die Variable, die dem Fehler der Prüfung entspricht:182Um den Schnellmodus wiederherzustellen, erlauben Sie direkten Ausgang zu `api.anthropic.com`, wenn eine Netzwerkblockade die Ursache ist, oder setzen Sie die Variable, die dem Fehler der Prüfung entspricht:

183 183 

184* `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1` behandelt eine fehlgeschlagene Prüfung als verfügbar und berücksichtigt immer noch eine „disabled by your organization"-Antwort. Verwenden Sie dies, wenn Ihr Netzwerk die Verbindung verweigert, oder wenn Anthropic eine Gateway-Anmeldedaten ablehnt; Whitelisting hilft nicht im Fall der Anmeldedaten, da nichts blockiert wird.184* `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1` behandelt eine fehlgeschlagene Prüfung als verfügbar und berücksichtigt immer noch eine „disabled by your organization“-Antwort. Verwenden Sie dies, wenn Ihr Netzwerk die Verbindung verweigert, oder wenn Anthropic eine Gateway-Anmeldedaten ablehnt; Whitelisting hilft nicht im Fall der Anmeldedaten, da nichts blockiert wird.

185* `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` überspringt die Prüfung vollständig. Verwenden Sie dies, wenn Ihr Netzwerk die Anfrage abfängt, anstatt sie zu verweigern.185* `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` überspringt die Prüfung vollständig. Verwenden Sie dies, wenn Ihr Netzwerk die Anfrage abfängt, anstatt sie zu verweigern.

186 186 

187Zwei Gateway-Konfigurationen melden „Fast mode has been disabled by your organization" anstelle der Konnektivitätsmeldung, auch wenn Ihre Organisation den Schnellmodus aktiviert hat:187Zwei Gateway-Konfigurationen melden „Fast mode has been disabled by your organization“ anstelle der Konnektivitätsmeldung, auch wenn Ihre Organisation den Schnellmodus aktiviert hat:

188 188 

189* Eine Sitzung, die sich nur mit [`ANTHROPIC_AUTH_TOKEN`](/docs/de/llm-gateway-connect#set-the-base-url-and-credential) authentifiziert, überspringt die Prüfung: Ohne eine claude.ai-Anmeldung oder einen Anthropic API-Schlüssel und ohne eine zwischengespeicherte erfolgreiche Prüfung behandelt Claude Code den Schnellmodus als von Ihrer Organisation deaktiviert, ohne die Anfrage zu senden.189* Eine Sitzung, die sich nur mit [`ANTHROPIC_AUTH_TOKEN`](/docs/de/llm-gateway-connect#set-the-base-url-and-credential) authentifiziert, überspringt die Prüfung: Ohne eine claude.ai-Anmeldung oder einen Anthropic API-Schlüssel und ohne eine zwischengespeicherte erfolgreiche Prüfung behandelt Claude Code den Schnellmodus als von Ihrer Organisation deaktiviert, ohne die Anfrage zu senden.

190* Ein Proxy, der die Prüfung abfängt und mit seiner eigenen Seite antwortet, beispielsweise ein TLS-inspizierender Proxy, der eine HTTP 200-Blockierungsseite zurückgibt, wird als Antwort gelesen, die besagt, dass Ihre Organisation den Schnellmodus deaktiviert hat.190* Ein Proxy, der die Prüfung abfängt und mit seiner eigenen Seite antwortet, beispielsweise ein TLS-inspizierender Proxy, der eine HTTP 200-Blockierungsseite zurückgibt, wird als Antwort gelesen, die besagt, dass Ihre Organisation den Schnellmodus deaktiviert hat.


193 193 

194Die Variablen beeinflussen nur die clientseitige Prüfung. Wenn Ihre Organisation den Schnellmodus deaktiviert hat, lehnt die API Schnellmodus-Anfragen ab, unabhängig davon, ob sie gesetzt sind. Eine Ablehnung von der API bleibt bestehen, auch wenn eine Skip-Variable gesetzt ist. Claude Code versucht die abgelehnte Anfrage mit Standardgeschwindigkeit erneut, schaltet den Schnellmodus aus, und `/fast` meldet, dass Ihre Organisation den Schnellmodus deaktiviert hat.194Die Variablen beeinflussen nur die clientseitige Prüfung. Wenn Ihre Organisation den Schnellmodus deaktiviert hat, lehnt die API Schnellmodus-Anfragen ab, unabhängig davon, ob sie gesetzt sind. Eine Ablehnung von der API bleibt bestehen, auch wenn eine Skip-Variable gesetzt ist. Claude Code versucht die abgelehnte Anfrage mit Standardgeschwindigkeit erneut, schaltet den Schnellmodus aus, und `/fast` meldet, dass Ihre Organisation den Schnellmodus deaktiviert hat.

195 195 

196Das Setzen von `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` unterdrückt auch die Verfügbarkeitsprüfung. Ohne eine zuvor zwischengespeicherte erfolgreiche Prüfung meldet `/fast` „Fast mode is currently unavailable"; beide Skip-Variablen stellen den Schnellmodus in dieser Konfiguration auch wieder her.196Das Setzen von `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` unterdrückt auch die Verfügbarkeitsprüfung. Ohne eine zuvor zwischengespeicherte erfolgreiche Prüfung meldet `/fast` „Fast mode is currently unavailable“; beide Skip-Variablen stellen den Schnellmodus in dieser Konfiguration auch wieder her.

197 197 

198<h3 id="require-per-session-opt-in">198<h3 id="require-per-session-opt-in">

199 Opt-in pro Sitzung erforderlich199 Opt-in pro Sitzung erforderlich


226 226 

227Wenn Sie während einer Sitzung keine Nutzungsguthaben mehr haben, versucht Claude Code jeden abgelehnten Schnellmodus-Request mit Standard-Geschwindigkeit und -Preisen erneut, sodass Sie weiterarbeiten können und es keine Abkühlung gibt. Wie Sie die Ablehnung sehen, hängt vom Sitzungstyp ab:227Wenn Sie während einer Sitzung keine Nutzungsguthaben mehr haben, versucht Claude Code jeden abgelehnten Schnellmodus-Request mit Standard-Geschwindigkeit und -Preisen erneut, sodass Sie weiterarbeiten können und es keine Abkühlung gibt. Wie Sie die Ablehnung sehen, hängt vom Sitzungstyp ab:

228 228 

229* In einer interaktiven Sitzung zeigt Claude Code eine Benachrichtigung „Schnellmodus deaktiviert · Nutzungsguthaben aufgebraucht" an und schaltet den Schnellmodus für den Rest der Sitzung aus. Ihre gespeicherte Schnellmodus-Einstellung ändert sich nicht; führen Sie `/fast` aus, um den Schnellmodus wieder einzuschalten.229* In einer interaktiven Sitzung zeigt Claude Code eine Benachrichtigung „Schnellmodus deaktiviert · Nutzungsguthaben aufgebraucht“ an und schaltet den Schnellmodus für den Rest der Sitzung aus. Ihre gespeicherte Schnellmodus-Einstellung ändert sich nicht; führen Sie `/fast` aus, um den Schnellmodus wieder einzuschalten.

230* Im [Headless-Modus](/docs/de/headless) mit `--output-format stream-json` und über das Agent SDK sendet Claude Code denselben Text im Message-Stream als `system`-Nachricht mit dem Subtyp `notification` einmal pro Turn, während Sie keine Nutzungsguthaben haben. Der Schnellmodus bleibt aktiviert. Erfordert Claude Code v2.1.221 oder später.230* Im [Headless-Modus](/docs/de/headless) mit `--output-format stream-json` und über das Agent SDK sendet Claude Code denselben Text im Message-Stream als `system`-Nachricht mit dem Subtyp `notification` einmal pro Turn, während Sie keine Nutzungsguthaben haben. Der Schnellmodus bleibt aktiviert. Erfordert Claude Code v2.1.221 oder später.

231 231 

232<h2 id="research-preview">232<h2 id="research-preview">

glossary.md +1 −1

Details

130 130 

131Eine Markdown-Datei mit persistenten Anweisungen, die Sie für Claude schreiben, geladen zu Beginn jeder Sitzung als Benutzernachricht nach dem System-Prompt. Legen Sie Projektkonventionen, Architekturnotizen und „immer X tun“-Regeln hier ab. CLAUDE.md überlebt [Komprimierung](#compaction) und wird danach frisch von der Festplatte neu gelesen.131Eine Markdown-Datei mit persistenten Anweisungen, die Sie für Claude schreiben, geladen zu Beginn jeder Sitzung als Benutzernachricht nach dem System-Prompt. Legen Sie Projektkonventionen, Architekturnotizen und „immer X tun“-Regeln hier ab. CLAUDE.md überlebt [Komprimierung](#compaction) und wird danach frisch von der Festplatte neu gelesen.

132 132 

133Sie können CLAUDE.md im Projektbereich in `./CLAUDE.md` oder `./.claude/CLAUDE.md`, im Benutzerbereich in `~/.claude/CLAUDE.md` oder als [verwaltete Richtlinie](#managed-settings) für Ihre Organisation platzieren. Alle gefundenen Dateien werden in den Kontext verkettet, anstatt sich gegenseitig zu überschreiben, geordnet vom breitesten Bereich zum spezifischsten. Claude Code kann auch die [AGENTS.md](#agents-md)-Dateien eines Projekts laden, eigenständig oder zusammen mit CLAUDE.md.133Sie können CLAUDE.md im Projekt-Geltungsbereich in `./CLAUDE.md` oder `./.claude/CLAUDE.md`, im Benutzer-Geltungsbereich in `~/.claude/CLAUDE.md` oder als [verwaltete Richtlinie](#managed-settings) für Ihre Organisation platzieren. Alle gefundenen Dateien werden in den Kontext verkettet, anstatt sich gegenseitig zu überschreiben, geordnet vom breitesten Geltungsbereich zum spezifischsten. Claude Code kann anstelle von CLAUDE.md auch die [AGENTS.md](#agents-md)-Dateien eines Projekts laden.

134 134 

135Weitere Informationen: [CLAUDE.md-Dateien](/docs/de/memory#claude-md-files)135Weitere Informationen: [CLAUDE.md-Dateien](/docs/de/memory#claude-md-files)

136 136 

Details

151Fordern Sie Zugriff auf Claude-Modelle in Google Cloud's Agent Platform an:151Fordern Sie Zugriff auf Claude-Modelle in Google Cloud's Agent Platform an:

152 152 

1531. Navigieren Sie zum [Google Cloud's Agent Platform Model Garden](https://console.cloud.google.com/vertex-ai/model-garden)1531. Navigieren Sie zum [Google Cloud's Agent Platform Model Garden](https://console.cloud.google.com/vertex-ai/model-garden)

1542. Suchen Sie nach „Claude"-Modellen1542. Suchen Sie nach „Claude“-Modellen

1553. Fordern Sie Zugriff auf gewünschte Claude-Modelle an (z. B. Claude Sonnet 4.6)1553. Fordern Sie Zugriff auf gewünschte Claude-Modelle an (z. B. Claude Sonnet 4.6)

1564. Warten Sie auf Genehmigung (kann 24–48 Stunden dauern)1564. Warten Sie auf Genehmigung (kann 24–48 Stunden dauern)

157 157 


210export VERTEX_REGION_CLAUDE_4_6_SONNET=europe-west1210export VERTEX_REGION_CLAUDE_4_6_SONNET=europe-west1

211```211```

212 212 

213Die meisten Modellversionen haben eine entsprechende `VERTEX_REGION_CLAUDE_*`-Variable. Siehe die [Referenz für Umgebungsvariablen](/docs/de/env-vars) für die vollständige Liste. Überprüfen Sie [Google Cloud's Agent Platform Model Garden](https://console.cloud.google.com/vertex-ai/model-garden), um zu bestimmen, welche Modelle globale Endpunkte versus nur regionale Endpunkte unterstützen.213Die meisten Modellversionen haben eine entsprechende `VERTEX_REGION_CLAUDE_*`-Variable. Siehe die [Referenz für Umgebungsvariablen](/docs/de/env-vars#variables) für die vollständige Liste. Überprüfen Sie [Google Cloud's Agent Platform Model Garden](https://console.cloud.google.com/vertex-ai/model-garden), um zu bestimmen, welche Modelle globale Endpunkte versus nur regionale Endpunkte unterstützen.

214 214 

215Wenn ein Regionswert nicht wie ein Regions- oder Standortname aussieht, behandelt Claude Code ihn als nicht gesetzt. Beispielsweise behandelt Claude Code einen Wert, der einen Schrägstrich, Punkt oder Leerzeichen enthält, als nicht gesetzt. Claude Code fällt für jede Variable auf eine andere Quelle zurück:215Wenn ein Regionswert nicht wie ein Regions- oder Standortname aussieht, behandelt Claude Code ihn als nicht gesetzt. Beispielsweise behandelt Claude Code einen Wert, der einen Schrägstrich, Punkt oder Leerzeichen enthält, als nicht gesetzt. Claude Code fällt für jede Variable auf eine andere Quelle zurück:

216 216 


350 Fehlerbehebung350 Fehlerbehebung

351</h2>351</h2>

352 352 

353Wenn Sie auf Fehler „Could not load the default credentials" stoßen:353Wenn Sie auf Fehler „Could not load the default credentials“ stoßen:

354 354 

355* Führen Sie `gcloud auth application-default login` aus, um Application Default Credentials einzurichten355* Führen Sie `gcloud auth application-default login` aus, um Application Default Credentials einzurichten

356* Setzen Sie `GOOGLE_APPLICATION_CREDENTIALS` auf einen Pfad zu einer Service-Account-Schlüsseldatei356* Setzen Sie `GOOGLE_APPLICATION_CREDENTIALS` auf einen Pfad zu einer Service-Account-Schlüsseldatei


360 360 

361* Überprüfen Sie aktuelle Kontingente oder fordern Sie eine Kontingenterhöhung über die [Cloud Console](https://cloud.google.com/docs/quotas/view-manage) an361* Überprüfen Sie aktuelle Kontingente oder fordern Sie eine Kontingenterhöhung über die [Cloud Console](https://cloud.google.com/docs/quotas/view-manage) an

362 362 

363Wenn Sie auf Fehler „Modell nicht gefunden" 404 stoßen:363Wenn Sie auf Fehler „Modell nicht gefunden“ 404 stoßen:

364 364 

365* Bestätigen Sie, dass das Modell im [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) aktiviert ist365* Bestätigen Sie, dass das Modell im [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) aktiviert ist

366* Überprüfen Sie, dass das Modell am angegebenen Standort verfügbar ist. Einige Modelle werden nur auf `global` oder Multi-Region-Standorten wie `eu` und `us` angeboten, nicht in spezifischen Regionen366* Überprüfen Sie, dass das Modell am angegebenen Standort verfügbar ist. Einige Modelle werden nur auf `global` oder Multi-Region-Standorten wie `eu` und `us` angeboten, nicht in spezifischen Regionen

367* Wenn Sie `CLOUD_ML_REGION=global` verwenden, überprüfen Sie, dass Ihre Modelle globale Endpunkte im [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) unter „Unterstützte Funktionen" unterstützen. Für Modelle, die globale Endpunkte nicht unterstützen, können Sie entweder:367* Wenn Sie `CLOUD_ML_REGION=global` verwenden, überprüfen Sie, dass Ihre Modelle globale Endpunkte im [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) unter „Unterstützte Funktionen“ unterstützen. Für Modelle, die globale Endpunkte nicht unterstützen, können Sie entweder:

368 * Ein unterstütztes Modell über `ANTHROPIC_MODEL` oder `ANTHROPIC_DEFAULT_HAIKU_MODEL` angeben, oder368 * Ein unterstütztes Modell über `ANTHROPIC_MODEL` oder `ANTHROPIC_DEFAULT_HAIKU_MODEL` angeben, oder

369 * Einen regionalen oder Multi-Region-Standort mit `VERTEX_REGION_<MODEL_NAME>`-Umgebungsvariablen festlegen369 * Einen regionalen oder Multi-Region-Standort mit der `VERTEX_REGION_CLAUDE_*`-Variablen des Modells festlegen, die in der [Referenz der Umgebungsvariablen](/docs/de/env-vars#variables) aufgeführt ist

370 370 

371Wenn Sie auf 429-Fehler stoßen:371Wenn Sie auf 429-Fehler stoßen:

372 372 

hooks.md +4 −5

Details

63| `DirectoryAdded` | Wenn ein Arbeitsverzeichnis während einer Sitzung über `/add-dir` oder die SDK-Steueranforderung `register_repo_root` hinzugefügt wird |63| `DirectoryAdded` | Wenn ein Arbeitsverzeichnis während einer Sitzung über `/add-dir` oder die SDK-Steueranforderung `register_repo_root` hinzugefügt wird |

64| `FileChanged` | Wenn sich eine überwachte Datei auf der Festplatte ändert. Das Feld `matcher` gibt an, welche Dateinamen überwacht werden sollen |64| `FileChanged` | Wenn sich eine überwachte Datei auf der Festplatte ändert. Das Feld `matcher` gibt an, welche Dateinamen überwacht werden sollen |

65| `WorktreeCreate` | Wenn ein Worktree über `--worktree`, `isolation: "worktree"` oder für eine Hintergrundsitzung erstellt wird. Ersetzt das Standard-Git-Verhalten |65| `WorktreeCreate` | Wenn ein Worktree über `--worktree`, `isolation: "worktree"` oder für eine Hintergrundsitzung erstellt wird. Ersetzt das Standard-Git-Verhalten |

66| `WorktreeRemove` | Wenn ein Worktree beim Sitzungsende, beim Beenden eines Subagenten oder beim Löschen einer Hintergrundsitzung entfernt wird |66| `WorktreeRemove` | Wenn ein Worktree, den ein `WorktreeCreate`-Hook erstellt hat, entfernt wird |

67| `PreCompact` | Vor Kontextkomprimierung |67| `PreCompact` | Vor Kontextkomprimierung |

68| `PostCompact` | Nach Abschluss der Kontextkomprimierung |68| `PostCompact` | Nach Abschluss der Kontextkomprimierung |

69| `PreModelSwitch` | Bevor Claude Code einen Modellwechsel anwendet, den Sie oder ein Client angefordert haben. Kann den Wechsel blockieren |69| `PreModelSwitch` | Bevor Claude Code einen Modellwechsel anwendet, den Sie oder ein Client angefordert haben. Kann den Wechsel blockieren |


3274 WorktreeRemove3274 WorktreeRemove

3275</h3>3275</h3>

3276 3276 

3277Wird ausgeführt, wenn ein Worktree entfernt wird. Dies ist das Gegenstück zu [WorktreeCreate](#worktreecreate) für die Bereinigung. Das Ereignis wird ausgelöst, wenn:3277Wird ausgeführt, wenn Claude Code einen Worktree bereinigt, den Ihr [`WorktreeCreate`](#worktreecreate)-Hook erstellt hat. Das Ereignis wird ausgelöst, wenn:

3278 3278 

3279* Sie eine `--worktree`-Sitzung beenden und sich für das Entfernen entscheiden3279* Sie eine `--worktree`-Sitzung beenden und das Entfernen des Worktrees wählen

3280* ein Subagent mit `isolation: "worktree"` fertig ist3280* Sie eine [Hintergrundsitzung](/docs/de/agent-view#what-deleting-a-session-removes) löschen, die im Worktree läuft

3281* Sie eine [Hintergrundsitzung](/docs/de/agent-view#what-deleting-a-session-removes) löschen, deren Worktree der Hook erstellt hat

3282 3281 

3283Bei Git-basierten Worktrees übernimmt Claude Code die Bereinigung automatisch mit `git worktree remove`. Wenn Sie einen WorktreeCreate-Hook konfiguriert haben, kombinieren Sie ihn mit einem WorktreeRemove-Hook, um die Bereinigung der von ihm erstellten Worktrees zu steuern:3282Bei Git-basierten Worktrees übernimmt Claude Code die Bereinigung automatisch mit `git worktree remove`. Wenn Sie einen WorktreeCreate-Hook konfiguriert haben, kombinieren Sie ihn mit einem WorktreeRemove-Hook, um die Bereinigung der von ihm erstellten Worktrees zu steuern:

3284 3283 

hooks-guide.md +1 −1

Details

526| `DirectoryAdded` | Wenn ein Arbeitsverzeichnis während einer Sitzung über `/add-dir` oder die SDK-Steueranforderung `register_repo_root` hinzugefügt wird |526| `DirectoryAdded` | Wenn ein Arbeitsverzeichnis während einer Sitzung über `/add-dir` oder die SDK-Steueranforderung `register_repo_root` hinzugefügt wird |

527| `FileChanged` | Wenn sich eine überwachte Datei auf der Festplatte ändert. Das Feld `matcher` gibt an, welche Dateinamen überwacht werden sollen |527| `FileChanged` | Wenn sich eine überwachte Datei auf der Festplatte ändert. Das Feld `matcher` gibt an, welche Dateinamen überwacht werden sollen |

528| `WorktreeCreate` | Wenn ein Worktree über `--worktree`, `isolation: "worktree"` oder für eine Hintergrundsitzung erstellt wird. Ersetzt das Standard-Git-Verhalten |528| `WorktreeCreate` | Wenn ein Worktree über `--worktree`, `isolation: "worktree"` oder für eine Hintergrundsitzung erstellt wird. Ersetzt das Standard-Git-Verhalten |

529| `WorktreeRemove` | Wenn ein Worktree beim Sitzungsende, beim Beenden eines Subagenten oder beim Löschen einer Hintergrundsitzung entfernt wird |529| `WorktreeRemove` | Wenn ein Worktree, den ein `WorktreeCreate`-Hook erstellt hat, entfernt wird |

530| `PreCompact` | Vor Kontextkomprimierung |530| `PreCompact` | Vor Kontextkomprimierung |

531| `PostCompact` | Nach Abschluss der Kontextkomprimierung |531| `PostCompact` | Nach Abschluss der Kontextkomprimierung |

532| `PreModelSwitch` | Bevor Claude Code einen Modellwechsel anwendet, den Sie oder ein Client angefordert haben. Kann den Wechsel blockieren |532| `PreModelSwitch` | Bevor Claude Code einen Modellwechsel anwendet, den Sie oder ein Client angefordert haben. Kann den Wechsel blockieren |

Details

34 34 

35[Mehrere Modelle](/docs/de/model-config) sind mit unterschiedlichen Kompromissen verfügbar. Sonnet bewältigt die meisten Codierungsaufgaben gut. Opus bietet stärkeres Denken für komplexe architektonische Entscheidungen. Wechseln Sie mit `/model` während einer Sitzung oder starten Sie mit `claude --model <name>`.35[Mehrere Modelle](/docs/de/model-config) sind mit unterschiedlichen Kompromissen verfügbar. Sonnet bewältigt die meisten Codierungsaufgaben gut. Opus bietet stärkeres Denken für komplexe architektonische Entscheidungen. Wechseln Sie mit `/model` während einer Sitzung oder starten Sie mit `claude --model <name>`.

36 36 

37Wenn dieser Leitfaden sagt „Claude wählt" oder „Claude entscheidet", ist es das Modell, das die Überlegung durchführt.37Wenn dieser Leitfaden sagt „Claude wählt“ oder „Claude entscheidet“, ist es das Modell, das die Überlegung durchführt.

38 38 

39<h3 id="tools">39<h3 id="tools">

40 Tools40 Tools


54 54 

55Dies sind die primären Funktionen. Claude hat auch Tools zum Spawnen von Subagenten, zum Stellen von Fragen und für andere Orchestrierungsaufgaben. Siehe [Tools verfügbar für Claude](/docs/de/tools-reference) für die vollständige Liste.55Dies sind die primären Funktionen. Claude hat auch Tools zum Spawnen von Subagenten, zum Stellen von Fragen und für andere Orchestrierungsaufgaben. Siehe [Tools verfügbar für Claude](/docs/de/tools-reference) für die vollständige Liste.

56 56 

57Claude wählt basierend auf Ihrer Eingabeaufforderung und dem, was er unterwegs lernt, aus, welche Tools er verwenden soll. Wenn Sie sagen „beheben Sie die fehlgeschlagenen Tests", könnte Claude:57Claude wählt basierend auf Ihrer Eingabeaufforderung und dem, was er unterwegs lernt, aus, welche Tools er verwenden soll. Wenn Sie sagen „beheben Sie die fehlgeschlagenen Tests“, könnte Claude:

58 58 

591. Die Test-Suite ausführen, um zu sehen, was fehlschlägt591. Die Test-Suite ausführen, um zu sehen, was fehlschlägt

602. Die Fehlerausgabe lesen602. Die Fehlerausgabe lesen


76* **Ihr Projekt.** Dateien in Ihrem Verzeichnis und Unterverzeichnissen sowie Dateien an anderer Stelle mit Ihrer Genehmigung.76* **Ihr Projekt.** Dateien in Ihrem Verzeichnis und Unterverzeichnissen sowie Dateien an anderer Stelle mit Ihrer Genehmigung.

77* **Ihr Terminal.** Jeden Befehl, den Sie ausführen könnten: Build-Tools, git, Paketmanager, Systemdienstprogramme, Skripte. Wenn Sie es von der Befehlszeile aus tun können, kann Claude es auch.77* **Ihr Terminal.** Jeden Befehl, den Sie ausführen könnten: Build-Tools, git, Paketmanager, Systemdienstprogramme, Skripte. Wenn Sie es von der Befehlszeile aus tun können, kann Claude es auch.

78* **Ihren git-Status.** Aktueller Branch, nicht committete Änderungen und aktuelle Commit-Historie.78* **Ihren git-Status.** Aktueller Branch, nicht committete Änderungen und aktuelle Commit-Historie.

79* **Ihre [CLAUDE.md](/docs/de/memory).** Eine Markdown-Datei, in der Sie projektspezifische Anweisungen, Konventionen und Kontext speichern, den Claude jede Sitzung kennen sollte. Wenn Ihr Repository eine AGENTS.md für andere Coding-Agenten hat, kann Claude [diese selbstständig lesen](/docs/de/memory#agents-md) oder zusammen mit CLAUDE.md.79* **Ihre [CLAUDE.md](/docs/de/memory).** Eine Markdown-Datei, in der Sie projektspezifische Anweisungen, Konventionen und Kontext speichern, den Claude jede Sitzung kennen sollte. Wenn Ihr Repository eine AGENTS.md für andere Coding-Agenten hat, kann Claude [diese anstelle einer CLAUDE.md lesen](/docs/de/memory#agents-md).

80* **[Auto-Speicher](/docs/de/memory#auto-memory).** Erkenntnisse, die Claude automatisch speichert, während Sie arbeiten, wie Ihre Vorlieben. Die ersten 200 Zeilen oder 25 KB von MEMORY.md, je nachdem, was zuerst kommt, werden zu Beginn jeder Sitzung geladen.80* **[Auto-Speicher](/docs/de/memory#auto-memory).** Erkenntnisse, die Claude automatisch speichert, während Sie arbeiten, wie Ihre Vorlieben. Die ersten 200 Zeilen oder 25 KB von MEMORY.md, je nachdem, was zuerst kommt, werden zu Beginn jeder Sitzung geladen.

81* **Erweiterungen, die Sie konfigurieren.** [MCP-Server](/docs/de/mcp) für externe Dienste, [skills](/docs/de/skills) für Workflows, [subagents](/docs/de/sub-agents) für delegierte Arbeit und [Claude in Chrome](/docs/de/chrome) für Browser-Interaktion.81* **Erweiterungen, die Sie konfigurieren.** [MCP-Server](/docs/de/mcp) für externe Dienste, [skills](/docs/de/skills) für Workflows, [subagents](/docs/de/sub-agents) für delegierte Arbeit und [Claude in Chrome](/docs/de/chrome) für Browser-Interaktion.

82 82 

83Da Claude Ihr gesamtes Projekt sieht, kann er darin arbeiten. Wenn Sie Claude bitten, „den Authentifizierungsfehler zu beheben", sucht er nach relevanten Dateien, liest mehrere Dateien, um den Kontext zu verstehen, nimmt koordinierte Bearbeitungen vor, führt Tests aus, um die Behebung zu überprüfen, und committed die Änderungen, wenn Sie es fragen. Dies unterscheidet sich von Inline-Code-Assistenten, die nur die aktuelle Datei sehen.83Da Claude Ihr gesamtes Projekt sieht, kann er darin arbeiten. Wenn Sie Claude bitten, „den Authentifizierungsfehler zu beheben“, sucht er nach relevanten Dateien, liest mehrere Dateien, um den Kontext zu verstehen, nimmt koordinierte Bearbeitungen vor, führt Tests aus, um die Behebung zu überprüfen, und committed die Änderungen, wenn Sie es fragen. Dies unterscheidet sich von Inline-Code-Assistenten, die nur die aktuelle Datei sehen.

84 84 

85<h2 id="environments-and-interfaces">85<h2 id="environments-and-interfaces">

86 Umgebungen und Schnittstellen86 Umgebungen und Schnittstellen


163 163 

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

165 165 

166Um 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`).166Um 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`).

167 167 

168Wenn eine einzelne Datei oder Tool-Ausgabe so groß ist, dass sich der Kontext unmittelbar nach jeder Zusammenfassung wieder füllt, stoppt Claude Code die automatische Komprimierung nach einigen Versuchen und zeigt stattdessen einen Fehler an. Siehe [Auto-Komprimierung stoppt mit einem Thrashing-Fehler](/docs/de/troubleshooting#auto-compaction-stops-with-a-thrashing-error) für Wiederherstellungsschritte.168Wenn eine einzelne Datei oder Tool-Ausgabe so groß ist, dass sich der Kontext unmittelbar nach jeder Zusammenfassung wieder füllt, stoppt Claude Code die automatische Komprimierung nach einigen Versuchen und zeigt stattdessen einen Fehler an. Siehe [Auto-Komprimierung stoppt mit einem Thrashing-Fehler](/docs/de/troubleshooting#auto-compaction-stops-with-a-thrashing-error) für Wiederherstellungsschritte.

169 169 


220 Fragen Sie Claude Code um Hilfe220 Fragen Sie Claude Code um Hilfe

221</h3>221</h3>

222 222 

223Claude Code kann Ihnen beibringen, wie man ihn verwendet. Stellen Sie Fragen wie „Wie richte ich hooks ein?" oder „Was ist der beste Weg, meine CLAUDE.md zu strukturieren?" und Claude wird erklären.223Claude Code kann Ihnen beibringen, wie man ihn verwendet. Stellen Sie Fragen wie „Wie richte ich hooks ein?“ oder „Was ist der beste Weg, meine CLAUDE.md zu strukturieren?“ und Claude wird erklären.

224 224 

225Integrierte Befehle führen Sie auch durch die Einrichtung:225Integrierte Befehle führen Sie auch durch die Einrichtung:

226 226 

keybindings.md +3 −2

Details

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

300| `footer:next` | Rechts | Nächstes Fußzeilen-Element |300| `footer:next` | Rechts | Nächstes Fußzeilen-Element |

301| `footer:previous` | Links | Vorheriges Fußzeilen-Element |301| `footer:previous` | Links | Vorheriges Fußzeilen-Element |

302| `footer:up` | Oben | In der Fußzeile nach oben navigieren (Auswahl oben aufheben) |302| `footer:up` | Oben, Ctrl+P | In der Fußzeile nach oben navigieren (Auswahl oben aufheben) |

303| `footer:down` | Unten | In der Fußzeile nach unten navigieren |303| `footer:down` | Unten, Ctrl+N | In der Fußzeile nach unten navigieren |

304| `footer:openSelected` | Enter | Ausgewähltes Fußzeilen-Element öffnen |304| `footer:openSelected` | Enter | Ausgewähltes Fußzeilen-Element öffnen |

305| `footer:clearSelection` | Escape | Fußzeilen-Auswahl löschen |305| `footer:clearSelection` | Escape | Fußzeilen-Auswahl löschen |

306| `footer:close` | x | Den ausgewählten [Agenten](/docs/de/sub-agents#observe-and-steer-running-forks) oder [Workflow](/docs/de/workflows#manage-runs) stoppen oder seine Zeile ausblenden, wenn er nicht mehr läuft |

306| `footer:dismiss` | (nicht gebunden) | Eine Bindung einer Taste zu dieser Aktion hat keine Auswirkung, und eine `keybindings.json`, die sie benennt, bleibt gültig. Vor v2.1.281 waren Rücktaste und Löschen daran gebunden und schlossen den ausgewählten Artefakt-Link aus der Fußzeile. |307| `footer:dismiss` | (nicht gebunden) | Eine Bindung einer Taste zu dieser Aktion hat keine Auswirkung, und eine `keybindings.json`, die sie benennt, bleibt gültig. Vor v2.1.281 waren Rücktaste und Löschen daran gebunden und schlossen den ausgewählten Artefakt-Link aus der Fußzeile. |

307 308 

308Während ein Fußzeilen-Element ausgewählt ist, wie eine Zeile im Agent-Panel unter der Eingabeaufforderung, öffnet `Enter` es auch, wenn Sie `Enter` im `Chat`-Kontext zu `chat:queueSubmit` oder `chat:newline` neu binden.309Während ein Fußzeilen-Element ausgewählt ist, wie eine Zeile im Agent-Panel unter der Eingabeaufforderung, öffnet `Enter` es auch, wenn Sie `Enter` im `Chat`-Kontext zu `chat:queueSubmit` oder `chat:newline` neu binden.

Details

65 65 

66| Legen Sie die Anmeldedaten fest in | Verwenden Sie, wenn |66| Legen Sie die Anmeldedaten fest in | Verwenden Sie, wenn |

67| :- | :- |67| :- | :- |

68| `ANTHROPIC_AUTH_TOKEN` | Ihr Gateway-Team sagte „Bearer-Token" oder „Authorization-Header" |68| `ANTHROPIC_AUTH_TOKEN` | Ihr Gateway-Team sagte „Bearer-Token“ oder „Authorization-Header“ |

69| `ANTHROPIC_API_KEY` | Ihr Gateway-Team sagte „API-Schlüssel" oder „x-api-key" |69| `ANTHROPIC_API_KEY` | Ihr Gateway-Team sagte „API-Schlüssel“ oder „x-api-key“ |

70| [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper) | Die Anmeldedaten rotieren oder stammen aus einem Tresor |70| [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper) | Die Anmeldedaten rotieren oder stammen aus einem Tresor |

71 71 

72Wenn Sie nicht angegeben wurden, welche Art, verwenden Sie `ANTHROPIC_AUTH_TOKEN`; die [Überprüfungsanfrage](#verify-the-connection) unten zeigt, wie Sie feststellen, ob Sie wechseln müssen.72Wenn Sie nicht angegeben wurden, welche Art, verwenden Sie `ANTHROPIC_AUTH_TOKEN`; die [Überprüfungsanfrage](#verify-the-connection) unten zeigt, wie Sie feststellen, ob Sie wechseln müssen.


216* **Von einem Administrator verteilt**: Wenn Ihre Organisation die [Konfiguration bereitgestellt hat](/docs/de/llm-gateway-rollout#distribute-through-managed-settings), leitet die Desktop-App ohne Einrichtung auf Ihrer Seite durch das Gateway216* **Von einem Administrator verteilt**: Wenn Ihre Organisation die [Konfiguration bereitgestellt hat](/docs/de/llm-gateway-rollout#distribute-through-managed-settings), leitet die Desktop-App ohne Einrichtung auf Ihrer Seite durch das Gateway

217* **Lokal konfiguriert**: Für Geräte ohne eine von einem Administrator verteilte Konfiguration öffnen Sie Help → Troubleshooting → Enable Developer Mode, wodurch die App mit einem Developer-Menü neu gestartet wird. Öffnen Sie dann Developer → Configure Third-Party Inference und geben Sie Ihre Gateway-Basis-URL ein. Eine von einem Administrator verteilte Konfiguration hat Vorrang und macht dieses Formular schreibgeschützt217* **Lokal konfiguriert**: Für Geräte ohne eine von einem Administrator verteilte Konfiguration öffnen Sie Help → Troubleshooting → Enable Developer Mode, wodurch die App mit einem Developer-Menü neu gestartet wird. Öffnen Sie dann Developer → Configure Third-Party Inference und geben Sie Ihre Gateway-Basis-URL ein. Eine von einem Administrator verteilte Konfiguration hat Vorrang und macht dieses Formular schreibgeschützt

218 218 

219Mit der aktiven Gateway-Konfiguration führt die Desktop-App Sitzungen nur auf Ihrem lokalen Computer aus: Der Umgebungswähler bietet keine SSH-Sitzungen oder von Anthropic gehostete Cloud-Umgebungen an, und [Remote Control](/docs/de/remote-control) ist nicht verfügbar. Um Claude Code auf einem Remote-Host über das Gateway zu verwenden, führen Sie die CLI auf diesem Host mit [`ANTHROPIC_BASE_URL` und der Gateway-Anmeldedaten](#set-the-base-url-and-credential) aus, die dort festgelegt sind.219Mit der aktiven Gateway-Konfiguration bietet der Umgebungswähler keine von Anthropic gehosteten Cloud-Umgebungen an, und [Remote Control](/docs/de/remote-control) ist nicht verfügbar.

220 

221SSH-Sitzungen befinden sich mit einer Gateway-Konfiguration in der Beta-Phase und erfordern Claude Desktop v1.40609.0 oder höher. Bevor Sie eine Verbindung herstellen, überprüfen Sie die Allowlist und die Adresse des Gateways:

222 

223* **Zulässige Hosts**: SSH-Sitzungen sind standardmäßig deaktiviert. Um sie zu aktivieren, tragen Sie oder Ihr Administrator die zulässigen Hosts im Schlüssel [`sshHostAllowlist`](https://claude.com/docs/third-party/claude-desktop/configuration#sshhostallowlist) der Konfiguration für Drittanbieter-Inferenz ein

224* **Gateway-Adresse**: Der Remote-Computer verbindet sich selbst mit dem Gateway, daher funktioniert ein Gateway unter `localhost` auf Ihrem Computer nicht für SSH-Sitzungen

225 

226Siehe [SSH-Remote-Sitzungen in Claude Desktop auf 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions). Sie können die CLI auch auf dem Remote-Host ausführen, wobei dort [`ANTHROPIC_BASE_URL` und die Gateway-Anmeldedaten](#set-the-base-url-and-credential) gesetzt sind.

220 227 

221Wenn die Desktop-App `Gateway was unreachable` anzeigt, konnte die App die konfigurierte Basis-URL beim Start nicht erreichen; überprüfen Sie die URL und den Netzwerkpfad mit dem [curl-Test oben](#verify-the-connection).228Wenn die Desktop-App `Gateway was unreachable` anzeigt, konnte die App die konfigurierte Basis-URL beim Start nicht erreichen; überprüfen Sie die URL und den Netzwerkpfad mit dem [curl-Test oben](#verify-the-connection).

222 229 

managed-mcp.md +17 −5

Details

347 Wie `serverUrl`-Einträge abgeglichen werden347 Wie `serverUrl`-Einträge abgeglichen werden

348</h4>348</h4>

349 349 

350URLs unterstützen `*`-Platzhalter überall im Muster, einschließlich des Schemas. Der Hostname-Abgleich unterscheidet nicht zwischen Groß- und Kleinschreibung und ignoriert einen nachgestellten FQDN-Punkt, sodass `https://Mcp.Example.com/*` mit `https://mcp.example.com/api` übereinstimmt. Pfade unterscheiden weiterhin zwischen Groß- und Kleinschreibung.350URLs unterstützen `*`-Platzhalter, einschließlich `*` als gesamtes Schema. Der Hostname-Abgleich unterscheidet nicht zwischen Groß- und Kleinschreibung und ignoriert einen nachgestellten FQDN-Punkt, sodass `https://Mcp.Example.com/*` mit `https://mcp.example.com/api` übereinstimmt. Pfade unterscheiden weiterhin zwischen Groß- und Kleinschreibung. Wenn Sie keinen Port angeben, entscheidet die Schreibweise des Hostnamens, ob das Muster nur mit dem Standardport des Schemas oder mit jedem Port übereinstimmt:

351 

352* **Vollständig ausgeschriebener Hostname**: nur der Standardport, 443 für `https` und 80 für `http`

353* **Hostname mit einem `*` darin**: jeder Port

351 354 

352Die Tabelle zeigt, was gängige Muster erlauben:355Die Tabelle zeigt, was gängige Muster erlauben:

353 356 

354| Muster | Erlaubt |357| Muster | Erlaubt |

355| :- | :- |358| :- | :- |

356| `https://mcp.example.com/*` | Alle Pfade auf einer bestimmten Domain |359| `https://mcp.example.com/*` | Alle Pfade auf einer bestimmten Domain, nur auf Port 443 |

357| `https://mcp.example.com` | Auch alle Pfade auf dieser Domain. Ein Muster ohne Pfad stimmt mit jedem Pfad überein |360| `https://mcp.example.com` | Ebenfalls alle Pfade auf dieser Domain, nur auf Port 443. Ein Muster ohne Pfad stimmt mit jedem Pfad überein |

358| `https://*.example.com/*` | Jede Subdomain von `example.com` |361| `https://mcp.example.com:8443/*` | Alle Pfade auf dieser Domain, nur auf Port 8443 |

362| `https://mcp.example.com:*/*` | Alle Pfade auf dieser Domain, auf jedem Port, einschließlich 443 |

363| `https://*.example.com/*` | Jede Subdomain von `example.com`, auf jedem Port |

359| `http://localhost:*/*` | Jeden Port auf localhost |364| `http://localhost:*/*` | Jeden Port auf localhost |

360| `*://mcp.example.com/*` | Jedes Schema zu einer bestimmten Domain |365| `*://mcp.example.com/*` | Jedes Schema zu einer bestimmten Domain, jedes Schema nur auf seinem Standardport |

366 

367Einträge in `deniedMcpServers` gleichen Ports auf dieselbe Weise ab. Wählen Sie daher einen Eintrag für `staging.example.com` nach den Ports und Schemas, die Sie blockieren müssen:

368 

369* `https://staging.example.com/*`: blockiert `https`-Server auf diesem Host nur auf Port 443, blockiert also keinen Server unter `https://staging.example.com:8443/api`

370* `https://staging.example.com:*/*`: blockiert `https`-Server auf diesem Host auf jedem Port

371* `*://staging.example.com:*/*`: blockiert diesen Host über jedes Schema und auf jedem Port

361 372 

362<h4 id="how-policy-entries-expand">373<h4 id="how-policy-entries-expand">

363 Umgebungsvariablen in `serverCommand`- und `serverUrl`-Einträgen374 Umgebungsvariablen in `serverCommand`- und `serverUrl`-Einträgen


529 | :- | :- |540 | :- | :- |

530 | HTTP-Server unter `https://mcp.example.com/api` | Erlaubt: stimmt mit Zulassungslisten-URL-Muster überein, keine Sperrlisten-Übereinstimmung |541 | HTTP-Server unter `https://mcp.example.com/api` | Erlaubt: stimmt mit Zulassungslisten-URL-Muster überein, keine Sperrlisten-Übereinstimmung |

531 | HTTP-Server unter `https://staging.example.com/api` | Blockiert: stimmt mit beiden überein, aber die Sperrliste hat Vorrang |542 | HTTP-Server unter `https://staging.example.com/api` | Blockiert: stimmt mit beiden überein, aber die Sperrliste hat Vorrang |

543 | HTTP-Server unter `https://staging.example.com:8443/api` | Erlaubt: stimmt mit Allowlist-URL-Muster überein, [keine Denylist-Übereinstimmung auf diesem Port](#how-serverurl-entries-match) |

532 | HTTP-Server unter `https://other.com/mcp` | Blockiert: stimmt nicht mit der Zulassungsliste überein |544 | HTTP-Server unter `https://other.com/mcp` | Blockiert: stimmt nicht mit der Zulassungsliste überein |

533</Accordion>545</Accordion>

534 546 

memory.md +2 −2

Details

8 8 

9Jede Claude Code-Sitzung beginnt mit einem frischen Context Window. Zwei Mechanismen tragen Wissen über Sitzungen hinweg:9Jede Claude Code-Sitzung beginnt mit einem frischen Context Window. Zwei Mechanismen tragen Wissen über Sitzungen hinweg:

10 10 

11* **CLAUDE.md-Dateien**: Anweisungen, die Sie schreiben, um Claude persistenten Kontext zu geben. Claude kann auch die [`AGENTS.md`-Dateien](#agents-md) eines Repositorys lesen, eigenständig oder zusammen mit CLAUDE.md11* **CLAUDE.md-Dateien**: Anweisungen, die Sie schreiben, um Claude persistenten Kontext zu geben. Claude kann anstelle von CLAUDE.md auch die [`AGENTS.md`-Dateien](#agents-md) eines Repositorys lesen

12* **Auto-Memory**: Notizen, die Claude selbst basierend auf Ihren Korrektionen und Vorlieben schreibt12* **Auto-Memory**: Notizen, die Claude selbst basierend auf Ihren Korrektionen und Vorlieben schreibt

13 13 

14Diese Seite behandelt folgende Themen:14Diese Seite behandelt folgende Themen:

15 15 

16* [CLAUDE.md-Dateien schreiben und organisieren](#claude-md-files)16* [CLAUDE.md-Dateien schreiben und organisieren](#claude-md-files)

17* [Ein vorhandenes AGENTS.md](#agents-md) als Ihre Projektanweisungen verwenden, eigenständig oder zusammen mit CLAUDE.md17* [Ein vorhandenes AGENTS.md](#agents-md) als Ihre Projektanweisungen verwenden

18* [Regeln auf bestimmte Dateitypen beschränken](#organize-rules-with-claude/rules/) mit `.claude/rules/`18* [Regeln auf bestimmte Dateitypen beschränken](#organize-rules-with-claude/rules/) mit `.claude/rules/`

19* [Auto-Memory konfigurieren](#auto-memory), damit Claude automatisch Notizen macht19* [Auto-Memory konfigurieren](#auto-memory), damit Claude automatisch Notizen macht

20* [Fehlerbehebung](#troubleshoot-memory-issues), wenn Anweisungen nicht befolgt werden20* [Fehlerbehebung](#troubleshoot-memory-issues), wenn Anweisungen nicht befolgt werden

Details

551* **Vom Server verwaltete Einstellungen**: Fügen Sie sie zum `env`-Block der [vom Server verwalteten Einstellungen](/docs/de/server-managed-settings) Ihrer Organisation hinzu. Claude Code ruft diese Einstellungen beim Start überall dort ab, wo [vom Server verwaltete Einstellungen gelten](/docs/de/model-config#surface-coverage), was die Maschinen Ihrer Benutzer und Cloud-Sitzungen außer Claude Tag-Kanalsitzungen einschließt. Claude Tag-Sitzungen erhalten Ihre vom Server verwalteten Einstellungen nicht, daher konfiguriert diese Route sie nicht.551* **Vom Server verwaltete Einstellungen**: Fügen Sie sie zum `env`-Block der [vom Server verwalteten Einstellungen](/docs/de/server-managed-settings) Ihrer Organisation hinzu. Claude Code ruft diese Einstellungen beim Start überall dort ab, wo [vom Server verwaltete Einstellungen gelten](/docs/de/model-config#surface-coverage), was die Maschinen Ihrer Benutzer und Cloud-Sitzungen außer Claude Tag-Kanalsitzungen einschließt. Claude Tag-Sitzungen erhalten Ihre vom Server verwalteten Einstellungen nicht, daher konfiguriert diese Route sie nicht.

552* **Die Variablen der Umgebung**: Fügen Sie sie zu den [Umgebungsvariablen](/docs/de/cloud-environments#set-environment-variables) einer Cloud-Umgebung hinzu, um nur die Sitzungen zu konfigurieren, die in dieser Umgebung ausgeführt werden. Dies ist die Route, die Claude Tag-Sitzungen erreicht.552* **Die Variablen der Umgebung**: Fügen Sie sie zu den [Umgebungsvariablen](/docs/de/cloud-environments#set-environment-variables) einer Cloud-Umgebung hinzu, um nur die Sitzungen zu konfigurieren, die in dieser Umgebung ausgeführt werden. Dies ist die Route, die Claude Tag-Sitzungen erreicht.

553 553 

554Jeder, der eine Umgebung nutzt, kann ihre Variablen lesen, daher legen Sie dort keine Anmeldedaten ab, wie etwa ein Collector-Token in `OTEL_EXPORTER_OTLP_HEADERS`. Eine [API-Anmeldedaten](/docs/de/cloud-environments#add-api-credentials) in der Umgebung hilft auch nicht, da Claude Codes eigener Telemetrie-Export einer der [Anfragen ist, die niemals die Anmeldedaten erhalten](/docs/de/cloud-environments#requests-that-never-get-the-credential). Wenn Ihr Collector Anmeldedaten benötigt, konfigurieren Sie stattdessen den gesamten Export über vom Server verwaltete Einstellungen, da Claude Code, wenn Sie dort Anmeldedaten festlegen, [Endpunkt-Variablen entfernt, die außerhalb verwalteter Einstellungen festgelegt sind](#how-managed-settings-lock-the-otlp-destination).554Jeder, der eine Umgebung nutzt, kann ihre Variablen lesen, daher legen Sie dort keine Anmeldedaten ab, wie etwa ein Collector-Token in `OTEL_EXPORTER_OTLP_HEADERS`. Ein [Netzwerk-Secret](/docs/de/cloud-environments#add-api-credentials) in der Umgebung hilft auch nicht, da der eigene Telemetrie-Export von Claude Code zu den [Anfragen gehört, die das Secret niemals erhalten](/docs/de/cloud-environments#requests-that-never-get-the-credential). Wenn Ihr Collector Anmeldedaten benötigt, konfigurieren Sie stattdessen den gesamten Export über vom Server verwaltete Einstellungen, da Claude Code, wenn Sie dort Anmeldedaten festlegen, [Endpunkt-Variablen entfernt, die außerhalb verwalteter Einstellungen festgelegt sind](#how-managed-settings-lock-the-otlp-destination).

555 555 

556Beachten Sie diese Einschränkungen, wenn Sie Telemetrie für Cloud-Sitzungen konfigurieren:556Beachten Sie diese Einschränkungen, wenn Sie Telemetrie für Cloud-Sitzungen konfigurieren:

557 557 

overview.md +7 −5

Details

28 curl -fsSL https://claude.ai/install.sh | bash28 curl -fsSL https://claude.ai/install.sh | bash

29 ```29 ```

30 30 

31 Unter Windows zeigt Ihre Eingabeaufforderung `PS C:\`, wenn Sie sich in PowerShell befinden, und `C:\` ohne `PS`, wenn Sie sich in CMD befinden.

32 

31 **Windows PowerShell:**33 **Windows PowerShell:**

32 34 

33 ```powershell theme={null}35 ```powershell theme={null}


42 44 

43 Wenn das Installationsprogramm fertig ist, öffnen Sie ein neues Terminal-Fenster und führen Sie `claude --version` aus. Eine funktionierende Installation gibt eine Versionsnummer aus. Wenn Ihre Shell sagt, dass `claude` nicht gefunden wird oder nicht erkannt wird, ist das Installationsverzeichnis noch nicht in Ihrem PATH: siehe [Beheben Sie Ihren PATH](/docs/de/troubleshoot-install#command-not-found-claude-after-installation).45 Wenn das Installationsprogramm fertig ist, öffnen Sie ein neues Terminal-Fenster und führen Sie `claude --version` aus. Eine funktionierende Installation gibt eine Versionsnummer aus. Wenn Ihre Shell sagt, dass `claude` nicht gefunden wird oder nicht erkannt wird, ist das Installationsverzeichnis noch nicht in Ihrem PATH: siehe [Beheben Sie Ihren PATH](/docs/de/troubleshoot-install#command-not-found-claude-after-installation).

44 46 

45 Wenn Sie `The token '&&' is not a valid statement separator` sehen, befinden Sie sich in PowerShell, nicht in CMD. Wenn Sie `'irm' is not recognized as an internal or external command` sehen, befinden Sie sich in CMD, nicht in PowerShell. Ihre Eingabeaufforderung zeigt `PS C:\`, wenn Sie sich in PowerShell befinden, und `C:\` ohne `PS`, wenn Sie sich in CMD befinden.47 Wenn Sie `The token '&&' is not a valid statement separator` sehen, befinden Sie sich in PowerShell, nicht in CMD. Wenn Sie `'irm' is not recognized as an internal or external command` sehen, befinden Sie sich in CMD, nicht in PowerShell.

46 48 

47 Wenn der Installationsbefehl mit `syntax error near unexpected token '<'`, einem `403` oder einem anderen curl-Fehler fehlschlägt, siehe [Installationsfehler beheben](/docs/de/troubleshoot-install#find-your-error), um den Fehler einer Lösung zuzuordnen und alternative Installationsmethoden zu finden.49 Wenn der Installationsbefehl mit `syntax error near unexpected token '<'`, einem `403` oder einem anderen Fehler fehlschlägt, siehe [Installationsfehler beheben](/docs/de/troubleshoot-install#find-your-error), um den Fehler einer Lösung zuzuordnen und alternative Installationsmethoden zu finden.

48 50 

49 [Git für Windows](https://git-scm.com/downloads/win) wird auf nativem Windows empfohlen, damit Claude Code das Bash-Tool verwenden kann. Wenn Git für Windows nicht installiert ist, verwendet Claude Code stattdessen PowerShell als Shell-Tool. WSL-Setups benötigen Git für Windows nicht.51 [Git für Windows](https://git-scm.com/downloads/win) wird auf nativem Windows empfohlen, damit Claude Code das Bash-Tool verwenden kann. Wenn Git für Windows nicht installiert ist, verwendet Claude Code stattdessen PowerShell als Shell-Tool. WSL-Setups benötigen Git für Windows nicht.

50 52 


85 claude87 claude

86 ```88 ```

87 89 

88 Sie werden beim ersten Mal aufgefordert, sich anzumelden. Wenn Sie die Umgebungsvariable `ANTHROPIC_API_KEY` gesetzt haben, überspringt Claude Code die Anmeldungsaufforderung und fordert Sie stattdessen auf, den Schlüssel zu genehmigen. Das ist alles! [Fahren Sie mit dem Quickstart fort →](/docs/de/quickstart)90 Claude Code fordert Sie bei der ersten Verwendung auf, sich anzumelden. Wenn Sie die Umgebungsvariable `ANTHROPIC_API_KEY` gesetzt haben und den Schlüssel genehmigen, sobald Claude Code fragt, ob er verwendet werden soll, überspringt Claude Code die Anmeldeabfrage. [Weiter mit dem Schnellstart →](/docs/de/quickstart)

89 91 

90 <Tip>92 <Tip>

91 Siehe [Erweiterte Einrichtung](/docs/de/setup) für Installationsoptionen, manuelle Updates oder Deinstallationsanweisungen. Besuchen Sie [Fehlerbehebung bei der Installation](/docs/de/troubleshoot-install), wenn Sie auf Probleme stoßen.93 Siehe [Erweiterte Einrichtung](/docs/de/setup) für Installationsoptionen, manuelle Updates oder Deinstallationsanweisungen. Besuchen Sie [Fehlerbehebung bei der Installation](/docs/de/troubleshoot-install), wenn Sie auf Probleme stoßen.


98 * [Für VS Code installieren](vscode:extension/anthropic.claude-code)100 * [Für VS Code installieren](vscode:extension/anthropic.claude-code)

99 * [Für Cursor installieren](cursor:extension/anthropic.claude-code)101 * [Für Cursor installieren](cursor:extension/anthropic.claude-code)

100 102 

101 Oder suchen Sie nach „Claude Code" in der Ansicht „Erweiterungen" (`Cmd+Shift+X` auf Mac, `Ctrl+Shift+X` auf Windows/Linux). Nach der Installation öffnen Sie die Befehlspalette (`Cmd+Shift+P` / `Ctrl+Shift+P`), geben Sie „Claude Code" ein und wählen Sie **In neuem Tab öffnen**.103 Oder suchen Sie nach „Claude Code“ in der Ansicht „Erweiterungen“ (`Cmd+Shift+X` auf Mac, `Ctrl+Shift+X` auf Windows/Linux). Nach der Installation öffnen Sie die Befehlspalette (`Cmd+Shift+P` / `Ctrl+Shift+P`), geben Sie „Claude Code“ ein und wählen Sie **In neuem Tab öffnen**.

102 104 

103 [Erste Schritte mit VS Code →](/docs/de/vs-code#get-started)105 [Erste Schritte mit VS Code →](/docs/de/vs-code#get-started)

104 </Tab>106 </Tab>


171 </Accordion>173 </Accordion>

172 174 

173 <Accordion title="Passen Sie mit Anweisungen, Skills und Hooks an" icon="sliders">175 <Accordion title="Passen Sie mit Anweisungen, Skills und Hooks an" icon="sliders">

174 [`CLAUDE.md`](/docs/de/memory) ist eine Markdown-Datei, die Sie im Stammverzeichnis Ihres Projekts hinzufügen und die Claude Code zu Beginn jeder Sitzung liest. Verwenden Sie sie, um Codierungsstandards, Architekturentscheidungen, bevorzugte Bibliotheken und Überprüfungschecklisten festzulegen. Wenn Ihr Repository bereits eine `AGENTS.md` für andere Coding-Agents hat, kann Claude Code [diese lesen](/docs/de/memory#agents-md) eigenständig oder zusammen mit `CLAUDE.md`. Claude erstellt auch [automatisches Gedächtnis](/docs/de/memory#auto-memory), während es arbeitet, und speichert Erkenntnisse über Sitzungen hinweg, ohne dass Sie etwas schreiben müssen.176 [`CLAUDE.md`](/docs/de/memory) ist eine Markdown-Datei, die Sie im Stammverzeichnis Ihres Projekts hinzufügen und die Claude Code zu Beginn jeder Sitzung liest. Verwenden Sie sie, um Codierungsstandards, Architekturentscheidungen, bevorzugte Bibliotheken und Überprüfungschecklisten festzulegen. Wenn Ihr Repository bereits eine `AGENTS.md` für andere Coding-Agenten hat, kann Claude Code [diese anstelle einer `CLAUDE.md` lesen](/docs/de/memory#agents-md). Claude erstellt auch [Auto-Memory](/docs/de/memory#auto-memory), während es arbeitet, und speichert Erkenntnisse über Sitzungen hinweg, ohne dass Sie etwas schreiben müssen.

175 177 

176 Erstellen Sie [Skills](/docs/de/skills), um wiederholbare Workflows zu verpacken, die Ihr Team teilen kann, wie `/review-pr` oder `/deploy-staging`.178 Erstellen Sie [Skills](/docs/de/skills), um wiederholbare Workflows zu verpacken, die Ihr Team teilen kann, wie `/review-pr` oder `/deploy-staging`.

177 179 

plugin-evals.md +11 −11

Details

120 120 

121 Der häufigste erste Fund ist ein `Δ` nahe Null mit dem fehlgeschlagenen `tool_used: Skill` Grader des Falls, was bedeutet, dass Claude Ihren Skill bei natürlicher Formulierung nicht auswählt. Passen Sie die [`description`](/docs/de/skills#frontmatter-reference) des Skills an, führen Sie `claude plugin eval .` erneut aus und vergleichen Sie.121 Der häufigste erste Fund ist ein `Δ` nahe Null mit dem fehlgeschlagenen `tool_used: Skill` Grader des Falls, was bedeutet, dass Claude Ihren Skill bei natürlicher Formulierung nicht auswählt. Passen Sie die [`description`](/docs/de/skills#frontmatter-reference) des Skills an, führen Sie `claude plugin eval .` erneut aus und vergleichen Sie.

122 122 

123 Um einen Fall kostengünstig zu iterieren, führen Sie einen einzelnen Arm einmal aus. Ein einzelner Durchlauf ist verrauscht, daher bestätigen Sie jede Änderung bei den standardmäßigen drei Durchläufen, bevor Sie ihr vertrauen. Mit einem Arm zeigt die Tabelle `SCORE` und `PASS%` Spalten statt `WITH`, `W/OUT` und `Δ`:123 Um einen Fall mit weniger Durchläufen zu iterieren, führen Sie einen einzelnen Arm einmal aus. Ein einzelner Durchlauf ist verrauscht, daher bestätigen Sie jede Änderung bei den standardmäßigen drei Durchläufen, bevor Sie ihr vertrauen. Mit einem Arm zeigt die Tabelle `SCORE` und `PASS%` Spalten statt `WITH`, `W/OUT` und `Δ`:

124 124 

125 ```bash theme={null}125 ```bash theme={null}

126 claude plugin eval . --case <case-name> --runs 1 --ablation none126 claude plugin eval . --case <case-name> --runs 1 --ablation none


256* **Der Fall setzt ein Transkript fort und das Ziel ist ein Pfad**: Mit einem [Ziel](#choose-what-to-evaluate) wie `.` anstelle eines installierten Plugin-Namens wird ein [`context.history_file`](#add-setup-or-history-with-case-yaml) Fall standardmäßig mit einem Arm ausgeführt, unter der Annahme, dass die aufgezeichnete Konversation bereits das Plugin widerspiegelt. Der Durchlauf druckt eine `single-arm (no Δ)` Benachrichtigung auf stderr, die diese Fälle benennt. Um den fortgesetzten Turn mit und ohne das Plugin zu vergleichen, übergeben Sie `--ablation with-without`.256* **Der Fall setzt ein Transkript fort und das Ziel ist ein Pfad**: Mit einem [Ziel](#choose-what-to-evaluate) wie `.` anstelle eines installierten Plugin-Namens wird ein [`context.history_file`](#add-setup-or-history-with-case-yaml) Fall standardmäßig mit einem Arm ausgeführt, unter der Annahme, dass die aufgezeichnete Konversation bereits das Plugin widerspiegelt. Der Durchlauf druckt eine `single-arm (no Δ)` Benachrichtigung auf stderr, die diese Fälle benennt. Um den fortgesetzten Turn mit und ohne das Plugin zu vergleichen, übergeben Sie `--ablation with-without`.

257* **Kein Plugin wurde für den Fall gefunden**: Wenn das Ziel ein Pfad ist, wird ein Fall, dessen Plugin Claude Code nicht finden konnte, auch standardmäßig mit einem Arm ausgeführt. Siehe [der Baseline-Arm zeigt kein Plugin](#the-baseline-arm-shows-no-plugin-or-delta-is-zero), um es zu beheben.257* **Kein Plugin wurde für den Fall gefunden**: Wenn das Ziel ein Pfad ist, wird ein Fall, dessen Plugin Claude Code nicht finden konnte, auch standardmäßig mit einem Arm ausgeführt. Siehe [der Baseline-Arm zeigt kein Plugin](#the-baseline-arm-shows-no-plugin-or-delta-is-zero), um es zu beheben.

258 258 

259In einem Zwei-Arm-Durchlauf werden einige Grader mit `scored: false` gemeldet. Eine Prüfung wie „der Skill wurde aufgerufen" kann ohne das Plugin nie bestanden werden, daher würde das Zählen den Without-Arm gegen Null drücken und `Δ` aufblasen. Um die beiden Arms vergleichbar zu halten, schließt Claude Code solche Grader aus der Bewertung in beiden Arms aus und meldet sie im With-Arm nur als Bestanden/Nicht-Bestanden-Indikatoren. Das umfasst:259In einem Zwei-Arm-Durchlauf werden einige Grader mit `scored: false` gemeldet. Eine Prüfung wie „der Skill wurde aufgerufen“ kann ohne das Plugin nie bestanden werden, daher würde das Zählen den Without-Arm gegen Null drücken und `Δ` aufblasen. Um die beiden Arms vergleichbar zu halten, schließt Claude Code solche Grader aus der Bewertung in beiden Arms aus und meldet sie im With-Arm nur als Bestanden/Nicht-Bestanden-Indikatoren. Das umfasst:

260 260 

261* Jeden `tool_used` Grader, dessen `tool` `Skill` ist261* Jeden `tool_used` Grader, dessen `tool` `Skill` ist

262* Jeden `regex` Grader mit `target: mock_calls` und jeden `llm` Grader mit `focus: mock_calls`, wenn jeder [gemockte Server](#mock-mcp-servers) im Fall einer ist, den Ihr Plugin deklariert262* Jeden `regex` Grader mit `target: mock_calls` und jeden `llm` Grader mit `focus: mock_calls`, wenn jeder [gemockte Server](#mock-mcp-servers) im Fall einer ist, den Ihr Plugin deklariert


265Drei Einstellungen ändern diese Ausschließung:265Drei Einstellungen ändern diese Ausschließung:

266 266 

267* **Jeder Grader ausgeschlossen**: Wenn jeder Grader in einem Fall in der ausgeschlossenen Menge ist, werden sie stattdessen normal bewertet, da es nichts mehr zu bewerten gäbe.267* **Jeder Grader ausgeschlossen**: Wenn jeder Grader in einem Fall in der ausgeschlossenen Menge ist, werden sie stattdessen normal bewertet, da es nichts mehr zu bewerten gäbe.

268* **`arm: both`**: Setzen Sie `arm: both` auf einen Grader, um ihn in beiden Arms unabhängig zu bewerten, was Sie für eine „darf den Skill nicht aufrufen" Prüfung mit `min: 0` und `max: 0` wollen.268* **`arm: both`**: Setzen Sie `arm: both` auf einen Grader, um ihn in beiden Arms unabhängig zu bewerten, was Sie für eine „darf den Skill nicht aufrufen“ Prüfung mit `min: 0` und `max: 0` wollen.

269* **`--ablation none`**: Unter `--ablation none` wird nichts ausgeschlossen, daher kann die gleiche Suite in den beiden Modi einen anderen absoluten Score produzieren.269* **`--ablation none`**: Unter `--ablation none` wird nichts ausgeschlossen, daher kann die gleiche Suite in den beiden Modi einen anderen absoluten Score produzieren.

270 270 

271<h3 id="use-a-different-eval-directory">271<h3 id="use-a-different-eval-directory">


471 471 

472`report.html` ist eine einzelne in sich geschlossene Datei, die keine externen Anfragen stellt, daher können Sie sie an einen CI-Job anhängen oder von der Festplatte öffnen. Dieses Beispiel ist die Oberseite eines Berichts für einen Drei-Fall-Suite-Durchlauf mit `--threshold 0.8`; die angezeigten Kosten sind eine Listenpreis-Schätzung und variieren je nach Modell und Anzahl der Fälle:472`report.html` ist eine einzelne in sich geschlossene Datei, die keine externen Anfragen stellt, daher können Sie sie an einen CI-Job anhängen oder von der Festplatte öffnen. Dieses Beispiel ist die Oberseite eines Berichts für einen Drei-Fall-Suite-Durchlauf mit `--threshold 0.8`; die angezeigten Kosten sind eine Listenpreis-Schätzung und variieren je nach Modell und Anzahl der Fälle:

473 473 

474<img src="https://mintcdn.com/claude-code/qq7LHDi_F0aeFHgk/images/plugin-eval-report.png?fit=max&auto=format&n=qq7LHDi_F0aeFHgk&q=85&s=106eb6e6a70a6565f891ea3a4564f87d" alt="Oberseite eines Eval-Berichts: eine Urteilszeile mit dem Text „Plugin-Effekt: +33,3 Punkte gegenüber Baseline, 2 verbessert, 1 gleich, 0 von 3 Fällen verschlechtert&#x22;, fünf Zusammenfassungs-Kacheln für Suite-Score, Ablations-Delta, Baseline-Score, Fälle, die den Schwellenwert erfüllen, und perfekte Durchläufe, dann der erste Fall mit seinem Delta, Score-Balken und einem Durchlauf, dessen zwei Grader beide „bestanden&#x22; anzeigen" width="1360" height="1032" data-path="images/plugin-eval-report.png" />474<img src="https://mintcdn.com/claude-code/qq7LHDi_F0aeFHgk/images/plugin-eval-report.png?fit=max&auto=format&n=qq7LHDi_F0aeFHgk&q=85&s=106eb6e6a70a6565f891ea3a4564f87d" alt="Oberseite eines Eval-Berichts: eine Urteilszeile mit dem Text „Plugin-Effekt: +33,3 Punkte gegenüber Baseline, 2 verbessert, 1 gleich, 0 von 3 Fällen verschlechtert“, fünf Zusammenfassungs-Kacheln für Suite-Score, Ablations-Delta, Baseline-Score, Fälle, die den Schwellenwert erfüllen, und perfekte Durchläufe, dann der erste Fall mit seinem Delta, Score-Balken und einem Durchlauf, dessen zwei Grader beide „bestanden“ anzeigen" width="1360" height="1032" data-path="images/plugin-eval-report.png" />

475 475 

476Lesen Sie es von oben nach unten:476Lesen Sie es von oben nach unten:

477 477 


676Dies sind die Probleme, auf die Autoren am häufigsten stoßen, sortiert nach dem, was Sie sehen.676Dies sind die Probleme, auf die Autoren am häufigsten stoßen, sortiert nach dem, was Sie sehen.

677 677 

678<h3 id="plugin-eval-is-currently-in-early-access">678<h3 id="plugin-eval-is-currently-in-early-access">

679 „plugin eval is currently in early access"679 „plugin eval is currently in early access“

680</h3>680</h3>

681 681 

682Ihr Build ist älter als die allgemeine Verfügbarkeit des Befehls. Führen Sie `claude update` aus und führen Sie den Befehl dann erneut in einer neuen Sitzung aus.682Ihr Build ist älter als die allgemeine Verfügbarkeit des Befehls. Führen Sie `claude update` aus und führen Sie den Befehl dann erneut in einer neuen Sitzung aus.

683 683 

684<h3 id="plugin-eval-is-currently-unavailable">684<h3 id="plugin-eval-is-currently-unavailable">

685 „plugin eval is currently unavailable"685 „plugin eval is currently unavailable“

686</h3>686</h3>

687 687 

688Anthropic hat den Befehl serverseitig deaktiviert. Nichts auf Ihrem Computer schaltet ihn wieder ein; führen Sie `claude update` aus und versuchen Sie es später in einer neuen Sitzung erneut.688Anthropic hat den Befehl serverseitig deaktiviert. Nichts auf Ihrem Computer schaltet ihn wieder ein; führen Sie `claude update` aus und versuchen Sie es später in einer neuen Sitzung erneut.

689 689 

690<h3 id="is-not-a-trusted-plugin-directory-and-this-run-cannot-stop-to-ask-you-about-it">690<h3 id="is-not-a-trusted-plugin-directory-and-this-run-cannot-stop-to-ask-you-about-it">

691 „is not a trusted plugin directory, and this run cannot stop to ask you about it"691 „is not a trusted plugin directory, and this run cannot stop to ask you about it“

692</h3>692</h3>

693 693 

694Dies ist der erste Durchlauf gegen ein Verzeichnis, dem Claude Code noch nicht vertraut, und es kann Sie nicht fragen, da stdin oder stdout kein Terminal ist oder Sie `--json` übergeben haben. Führen Sie `claude plugin eval <dir>` einmal in einem Terminal aus und beantworten Sie die Eingabeaufforderung, oder übergeben Sie `--trust-plugin`, wenn Sie dem Code und der Suite des Plugins vertrauen. Siehe [What a run can access](#security).694Dies ist der erste Durchlauf gegen ein Verzeichnis, dem Claude Code noch nicht vertraut, und es kann Sie nicht fragen, da stdin oder stdout kein Terminal ist oder Sie `--json` übergeben haben. Führen Sie `claude plugin eval <dir>` einmal in einem Terminal aus und beantworten Sie die Eingabeaufforderung, oder übergeben Sie `--trust-plugin`, wenn Sie dem Code und der Suite des Plugins vertrauen. Siehe [What a run can access](#security).

695 695 

696<h3 id="git-is-too-old-for-claude-plugin-eval">696<h3 id="git-is-too-old-for-claude-plugin-eval">

697 „is too old for claude plugin eval"697 „is too old for claude plugin eval“

698</h3>698</h3>

699 699 

700Das `git` auf Ihrem `PATH` ist älter als 2.31, daher hat `claude plugin eval` gestoppt, bevor es einen Fall ausgeführt hat, und ist mit 1 beendet worden mit einer Nachricht, die Ihre Version benennt:700Das `git` auf Ihrem `PATH` ist älter als 2.31, daher hat `claude plugin eval` gestoppt, bevor es einen Fall ausgeführt hat, und ist mit 1 beendet worden mit einer Nachricht, die Ihre Version benennt:


708Vor v2.1.283 überprüfte `claude plugin eval` nicht die Git-Version, und bei einem älteren Git lief die Suite mit diesen Programmen, die eingeschaltet waren.708Vor v2.1.283 überprüfte `claude plugin eval` nicht die Git-Version, und bei einem älteren Git lief die Suite mit diesen Programmen, die eingeschaltet waren.

709 709 

710<h3 id="no-eval-cases-found">710<h3 id="no-eval-cases-found">

711 „No eval cases found"711 „No eval cases found“

712</h3>712</h3>

713 713 

714Es existiert kein `<case>/prompt.md` oder `<case>/case.yaml` unter dem geltenden Eval-Verzeichnis, oder Ihre `--case`- und `--tag`-Filter haben keinen Fall gefunden. Führen Sie den Befehl aus dem Plugin-Root aus, oder führen Sie `claude plugin eval init` aus, um eine Suite zu erstellen.714Es existiert kein `<case>/prompt.md` oder `<case>/case.yaml` unter dem geltenden Eval-Verzeichnis, oder Ihre `--case`- und `--tag`-Filter haben keinen Fall gefunden. Führen Sie den Befehl aus dem Plugin-Root aus, oder führen Sie `claude plugin eval init` aus, um eine Suite zu erstellen.


717 Die Baseline-Arm zeigt kein Plugin, oder Delta ist null717 Die Baseline-Arm zeigt kein Plugin, oder Delta ist null

718</h3>718</h3>

719 719 

720Wenn die Zusammenfassung keine `W/OUT`-Spalte hat oder der Fall mit „ablation requested but no plugin resolved" fehlschlägt, wurde kein Plugin für den Fall gefunden. Wenn jeder Fall ein Transkript durch `context.history_file` fortsetzt, ist die fehlende Spalte stattdessen zu erwarten, da diese Fälle [standardmäßig einen Arm ausführen](#compare-against-a-no-plugin-baseline). Andernfalls fügen Sie `plugins: ["../.."]` zum Fall hinzu und geben Sie den Pfad vom Fall-Verzeichnis zum Plugin-Verzeichnis an.720Wenn die Zusammenfassung keine `W/OUT`-Spalte hat oder der Fall mit „ablation requested but no plugin resolved“ fehlschlägt, wurde kein Plugin für den Fall gefunden. Wenn jeder Fall ein Transkript durch `context.history_file` fortsetzt, ist die fehlende Spalte stattdessen zu erwarten, da diese Fälle [standardmäßig einen Arm ausführen](#compare-against-a-no-plugin-baseline). Andernfalls fügen Sie `plugins: ["../.."]` zum Fall hinzu und geben Sie den Pfad vom Fall-Verzeichnis zum Plugin-Verzeichnis an.

721 721 

722Wenn das Plugin geladen wurde und `Δ` immer noch nahe bei null liegt, während Ihr `tool_used: Skill`-Grader fehlschlägt, ist das normalerweise ein echtes Ergebnis, was bedeutet, dass die `description` des Skills nicht auf die Formulierung der Eingabeaufforderung anspricht. Passen Sie die Beschreibung an und führen Sie die gleiche Suite erneut aus.722Wenn das Plugin geladen wurde und `Δ` immer noch nahe bei null liegt, während Ihr `tool_used: Skill`-Grader fehlschlägt, ist das normalerweise ein echtes Ergebnis, was bedeutet, dass die `description` des Skills nicht auf die Formulierung der Eingabeaufforderung anspricht. Passen Sie die Beschreibung an und führen Sie die gleiche Suite erneut aus.

723 723 

724<h3 id="agent-type-’-’-not-found-for-one-of-your-plugin’s-agents">724<h3 id="agent-type-’-’-not-found-for-one-of-your-plugin’s-agents">

725 „Agent type '...' not found" für einen der Agenten Ihres Plugins725 „Agent type '...' not found“ für einen der Agenten Ihres Plugins

726</h3>726</h3>

727 727 

728Standardmäßig wird jeder Fall sowohl mit Ihrem Plugin als auch ohne es ausgeführt, und die Durchläufe ohne es sind die [no-plugin baseline](#the-no-plugin-baseline). Wenn Claude einen der Agenten Ihres Plugins in einem Baseline-Durchlauf versendet, schlägt der Agent-Tool-Aufruf mit `Agent type '<plugin>:<agent-name>' not found. Available agents: ...` fehl. Die Liste benennt nur Agenten, die ohne das Plugin existieren, wie z. B. die [built-in subagents](/docs/de/sub-agents#built-in-subagents).728Standardmäßig wird jeder Fall sowohl mit Ihrem Plugin als auch ohne es ausgeführt, und die Durchläufe ohne es sind die [no-plugin baseline](#the-no-plugin-baseline). Wenn Claude einen der Agenten Ihres Plugins in einem Baseline-Durchlauf versendet, schlägt der Agent-Tool-Aufruf mit `Agent type '<plugin>:<agent-name>' not found. Available agents: ...` fehl. Die Liste benennt nur Agenten, die ohne das Plugin existieren, wie z. B. die [built-in subagents](/docs/de/sub-agents#built-in-subagents).

Details

733You are a security reviewer. Read the changed files and report injection, authentication, and secrets-handling risks.733You are a security reviewer. Read the changed files and report injection, authentication, and secrets-handling risks.

734```734```

735 735 

736Dieser Agent wird `my-plugin:security-reviewer` genannt, und der Benutzer kann ihn [explizit aufrufen](/docs/de/sub-agents#invoke-subagents-explicitly) mit `@agent-my-plugin:security-reviewer`. Die Namensform ist `<plugin>:<name>`, wobei `<name>` aus der Frontmatter kommt, oder aus dem Dateinamen, wenn es keine gibt.736Dieser Agent wird `my-plugin:security-reviewer` genannt, und der Benutzer kann ihn [explizit aufrufen](/docs/de/sub-agents#invoke-subagents-explicitly) mit `@agent-my-plugin:security-reviewer`. Die Namensform ist `<plugin>:<name>`, wobei `<name>` aus dem Frontmatter-Feld `name` stammt oder, wenn dieses Feld fehlt, aus dem Dateinamen.

737 737 

738Der `agents`-Manifest-Schlüssel ersetzt den `agents/`-Scan.738Der `agents`-Manifest-Schlüssel ersetzt den `agents/`-Scan.

739 739 

Details

428 428 

429| Element | Was es zeichnet | Wo |429| Element | Was es zeichnet | Wo |

430| :- | :- | :- |430| :- | :- | :- |

431| `Box` | Einen Flex-Container. Akzeptiert Layout-Props wie `flexDirection`, `columnGap`, `padding`, `borderStyle` und `width`. | Überall |431| `Box` | Einen Flex-Container. Akzeptiert Layout-Props wie `flexDirection`, `columnGap`, `padding`, [`borderStyle`](/docs/de/plugins/mods/reference#box-border-styles) und `width`. | Überall |

432| `Text` | Formatierten Text. Akzeptiert `color`, `bold`, `dimColor`, `italic` und `wrap`. Eine `color` ist ein Theme-Schlüssel oder eine Farbe wie `'red'`. Ein `wrap` ist `'wrap'`, `'truncate'`, `'truncate-start'`, `'truncate-middle'` oder `'truncate-end'`. | Überall |432| `Text` | Formatierten Text. Akzeptiert `color`, `bold`, `dimColor`, `italic` und `wrap`. Eine `color` ist ein Theme-Schlüssel oder eine Farbe wie `'red'`. Ein `wrap` ist `'wrap'`, `'truncate'`, `'truncate-start'`, `'truncate-middle'` oder `'truncate-end'`. | Überall |

433| `Button` | Ein Steuerelement, das `onPress` aufruft | Überall |433| `Button` | Ein Steuerelement, das `onPress` aufruft | Überall |

434| `Link`, `Code`, `Markdown` | Einen Link mit `href` und einem optionalen `label`, einen Codeblock und Text, der wie die Antworten von Claude formatiert ist. `Markdown` erhält seinen Inhalt in einer `text`-Prop, nicht in `children`, und benötigt einen `key`, wenn Sie `onLinkPress` übergeben. | Überall |434| `Link`, `Code`, `Markdown` | Einen Link mit `href` und einem optionalen `label`, einen Codeblock und Text, der wie die Antworten von Claude formatiert ist. `Markdown` erhält seinen Inhalt in einer `text`-Prop, nicht in `children`, und benötigt einen `key`, wenn Sie `onLinkPress` übergeben. | Überall |


563Viele Bereiche bestehen aus einem Textfeld mit einer Liste darunter. Das Beispiel in diesem Abschnitt ist ein Notizbereich: Sie tippen eine Notiz und drücken Enter, um sie hinzuzufügen, und jede Notiz hat eine `x`-Schaltfläche, die sie löscht. Mit zwei hinzugefügten Notizen zeichnet das Terminal den Bereich so:563Viele Bereiche bestehen aus einem Textfeld mit einer Liste darunter. Das Beispiel in diesem Abschnitt ist ein Notizbereich: Sie tippen eine Notiz und drücken Enter, um sie hinzuzufügen, und jede Notiz hat eine `x`-Schaltfläche, die sie löscht. Mit zwei hinzugefügten Notizen zeichnet das Terminal den Bereich so:

564 564 

565```text theme={null}565```text theme={null}

566╭──────────────────────────────────────────────────────────╮566╭────────────────────────────────────────────────────────✕─╮

567│ Note: Type a note and press Enter ⏎ add ✕ │567│ Note: Type a note and press Enter ⏎ add │

568│ x buy milk │568│ x buy milk │

569│ x call bob │569│ x call bob │

570╰──────────────────────────────────────────────────────────╯570╰──────────────────────────────────────────────────────────╯

571```571```

572 572 

573Das `✕` am oberen Rand ist die eigene Markierung von Claude Code zum Schließen des Bereichs.

574 

573Das Beispiel verwendet diese Techniken:575Das Beispiel verwendet diese Techniken:

574 576 

575* **Texteingaben entgegennehmen**: Ein `Input` ruft `onSubmit(value)` mit dem Text des Felds auf, wenn der Benutzer Enter drückt, und `onInput(value)` bei jeder Änderung577* **Texteingaben entgegennehmen**: Ein `Input` ruft `onSubmit(value)` mit dem Text des Felds auf, wenn der Benutzer Enter drückt, und `onInput(value)` bei jeder Änderung

Details

242Um einen Baum an seine Stelle anzupassen, lesen Sie im Hook die folgenden Props:242Um einen Baum an seine Stelle anzupassen, lesen Sie im Hook die folgenden Props:

243 243 

244* **Breite eines `Pane` oder des Bands**: Zeichnen Sie auf `e.props.bodyColumns`244* **Breite eines `Pane` oder des Bands**: Zeichnen Sie auf `e.props.bodyColumns`

245* **Höhe eines `Pane` neben dem Transkript**: Wenn `e.props.placement` den Wert `'dock'` hat, ist `e.props.scroll.bodyRows` die Anzahl der Zeilen, die der Bereich hat245* **Höhe eines `Pane` neben dem Transkript**: Wenn `e.props.placement` den Wert `'dock'` hat, ist `e.props.scroll.bodyRows` die Anzahl der Zeilen, die der Bereich für Ihren Baum hat

246* **Höhe eines `Pane` über dem Prompt**: Wenn `e.props.placement` den Wert `'inline'` hat, wächst der Bereich mit Ihrem Baum bis zu einer Grenze, und `bodyRows` ist diese Grenze. Über das [Feld `rows` von `$.ui.open`](/docs/de/plugins/mods/interface#open-a-pane-at-the-right-time) lässt sich eine andere Grenze anfordern.246* **Höhe eines `Pane` über dem Prompt**: Wenn `e.props.placement` den Wert `'inline'` hat, wächst der Bereich mit Ihrem Baum bis zu einer Grenze, und `bodyRows` ist diese Grenze. Über das [Feld `rows` von `$.ui.open`](/docs/de/plugins/mods/interface#open-a-pane-at-the-right-time) lässt sich eine andere Grenze anfordern.

247 247 

248Ein Baum, der höher als der Bereich ist, scrollt als Ganzes.248Ein Baum, der höher als der Bereich ist, scrollt als Ganzes.


255 255 

256| Element | Wichtigste Props | Terminal | Desktop |256| Element | Wichtigste Props | Terminal | Desktop |

257| :- | :- | :-: | :-: |257| :- | :- | :-: | :-: |

258| [`Box`](/docs/de/plugins/mods/interface#build-a-tree-from-elements) | `key`, Flex-Layout, `gap`, `padding`, `margin`, `width`, `height`, `borderStyle`, `backgroundColor`, `position`, `hover` | ✓ | ✓ |258| [`Box`](/docs/de/plugins/mods/interface#build-a-tree-from-elements) | `key`, Flex-Layout, `gap`, `padding`, `margin`, `width`, `height`, [`borderStyle`](#box-border-styles), `backgroundColor`, `position`, `hover` | ✓ | ✓ |

259| [`Text`](/docs/de/plugins/mods/interface#build-a-tree-from-elements) | `color`, `backgroundColor`, `bold`, `italic`, `underline`, `dimColor`, `inverse`, `wrap` | ✓ | ✓ |259| [`Text`](/docs/de/plugins/mods/interface#build-a-tree-from-elements) | `color`, `backgroundColor`, `bold`, `italic`, `underline`, `dimColor`, `inverse`, `wrap` | ✓ | ✓ |

260| [`Button`](/docs/de/plugins/mods/interface#respond-to-presses-and-typing) | `key`, `label`, `onPress`, `hotkey`, `plain`, `dimColor`, `autoFocus`, `action` | ✓ | ✓ |260| [`Button`](/docs/de/plugins/mods/interface#respond-to-presses-and-typing) | `key`, `label`, `onPress`, `hotkey`, `plain`, `dimColor`, `autoFocus`, `action` | ✓ | ✓ |

261| `Link` | `href`, `label` | ✓ | ✓ |261| `Link` | `href`, `label` | ✓ | ✓ |


270 270 

271Weitere Regeln für `Button`: `action` benennt eine der eigenen [Tastenkombinations-Aktionen](/docs/de/keybindings) von Claude Code, und die Tastenkombination des Benutzers dafür drückt die Schaltfläche, wenn diese Tastenkombination ein Akkord oder eine Taste mit Modifikator ist. Ein Ziffern-`hotkey` auf einer Schaltfläche im Band wird auch ausgelöst, wenn der Benutzer nur diese Ziffer in einen leeren Prompt eingibt und innehält. Wenn zwei Schaltflächen in einer Zeichnung denselben `hotkey` angeben, erhält ihn die spätere. `autoFocus` akzeptiert bei jedem Steuerelement nur `true`; lassen Sie die Prop also weg, um es deaktiviert zu lassen.271Weitere Regeln für `Button`: `action` benennt eine der eigenen [Tastenkombinations-Aktionen](/docs/de/keybindings) von Claude Code, und die Tastenkombination des Benutzers dafür drückt die Schaltfläche, wenn diese Tastenkombination ein Akkord oder eine Taste mit Modifikator ist. Ein Ziffern-`hotkey` auf einer Schaltfläche im Band wird auch ausgelöst, wenn der Benutzer nur diese Ziffer in einen leeren Prompt eingibt und innehält. Wenn zwei Schaltflächen in einer Zeichnung denselben `hotkey` angeben, erhält ihn die spätere. `autoFocus` akzeptiert bei jedem Steuerelement nur `true`; lassen Sie die Prop also weg, um es deaktiviert zu lassen.

272 272 

273<h3 id="box-border-styles">

274 Rahmenstile für `Box`

275</h3>

276 

277Um einen Rahmen um eine `Box` zu zeichnen, setzen Sie deren `borderStyle` auf einen dieser Namen, etwa `borderStyle: 'round'`. Jede Zeile gibt an, was das Terminal für diesen Namen zeichnet, und zeigt die Oberkante des Rahmens.

278 

279| `borderStyle` | Was das Terminal zeichnet | Oberkante |

280| :- | :- | :- |

281| `'single'` | Dünne Linien mit eckigen Ecken | `┌──┐` |

282| `'double'` | Doppelte Linien | `╔══╗` |

283| `'round'` | Dünne Linien mit abgerundeten Ecken | `╭──╮` |

284| `'bold'` | Dicke Linien | `┏━━┓` |

285| `'singleDouble'` | Dünne Linien oben und unten, doppelte Linien an den Seiten | `╓──╖` |

286| `'doubleSingle'` | Doppelte Linien oben und unten, dünne Linien an den Seiten | `╒══╕` |

287| `'classic'` | Die ASCII-Zeichen `+`, `-` und `\|` | `+--+` |

288| `'arrow'` | Pfeile, die in die `Box` zeigen | `↘↓↓↙` |

289| `'dashed'` | Gestrichelte Linien mit leeren Ecken | `╌╌` |

290| `'quote'` | Ein Balken, `▎`, an der linken Seite entlang und leere Zellen an den anderen drei Seiten | Leer |

291 

292Eine `Box`, deren `borderStyle` einen anderen Namen angibt, etwa `'rounded'`, wird ohne Rahmen gezeichnet.

293 

273<h2 id="limits">294<h2 id="limits">

274 Limits295 Limits

275</h2>296</h2>

Details

15<Note>15<Note>

16 Diese Fälle werden auf anderen Seiten behandelt:16 Diese Fälle werden auf anderen Seiten behandelt:

17 17 

18 * **Warum Bereiche, der Cache und die Priorität sich so verhalten**: lesen Sie [Plugin-Ladungsreferenz](/docs/de/plugins/loading)18 * **Warum sich Geltungsbereiche, der Cache und der Vorrang so verhalten**: Lesen Sie die [Plugin-Ladereferenz](/docs/de/plugins/loading)

19 * **Nachschlagen eines Flags, Feldes oder Befehls**: verwenden Sie die [Plugin-Befehle-Referenz](/docs/de/plugins/cli-reference), die [Manifest-Referenz](/docs/de/plugins/manifest-reference) oder die [Marktplatz-Referenz](/docs/de/plugins/marketplace-reference)19 * **Nachschlagen eines Flags, Feldes oder Befehls**: Verwenden Sie die [Referenz der Plugin-Befehle](/docs/de/plugins/cli-reference), die [Manifest-Referenz](/docs/de/plugins/manifest-reference) oder die [Marketplace-Referenz](/docs/de/plugins/marketplace-reference)

20 * **Eine Meldung `hooks module not loaded` oder `hooks module did not load`**: Das Plugin ist ein [Mod](/docs/de/plugins/mods/overview), lesen Sie daher [Der Mod wird nicht geladen](/docs/de/plugins/mods/troubleshoot#the-mod-doesn’t-load)

20</Note>21</Note>

21 22 

22Suchen Sie nach der genauen Meldung, die Sie gesehen haben. Jede Meldung wird unter der Phase aufgelistet, die sie erzeugt, was nicht immer der Befehl ist, den Sie ausgeführt haben. Zum Beispiel kann eine Installation fehlschlagen, weil ein Marktplatz fehlt, daher wird diese Meldung unter [Einen Marktplatz hinzufügen](#add-a-marketplace) aufgelistet.23Suchen Sie nach der genauen Meldung, die Sie gesehen haben. Jede Meldung wird unter der Phase aufgelistet, die sie erzeugt, was nicht immer der Befehl ist, den Sie ausgeführt haben. Zum Beispiel kann eine Installation fehlschlagen, weil ein Marktplatz fehlt, daher wird diese Meldung unter [Einen Marktplatz hinzufügen](#add-a-marketplace) aufgelistet.

Details

328| Hauptkonversation | Eine Stunde | Fünf Minuten |328| Hauptkonversation | Eine Stunde | Fünf Minuten |

329| Alles andere | Fünf Minuten, außer den serverseitig kontrollierten Helfer-Anfragen, die eine Stunde erhalten | Fünf Minuten |329| Alles andere | Fünf Minuten, außer den serverseitig kontrollierten Helfer-Anfragen, die eine Stunde erhalten | Fünf Minuten |

330 330 

331Sobald Sie das Nutzungslimit Ihres Plans überschreiten und Claude Code auf [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) zurückgreift, wird diese Nutzung für Sie abgerechnet, daher senkt Claude Code die Hauptkonversation auf die günstigere fünf-Minuten-TTL. Um die eine-Stunden-TTL dort zu behalten, [wählen Sie die TTL selbst](#choose-the-ttl-yourself).331Sobald Sie das Nutzungslimit Ihres Plans überschreiten und Claude Code auf [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) zurückgreift, wird diese Nutzung für Sie abgerechnet, daher senkt Claude Code die Hauptkonversation auf die fünf-Minuten-TTL, die Cache-Schreibvorgänge zu einer niedrigeren Rate abrechnet. Um die eine-Stunden-TTL dort zu behalten, [wählen Sie die TTL selbst](#choose-the-ttl-yourself).

332 332 

333<h3 id="choose-the-ttl-yourself">333<h3 id="choose-the-ttl-yourself">

334 Wählen Sie die TTL selbst334 Wählen Sie die TTL selbst

Details

1342 },1342 },

1343 "review-your-changes-before": {1343 "review-your-changes-before": {

1344 title: "Überprüfen Sie Ihre Änderungen, bevor Sie committen",1344 title: "Überprüfen Sie Ihre Änderungen, bevor Sie committen",

1345 teaches: "Fangen Sie Probleme ab, während sie noch billig zu beheben sind. Claude liest die geänderten Dateien vollständig, nicht nur die Diff-Zeilen, sodass es Probleme erkennt, die eine schnelle Selbstüberprüfung übersieht.",1345 teaches: "Fangen Sie Probleme ab, solange sie sich noch mit weniger Aufwand beheben lassen. Claude liest die geänderten Dateien vollständig, nicht nur die Diff-Zeilen, sodass es Probleme erkennt, die eine schnelle Selbstüberprüfung übersieht.",

1346 next: "Führen Sie `/code-review` aus, um die gleiche Überprüfung in einem Befehl durchzuführen",1346 next: "Führen Sie `/code-review` aus, um die gleiche Überprüfung in einem Befehl durchzuführen",

1347 prompt: "Überprüfen Sie meine nicht committeten Änderungen und kennzeichnen Sie alles, was riskant aussieht, bevor ich committe"1347 prompt: "Überprüfen Sie meine nicht committeten Änderungen und kennzeichnen Sie alles, was riskant aussieht, bevor ich committe"

1348 },1348 },

quickstart.md +56 −90

Details

4 4 

5# Schnellstart5# Schnellstart

6 6 

7> Willkommen bei Claude Code!7> Installieren Sie Claude Code in Ihrem Terminal, melden Sie sich an und verwenden Sie die CLI, um Ihre Codebasis zu erkunden und Ihre erste Codeänderung vorzunehmen.

8 8 

9Diese Schnellstartanleitung ermöglicht es Ihnen, in wenigen Minuten KI-gestützte Codierungshilfe zu nutzen. Am Ende werden Sie verstehen, wie Sie Claude Code für häufige Entwicklungsaufgaben einsetzen.9Diese Schnellstartanleitung behandelt Claude Code in Ihrem Terminal: die Installation der CLI, die Anmeldung in Ihrer ersten Sitzung und die Verwendung für häufige Entwicklungsaufgaben in Ihrem eigenen Projekt.

10 10 

11<h2 id="before-you-begin">11<h2 id="before-you-begin">

12 Bevor Sie beginnen12 Bevor Sie beginnen


15Stellen Sie sicher, dass Sie folgende Voraussetzungen erfüllen:15Stellen Sie sicher, dass Sie folgende Voraussetzungen erfüllen:

16 16 

17* Ein offenes Terminal oder eine offene Eingabeaufforderung17* Ein offenes Terminal oder eine offene Eingabeaufforderung

18 * Wenn Sie das Terminal noch nie verwendet haben, lesen Sie den [Terminal-Leitfaden](/docs/de/terminal-guide)

19* Ein Codeprojekt zum Arbeiten18* Ein Codeprojekt zum Arbeiten

20* Ein [Claude-Abonnement](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_prereq) (Pro, Max, Team oder Enterprise), ein [Claude Console](https://platform.claude.com/)-Konto oder Zugriff über einen [unterstützten Cloud-Anbieter](/docs/de/third-party-integrations)19* Ein [Claude-Abonnement](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_prereq) (Pro, Max, Team oder Enterprise), ein [Claude Console](https://platform.claude.com/)-Konto oder Zugriff über einen [unterstützten Cloud-Anbieter](/docs/de/third-party-integrations)

21 20 

22<Note>21<Note>

23 Diese Anleitung behandelt die Terminal-CLI. Claude Code ist auch im [Web](https://claude.ai/code) verfügbar, als [Desktop-App](/docs/de/desktop), in [VS Code](/docs/de/vs-code) und [JetBrains IDEs](/docs/de/jetbrains), in [Slack](/docs/de/slack) und in CI/CD mit [GitHub Actions](/docs/de/github-actions) und [GitLab](/docs/de/gitlab-ci-cd). Siehe [alle Schnittstellen](/docs/de/overview#use-claude-code-everywhere).22 Diese Fälle werden auf anderen Seiten behandelt:

23 

24 * **Sie haben noch nie ein Terminal verwendet**: Beginnen Sie mit dem [Terminal-Leitfaden](/docs/de/terminal-guide)

25 * **Sie möchten Claude Code außerhalb des Terminals verwenden**: Claude Code ist auch im [Web](https://claude.ai/code) verfügbar, als [Desktop-App](/docs/de/desktop), in [VS Code](/docs/de/vs-code) und [JetBrains IDEs](/docs/de/jetbrains), in [Slack](/docs/de/slack) und in CI/CD mit [GitHub Actions](/docs/de/github-actions) und [GitLab](/docs/de/gitlab-ci-cd). Siehe [alle Schnittstellen](/docs/de/overview#use-claude-code-everywhere).

24</Note>26</Note>

25 27 

26<h2 id="step-1-install-claude-code">28<h2 id="step-1-install-claude-code">


33 <Tab title="Native Installation (Empfohlen)">35 <Tab title="Native Installation (Empfohlen)">

34 **macOS, Linux, WSL:**36 **macOS, Linux, WSL:**

35 37 

36 ```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}38 ```bash theme={null}

37 curl -fsSL https://claude.ai/install.sh | bash39 curl -fsSL https://claude.ai/install.sh | bash

38 ```40 ```

39 41 

42 Unter Windows zeigt Ihre Eingabeaufforderung `PS C:\`, wenn Sie sich in PowerShell befinden, und `C:\` ohne `PS`, wenn Sie sich in CMD befinden.

43 

40 **Windows PowerShell:**44 **Windows PowerShell:**

41 45 

42 ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}46 ```powershell theme={null}

43 irm https://claude.ai/install.ps1 | iex47 irm https://claude.ai/install.ps1 | iex

44 ```48 ```

45 49 

46 **Windows CMD:**50 **Windows CMD:**

47 51 

48 ```batch theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}52 ```batch theme={null}

49 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd53 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

50 ```54 ```

51 55 

52 Wenn das Installationsprogramm fertig ist, öffnen Sie ein neues Terminal-Fenster und führen Sie `claude --version` aus. Eine funktionierende Installation gibt eine Versionsnummer aus. Wenn Ihre Shell sagt, dass `claude` nicht gefunden wird oder nicht erkannt wird, ist das Installationsverzeichnis noch nicht in Ihrem PATH: siehe [Beheben Sie Ihren PATH](/docs/de/troubleshoot-install#command-not-found-claude-after-installation).56 Wenn das Installationsprogramm fertig ist, öffnen Sie ein neues Terminal-Fenster und führen Sie `claude --version` aus. Eine funktionierende Installation gibt eine Versionsnummer aus. Wenn Ihre Shell sagt, dass `claude` nicht gefunden wird oder nicht erkannt wird, ist das Installationsverzeichnis noch nicht in Ihrem PATH: siehe [Beheben Sie Ihren PATH](/docs/de/troubleshoot-install#command-not-found-claude-after-installation).

53 57 

54 Wenn Sie `The token '&&' is not a valid statement separator` sehen, befinden Sie sich in PowerShell, nicht in CMD. Wenn Sie `'irm' is not recognized as an internal or external command` sehen, befinden Sie sich in CMD, nicht in PowerShell. Ihre Eingabeaufforderung zeigt `PS C:\`, wenn Sie sich in PowerShell befinden, und `C:\` ohne `PS`, wenn Sie sich in CMD befinden.58 Wenn Sie `The token '&&' is not a valid statement separator` sehen, befinden Sie sich in PowerShell, nicht in CMD. Wenn Sie `'irm' is not recognized as an internal or external command` sehen, befinden Sie sich in CMD, nicht in PowerShell.

55 59 

56 Wenn der Installationsbefehl mit `syntax error near unexpected token '<'`, einem `403` oder einem anderen curl-Fehler fehlschlägt, siehe [Installationsfehler beheben](/docs/de/troubleshoot-install#find-your-error), um den Fehler einer Lösung zuzuordnen und alternative Installationsmethoden zu finden.60 Wenn der Installationsbefehl mit `syntax error near unexpected token '<'`, einem `403` oder einem anderen Fehler fehlschlägt, siehe [Installationsfehler beheben](/docs/de/troubleshoot-install#find-your-error), um den Fehler einer Lösung zuzuordnen und alternative Installationsmethoden zu finden.

57 61 

58 [Git für Windows](https://git-scm.com/downloads/win) wird auf nativem Windows empfohlen, damit Claude Code das Bash-Tool verwenden kann. Wenn Git für Windows nicht installiert ist, verwendet Claude Code stattdessen PowerShell als Shell-Tool. WSL-Setups benötigen Git für Windows nicht.62 [Git für Windows](https://git-scm.com/downloads/win) wird auf nativem Windows empfohlen, damit Claude Code das Bash-Tool verwenden kann. Wenn Git für Windows nicht installiert ist, verwendet Claude Code stattdessen PowerShell als Shell-Tool. WSL-Setups benötigen Git für Windows nicht.

59 63 


63 </Tab>67 </Tab>

64 68 

65 <Tab title="Homebrew">69 <Tab title="Homebrew">

66 ```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}70 ```bash theme={null}

67 brew install --cask claude-code71 brew install --cask claude-code

68 ```72 ```

69 73 


75 </Tab>79 </Tab>

76 80 

77 <Tab title="WinGet">81 <Tab title="WinGet">

78 ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}82 ```powershell theme={null}

79 winget install Anthropic.ClaudeCode83 winget install Anthropic.ClaudeCode

80 ```84 ```

81 85 


95 99 

96Der Befehl gibt eine Versionsnummer gefolgt von `(Claude Code)` aus.100Der Befehl gibt eine Versionsnummer gefolgt von `(Claude Code)` aus.

97 101 

98<h2 id="step-2-log-in-to-your-account">102<h2 id="step-2-start-your-first-session">

99 Schritt 2: Melden Sie sich bei Ihrem Konto an103 Schritt 2: Starten Sie Ihre erste Sitzung

100</h2>104</h2>

101 105 

102Claude Code erfordert ein Konto zur Nutzung. Starten Sie eine interaktive Sitzung mit dem Befehl `claude` und Sie werden beim ersten Gebrauch aufgefordert, sich anzumelden:106Öffnen Sie Ihr Terminal in einem beliebigen Projektverzeichnis und starten Sie Claude Code:

103 107 

104```bash theme={null}108```bash theme={null}

109cd /path/to/your/project

105claude110claude

106```111```

107 112 

108Für Claude-Abonnement- oder Console-Konten folgen Sie den Aufforderungen, um die Authentifizierung in Ihrem Browser abzuschließen. Wenn Sie die Umgebungsvariable `ANTHROPIC_API_KEY` gesetzt haben, überspringt Claude Code die Anmeldungsaufforderung und fordert Sie stattdessen auf, den Schlüssel zu genehmigen. Um später zu einem anderen Konto zu wechseln oder sich erneut zu authentifizieren, geben Sie `/login` in der laufenden Sitzung ein:113Ersetzen Sie `/path/to/your/project` durch den Pfad zu dem Projekt, an dem Sie arbeiten möchten.

109 114 

110```text wrap theme={null}115Claude Code fordert Sie bei der ersten Verwendung zur Anmeldung auf. Folgen Sie bei einem Claude-Abonnement oder einem Console-Konto den Anweisungen, um die Authentifizierung in Ihrem Browser abzuschließen. Wenn Sie die Umgebungsvariable `ANTHROPIC_API_KEY` gesetzt haben und den Schlüssel bestätigen, wenn Claude Code fragt, ob er verwendet werden soll, überspringt Claude Code die Anmeldeaufforderung.

111/login

112```

113 116 

114Sie können sich mit einem dieser Kontotypen anmelden:117Sie können sich mit einem der folgenden Kontotypen anmelden:

115 118 

116* [Claude Pro, Max, Team oder Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_login) (empfohlen)119* [Claude Pro, Max, Team oder Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_login) (empfohlen)

117* [Claude Console](https://platform.claude.com/) (API-Zugriff mit Prepaid-Guthaben). Bei der ersten Anmeldung wird automatisch ein „Claude Code“-Arbeitsbereich in der Console erstellt, um die Kosten zentral zu verfolgen.120* [Claude Console](https://platform.claude.com/) (API-Zugriff mit vorausbezahltem Guthaben). Bei der ersten Anmeldung wird in der Console automatisch ein Workspace „Claude Code“ für die zentrale Kostenverfolgung erstellt.

118* [Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry](/docs/de/third-party-integrations) (Enterprise-Cloud-Anbieter)121* [Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry](/docs/de/third-party-integrations) (Cloud-Anbieter für Unternehmen)

119* Ein selbst gehostetes [Claude-Apps-Gateway](/docs/de/claude-apps-gateway), falls Ihre Organisation eines betreibt: Ihr Administrator konfiguriert die Gateway-URL vorab, und `/login` öffnet direkt den Bildschirm **Cloud-Gateway** für Sie, um sich mit Corporate SSO anzumelden122* Ein selbst gehostetes [Claude Apps Gateway](/docs/de/claude-apps-gateway), falls Ihre Organisation eines betreibt: Ihr Admin konfiguriert die Gateway-URL vorab, und `/login` öffnet sich direkt auf dem Bildschirm **Cloud gateway**, damit Sie sich mit dem SSO Ihres Unternehmens anmelden können

120 

121Nach der Anmeldung werden Ihre Anmeldedaten gespeichert und Sie müssen sich nicht erneut anmelden. Weitere Informationen finden Sie unter [Verwaltung von Anmeldedaten](/docs/de/authentication#credential-management).

122 

123<h2 id="step-3-start-your-first-session">

124 Schritt 3: Starten Sie Ihre erste Sitzung

125</h2>

126 

127Öffnen Sie Ihr Terminal in einem beliebigen Projektverzeichnis und starten Sie Claude Code:

128 

129```bash theme={null}

130cd /path/to/your/project

131claude

132```

133 123 

134Ersetzen Sie `/path/to/your/project` durch den Pfad zu dem Projekt, an dem Sie arbeiten möchten.124Nach der Anmeldung werden Ihre Anmeldedaten gespeichert, und Sie müssen sich nicht erneut anmelden. Weitere Informationen finden Sie unter [Verwaltung von Anmeldedaten](/docs/de/authentication#credential-management).

135 125 

136Sie sehen die Claude Code-Eingabeaufforderung mit der Version, dem aktuellen Modell und dem Arbeitsverzeichnis, das oben angezeigt wird. Geben Sie `/help` ein, um verfügbare Befehle anzuzeigen, oder `/resume`, um ein vorheriges Gespräch fortzusetzen.126Der Claude Code-Prompt wird angezeigt, darüber sind die Version, das aktuelle Modell und das Arbeitsverzeichnis zu sehen. Geben Sie `/help` ein, um die verfügbaren Befehle anzuzeigen, oder `/resume`, um eine frühere Konversation fortzusetzen. Um später das Konto zu wechseln oder sich erneut zu authentifizieren, geben Sie `/login` in der laufenden Sitzung ein.

137 127 

138<h2 id="step-4-ask-your-first-question">128<h2 id="step-3-ask-your-first-question">

139 Schritt 4: Stellen Sie Ihre erste Frage129 Schritt 3: Stellen Sie Ihre erste Frage

140</h2>130</h2>

141 131 

142Beginnen Sie damit, Ihre Codebasis zu verstehen. Versuchen Sie einen dieser Befehle:132Probieren Sie einen dieser Befehle aus:

143 133 

144```text wrap theme={null}134```text wrap theme={null}

145what does this project do?135what does this project do?

146```136```

147 137 

148Claude wird Ihre Dateien analysieren und eine Zusammenfassung bereitstellen. Sie können auch spezifischere Fragen stellen:138Claude analysiert Ihre Dateien und liefert eine Zusammenfassung. Sie können auch spezifischere Fragen stellen:

149 139 

150```text wrap theme={null}140```text wrap theme={null}

151what technologies does this project use?141what technologies does this project use?


174```164```

175 165 

176<Note>166<Note>

177 Claude Code liest Ihre Projektdateien nach Bedarf. Sie müssen den Kontext nicht manuell hinzufügen.167 Claude Code liest Ihre Projektdateien nach Bedarf. Sie müssen Kontext nicht manuell hinzufügen.

178</Note>168</Note>

179 169 

180<h2 id="step-5-make-your-first-code-change">170<h2 id="step-4-make-your-first-code-change">

181 Schritt 5: Nehmen Sie Ihre erste Codeänderung vor171 Schritt 4: Nehmen Sie Ihre erste Codeänderung vor

182</h2>172</h2>

183 173 

184Jetzt lassen Sie Claude Code tatsächlich programmieren. Versuchen Sie eine einfache Aufgabe:174Probieren Sie eine kleine Aufgabe aus:

185 175 

186```text wrap theme={null}176```text wrap theme={null}

187add a hello world function to the main file177add a hello world function to the main file

188```178```

189 179 

190Claude Code findet die entsprechende Datei und zeigt Ihnen die Änderung. Wenn es Sie vor der Änderung fragt, wählen Sie **Ja** aus, um zuzustimmen.180Claude Code findet die passende Datei und zeigt Ihnen die Änderung an. Wenn Claude vor der Änderung nachfragt, wählen Sie **Yes**, um sie zu genehmigen.

191 181 

192Mit Claude Code v2.1.283 oder später ist der Auto-Modus der [integrierte Standard-Berechtigungsmodus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) für interaktive Terminalsitzungen: Ein Klassifizierer überprüft Aktionen anstelle von Ihnen, und Claude bearbeitet die meisten Dateien und führt die meisten Befehle aus, ohne zu fragen. Bei früheren Versionen ist der Auto-Modus der integrierte Standard-Berechtigungsmodus nur bei Pro-, Max- und Team-Plänen. Für die Sitzung, die Sie direkt nach der Installation starten, siehe [Erste Sitzung nach einer Installation oder einem Upgrade](/docs/de/env-vars#first-session-after-an-install-or-upgrade).182Der [Berechtigungsmodus](/docs/de/permission-modes) der Sitzung legt fest, welche Aktionen Claude ausführen kann, ohne Sie vorher zu fragen. Drücken Sie jederzeit `Shift+Tab`, um den Berechtigungsmodus Ihrer aktuellen Sitzung zu wechseln.

193 183 

194<Note>184<h2 id="step-5-use-git-with-claude-code">

195 Ihre Einstellungen oder Ihre Organisation können einen anderen Standard-Berechtigungsmodus festlegen. [Welcher Berechtigungsmodus eine Sitzung startet](/docs/de/permission-modes#which-mode-a-session-starts-in) listet auf, was dies tut. Drücken Sie `Shift+Tab` jederzeit, um den Berechtigungsmodus der Sitzung, in der Sie sich befinden, zu wechseln.185 Schritt 5: Git mit Claude Code verwenden

196</Note>

197 

198<h2 id="step-6-use-git-with-claude-code">

199 Schritt 6: Verwenden Sie Git mit Claude Code

200</h2>186</h2>

201 187 

202Claude Code macht Git-Operationen konversativ:188Claude Code macht Git-Operationen dialogorientiert:

203 189 

204```text wrap theme={null}190```text wrap theme={null}

205what files have I changed?191what files have I changed?


209commit my changes with a descriptive message195commit my changes with a descriptive message

210```196```

211 197 

212Sie können auch komplexere Git-Operationen anfordern:198Sie können auch Prompts für komplexere Git-Operationen verwenden:

213 199 

214```text wrap theme={null}200```text wrap theme={null}

215create a new branch called feature/quickstart201create a new branch called feature/quickstart


223help me resolve merge conflicts209help me resolve merge conflicts

224```210```

225 211 

226<h2 id="step-7-fix-a-bug-or-add-a-feature">212<h2 id="step-6-fix-a-bug-or-add-a-feature">

227 Schritt 7: Beheben Sie einen Fehler oder fügen Sie eine Funktion hinzu213 Schritt 6: Einen Fehler beheben oder eine Funktion hinzufügen

228</h2>214</h2>

229 215 

230Claude ist versiert im Debuggen und in der Implementierung von Funktionen.216Beschreiben Sie in natürlicher Sprache, was Sie möchten:

231 

232Beschreiben Sie, was Sie möchten, in natürlicher Sprache:

233 217 

234```text wrap theme={null}218```text wrap theme={null}

235add input validation to the user registration form219add input validation to the user registration form

236```220```

237 221 

238Oder beheben Sie vorhandene Probleme:222Oder beheben Sie bestehende Probleme:

239 223 

240```text wrap theme={null}224```text wrap theme={null}

241there's a bug where users can submit empty forms - fix it225there's a bug where users can submit empty forms - fix it

242```226```

243 227 

244Claude Code wird:228<h2 id="step-7-test-out-other-common-workflows">

245 229 Schritt 7: Weitere gängige Workflows ausprobieren

246* Den relevanten Code lokalisieren

247* Den Kontext verstehen

248* Eine Lösung implementieren

249* Tests ausführen, falls verfügbar

250 

251<h2 id="step-8-test-out-other-common-workflows">

252 Schritt 8: Testen Sie andere häufige Arbeitsabläufe

253</h2>230</h2>

254 231 

255Es gibt verschiedene Möglichkeiten, mit Claude zu arbeiten:232Es gibt verschiedene Möglichkeiten, mit Claude zu arbeiten:

256 233 

257**Code umgestalten**234**Code refaktorisieren**

258 235 

259```text wrap theme={null}236```text wrap theme={null}

260refactor the authentication module to use async/await instead of callbacks237refactor the authentication module to use async/await instead of callbacks


272update the README with installation instructions249update the README with installation instructions

273```250```

274 251 

275**Code-Überprüfung**252**Code-Review**

276 253 

277```text wrap theme={null}254```text wrap theme={null}

278review my changes and suggest improvements255review my changes and suggest improvements

279```256```

280 257 

281<Tip>258<Tip>

282 Sprechen Sie mit Claude wie mit einem hilfreichen Kollegen. Beschreiben Sie, was Sie erreichen möchten, und es wird Ihnen helfen, dorthin zu gelangen.259 Sprechen Sie mit Claude wie mit einem hilfsbereiten Kollegen. Beschreiben Sie, was Sie erreichen möchten, und Claude hilft Ihnen dabei, Ihr Ziel zu erreichen.

283</Tip>260</Tip>

284 261 

285<h2 id="essential-commands">262<h2 id="essential-commands">


357 334 

358Nachdem Sie die Grundlagen gelernt haben, erkunden Sie erweiterte Funktionen:335Nachdem Sie die Grundlagen gelernt haben, erkunden Sie erweiterte Funktionen:

359 336 

360<CardGroup cols={2}>337* [Wie Claude Code funktioniert](/docs/de/how-claude-code-works): Verstehen Sie die Agentenschleife, integrierte Tools und wie Claude Code mit Ihrem Projekt interagiert

361 <Card title="Wie Claude Code funktioniert" icon="microchip" href="/docs/de/how-claude-code-works">338* [Best Practices](/docs/de/best-practices): Erzielen Sie bessere Ergebnisse mit effektiven Prompts und Projektsetup

362 Verstehen Sie die agentengestützte Schleife, integrierte Tools und wie Claude Code mit Ihrem Projekt interagiert339* [Häufige Workflows](/docs/de/common-workflows): Schritt-für-Schritt-Anleitungen für häufige Aufgaben

363 </Card>340* [Claude Code erweitern](/docs/de/features-overview): Passen Sie Claude Code mit CLAUDE.md, Skills, Hooks, MCP und mehr an

364 

365 <Card title="Best Practices" icon="star" href="/docs/de/best-practices">

366 Erzielen Sie bessere Ergebnisse mit effektiven Prompts und Projektsetup

367 </Card>

368 

369 <Card title="Häufige Arbeitsabläufe" icon="graduation-cap" href="/docs/de/common-workflows">

370 Schritt-für-Schritt-Anleitungen für häufige Aufgaben

371 </Card>

372 341 

373 <Card title="Erweitern Sie Claude Code" icon="puzzle-piece" href="/docs/de/features-overview">342Unter [Erweiterte Einrichtung](/docs/de/setup) finden Sie Installationsoptionen, manuelle Updates oder Anleitungen zur Deinstallation.

374 Passen Sie mit CLAUDE.md, skills, hooks, MCP und mehr an

375 </Card>

376</CardGroup>

377 343 

378<h2 id="getting-help">344<h2 id="getting-help">

379 Hilfe erhalten345 Hilfe erhalten

380</h2>346</h2>

381 347 

382* **In Claude Code**: Geben Sie `/help` ein oder fragen Sie „how do I“ Fragen348* **In Claude Code**: Geben Sie `/help` ein oder fragen Sie „how do I“ Fragen

383* **Dokumentation**: Sie sind hier! Durchsuchen Sie andere Leitfäden349* **Dokumentation**: Durchsuchen Sie die anderen Leitfäden auf dieser Website

384* **Kurse**: Absolvieren Sie [Claude Code 101](https://academy.claude.com/courses/claude-code-101) und andere kostenlose Selbstlernkurse auf [Claude Academy](https://academy.claude.com/)350* **Kurse**: Absolvieren Sie [Claude Code 101](https://academy.claude.com/courses/claude-code-101) und andere kostenlose Selbstlernkurse auf [Claude Academy](https://academy.claude.com/)

385* **Community**: Treten Sie dem [Discord-Server](https://www.anthropic.com/discord) bei, um Tipps und Unterstützung zu erhalten351* **Community**: Treten Sie dem [Discord-Server](https://www.anthropic.com/discord) bei, um Tipps und Unterstützung zu erhalten

Details

365</h2>365</h2>

366 366 

367* **Eine Remote-Sitzung pro interaktivem Prozess**: Außerhalb des Server-Modus unterstützt jede Claude Code-Instanz jeweils eine Remote-Sitzung. Verwenden Sie den [Server-Modus](#start-a-remote-control-session), um mehrere gleichzeitige Sitzungen aus einem einzelnen Prozess auszuführen.367* **Eine Remote-Sitzung pro interaktivem Prozess**: Außerhalb des Server-Modus unterstützt jede Claude Code-Instanz jeweils eine Remote-Sitzung. Verwenden Sie den [Server-Modus](#start-a-remote-control-session), um mehrere gleichzeitige Sitzungen aus einem einzelnen Prozess auszuführen.

368* **Lokaler Prozess muss weiterhin ausgeführt werden**: Remote Control wird als lokaler Prozess ausgeführt. Wenn Sie das Terminal schließen, die Desktop-App oder VS Code beenden oder den `claude`-Prozess anderweitig stoppen, geht die Sitzung offline, bis Sie sie [wiederherstellen](#resume-sessions-after-stopping-the-server). Um eine Sitzung auf einem Remote-Computer nach dem Trennen von SSH weiterhin auszuführen, starten Sie sie in `tmux` oder `screen`.368* **Lokaler Prozess muss weiterhin ausgeführt werden**: Remote Control wird als lokaler Prozess ausgeführt. Wenn Sie das Terminal schließen, die Desktop-App oder VS Code beenden oder den `claude`-Prozess anderweitig stoppen, geht die Sitzung offline, bis Sie sie [wiederherstellen](#resume-sessions-after-stopping-the-server). Wenn Sie `claude` in einem Terminal auf einem Remote-Computer ausführen, starten Sie es in `tmux` oder `screen`, damit die Sitzung nach dem Trennen der SSH-Verbindung weiterläuft.

369* **Abgestürzte Sitzungen im Server-Modus**: Wenn eine von `claude remote-control` bereitgestellte Sitzung abstürzt, senden Sie ihr eine Nachricht von einem verbundenen Gerät. Claude Code stellt sie erneut bereit. Sie müssen den Server nicht neu starten. Erfordert Claude Code v2.1.238 oder später.369* **Abgestürzte Sitzungen im Server-Modus**: Wenn eine von `claude remote-control` bereitgestellte Sitzung abstürzt, senden Sie ihr eine Nachricht von einem verbundenen Gerät. Claude Code stellt sie erneut bereit. Sie müssen den Server nicht neu starten. Erfordert Claude Code v2.1.238 oder später.

370* **HTTP 403-Ablehnungen bei einer verbundenen Sitzung**: Sobald eine interaktive Sitzung verbunden ist, versucht Claude Code bis zu drei Minuten lang erneut, wenn etwas zwischen Ihrem Computer und den Servern von Anthropic mit HTTP 403 antwortet, was nach einer VPN- oder Netzwerkänderung vorkommen kann. Wenn die Ablehnungen länger andauern, trennt Claude Code die Verbindung, und der Grund gibt an, was abgelehnt hat: ein Netzwerk-Edge, oder ein Proxy, VPN oder eine Firewall in Ihrem eigenen Netzwerk.370* **HTTP 403-Ablehnungen bei einer verbundenen Sitzung**: Sobald eine interaktive Sitzung verbunden ist, versucht Claude Code bis zu drei Minuten lang erneut, wenn etwas zwischen Ihrem Computer und den Servern von Anthropic mit HTTP 403 antwortet, was nach einer VPN- oder Netzwerkänderung vorkommen kann. Wenn die Ablehnungen länger andauern, trennt Claude Code die Verbindung, und der Grund gibt an, was abgelehnt hat: ein Netzwerk-Edge, oder ein Proxy, VPN oder eine Firewall in Ihrem eigenen Netzwerk.

371* **Längerer Netzwerkausfall**: Wenn Ihr Computer aktiv ist, aber das Netzwerk nicht erreichen kann, hängt das, was Sie als Nächstes tun, vom Modus ab:371* **Längerer Netzwerkausfall**: Wenn Ihr Computer aktiv ist, aber das Netzwerk nicht erreichen kann, hängt das, was Sie als Nächstes tun, vom Modus ab:

routines.md +2 −2

Details

93 Wählen Sie eine [Cloud-Umgebung](/docs/de/cloud-environments) für die Routine. Umgebungen steuern, worauf die Cloud-Sitzung Zugriff hat:93 Wählen Sie eine [Cloud-Umgebung](/docs/de/cloud-environments) für die Routine. Umgebungen steuern, worauf die Cloud-Sitzung Zugriff hat:

94 94 

95 * **Netzwerkzugriff**: Legen Sie die Stufe des Internet-Zugriffs fest, der während jeder Ausführung verfügbar ist95 * **Netzwerkzugriff**: Legen Sie die Stufe des Internet-Zugriffs fest, der während jeder Ausführung verfügbar ist

96 * **Umgebungsvariablen**: Stellen Sie Werte bereit, die Claude während jeder Ausführung verwenden kann. Sie sind [für jeden sichtbar, der die Umgebung nutzt](/docs/de/cloud-environments#what-carries-over-from-your-setup), daher speichern Sie auf Pro- und Max-Plänen Schlüssel für die APIs, die Claude während einer Ausführung aufruft, stattdessen als [API-Anmeldedaten](/docs/de/cloud-environments#add-api-credentials). Dieser Abschnitt listet auch die Anfragen auf, die niemals Anmeldedaten erhalten96 * **Umgebungsvariablen**: Stellen Sie Werte bereit, die Claude während jeder Ausführung verwenden kann. Sie sind [für jeden sichtbar, der die Umgebung nutzt](/docs/de/cloud-environments#what-carries-over-from-your-setup), daher speichern Sie auf Pro- und Max-Plänen Schlüssel für die APIs, die Claude während einer Ausführung aufruft, stattdessen als [Netzwerk-Secrets](/docs/de/cloud-environments#add-api-credentials). Dieser Abschnitt listet auch die Anfragen auf, die niemals ein Secret erhalten

97 * **Setup-Skript**: Installieren Sie Abhängigkeiten und Tools, die die Routine benötigt. Das Ergebnis wird [zwischengespeichert](/docs/de/cloud-environments#environment-caching), sodass das Skript nicht bei jeder Sitzung erneut ausgeführt wird97 * **Setup-Skript**: Installieren Sie Abhängigkeiten und Tools, die die Routine benötigt. Das Ergebnis wird [zwischengespeichert](/docs/de/cloud-environments#environment-caching), sodass das Skript nicht bei jeder Sitzung erneut ausgeführt wird

98 98 

99 Eine **Standard**-Umgebung wird mit **Vertrauenswürdigem** Netzwerkzugriff bereitgestellt, der nur die [Standard-Zulassungsliste](/docs/de/cloud-environments#default-allowed-domains) von Paket-Registries, Cloud-Provider-APIs, Container-Registries und häufigen Entwicklungsdomänen ermöglicht. Konnektoren, die Sie zur Routine hinzufügen, erreichen ihre Dienste über Anthropic-Server, daher benötigen sie keine Änderungen an der Zulassungsliste. Wenn Ihre Routine Ihre eigenen Dienste direkt oder eine Domain außerhalb dieser Liste erreichen muss, bearbeiten Sie den [Netzwerkzugriff](/docs/de/cloud-environments#network-access) der Umgebung vor der Ausführung. Um eine separate Umgebung zu verwenden, [erstellen Sie eine](/docs/de/cloud-environments#configure-your-environment) zuerst.99 Eine **Standard**-Umgebung wird mit **Vertrauenswürdigem** Netzwerkzugriff bereitgestellt, der nur die [Standard-Zulassungsliste](/docs/de/cloud-environments#default-allowed-domains) von Paket-Registries, Cloud-Provider-APIs, Container-Registries und häufigen Entwicklungsdomänen ermöglicht. Konnektoren, die Sie zur Routine hinzufügen, erreichen ihre Dienste über Anthropic-Server, daher benötigen sie keine Änderungen an der Zulassungsliste. Wenn Ihre Routine Ihre eigenen Dienste direkt oder eine Domain außerhalb dieser Liste erreichen muss, bearbeiten Sie den [Netzwerkzugriff](/docs/de/cloud-environments#network-access) der Umgebung vor der Ausführung. Um eine separate Umgebung zu verwenden, [erstellen Sie eine](/docs/de/cloud-environments#configure-your-environment) zuerst.


212 212 

213Der `text`-Wert erreicht die Routine nicht als bloße Nachricht. Er kommt in einem `<routine-fire-payload>`-Block an, der ihn als nicht vertrauenswürdige Daten kennzeichnet und Claude mitteilt, dass er Anweisungen darin nicht befolgen soll, es sei denn, der Prompt der Routine sagt es. Die gleiche Umhüllung gilt für Text, der mit **Jetzt ausführen** in der Web-UI bereitgestellt wird.213Der `text`-Wert erreicht die Routine nicht als bloße Nachricht. Er kommt in einem `<routine-fire-payload>`-Block an, der ihn als nicht vertrauenswürdige Daten kennzeichnet und Claude mitteilt, dass er Anweisungen darin nicht befolgen soll, es sei denn, der Prompt der Routine sagt es. Die gleiche Umhüllung gilt für Text, der mit **Jetzt ausführen** in der Web-UI bereitgestellt wird.

214 214 

215Dies bedeutet, dass der gespeicherte Prompt einer Routine sich dafür entscheiden muss, auf Fire-Text zu reagieren: Schreiben Sie den Prompt so, dass er die Payload explizit referenziert, zum Beispiel „Untersuchen Sie den in dem routine-fire-payload-Block beschriebenen Alert", oder die Routine behandelt den Text als inerten Kontext. Jeder, der den Bearer-Token hält, kann `text` senden, daher macht der Wrapper Fire-Text von einem durchgesickerten Token als nicht vertrauenswürdige Daten gekennzeichnet ankommen, anstatt als direkte Anweisungen an Ihre Routine.215Dies bedeutet, dass der gespeicherte Prompt einer Routine sich dafür entscheiden muss, auf Fire-Text zu reagieren: Schreiben Sie den Prompt so, dass er die Payload explizit referenziert, zum Beispiel „Untersuchen Sie den in dem routine-fire-payload-Block beschriebenen Alert“, oder die Routine behandelt den Text als inerten Kontext. Jeder, der den Bearer-Token hält, kann `text` senden, daher macht der Wrapper Fire-Text von einem durchgesickerten Token als nicht vertrauenswürdige Daten gekennzeichnet ankommen, anstatt als direkte Anweisungen an Ihre Routine.

216 216 

217Das Beispiel unten löst eine Routine aus einer Shell aus. Die angezeigte Routine-ID und der Token sind Platzhalter: Ersetzen Sie sie mit der URL und dem Token, die Sie beim [Hinzufügen des API-Triggers](#add-an-api-trigger) kopiert haben, oder die Anfrage schlägt mit einem `401`-Authentifizierungsfehler fehl:217Das Beispiel unten löst eine Routine aus einer Shell aus. Die angezeigte Routine-ID und der Token sind Platzhalter: Ersetzen Sie sie mit der URL und dem Token, die Sie beim [Hinzufügen des API-Triggers](#add-an-api-trigger) kopiert haben, oder die Anfrage schlägt mit einem `401`-Authentifizierungsfehler fehl:

218 218 

Details

104 Beispielskript104 Beispielskript

105</h2>105</h2>

106 106 

107Das folgende Skript führt die vollständige Schleife gegen `$CLAUDE_TEST_ENVIRONMENT_ID`, die `ccpool_...`-ID Ihrer Test-Umgebung, angezeigt im Detaildialog der Umgebung auf der Admin-Seite oder zurückgegeben durch den [create-environment-Aufruf](#create-a-dedicated-test-environment), aus und behauptet eine Sentinel-Phrase in jeder Antwort. Führen Sie es aus einem Git-Checkout des Repositorys aus, in dem die Sitzung arbeiten soll, nachdem Sie einen Runner auf diesem Host mit dem installierten Capture-Hook und exportiertem `E2E_REPLY_DIR` gestartet haben.107Das folgende Skript führt die vollständige Schleife gegen `$CLAUDE_TEST_ENVIRONMENT_ID`, die `ccpool_...`-ID Ihrer Test-Umgebung, angezeigt im Detaildialog der Umgebung auf der Admin-Seite oder zurückgegeben durch den [create-environment-Aufruf](#create-a-dedicated-test-environment), aus und behauptet eine Sentinel-Phrase in jeder Antwort. Führen Sie es aus einem Git-Checkout des Repositorys aus, in dem die Sitzung arbeiten soll, nachdem Sie einen Runner auf diesem Host mit dem installierten Capture-Hook und exportiertem `E2E_REPLY_DIR` gestartet haben. Melden Sie sich zunächst auf dem Rechner, auf dem das Skript ausgeführt wird, mit einem claude.ai-Konto an, wie unter [Aus CI authentifizieren](#authenticate-from-ci) beschrieben. Ohne diese Anmeldung schlägt der erste Dispatch mit einem Fehler wie `Unable to get organization UUID for cloud session creation` fehl.

108 108 

109```bash theme={null}109```bash theme={null}

110#!/usr/bin/env bash110#!/usr/bin/env bash

Details

19Um serververwaltete Einstellungen zu verwenden, benötigen Sie:19Um serververwaltete Einstellungen zu verwenden, benötigen Sie:

20 20 

21* Claude for Teams oder Claude for Enterprise Plan21* Claude for Teams oder Claude for Enterprise Plan

22* Die Rolle „Owner" oder „Primary Owner" in Ihrer Claude-Organisation, um die Konfiguration anzuzeigen und zu bearbeiten22* Die Rolle „Owner“ oder „Primary Owner“ in Ihrer Claude-Organisation, um die Konfiguration anzuzeigen und zu bearbeiten

23* Netzwerkzugriff auf `api.anthropic.com`23* Netzwerkzugriff auf `api.anthropic.com`

24 24 

25<h2 id="choose-between-server-managed-and-endpoint-managed-settings">25<h2 id="choose-between-server-managed-and-endpoint-managed-settings">


43 <Step title="Öffnen Sie die Admin-Konsole">43 <Step title="Öffnen Sie die Admin-Konsole">

44 Navigieren Sie in der claude.ai-Konsole zu [**Organization settings > Claude Code > Managed settings**](https://claude.ai/admin-settings/claude-code).44 Navigieren Sie in der claude.ai-Konsole zu [**Organization settings > Claude Code > Managed settings**](https://claude.ai/admin-settings/claude-code).

45 45 

46 Wenn der Link Sie stattdessen zu einer anderen Seite der Organisationseinstellungen umleitet, anstatt zur Claude Code-Seite, verfügt Ihr Konto nicht über die erforderliche Rolle. Admin und andere Nicht-Owner-Rollen können verwaltete Einstellungen nicht anzeigen oder bearbeiten. Bitten Sie daher einen Owner oder Primary Owner in Ihrer Organisation, die Änderung vorzunehmen. Siehe [Zugriffskontrolle](#access-control).46 Wenn die Seite in einer Team- oder Enterprise-Organisation anzeigt, dass Sie keinen Zugriff haben, bitten Sie einen [Owner oder Primary Owner](#access-control), die Änderung vorzunehmen.

47 </Step>47 </Step>

48 48 

49 <Step title="Definieren Sie Ihre Einstellungen">49 <Step title="Definieren Sie Ihre Einstellungen">


127 Nur verwaltete Einstellungen127 Nur verwaltete Einstellungen

128</h3>128</h3>

129 129 

130Die meisten [Einstellungsschlüssel](/docs/de/settings-reference#all-settings) funktionieren in jedem Bereich. Eine Handvoll Schlüssel werden nur aus verwalteten Einstellungen gelesen und haben keine Auswirkung, wenn sie in Benutzer- oder Projekteinstellungsdateien platziert werden. Siehe [nur verwaltete Einstellungen](/docs/de/managed-settings#managed-only-settings) für die Berechtigung und Plugin-Steuerelemente, oder lesen Sie die Spalte „Bereich" des [Alle Einstellungen](/docs/de/settings-reference#all-settings) Index für den vollständigen Satz.130Die meisten [Einstellungsschlüssel](/docs/de/settings-reference#all-settings) funktionieren in jedem Bereich. Eine Handvoll Schlüssel werden nur aus verwalteten Einstellungen gelesen und haben keine Auswirkung, wenn sie in Benutzer- oder Projekteinstellungsdateien platziert werden. Siehe [nur verwaltete Einstellungen](/docs/de/managed-settings#managed-only-settings) für die Berechtigung und Plugin-Steuerelemente, oder lesen Sie die Spalte „Bereich“ des [Alle Einstellungen](/docs/de/settings-reference#all-settings) Index für den vollständigen Satz.

131 131 

132<h3 id="current-limitations">132<h3 id="current-limitations">

133 Aktuelle Einschränkungen133 Aktuelle Einschränkungen

sessions.md +3 −3

Details

83* Terminal: `claude --continue`, `claude --resume <session-id>` oder `claude --resume <name>`, wenn der Name einer Sitzung entspricht, ohne `-p`. Claude Code stellt den Berechtigungsmodus wieder her, in dem sich die Sitzung befand, außer in den Fällen in der Tabelle. Übergeben Sie `--permission-mode` oder `--dangerously-skip-permissions`, um den wiederhergestellten Modus zu überschreiben.83* Terminal: `claude --continue`, `claude --resume <session-id>` oder `claude --resume <name>`, wenn der Name einer Sitzung entspricht, ohne `-p`. Claude Code stellt den Berechtigungsmodus wieder her, in dem sich die Sitzung befand, außer in den Fällen in der Tabelle. Übergeben Sie `--permission-mode` oder `--dangerously-skip-permissions`, um den wiederhergestellten Modus zu überschreiben.

84* Nicht-interaktiv: `claude -p --resume` oder `claude -p --continue`. Claude Code startet den Lauf im Berechtigungsmodus, in dem ein neuer `claude -p` Lauf gestartet würde, außer dass eine Sitzung, die im Plan Mode endete, unter den [Bedingungen unten](#resume-in-plan-mode-with-p) im Plan Mode fortgesetzt wird.84* Nicht-interaktiv: `claude -p --resume` oder `claude -p --continue`. Claude Code startet den Lauf im Berechtigungsmodus, in dem ein neuer `claude -p` Lauf gestartet würde, außer dass eine Sitzung, die im Plan Mode endete, unter den [Bedingungen unten](#resume-in-plan-mode-with-p) im Plan Mode fortgesetzt wird.

85* VS Code: das Gesprächsfenster der Erweiterung. Die Tabelle behandelt nur ein Gespräch, das im Plan Mode endete; für den Rest siehe [frühere Gespräche fortsetzen](/docs/de/vs-code#resume-past-conversations).85* VS Code: das Gesprächsfenster der Erweiterung. Die Tabelle behandelt nur ein Gespräch, das im Plan Mode endete; für den Rest siehe [frühere Gespräche fortsetzen](/docs/de/vs-code#resume-past-conversations).

86* Sitzungsauswahl beim Start: eine Sitzung, die Sie aus der [Sitzungsauswahl](#use-the-session-picker) auswählen, ob Sie sie mit `claude --resume` allein, `claude --from-pr` oder einem Namen, der mehr als einer Sitzung entspricht, geöffnet haben. Claude Code stellt den gespeicherten Berechtigungsmodus nicht wieder her. Es startet die Sitzung im Berechtigungsmodus, in dem es eine neue Sitzung von derselben Befehlszeile aus starten würde.86* Sitzungsauswahl beim Start: eine Sitzung, die Sie aus der [Sitzungsauswahl](#use-the-session-picker) auswählen, ob Sie sie mit `claude --resume` allein, `claude --from-pr` oder einem Namen, der mehr als einer Sitzung entspricht, geöffnet haben. Claude Code startet die Sitzung in dem Berechtigungsmodus, in dem es eine neue Sitzung von derselben Befehlszeile aus starten würde, außer dass eine Sitzung, die im Plan-Modus endete, im Plan-Modus fortgesetzt wird, sofern Sie nicht `--permission-mode`, `--dangerously-skip-permissions` oder `--fork-session` übergeben. Kein anderer gespeicherter Berechtigungsmodus wird wiederhergestellt.

87* `/resume` innerhalb einer Sitzung, mit oder ohne Argument: Claude Code stellt den gespeicherten Berechtigungsmodus nicht wieder her. Das Gespräch, zu dem Sie wechseln, wird im Berechtigungsmodus Ihrer aktuellen Sitzung fortgesetzt.87* `/resume` innerhalb einer Sitzung, mit oder ohne Argument: Das Gespräch, zu dem Sie wechseln, wird im Berechtigungsmodus Ihrer aktuellen Sitzung fortgesetzt, außer dass ein Gespräch, das im Plan-Modus endete, im Plan-Modus fortgesetzt wird, selbst wenn Sie Claude Code mit `--permission-mode` oder `--dangerously-skip-permissions` gestartet haben. Wenn dieses Gespräch bereits früher in diesem Lauf von Claude Code geöffnet war, etwa das Gespräch, mit dem Sie begonnen haben, oder eines, das Sie mit `/clear` oder `/resume` verlassen haben, wird es stattdessen in Ihrem aktuellen Berechtigungsmodus fortgesetzt.

88 88 

89Das Wiederherstellen des Plan Mode auf den nicht-interaktiven und VS Code Pfaden erfordert Claude Code v2.1.246 oder später. Jede Zeile benennt den Berechtigungsmodus, in dem die Sitzung endete, welche der Terminal-, nicht-interaktiven und VS Code Pfade Sie ihn fortsetzen, und den Berechtigungsmodus, in dem Claude Code die fortgesetzte Sitzung startet.89Das Wiederherstellen des Plan Mode auf den nicht-interaktiven und VS Code Pfaden erfordert Claude Code v2.1.246 oder später. Jede Zeile benennt den Berechtigungsmodus, in dem die Sitzung endete, welche der Terminal-, nicht-interaktiven und VS Code Pfade Sie ihn fortsetzen, und den Berechtigungsmodus, in dem Claude Code die fortgesetzte Sitzung startet.

90 90 

91| Sitzung endete in | Wie Sie fortsetzen | Berechtigungsmodus nach dem Fortsetzen |91| Sitzung endete in | Wie Sie fortsetzen | Berechtigungsmodus nach dem Fortsetzen |

92| :- | :- | :- |92| :- | :- | :- |

93| `bypassPermissions` | Terminal | Der Berechtigungsmodus, in dem eine neue Sitzung gestartet würde. Um [Berechtigungen zu umgehen](/docs/de/permission-modes#skip-all-checks-with-bypasspermissions-mode), aktivieren Sie es beim Start mit einem seiner Start-Flags oder `permissions.defaultMode: "bypassPermissions"` in [Benutzer-, `--settings`- oder verwalteten Einstellungen](/docs/de/settings-reference#permissions-defaultmode) |93| `bypassPermissions` | Terminal | Der Berechtigungsmodus, in dem eine neue Sitzung gestartet würde. Um [Berechtigungen zu umgehen](/docs/de/permission-modes#skip-all-checks-with-bypasspermissions-mode), aktivieren Sie es beim Start mit einem seiner Start-Flags oder `permissions.defaultMode: "bypassPermissions"` in [Benutzer-, `--settings`- oder verwalteten Einstellungen](/docs/de/settings-reference#permissions-defaultmode) |

94| `plan` | Terminal | Der Berechtigungsmodus, in dem eine neue Sitzung gestartet würde |94| `plan` | Terminal | Plan-Modus. Mit `--fork-session` der Berechtigungsmodus, in dem eine neue Sitzung gestartet würde |

95| `auto` | Terminal | `auto`, nur wenn Ihr Konto immer noch die [Auto Mode Anforderungen](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) erfüllt |95| `auto` | Terminal | `auto`, nur wenn Ihr Konto immer noch die [Auto Mode Anforderungen](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) erfüllt |

96| Manual | Terminal | Manual, wenn eine neue Sitzung im Auto Mode von der [integrierten Standardeinstellung](/docs/de/permission-modes#which-mode-a-session-starts-in) gestartet würde. Wenn ein `defaultMode` aus einer Einstellungsdatei [wirksam wird](/docs/de/permission-modes#which-mode-a-session-starts-in), startet Claude Code die fortgesetzte Sitzung stattdessen in diesem Modus |96| Manual | Terminal | Manual, wenn eine neue Sitzung im Auto Mode von der [integrierten Standardeinstellung](/docs/de/permission-modes#which-mode-a-session-starts-in) gestartet würde. Wenn ein `defaultMode` aus einer Einstellungsdatei [wirksam wird](/docs/de/permission-modes#which-mode-a-session-starts-in), startet Claude Code die fortgesetzte Sitzung stattdessen in diesem Modus |

97| `plan` | Nicht-interaktiv, unter den [Bedingungen unten](#resume-in-plan-mode-with-p) | Plan Mode |97| `plan` | Nicht-interaktiv, unter den [Bedingungen unten](#resume-in-plan-mode-with-p) | Plan Mode |

setup.md +7 −5

Details

49 curl -fsSL https://claude.ai/install.sh | bash49 curl -fsSL https://claude.ai/install.sh | bash

50 ```50 ```

51 51 

52 Unter Windows zeigt Ihre Eingabeaufforderung `PS C:\`, wenn Sie sich in PowerShell befinden, und `C:\` ohne `PS`, wenn Sie sich in CMD befinden.

53 

52 **Windows PowerShell:**54 **Windows PowerShell:**

53 55 

54 ```powershell theme={null}56 ```powershell theme={null}


63 65 

64 Wenn das Installationsprogramm fertig ist, öffnen Sie ein neues Terminal-Fenster und führen Sie `claude --version` aus. Eine funktionierende Installation gibt eine Versionsnummer aus. Wenn Ihre Shell sagt, dass `claude` nicht gefunden wird oder nicht erkannt wird, ist das Installationsverzeichnis noch nicht in Ihrem PATH: siehe [Beheben Sie Ihren PATH](/docs/de/troubleshoot-install#command-not-found-claude-after-installation).66 Wenn das Installationsprogramm fertig ist, öffnen Sie ein neues Terminal-Fenster und führen Sie `claude --version` aus. Eine funktionierende Installation gibt eine Versionsnummer aus. Wenn Ihre Shell sagt, dass `claude` nicht gefunden wird oder nicht erkannt wird, ist das Installationsverzeichnis noch nicht in Ihrem PATH: siehe [Beheben Sie Ihren PATH](/docs/de/troubleshoot-install#command-not-found-claude-after-installation).

65 67 

66 Wenn Sie `The token '&&' is not a valid statement separator` sehen, befinden Sie sich in PowerShell, nicht in CMD. Wenn Sie `'irm' is not recognized as an internal or external command` sehen, befinden Sie sich in CMD, nicht in PowerShell. Ihre Eingabeaufforderung zeigt `PS C:\`, wenn Sie sich in PowerShell befinden, und `C:\` ohne `PS`, wenn Sie sich in CMD befinden.68 Wenn Sie `The token '&&' is not a valid statement separator` sehen, befinden Sie sich in PowerShell, nicht in CMD. Wenn Sie `'irm' is not recognized as an internal or external command` sehen, befinden Sie sich in CMD, nicht in PowerShell.

67 69 

68 Wenn der Installationsbefehl mit `syntax error near unexpected token '<'`, einem `403` oder einem anderen curl-Fehler fehlschlägt, siehe [Installationsfehler beheben](/docs/de/troubleshoot-install#find-your-error), um den Fehler einer Lösung zuzuordnen und alternative Installationsmethoden zu finden.70 Wenn der Installationsbefehl mit `syntax error near unexpected token '<'`, einem `403` oder einem anderen Fehler fehlschlägt, siehe [Installationsfehler beheben](/docs/de/troubleshoot-install#find-your-error), um den Fehler einer Lösung zuzuordnen und alternative Installationsmethoden zu finden.

69 71 

70 [Git für Windows](https://git-scm.com/downloads/win) wird auf nativem Windows empfohlen, damit Claude Code das Bash-Tool verwenden kann. Wenn Git für Windows nicht installiert ist, verwendet Claude Code stattdessen PowerShell als Shell-Tool. WSL-Setups benötigen Git für Windows nicht.72 [Git für Windows](https://git-scm.com/downloads/win) wird auf nativem Windows empfohlen, damit Claude Code das Bash-Tool verwenden kann. Wenn Git für Windows nicht installiert ist, verwendet Claude Code stattdessen PowerShell als Shell-Tool. WSL-Setups benötigen Git für Windows nicht.

71 73 


204 206 

205Claude Code erfordert ein Pro-, Max-, Team-, Enterprise- oder Console-Konto. Der kostenlose Claude.ai-Plan beinhaltet keinen Claude Code-Zugriff. Sie können Claude Code auch mit einem Drittanbieter-API-Provider wie [Amazon Bedrock](/docs/de/amazon-bedrock), [Google Cloud's Agent Platform](/docs/de/google-vertex-ai) oder [Microsoft Foundry](/docs/de/microsoft-foundry) verwenden.207Claude Code erfordert ein Pro-, Max-, Team-, Enterprise- oder Console-Konto. Der kostenlose Claude.ai-Plan beinhaltet keinen Claude Code-Zugriff. Sie können Claude Code auch mit einem Drittanbieter-API-Provider wie [Amazon Bedrock](/docs/de/amazon-bedrock), [Google Cloud's Agent Platform](/docs/de/google-vertex-ai) oder [Microsoft Foundry](/docs/de/microsoft-foundry) verwenden.

206 208 

207Nach der Installation melden Sie sich an, indem Sie `claude` ausführen und den Browser-Aufforderungen folgen. Wenn die Umgebungsvariable `ANTHROPIC_API_KEY` gesetzt ist, fordert Claude Code Sie einmalig auf, den Schlüssel zu genehmigen, anstatt einen Browser zu öffnen. Siehe [Authentifizierung](/docs/de/authentication) für alle Kontotypen und Team-Setup-Optionen.209Nach der Installation melden Sie sich an, indem Sie `claude` ausführen und den Anweisungen im Browser folgen. Wenn Sie die Umgebungsvariable `ANTHROPIC_API_KEY` gesetzt haben und den Schlüssel genehmigen, wenn Claude Code fragt, ob er verwendet werden soll, überspringt Claude Code die Anmeldeabfrage. Siehe [Authentifizierung](/docs/de/authentication) für alle Kontotypen und Team-Setup-Optionen.

208 210 

209<h2 id="update-claude-code">211<h2 id="update-claude-code">

210 Claude Code aktualisieren212 Claude Code aktualisieren


622 624 

623Zusätzlich zum signierten Manifest tragen einzelne Binärdateien plattformspezifische Code-Signaturen, wo unterstützt.625Zusätzlich zum signierten Manifest tragen einzelne Binärdateien plattformspezifische Code-Signaturen, wo unterstützt.

624 626 

625* **macOS**: signiert von „Anthropic PBC" und beglaubigt von Apple. Überprüfen Sie mit `codesign --verify --verbose ./claude`.627* **macOS**: signiert von „Anthropic PBC“ und beglaubigt von Apple. Überprüfen Sie mit `codesign --verify --verbose ./claude`.

626* **Windows**: signiert von „Anthropic, PBC". Überprüfen Sie mit `Get-AuthenticodeSignature .\claude.exe`.628* **Windows**: signiert von „Anthropic, PBC“. Überprüfen Sie mit `Get-AuthenticodeSignature .\claude.exe`.

627* **Linux**: Binärdateien sind nicht einzeln code-signiert. Wenn Sie direkt aus dem `claude-code-releases`-Bucket herunterladen oder das native Installationsprogramm verwenden, überprüfen Sie die Integrität mit der Manifest-Signatur oben. Wenn Sie mit [apt, dnf oder apk](#install-with-linux-package-managers) installieren, überprüft Ihr Paketmanager Signaturen automatisch mit dem Repository-Signaturschlüssel.629* **Linux**: Binärdateien sind nicht einzeln code-signiert. Wenn Sie direkt aus dem `claude-code-releases`-Bucket herunterladen oder das native Installationsprogramm verwenden, überprüfen Sie die Integrität mit der Manifest-Signatur oben. Wenn Sie mit [apt, dnf oder apk](#install-with-linux-package-managers) installieren, überprüft Ihr Paketmanager Signaturen automatisch mit dem Repository-Signaturschlüssel.

628 630 

629<h2 id="uninstall-claude-code">631<h2 id="uninstall-claude-code">

sub-agents.md +3 −3

Details

310 310 

311| Feld | Erforderlich | Beschreibung |311| Feld | Erforderlich | Beschreibung |

312| :- | :- | :- |312| :- | :- | :- |

313| `name` | Ja | Eindeutige Kennung, wie `code-reviewer` oder `reviewer-v2`. [Hooks](/docs/de/hooks#subagentstart) erhalten diesen Wert als `agent_type`. Der Dateiname muss nicht übereinstimmen. Namen können kein `:` enthalten, das für [Plugin-Umfang-Identifier](/docs/de/plugins/overview) wie `my-plugin:reviewer` reserviert ist. Claude Code lädt eine Datei, deren Name eins enthält, nicht und protokolliert einen Fehler im Debug-Protokoll. Vor v2.1.218 wurden solche Namen akzeptiert |313| `name` | Ja | Eindeutige Kennung mit höchstens 256 Zeichen, wie `code-reviewer` oder `reviewer-v2`. [Hooks](/docs/de/hooks#subagentstart) erhalten diesen Wert als `agent_type`. Der Dateiname muss nicht übereinstimmen. Namen können kein `:` enthalten, das für [Plugin-Umfang-Identifier](/docs/de/plugins/overview) wie `my-plugin:reviewer` reserviert ist |

314| `description` | Ja | Wann Claude an diesen Subagenten delegieren sollte |314| `description` | Ja | Wann Claude an diesen Subagenten delegieren sollte |

315| `tools` | Nein | [Werkzeuge](#available-tools), die der Subagent verwenden kann, als kommagetrennte Zeichenkette wie `Read, Grep, Bash` oder eine YAML-Liste. Erbt jedes Werkzeug, das für Subagenten verfügbar ist, wenn weggelassen. Wenn kein Eintrag in der Liste sich zu einem Werkzeug auflöst, schlägt der Subagent normalerweise [fehl zu starten](/docs/de/errors#agent-would-be-spawned-with-zero-tools) mit einem Fehler, der die Einträge benennt. Um Skills in den Kontext zu laden, verwenden Sie das `skills`-Feld statt `Skill` hier aufzulisten |315| `tools` | Nein | [Werkzeuge](#available-tools), die der Subagent verwenden kann, als kommagetrennte Zeichenkette wie `Read, Grep, Bash` oder eine YAML-Liste. Erbt jedes Werkzeug, das für Subagenten verfügbar ist, wenn weggelassen. Wenn kein Eintrag in der Liste sich zu einem Werkzeug auflöst, schlägt der Subagent normalerweise [fehl zu starten](/docs/de/errors#agent-would-be-spawned-with-zero-tools) mit einem Fehler, der die Einträge benennt. Um Skills in den Kontext zu laden, verwenden Sie das `skills`-Feld statt `Skill` hier aufzulisten |

316| `disallowedTools` | Nein | Werkzeuge zum Verweigern, entfernt aus geerbter oder angegebener Liste. Gleiches Format wie `tools`. Ein Eintrag mit einem Spezifizierer, wie `Bash(git push *)`, entfernt immer noch das [ganze Werkzeug](#available-tools) |316| `disallowedTools` | Nein | Werkzeuge zum Verweigern, entfernt aus geerbter oder angegebener Liste. Gleiches Format wie `tools`. Ein Eintrag mit einem Spezifizierer, wie `Bash(git push *)`, entfernt immer noch das [ganze Werkzeug](#available-tools) |


348 348 

349* **Kein `name`**: Claude Code behandelt die Datei als Dokumentation, die neben Ihren Agenten aufbewahrt wird.349* **Kein `name`**: Claude Code behandelt die Datei als Dokumentation, die neben Ihren Agenten aufbewahrt wird.

350* **Ein öffnendes `---`, das nicht die erste Zeile der Datei ist**: Claude Code liest die Datei als ohne Frontmatter und behandelt sie als Dokumentation.350* **Ein öffnendes `---`, das nicht die erste Zeile der Datei ist**: Claude Code liest die Datei als ohne Frontmatter und behandelt sie als Dokumentation.

351* **Ein `name`, der mit `-` beginnt oder `:` enthält**: Claude Code überspringt die Datei und schreibt einen Fehler in das Debug-Protokoll. Siehe die `name`-Zeile in der Tabelle oben.351* **Ein `name`, der mit `-` beginnt, `:` enthält oder länger als 256 Zeichen ist**: Claude Code überspringt die Datei und schreibt einen Fehler in das Debug-Log.

352* **Ein `name`, aber keine `description`**: Claude Code überspringt die Datei und schreibt den Grund in das Debug-Protokoll.352* **Ein `name`, aber keine `description`**: Claude Code überspringt die Datei und schreibt den Grund in das Debug-Protokoll.

353* **YAML, das nicht analysiert wird**: Claude Code liest keine Felder aus der Datei, überspringt sie und schreibt den Parse-Fehler in das Debug-Protokoll.353* **YAML, das nicht analysiert wird**: Claude Code liest keine Felder aus der Datei, überspringt sie und schreibt den Parse-Fehler in das Debug-Protokoll.

354 354 


1279| Berechtigungen | Aufforderungen erscheinen in Ihrem Terminal | [Aufforderungen erscheinen in Ihrer Hauptsitzung](#run-subagents-in-foreground-or-background) bei Ausführung im Hintergrund |1279| Berechtigungen | Aufforderungen erscheinen in Ihrem Terminal | [Aufforderungen erscheinen in Ihrer Hauptsitzung](#run-subagents-in-foreground-or-background) bei Ausführung im Hintergrund |

1280| Prompt-Cache | Mit Hauptsitzung geteilt | Separater Cache |1280| Prompt-Cache | Mit Hauptsitzung geteilt | Separater Cache |

1281 1281 

1282Da der Systemprompt und die Werkzeugdefinitionen eines Forks identisch mit dem übergeordneten Element sind, wird seine erste Anfrage den [Prompt-Cache](/docs/de/prompt-caching#subagents-and-the-cache) des übergeordneten Elements wiederverwenden. Dies macht das Forking billiger als das Spawnen eines frischen Subagenten für Aufgaben, die denselben Kontext benötigen.1282Da der System-Prompt und die Tool-Definitionen eines Forks identisch mit denen des übergeordneten Elements sind, verwendet seine erste Anfrage den [Prompt-Cache](/docs/de/prompt-caching#subagents-and-the-cache) des übergeordneten Elements wieder. Aufgrund dieser Wiederverwendung kostet ein Fork bei Aufgaben, die denselben Kontext benötigen, weniger als ein frischer Subagent.

1283 1283 

1284Wenn Claude einen Fork durch das Agent-Werkzeug spawnt, kann es `isolation: "worktree"` übergeben, sodass die Dateibearbeitungen des Forks in einen separaten Git-Worktree geschrieben werden, anstatt in Ihren Checkout. Ein Fork kann keine weiteren Forks spawnen.1284Wenn Claude einen Fork durch das Agent-Werkzeug spawnt, kann es `isolation: "worktree"` übergeben, sodass die Dateibearbeitungen des Forks in einen separaten Git-Worktree geschrieben werden, anstatt in Ihren Checkout. Ein Fork kann keine weiteren Forks spawnen.

1285 1285 

vs-code.md +1 −1

Details

606| `environmentVariables` | `[]` | Legen Sie Umgebungsvariablen für den Claude-Prozess fest. Verwenden Sie stattdessen Claude Code-Einstellungen für gemeinsame Konfiguration. Ein Eintrag für [`CLAUDE_CONFIG_DIR`](/docs/de/env-vars) gilt nur, wenn sein Wert ein absoluter Pfad ist; die Erweiterung erweitert `~` nicht und ignoriert einen relativen Wert. |606| `environmentVariables` | `[]` | Legen Sie Umgebungsvariablen für den Claude-Prozess fest. Verwenden Sie stattdessen Claude Code-Einstellungen für gemeinsame Konfiguration. Ein Eintrag für [`CLAUDE_CONFIG_DIR`](/docs/de/env-vars) gilt nur, wenn sein Wert ein absoluter Pfad ist; die Erweiterung erweitert `~` nicht und ignoriert einen relativen Wert. |

607| `disableLoginPrompt` | `false` | Überspringen Sie Authentifizierungsaufforderungen (für Setups von Drittanbieter-Providern) |607| `disableLoginPrompt` | `false` | Überspringen Sie Authentifizierungsaufforderungen (für Setups von Drittanbieter-Providern) |

608| `allowDangerouslySkipPermissions` | `false` | Fügt dem Moduswahlschalter die Option „Berechtigungen umgehen“ hinzu. Verwenden Sie dies nur in Sandboxes ohne Internetzugang. |608| `allowDangerouslySkipPermissions` | `false` | Fügt dem Moduswahlschalter die Option „Berechtigungen umgehen“ hinzu. Verwenden Sie dies nur in Sandboxes ohne Internetzugang. |

609| `claudeProcessWrapper` | - | Ausführbare Datei zum Starten des Claude-Prozesses. Der Pfad der gebündelten Binärdatei wird als Argument übergeben, wenn vorhanden. Legen Sie dies auf eine separat installierte `claude`-Binärdatei fest, wenn der Erweiterungsbuild keine für Ihre Plattform enthält. In einem umschlossenen Setup beginnen Gespräche im Manusmodus, es sei denn, Sie legen `initialPermissionMode` fest oder haben in einem früheren Gespräch „Manuell“, „Automatisch bearbeiten“ oder „Automatisch“ ausgewählt, da die Erweiterung die Einstellungen und integrierten Standardschritte dort überspringt; siehe [Berechtigungsmodi wechseln](/docs/de/permission-modes#switch-permission-modes). Ein Fehler „Unsupported platform“ bei der Aktivierung bedeutet, dass keine Binärdatei für Ihre Plattform gebündelt ist; siehe [welche Plattformen vorkompilierte Binärdateien haben](/docs/de/troubleshoot-install#native-binary-not-found-after-npm-install). |609| `claudeProcessWrapper` | - | Ausführbare Datei zum Starten des Claude-Prozesses. Der Pfad der gebündelten Binärdatei wird als Argument übergeben, wenn vorhanden. Legen Sie dies auf eine separat installierte `claude`-Binärdatei fest, wenn der Erweiterungsbuild keine für Ihre Plattform enthält. |

610 610 

611<h2 id="use-a-screen-reader">611<h2 id="use-a-screen-reader">

612 Verwenden Sie einen Bildschirmleser612 Verwenden Sie einen Bildschirmleser

worktrees.md +7 −5

Details

6 6 

7> Isolieren Sie parallele Claude Code-Sitzungen in separaten Git-Worktrees, damit Änderungen nicht kollidieren. Behandelt das Flag `--worktree`, Subagent-Isolation, `.worktreeinclude`, Bereinigung und Non-Git-VCS-Hooks.7> Isolieren Sie parallele Claude Code-Sitzungen in separaten Git-Worktrees, damit Änderungen nicht kollidieren. Behandelt das Flag `--worktree`, Subagent-Isolation, `.worktreeinclude`, Bereinigung und Non-Git-VCS-Hooks.

8 8 

9Ein [Git-Worktree](https://git-scm.com/docs/git-worktree) ist ein separates Arbeitsverzeichnis mit eigenen Dateien und Branch, das die gleiche Repository-Historie und Remote wie Ihr Haupt-Checkout teilt. Das Ausführen jeder Claude Code-Sitzung in ihrem eigenen Worktree bedeutet, dass Änderungen in einer Sitzung niemals Dateien in einer anderen berühren, sodass eine Sitzung ein Feature entwickeln kann, während eine zweite einen Bug behebt.9Ein [Git-Worktree](https://git-scm.com/docs/git-worktree) ist ein separates Arbeitsverzeichnis mit eigenen Dateien und Branch, das die gleiche Repository-Historie und Remote wie Ihr Haupt-Checkout teilt. Wenn Sie jede Claude Code-Sitzung in ihrem eigenen Worktree ausführen, erhält sie eine separate Kopie der Dateien zum Bearbeiten, sodass eine Sitzung ein Feature entwickeln kann, während eine zweite einen Bug behebt.

10 10 

11<Note>11<Note>

12 Worktrees erfordern ein Git-Repository; für andere Versionskontrollsysteme [konfigurieren Sie Hooks, um die Git-Logik zu ersetzen](#non-git-version-control). In der [Desktop-App](/docs/de/desktop#work-in-parallel-with-sessions) wählen Sie die Option **worktree** aus, wenn Sie eine Sitzung starten, um ihr ihren eigenen Worktree zu geben.12 Worktrees erfordern ein Git-Repository; für andere Versionskontrollsysteme [konfigurieren Sie Hooks, um die Git-Logik zu ersetzen](#non-git-version-control). In der [Desktop-App](/docs/de/desktop#work-in-parallel-with-sessions) wählen Sie die Option **worktree** aus, wenn Sie eine Sitzung starten, um ihr ihren eigenen Worktree zu geben.


44 Bitten Sie Claude, einen Worktree zu erstellen44 Bitten Sie Claude, einen Worktree zu erstellen

45</h3>45</h3>

46 46 

47Sie können Claude auch während einer Sitzung bitten, „in einem Worktree zu arbeiten", und es erstellt einen mit dem [`EnterWorktree`](/docs/de/tools-reference)-Tool. Sobald Sie sich in einem Worktree befinden, kann Claude direkt zu einem anderen unter `.claude/worktrees/` wechseln, indem er `EnterWorktree` mit dem Zielpfad aufruft; der vorherige Worktree bleibt unverändert auf der Festplatte.47Sie können Claude auch während einer Sitzung bitten, „in einem Worktree zu arbeiten“, und es erstellt einen mit dem [`EnterWorktree`](/docs/de/tools-reference)-Tool. Sobald Sie sich in einem Worktree befinden, kann Claude direkt zu einem anderen unter `.claude/worktrees/` wechseln, indem er `EnterWorktree` mit dem Zielpfad aufruft; der vorherige Worktree bleibt unverändert auf der Festplatte.

48 48 

49Wenn Claude einen Pfad außerhalb des Verzeichnisses `.claude/worktrees/` des Repositories betritt, fragt Claude Code zunächst nach Ihrer Genehmigung, da der Wechsel das Arbeitsverzeichnis der Sitzung, den Schreibzugriff und die Projektkonfiguration wie `CLAUDE.md` und Einstellungen an diesen Ort verschiebt. Eine `EnterWorktree`-[Berechtigung](/docs/de/permissions) oder die Wahl von „nicht mehr fragen" unterdrückt diese Aufforderung nicht; nur der `bypassPermissions`-Modus überspringt sie. Vor v2.1.206 konnte Claude jeden vorhandenen Worktree-Pfad ohne Nachfrage betreten.49Wenn Claude einen Pfad außerhalb des Verzeichnisses `.claude/worktrees/` des Repositories betritt, fragt Claude Code zunächst nach Ihrer Genehmigung, da der Wechsel das Arbeitsverzeichnis der Sitzung, den Schreibzugriff und die Projektkonfiguration wie `CLAUDE.md` und Einstellungen an diesen Ort verschiebt. Eine `EnterWorktree`-[Berechtigung](/docs/de/permissions) oder die Wahl von „nicht mehr fragen“ unterdrückt diese Aufforderung nicht; nur der `bypassPermissions`-Modus überspringt sie. Vor v2.1.206 konnte Claude jeden vorhandenen Worktree-Pfad ohne Nachfrage betreten.

50 50 

51<Note>51<Note>

52 **Hook-Pfade folgen dem Worktree nicht.** Nachdem Claude einen Worktree betritt, behält Claude Code `${CLAUDE_PROJECT_DIR}` in Ihren [Hooks](/docs/de/hooks#reference-scripts-by-path) dort, wo er war, und übergibt den Worktree-Pfad auf andere Weise:52 **Hook-Pfade folgen dem Worktree nicht.** Nachdem Claude einen Worktree betritt, behält Claude Code `${CLAUDE_PROJECT_DIR}` in Ihren [Hooks](/docs/de/hooks#reference-scripts-by-path) dort, wo er war, und übergibt den Worktree-Pfad auf andere Weise:


104* **Git-Umleitungen**: Claude Code blockiert einen Bash- oder Monitor-Befehl, der Git in den Haupt-Checkout umleitet. Die Umleitung kann durch `git -C`, `--git-dir`, eine `GIT_DIR`- oder `GIT_WORK_TREE`-Variable oder ein `cd` in den Haupt-Checkout vor dem Ausführen von Git erfolgen.104* **Git-Umleitungen**: Claude Code blockiert einen Bash- oder Monitor-Befehl, der Git in den Haupt-Checkout umleitet. Die Umleitung kann durch `git -C`, `--git-dir`, eine `GIT_DIR`- oder `GIT_WORK_TREE`-Variable oder ein `cd` in den Haupt-Checkout vor dem Ausführen von Git erfolgen.

105* **Befehlsform**: Claude Code blockiert einen Bash- oder Monitor-Befehl, wenn es nicht überprüfen kann, dass jedes Git, das der Befehl ausführt, im Worktree bleibt. Das geschieht beispielsweise, wenn der Befehlsname zur Laufzeit berechnet wird, wenn die Syntax nicht analysiert werden kann, oder wenn eine Erweiterung wie `${!name}` oder `${ command; }` einen Befehl ausführen könnte, den der Text nicht ausdrücklich angibt. Claude Code teilt Claude mit, wie der abgelehnte Befehl umgeschrieben werden kann, z. B. durch Aufteilen in einfache, separate Befehle. Sie können diese Prüfung nicht ausschalten.105* **Befehlsform**: Claude Code blockiert einen Bash- oder Monitor-Befehl, wenn es nicht überprüfen kann, dass jedes Git, das der Befehl ausführt, im Worktree bleibt. Das geschieht beispielsweise, wenn der Befehlsname zur Laufzeit berechnet wird, wenn die Syntax nicht analysiert werden kann, oder wenn eine Erweiterung wie `${!name}` oder `${ command; }` einen Befehl ausführen könnte, den der Text nicht ausdrücklich angibt. Claude Code teilt Claude mit, wie der abgelehnte Befehl umgeschrieben werden kann, z. B. durch Aufteilen in einfache, separate Befehle. Sie können diese Prüfung nicht ausschalten.

106 106 

107Diese Prüfungen lesen den Pfad, auf den eine Änderung abzielt, das Verzeichnis, in dem ein Befehl ausgeführt wird, und den Text des Befehls. Keine von ihnen verfolgt, welche Dateien ein Shell-Befehl schreibt. Ein Befehl, der in den Haupt-Checkout schreibt, ohne dort Git auszuführen, wie `cp` oder eine Shell-Umleitung, wird daher von ihnen nicht abgelehnt. Claude Code behandelt diesen Befehl wie jeden anderen Shell-Befehl, sodass es von Ihrem [Berechtigungsmodus](/docs/de/permission-modes) und Ihren Regeln abhängt, ob er ausgeführt wird oder bei Ihnen nachgefragt wird.

108 

107Die Prüfungen gelten für das Repository, von dem aus Sie Claude Code gestartet haben. Sie decken auch den Haupt-Checkout ab, von dem ein verknüpfter Worktree verknüpft ist. Für PowerShell-Befehle wendet Claude Code nur die Arbeitsverzeichnis-Prüfung an.109Die Prüfungen gelten für das Repository, von dem aus Sie Claude Code gestartet haben. Sie decken auch den Haupt-Checkout ab, von dem ein verknüpfter Worktree verknüpft ist. Für PowerShell-Befehle wendet Claude Code nur die Arbeitsverzeichnis-Prüfung an.

108 110 

109Claude sieht jede Ablehnung als einen Tool-Fehler, der den Worktree benennt und sagt, wie man fortfährt. Für einen abgelehnten Befehl siehe [was die Ablehnungsmeldung bedeutet und wie man sie löscht](/docs/de/errors#command-blocked-by-the-worktree-isolation-checks).111Claude sieht jede Ablehnung als einen Tool-Fehler, der den Worktree benennt und sagt, wie man fortfährt. Für einen abgelehnten Befehl siehe [was die Ablehnungsmeldung bedeutet und wie man sie löscht](/docs/de/errors#command-blocked-by-the-worktree-isolation-checks).


112 Isolieren Sie Subagents mit Worktrees114 Isolieren Sie Subagents mit Worktrees

113</h2>115</h2>

114 116 

115Subagents können in ihren eigenen Worktrees laufen, sodass parallele Änderungen nicht kollidieren. Bitten Sie Claude, „Worktrees für Ihre Agenten zu verwenden", oder machen Sie die Isolation dauerhaft für einen [benutzerdefinierten Subagent](/docs/de/sub-agents#supported-frontmatter-fields), indem Sie `isolation: worktree` zu seinem Frontmatter hinzufügen.117Subagents können in ihren eigenen Worktrees laufen, sodass parallele Änderungen nicht kollidieren. Bitten Sie Claude, „Worktrees für Ihre Agenten zu verwenden“, oder machen Sie die Isolation dauerhaft für einen [benutzerdefinierten Subagent](/docs/de/sub-agents#supported-frontmatter-fields), indem Sie `isolation: worktree` zu seinem Frontmatter hinzufügen.

116 118 

117Dieser Subagent in `.claude/agents/` läuft immer in seinem eigenen Worktree:119Dieser Subagent in `.claude/agents/` läuft immer in seinem eigenen Worktree:

118 120 


261 263 

262* **Das `.git`-Verzeichnis des Repositories**: Git-Befehle in einem Worktree schreiben in das gemeinsame `.git`-Verzeichnis des Haupt-Repositories, und [Sandboxing](/docs/de/sandboxing#filesystem-isolation) erlaubt diese Schreibvorgänge, sodass Befehle wie `git commit` von innen in einem Worktree mit aktivierter Sandbox funktionieren.264* **Das `.git`-Verzeichnis des Repositories**: Git-Befehle in einem Worktree schreiben in das gemeinsame `.git`-Verzeichnis des Haupt-Repositories, und [Sandboxing](/docs/de/sandboxing#filesystem-isolation) erlaubt diese Schreibvorgänge, sodass Befehle wie `git commit` von innen in einem Worktree mit aktivierter Sandbox funktionieren.

263* **Plugins**: Plugins, die im [Projekt-Bereich](/docs/de/plugins/loading#find-where-a-plugin-is-enabled) aus dem Haupt-Checkout installiert sind, werden auch in Worktrees desselben Repositories geladen, sodass Sie sie nicht pro Worktree neu installieren müssen. Erfordert Claude Code v2.1.200 oder später.265* **Plugins**: Plugins, die im [Projekt-Bereich](/docs/de/plugins/loading#find-where-a-plugin-is-enabled) aus dem Haupt-Checkout installiert sind, werden auch in Worktrees desselben Repositories geladen, sodass Sie sie nicht pro Worktree neu installieren müssen. Erfordert Claude Code v2.1.200 oder später.

264* **Genehmigungen**: Das Wählen von „Ja, und nicht mehr fragen" für einen Bash-Befehl in einer Worktree-Sitzung speichert die Regel in der `.claude/settings.local.json` des Haupt-Checkouts, sodass sie im Haupt-Checkout und in jedem anderen Worktree des Repositories gilt und das Entfernen des Worktrees überlebt. Unter Windows und in den anderen Fällen, in denen Claude Code [das Repository-Root nicht verwendet](/docs/de/settings#where-claude-code-looks-for-each-file), bleibt die Regel bei diesem Worktree. Vor v2.1.211 wurde eine Genehmigung, die in einem Worktree gewährt wurde, in diesem Worktree gespeichert, galt nicht anderswo und ging verloren, wenn der Worktree entfernt wurde. Siehe [wo Genehmigungen gespeichert werden](/docs/de/permissions#permission-system).266* **Genehmigungen**: Das Wählen von „Ja, und nicht mehr fragen“ für einen Bash-Befehl in einer Worktree-Sitzung speichert die Regel in der `.claude/settings.local.json` des Haupt-Checkouts, sodass sie im Haupt-Checkout und in jedem anderen Worktree des Repositories gilt und das Entfernen des Worktrees überlebt. Unter Windows und in den anderen Fällen, in denen Claude Code [das Repository-Root nicht verwendet](/docs/de/settings#where-claude-code-looks-for-each-file), bleibt die Regel bei diesem Worktree. Vor v2.1.211 wurde eine Genehmigung, die in einem Worktree gewährt wurde, in diesem Worktree gespeichert, galt nicht anderswo und ging verloren, wenn der Worktree entfernt wurde. Siehe [wo Genehmigungen gespeichert werden](/docs/de/permissions#permission-system).

265* **Nicht nachverfölgte Skills, Agents und Befehle**: Wenn der Worktree-Checkout kein `.claude/skills`-Verzeichnis in seinem Root hat, zum Beispiel weil Ihr `.claude/skills` gitignoriert ist, lädt Claude Code die [Projekt-Skills](/docs/de/skills#where-skills-live) des Haupt-Checkouts in der Worktree-Sitzung. In einem Worktree mit seinem eigenen `.claude/skills`-Verzeichnis wird nur diese Kopie geladen.267* **Nicht nachverfölgte Skills, Agents und Befehle**: Wenn der Worktree-Checkout kein `.claude/skills`-Verzeichnis in seinem Root hat, zum Beispiel weil Ihr `.claude/skills` gitignoriert ist, lädt Claude Code die [Projekt-Skills](/docs/de/skills#where-skills-live) des Haupt-Checkouts in der Worktree-Sitzung. In einem Worktree mit seinem eigenen `.claude/skills`-Verzeichnis wird nur diese Kopie geladen.

266 268 

267 Dieselbe Durchlesung gilt für `.claude/agents` und `.claude/commands`. Für Skills erfordert die Durchlesung Claude Code v2.1.277 oder später.269 Dieselbe Durchlesung gilt für `.claude/agents` und `.claude/commands`. Für Skills erfordert die Durchlesung Claude Code v2.1.277 oder später.