SpyBara
Go Premium

Documentation 2026-06-29 23:02 UTC to 2026-06-30 23:02 UTC

77 files changed +3,012 −557. View all changes and history on the product overview
2026
Tue 30 23:02 Mon 29 23:02 Sat 27 01:01 Fri 26 23:00 Thu 25 23:58 Wed 24 22:02 Tue 23 22:00 Mon 22 23:59 Fri 19 22:58 Thu 18 22:00 Wed 17 17:02 Tue 16 21:57 Mon 15 23:02 Sat 13 21:59 Fri 12 22:00 Thu 11 23:01 Wed 10 23:57 Tue 9 06:34 Mon 8 06:52 Sat 6 06:24 Fri 5 06:45 Thu 4 06:52 Wed 3 06:53 Tue 2 06:51

admin-setup.md +14 −12

Details

36| Google Vertex AI | Sie möchten vorhandene GCP-Compliance-Kontrollen und Abrechnung erben |36| Google Vertex AI | Sie möchten vorhandene GCP-Compliance-Kontrollen und Abrechnung erben |

37| Microsoft Foundry | Sie möchten vorhandene Azure-Compliance-Kontrollen und Abrechnung erben |37| Microsoft Foundry | Sie möchten vorhandene Azure-Compliance-Kontrollen und Abrechnung erben |

38 38 

39Einige Claude Code-Funktionen erfordern ein Claude.ai-Konto. [Claude Code im Web](/de/claude-code-on-the-web), [Routinen](/de/routines), [Code Review](/de/code-review), [Remote Control](/de/remote-control) und die [Chrome-Erweiterung](/de/chrome) sind nicht über Console API-Schlüssel oder Cloud-Provider-Anmeldedaten allein verfügbar. Wenn Sie über Bedrock, Vertex oder Foundry bereitstellen, planen Sie, ob Entwickler auch Claude für Teams oder Enterprise-Sitze benötigen. Jede Funktionsseite listet ihre Plan-Anforderungen auf.39Einige Claude Code-Funktionen erfordern ein claude.ai-Konto. [Claude Code im Web](/de/claude-code-on-the-web), [Routinen](/de/routines), [Code Review](/de/code-review), [Remote Control](/de/remote-control) und die [Chrome-Erweiterung](/de/chrome) sind nicht über Console API-Schlüssel oder Cloud-Provider-Anmeldedaten allein verfügbar. Wenn Sie über Bedrock, Vertex oder Foundry bereitstellen, planen Sie, ob Entwickler auch Claude für Teams oder Enterprise-Sitze benötigen. Jede Funktionsseite listet ihre Plan-Anforderungen auf.

40 40 

41Für den vollständigen Anbietervergleich mit Authentifizierung, Regionen und Funktionsparität siehe [Übersicht zur Enterprise-Bereitstellung](/de/third-party-integrations). Die Auth-Einrichtung für jeden Anbieter finden Sie unter [Authentifizierung](/de/authentication).41Für den vollständigen Anbietervergleich mit Authentifizierung, Regionen und Funktionsparität siehe [Übersicht zur Enterprise-Bereitstellung](/de/third-party-integrations). Die Auth-Einrichtung für jeden Anbieter finden Sie unter [Authentifizierung](/de/authentication).

42 42 


46 Entscheiden Sie, wie Einstellungen Geräte erreichen46 Entscheiden Sie, wie Einstellungen Geräte erreichen

47</h2>47</h2>

48 48 

49Verwaltete Einstellungen definieren Richtlinien, die Vorrang vor lokalen Entwicklerkonfigurationen haben. Claude Code sucht an vier Stellen in der folgenden Prioritätsreihenfolge danach und wendet die erste an, die eine nicht leere Konfiguration zurückgibt.49Verwaltete Einstellungen definieren Richtlinien, die Vorrang vor lokalen Entwicklerkonfigurationen haben. Claude Code sucht an vier Stellen in der folgenden Prioritätsreihenfolge danach und wendet die erste an, die eine nicht leere Konfiguration zurückgibt. Es gibt eine Ausnahme: Ein kleiner Satz von [Sperrtasten über Quellen hinweg](/de/settings#settings-precedence), wie die Sandbox-Allowlist-Sperren, wird berücksichtigt, wenn eine von einem Administrator kontrollierte Quelle diese setzt.

50 50 

51| Mechanismus | Lieferung | Priorität | Plattformen |51| Mechanismus | Lieferung | Priorität | Plattformen |

52| :-------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------- | :------------- |52| :-------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------- | :------------- |

53| Server-verwaltet | Claude.ai-Administratorkonsole | Höchste | Alle |53| Server-verwaltet | claude.ai-Administratorkonsole oder ein selbst gehostetes [Claude-Apps-Gateway](/de/claude-apps-gateway) für Gateway-Anmeldungen | Höchste | Alle |

54| plist / Registry-Richtlinie | macOS: `com.anthropic.claudecode` plist<br />Windows: `HKLM\SOFTWARE\Policies\ClaudeCode` | Hoch | macOS, Windows |54| plist / Registry-Richtlinie | macOS: `com.anthropic.claudecode` plist<br />Windows: `HKLM\SOFTWARE\Policies\ClaudeCode` | Hoch | macOS, Windows |

55| Dateibasiert verwaltet | macOS: `/Library/Application Support/ClaudeCode/managed-settings.json`<br />Linux und WSL: `/etc/claude-code/managed-settings.json`<br />Windows: `C:\Program Files\ClaudeCode\managed-settings.json` | Mittel | Alle |55| Dateibasiert verwaltet | macOS: `/Library/Application Support/ClaudeCode/managed-settings.json`<br />Linux und WSL: `/etc/claude-code/managed-settings.json`<br />Windows: `C:\Program Files\ClaudeCode\managed-settings.json` | Mittel | Alle |

56| Windows-Benutzer-Registry | `HKCU\SOFTWARE\Policies\ClaudeCode` | Niedrigste | Nur Windows |56| Windows-Benutzer-Registry | `HKCU\SOFTWARE\Policies\ClaudeCode` | Niedrigste | Nur Windows |

57 57 

58Server-verwaltete Einstellungen erreichen Geräte zum Authentifizierungszeitpunkt und werden während aktiver Sitzungen stündlich aktualisiert, ohne dass eine Endpunkt-Infrastruktur erforderlich ist. Sie erfordern einen Claude für Teams oder Enterprise-Plan, daher benötigen Bereitstellungen auf anderen Anbietern stattdessen einen der dateibasierten oder Betriebssystem-Mechanismen.58Ein konfigurierter [`policyHelper`](/de/settings#compute-managed-settings-with-a-policy-helper) setzt sich vor alle vier Quellen durch: Seine Ausgabe wird die einzige verwaltete Konfiguration für den Durchlauf. Siehe [Einstellungspriorität](/de/settings#settings-precedence).

59 59 

60Wenn Ihre Organisation mehrere Anbieter mischt, konfigurieren Sie [server-verwaltete Einstellungen](/de/server-managed-settings) für Claude.ai-Benutzer plus ein [dateibasiertes oder plist/Registry-Fallback](/de/settings#settings-files), damit andere Benutzer immer noch verwaltete Richtlinien erhalten.60Server-verwaltete Einstellungen erreichen Geräte zum Authentifizierungszeitpunkt und werden während aktiver Sitzungen stündlich aktualisiert, ohne dass eine Endpunkt-Infrastruktur erforderlich ist. Die Lieferung über die claude.ai-Administratorkonsole erfordert einen Claude for Teams oder Enterprise-Plan. Bereitstellungen auf Bedrock, Vertex AI oder Foundry können die gleiche Remote-Lieferung durch Ausführung eines [Claude-Apps-Gateways](/de/claude-apps-gateway) erhalten oder stattdessen einen der dateibasierten oder Betriebssystem-Mechanismen verwenden.

61 

62Wenn Ihre Organisation mehrere Anbieter mischt, konfigurieren Sie [server-verwaltete Einstellungen](/de/server-managed-settings) für claude.ai-Benutzer plus ein [dateibasiertes oder plist/Registry-Fallback](/de/settings#settings-files), damit andere Benutzer immer noch verwaltete Richtlinien erhalten.

61 63 

62Die plist- und HKLM-Registry-Speicherorte funktionieren mit jedem Anbieter und widerstehen Manipulationen, da sie Administratorrechte zum Schreiben erfordern. Die Windows-Benutzer-Registry unter HKCU ist ohne Erhöhung beschreibbar, daher sollten Sie sie eher als praktischen Standard als als Durchsetzungskanal behandeln.64Die plist- und HKLM-Registry-Speicherorte funktionieren mit jedem Anbieter und widerstehen Manipulationen, da sie Administratorrechte zum Schreiben erfordern. Die Windows-Benutzer-Registry unter HKCU ist ohne Erhöhung beschreibbar, daher sollten Sie sie eher als praktischen Standard als als Durchsetzungskanal behandeln.

63 65 

64Standardmäßig liest WSL nur den Linux-Dateipfad unter `/etc/claude-code`. Um Ihre Windows-Registry und `C:\Program Files\ClaudeCode`-Richtlinie auf WSL auf demselben Computer zu erweitern, setzen Sie [`wslInheritsWindowsSettings: true`](/de/settings#available-settings) in einer dieser nur für Administratoren zugänglichen Windows-Quellen.66Standardmäßig liest WSL nur den Linux-Dateipfad unter `/etc/claude-code`. Um Ihre Windows-Registry und `C:\Program Files\ClaudeCode`-Richtlinie auf WSL auf demselben Computer zu erweitern, setzen Sie [`wslInheritsWindowsSettings: true`](/de/settings#available-settings) in einer dieser nur für Administratoren zugänglichen Windows-Quellen.

65 67 

66Welcher Mechanismus Sie auch wählen, verwaltete Werte haben Vorrang vor Benutzer- und Projekteinstellungen. Array-Einstellungen wie `permissions.allow` und `permissions.deny` führen Einträge aus allen Quellen zusammen, sodass Entwickler verwaltete Listen erweitern, aber nicht daraus entfernen können, mit [zwei Ausnahmen](/de/settings#settings-precedence), bei denen der verwaltete Wert die unteren Ebenen ersetzt, anstatt sie zusammenzuführen: `fallbackModel` und `availableModels`.68Welcher Mechanismus Sie auch wählen, verwaltete Werte haben Vorrang vor Benutzer- und Projekteinstellungen. Array-Einstellungen wie `permissions.allow` und `permissions.deny` führen Einträge aus allen Quellen zusammen, sodass Entwickler verwaltete Listen erweitern, aber nicht daraus entfernen können. Bei [zwei Ausnahmen](/de/settings#settings-precedence), `fallbackModel` und `availableModels`, ersetzt der verwaltete Wert die unteren Ebenen, anstatt sie zusammenzuführen.

67 69 

68Siehe [Server-verwaltete Einstellungen](/de/server-managed-settings) und [Einstellungsdateien und Priorität](/de/settings#settings-files).70Siehe [Server-verwaltete Einstellungen](/de/server-managed-settings) und [Einstellungsdateien und Priorität](/de/settings#settings-files).

69 71 


80| [Sandboxing](/de/sandboxing) | Isolierung auf Betriebssystemebene des Dateisystems und Netzwerks mit Domain-Allowlists | `sandbox.enabled`, `sandbox.network.allowedDomains` |82| [Sandboxing](/de/sandboxing) | Isolierung auf Betriebssystemebene des Dateisystems und Netzwerks mit Domain-Allowlists | `sandbox.enabled`, `sandbox.network.allowedDomains` |

81| [Verwaltete Richtlinie CLAUDE.md](/de/memory#deploy-organization-wide-claude-md) | Organisationsweite Anweisungen, die in jeder Sitzung geladen werden, können nicht ausgeschlossen werden | Datei im verwalteten Richtlinienpfad |83| [Verwaltete Richtlinie CLAUDE.md](/de/memory#deploy-organization-wide-claude-md) | Organisationsweite Anweisungen, die in jeder Sitzung geladen werden, können nicht ausgeschlossen werden | Datei im verwalteten Richtlinienpfad |

82| [MCP-Server-Kontrolle](/de/managed-mcp) | Einschränken, welche MCP-Server Benutzer hinzufügen oder verbinden können, oder einen festen Satz bereitstellen | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly` oder eine bereitgestellte `managed-mcp.json`-Datei |84| [MCP-Server-Kontrolle](/de/managed-mcp) | Einschränken, welche MCP-Server Benutzer hinzufügen oder verbinden können, oder einen festen Satz bereitstellen | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly` oder eine bereitgestellte `managed-mcp.json`-Datei |

83| [Plugin-Marketplace-Kontrolle](/de/plugin-marketplaces#managed-marketplace-restrictions) | Einschränken, von welchen Marketplace-Quellen Benutzer hinzufügen und installieren können | `strictKnownMarketplaces`, `blockedMarketplaces` |85| [Plugin-Marketplace-Kontrolle](/de/plugin-marketplaces#managed-marketplace-restrictions) | Einschränken, von welchen Marketplace-Quellen Benutzer hinzufügen und installieren können, und die CLI-Flags ablehnen, die Plugins, Agents und MCP-Server für einen einzelnen Lauf sideloaden | `strictKnownMarketplaces`, `blockedMarketplaces`, `disableSideloadFlags` |

84| [Anpassungssperre](/de/settings#strictpluginonlycustomization) | Blockieren Sie Skills, Agents, Hooks und MCP-Server aus Benutzer- und Projektquellen, damit sie nur aus Plugins oder verwalteten Einstellungen stammen können | `strictPluginOnlyCustomization` |86| [Anpassungssperre](/de/settings#strictpluginonlycustomization) | Blockieren Sie Skills, Agents, Hooks und MCP-Server aus Benutzer- und Projektquellen, damit sie nur aus Plugins oder verwalteten Einstellungen stammen können | `strictPluginOnlyCustomization` |

85| [Hook-Einschränkungen](/de/settings#hook-configuration) | Nur verwaltete Hooks werden geladen; HTTP-Hook-URLs einschränken | `allowManagedHooksOnly`, `allowedHttpHookUrls` |87| [Hook-Einschränkungen](/de/settings#hook-configuration) | Nur verwaltete Hooks werden geladen; HTTP-Hook-URLs einschränken | `allowManagedHooksOnly`, `allowedHttpHookUrls` |

86| [Agent-Ansicht deaktivieren](/de/agent-view#how-background-sessions-are-hosted) | Schalten Sie `claude agents`, `--bg`, `/background` und den On-Demand-Supervisor aus | `disableAgentView` |88| [Agent-Ansicht deaktivieren](/de/agent-view#how-background-sessions-are-hosted) | Schalten Sie `claude agents`, `--bg`, `/background` und den On-Demand-Supervisor aus | `disableAgentView` |


99Wählen Sie die Überwachung basierend auf dem, was Sie melden müssen.101Wählen Sie die Überwachung basierend auf dem, was Sie melden müssen.

100 102 

101| Fähigkeit | Was Sie erhalten | Verfügbarkeit | Wo Sie anfangen |103| Fähigkeit | Was Sie erhalten | Verfügbarkeit | Wo Sie anfangen |

102| :------------------ | :----------------------------------------------------- | :------------ | :------------------------------------------ |104| :------------------ | :----------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------ |

103| Nutzungsüberwachung | OpenTelemetry-Export von Sitzungen, Tools und Tokens | Alle Anbieter | [Nutzungsüberwachung](/de/monitoring-usage) |105| Nutzungsüberwachung | OpenTelemetry-Export von Sitzungen, Tools und Tokens | Alle Anbieter | [Nutzungsüberwachung](/de/monitoring-usage) |

104| Analytik-Dashboard | Pro-Benutzer-Metriken, Beitragsverfolgung, Leaderboard | Nur Anthropic | [Analytik](/de/analytics) |106| Analytik-Dashboard | Pro-Benutzer-Metriken, Beitragsverfolgung, Leaderboard | Nur Anthropic | [Analytik](/de/analytics) |

105| Kostenverfolgung | Ausgabenlimits, Ratenlimits und Nutzungszuordnung | Nur Anthropic | [Kosten](/de/costs) |107| Kostenverfolgung | Ausgabenlimits, Ratenlimits und Nutzungszuordnung | Anthropic; auf Cloud-Plattformen von Drittanbietern bietet ein [Claude-Apps-Gateway](/de/claude-apps-gateway) Zuordnung pro Benutzer und [Ausgabenlimits](/de/claude-apps-gateway-spend-limits) | [Kosten](/de/costs) |

106 108 

107Cloud-Anbieter stellen Ausgaben über AWS Cost Explorer, GCP Billing oder Azure Cost Management bereit. Claude für Teams und Enterprise-Pläne enthalten ein Nutzungs-Dashboard unter [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code).109Cloud-Anbieter stellen Ausgaben über AWS Cost Explorer, GCP Billing oder Azure Cost Management bereit. Claude für Teams und Enterprise-Pläne enthalten ein Nutzungs-Dashboard unter [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code).

108 110 


113Bei Team-, Enterprise-, Claude API- und Cloud-Provider-Plänen trainiert Anthropic keine Modelle auf Ihrem Code oder Ihren Prompts. Ihr API-Anbieter bestimmt die Aufbewahrung und Compliance-Position.115Bei Team-, Enterprise-, Claude API- und Cloud-Provider-Plänen trainiert Anthropic keine Modelle auf Ihrem Code oder Ihren Prompts. Ihr API-Anbieter bestimmt die Aufbewahrung und Compliance-Position.

114 116 

115| Thema | Was Sie wissen sollten | Wo Sie anfangen |117| Thema | Was Sie wissen sollten | Wo Sie anfangen |

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

117| Datennutzungsrichtlinie | Was Anthropic erfasst, wie lange es aufbewahrt wird, was niemals zum Training verwendet wird | [Datennutzung](/de/data-usage) |119| Datennutzungsrichtlinie | Was Anthropic erfasst, wie lange es aufbewahrt wird, was niemals zum Training verwendet wird | [Datennutzung](/de/data-usage) |

118| Zero Data Retention (ZDR) | Nichts wird nach Abschluss der Anfrage gespeichert. Verfügbar auf Claude für Enterprise | [Zero Data Retention](/de/zero-data-retention) |120| Zero Data Retention (ZDR) | Nichts wird nach Abschluss der Anfrage gespeichert. Verfügbar für qualifizierte Konten auf Claude für Enterprise | [Zero Data Retention](/de/zero-data-retention) |

119| Sicherheitsarchitektur | Netzwerkmodell, Verschlüsselung, Authentifizierung, Audit-Trail | [Sicherheit](/de/security) |121| Sicherheitsarchitektur | Netzwerkmodell, Verschlüsselung, Authentifizierung, Audit-Trail | [Sicherheit](/de/security) |

120 122 

121Wenn Sie Anfrage-Level-Audit-Protokollierung benötigen oder Datenverkehr nach Datensensibilität weiterleiten möchten, platzieren Sie ein [LLM-Gateway](/de/llm-gateway) zwischen Entwicklern und Ihrem Anbieter. Für behördliche Anforderungen und Zertifizierungen siehe [Rechtliche Angelegenheiten und Compliance](/de/legal-and-compliance).123Wenn Sie Anfrage-Level-Audit-Protokollierung benötigen oder Datenverkehr nach Datensensibilität weiterleiten möchten, platzieren Sie ein Gateway zwischen Entwicklern und Ihrem Anbieter: Ein selbstgehostetes [Claude Apps Gateway](/de/claude-apps-gateway) protokolliert ein Pro-Anfrage-Audit-Protokoll mit IdP-Identität, oder verwenden Sie ein anderes [LLM-Gateway](/de/llm-gateway). Für behördliche Anforderungen und Zertifizierungen siehe [Rechtliche Angelegenheiten und Compliance](/de/legal-and-compliance).

122 124 

123<h2 id="verify-and-onboard">125<h2 id="verify-and-onboard">

124 Überprüfen und Onboarding126 Überprüfen und Onboarding

advisor.md +2 −1

Details

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

89| Haiku 4.5 | Fable, Opus, Sonnet | Haiku kann den Advisor aufrufen, kann aber nicht als einer fungieren |89| Haiku 4.5 | Fable, Opus, Sonnet | Haiku kann den Advisor aufrufen, kann aber nicht als einer fungieren |

90| Sonnet 4.6 | Fable, Opus, Sonnet | |90| Sonnet 4.6 | Fable, Opus, Sonnet | |

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

91| Opus 4.6 oder später | Fable, Opus in oder über der Version des Hauptmodells | Ein Opus 4.7 Hauptmodell mit einem Opus 4.6 Advisor wird abgelehnt |92| Opus 4.6 oder später | Fable, Opus in oder über der Version des Hauptmodells | Ein Opus 4.7 Hauptmodell mit einem Opus 4.6 Advisor wird abgelehnt |

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

93 94 


161 162 

162* **Claude Code v2.1.98 oder später**: Führen Sie `claude update` aus, um zu aktualisieren.163* **Claude Code v2.1.98 oder später**: Führen Sie `claude update` aus, um zu aktualisieren.

163* **Nur Anthropic API**: Der Advisor ist ein serverseitig ausgeführtes Tool. Er ist nicht auf Amazon Bedrock, Google Vertex AI oder Microsoft Foundry verfügbar. Über ein [LLM-Gateway](/de/llm-gateway), das mit `ANTHROPIC_BASE_URL` konfiguriert ist, hängt die Verfügbarkeit davon ab, ob das Gateway die Anfrage intakt an die Anthropic API weiterleitet.164* **Nur Anthropic API**: Der Advisor ist ein serverseitig ausgeführtes Tool. Er ist nicht auf Amazon Bedrock, Google Vertex AI oder Microsoft Foundry verfügbar. Über ein [LLM-Gateway](/de/llm-gateway), das mit `ANTHROPIC_BASE_URL` konfiguriert ist, hängt die Verfügbarkeit davon ab, ob das Gateway die Anfrage intakt an die Anthropic API weiterleitet.

164* **Unterstütztes Hauptmodell**: Opus 4.6 oder später, Sonnet 4.6 oder Haiku 4.5. {/* min-version: 2.1.170 */}Fable 5 qualifiziert sich auch auf Claude Code v2.1.170 oder später.165* **Unterstütztes Hauptmodell**: Opus 4.6 oder später, Sonnet 4.6 oder später oder Haiku 4.5. {/* min-version: 2.1.170 */}Fable 5 qualifiziert sich auch auf Claude Code v2.1.170 oder später.

165 166 

166<h2 id="turn-the-advisor-off">167<h2 id="turn-the-advisor-off">

167 Schalten Sie den Advisor aus168 Schalten Sie den Advisor aus

Details

226 Modell226 Modell

227</h3>227</h3>

228 228 

229Wenn Sie `model` nicht setzen, verwendet das SDK Claude Codes Standard, der von Ihrer Authentifizierungsmethode und Ihrem Abonnement abhängt. Setzen Sie es explizit (zum Beispiel, `model="claude-sonnet-4-6"`), um ein bestimmtes Modell zu fixieren oder um ein kleineres Modell für schnellere, billigere Agenten zu verwenden. Siehe [Modelle](https://platform.claude.com/docs/en/about-claude/models) für verfügbare IDs.229Wenn Sie `model` nicht setzen, verwendet das SDK Claude Codes Standard, der von Ihrer Authentifizierungsmethode und Ihrem Abonnement abhängt. Setzen Sie es explizit (zum Beispiel, `model="claude-sonnet-5"`), um ein bestimmtes Modell zu fixieren oder um ein kleineres Modell für schnellere, billigere Agenten zu verwenden. Siehe [Modelle](https://platform.claude.com/docs/en/about-claude/models) für verfügbare IDs.

230 230 

231<h2 id="the-context-window">231<h2 id="the-context-window">

232 Das Kontextfenster232 Das Kontextfenster

agent-sdk/hooks.md +20 −12

Details

203 ```203 ```

204</CodeGroup>204</CodeGroup>

205 205 

206Die `hooks` Option ist ein Wörterbuch (Python) oder Objekt (TypeScript), wobei:206Die `hooks` Option ist ein Wörterbuch in Python oder ein Objekt in TypeScript, wobei:

207 207 

208* **Schlüssel** [Hook-Ereignisnamen](#available-hooks) sind (z. B. `'PreToolUse'`, `'PostToolUse'`, `'Stop'`)208* **Schlüssel**: [Hook-Ereignisnamen](#available-hooks) wie `'PreToolUse'`, `'PostToolUse'` und `'Stop'`

209* **Werte** Arrays von [Matchern](#matchers) sind, die jeweils ein optionales Filtermuster und Ihre [Callback-Funktionen](#callback-functions) enthalten209* **Werte**: Arrays von [Matchern](#matchers), die jeweils ein optionales Filtermuster und Ihre [Callback-Funktionen](#callback-functions) enthalten

210 210 

211<h3 id="matchers">211<h3 id="matchers">

212 Matcher212 Matcher


214 214 

215Verwenden Sie Matcher, um zu filtern, wann Ihre Callbacks ausgelöst werden. Das `matcher` Feld wird gegen einen anderen Wert abgeglichen, je nach Hook-Ereignistyp. Beispielsweise werden Tool-basierte Hooks gegen den Tool-Namen abgeglichen, während `Notification` Hooks gegen den Benachrichtigungstyp abgeglichen werden. Siehe die [Claude Code Hooks-Referenz](/de/hooks#matcher-patterns) für die vollständige Liste der Matcher-Werte für jeden Ereignistyp.215Verwenden Sie Matcher, um zu filtern, wann Ihre Callbacks ausgelöst werden. Das `matcher` Feld wird gegen einen anderen Wert abgeglichen, je nach Hook-Ereignistyp. Beispielsweise werden Tool-basierte Hooks gegen den Tool-Namen abgeglichen, während `Notification` Hooks gegen den Benachrichtigungstyp abgeglichen werden. Siehe die [Claude Code Hooks-Referenz](/de/hooks#matcher-patterns) für die vollständige Liste der Matcher-Werte für jeden Ereignistyp.

216 216 

217SDK-Matcher folgen den gleichen Regeln wie [Matcher in Einstellungsdateien](/de/hooks#matcher-patterns): Ein Matcher, der nur Buchstaben, Ziffern, `_`, Leerzeichen, `,` und `|` enthält, wird als exakte Zeichenkette verglichen, wobei Alternativen durch `|` oder `,` und optionales umgebendes Leerzeichen getrennt werden, also `Write|Edit` und `Write, Edit` passen jeweils genau auf diese beiden Tools. Ein Matcher von `*`, eine leere Zeichenkette oder das Weglassen des Matchers ganz passt auf jedes Vorkommen des Ereignisses; ein Matcher, der ein anderes Zeichen enthält, wird als regulärer Ausdruck ausgewertet, also `^mcp__` passt auf jedes MCP-Tool. Ein Matcher wie `mcp__memory` enthält nur Buchstaben und Unterstriche, wird also als exakte Zeichenkette verglichen und passt auf kein Tool; verwenden Sie `mcp__memory__.*`, um auf jedes Tool von diesem Server zu passen.217SDK-Matcher folgen den gleichen Regeln wie [Matcher in Einstellungsdateien](/de/hooks#matcher-patterns). Ein Matcher, der nur Buchstaben, Ziffern, `_`, `-`, Leerzeichen, `,` und `|` enthält, wird als exakte Zeichenkette verglichen, wobei Alternativen durch `|` oder `,` und optionales umgebendes Leerzeichen getrennt werden, also `Write|Edit` und `Write, Edit` passen jeweils genau auf diese beiden Tools und `code-reviewer` passt nur auf diesen Agent-Typ. Ein Matcher von `*`, eine leere Zeichenkette oder das Weglassen des Matchers ganz passt auf jedes Vorkommen des Ereignisses.

218 

219Ein Matcher, der ein anderes Zeichen enthält, wird als unverankerte reguläre Ausdrücke ausgewertet, also `^mcp__` passt auf jedes MCP-Tool und `Edit.*` passt sowohl auf `Edit` als auch auf `NotebookEdit`. Umgeben Sie einen regulären Ausdruck mit `^` und `$`, wenn Sie eine Ganz-String-Übereinstimmung benötigen.

220 

221Ein Matcher wie `mcp__memory` oder `mcp__brave-search` enthält nur Zeichen für exakte Übereinstimmung, wird also als exakte Zeichenkette verglichen und passt auf kein Tool; verwenden Sie `mcp__memory__.*`, um auf jedes Tool von diesem Server zu passen.

222 

223Bindestriche in der Menge für exakte Übereinstimmung erfordern eine Claude Code Runtime von v2.1.195 oder später. In früheren Versionen wird ein Name mit Bindestrich wie `code-reviewer` als unverankerte reguläre Ausdrücke ausgewertet und muss als `^code-reviewer$` verankert werden, um genau zu passen.

218 224 

219| Option | Typ | Standard | Beschreibung |225| Option | Typ | Standard | Beschreibung |

220| --------- | ---------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |226| --------- | ---------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


222| `hooks` | `HookCallback[]` | - | Erforderlich. Array von Callback-Funktionen, die ausgeführt werden, wenn das Muster übereinstimmt |228| `hooks` | `HookCallback[]` | - | Erforderlich. Array von Callback-Funktionen, die ausgeführt werden, wenn das Muster übereinstimmt |

223| `timeout` | `number` | `60` | Timeout in Sekunden |229| `timeout` | `number` | `60` | Timeout in Sekunden |

224 230 

225Verwenden Sie das `matcher` Muster, um nach Möglichkeit spezifische Tools anzusteuern. Ein Matcher mit `'Bash'` wird nur für Bash-Befehle ausgeführt, während das Weglassen des Musters Ihre Callbacks für jedes Vorkommen des Ereignisses ausführt. Beachten Sie, dass für Tool-basierte Hooks Matcher nur nach **Tool-Namen** filtern, nicht nach Dateipfaden oder anderen Argumenten. Um nach Dateipfad zu filtern, prüfen Sie `tool_input.file_path` in Ihrem Callback.231Verwenden Sie das `matcher` Muster, um nach Möglichkeit spezifische Tools anzusteuern. Ein Matcher mit `'Bash'` wird nur für Bash-Befehle ausgeführt, während das Weglassen des Musters Ihre Callbacks für jedes Vorkommen des Ereignisses ausführt.

232 

233Für Tool-basierte Hooks filtern Matcher nur nach Tool-Namen, nicht nach Dateipfaden oder anderen Argumenten. Um nach Dateipfad zu filtern, prüfen Sie `tool_input.file_path` in Ihrem Callback.

226 234 

227<Tip>235<Tip>

228 **Tool-Namen entdecken:** Siehe [Tool-Eingabetypen](/de/agent-sdk/typescript#tool-input-types) für die vollständige Liste der integrierten Tool-Namen, oder fügen Sie einen Hook ohne Matcher hinzu, um alle Tool-Aufrufe Ihrer Sitzung zu protokollieren.236 **Tool-Namen entdecken:** Siehe [Tool-Eingabetypen](/de/agent-sdk/typescript#tool-input-types) für die vollständige Liste der integrierten Tool-Namen, oder fügen Sie einen Hook ohne Matcher hinzu, um alle Tool-Aufrufe Ihrer Sitzung zu protokollieren.


240 248 

241Jeder Hook-Callback erhält drei Argumente:249Jeder Hook-Callback erhält drei Argumente:

242 250 

243* **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](/de/agent-sdk/typescript#hookinput) und [Python](/de/agent-sdk/python#hookinput) SDK-Referenzen.251* **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](/de/agent-sdk/typescript#hookinput) und [Python](/de/agent-sdk/python#hookinput) SDK-Referenzen.

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

245 * `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 nur auf `PreToolUse`, `PostToolUse` und `PostToolUseFailure` vorhanden.253 * `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 nur auf `PreToolUse`, `PostToolUse` und `PostToolUseFailure` vorhanden.

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


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

259 267 

260<Note>268<Note>

261 Wenn mehrere Hooks oder Berechtigungsregeln gelten, hat **deny** Vorrang vor **defer**, was Vorrang vor **ask** hat, was Vorrang vor **allow** hat. Wenn ein Hook `deny` zurückgibt, wird die Operation blockiert, unabhängig von anderen Hooks.269 Wenn mehrere Hooks oder Berechtigungsregeln gelten, hat `deny` Vorrang vor `defer`, was Vorrang vor `ask` hat, was Vorrang vor `allow` hat. Wenn ein Hook `deny` zurückgibt, wird die Operation blockiert, unabhängig von anderen Hooks.

262</Note>270</Note>

263 271 

264<h4 id="asynchronous-output">272<h4 id="asynchronous-output">

265 Asynchrone Ausgabe273 Asynchrone Ausgabe

266</h4>274</h4>

267 275 

268Standardmäßig wartet der Agent darauf, dass Ihr Hook zurückkommt, bevor er fortfährt. Wenn Ihr Hook einen Nebeneffekt ausführt (Protokollierung, 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:276Standardmäß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:

269 277 

270<CodeGroup>278<CodeGroup>

271 ```python Python theme={null}279 ```python Python theme={null}


782* Überprüfen Sie, ob der Hook-Ereignisname korrekt und case-sensitiv ist (`PreToolUse`, nicht `preToolUse`)790* Überprüfen Sie, ob der Hook-Ereignisname korrekt und case-sensitiv ist (`PreToolUse`, nicht `preToolUse`)

783* Überprüfen Sie, ob Ihr Matcher-Muster den Tool-Namen genau abgleicht791* Überprüfen Sie, ob Ihr Matcher-Muster den Tool-Namen genau abgleicht

784* Stellen Sie sicher, dass der Hook unter dem richtigen Ereignistyp in `options.hooks` ist792* Stellen Sie sicher, dass der Hook unter dem richtigen Ereignistyp in `options.hooks` ist

785* Für Nicht-Tool-Hooks wie `Stop` und `SubagentStop` gleichen Matcher gegen verschiedene Felder ab (siehe [Matcher-Muster](/de/hooks#matcher-patterns))793* Für Nicht-Tool-Hooks, die Matcher unterstützen, wie `Notification` und `SubagentStop`, gleichen Matcher gegen verschiedene Felder ab, und `Stop` ignoriert Matcher vollständig (siehe [Matcher-Muster](/de/hooks#matcher-patterns))

786* Hooks werden möglicherweise nicht ausgelöst, wenn der Agent das [`max_turns`](/de/agent-sdk/python#claudeagentoptions) Limit erreicht, da die Sitzung endet, bevor Hooks ausgeführt werden können794* Hooks werden möglicherweise nicht ausgelöst, wenn der Agent das [`max_turns`](/de/agent-sdk/python#claudeagentoptions) Limit erreicht, da die Sitzung endet, bevor Hooks ausgeführt werden können

787 795 

788<h3 id="matcher-not-filtering-as-expected">796<h3 id="matcher-not-filtering-as-expected">

789 Matcher filtert nicht wie erwartet797 Matcher filtert nicht wie erwartet

790</h3>798</h3>

791 799 

792Matcher gleichen nur **Tool-Namen** ab, nicht Dateipfade oder andere Argumente. Um nach Dateipfad zu filtern, prüfen Sie `tool_input.file_path` in Ihrem Hook:800Matcher gleichen nur Tool-Namen ab, nicht Dateipfade oder andere Argumente. Um nach Dateipfad zu filtern, prüfen Sie `tool_input.file_path` in Ihrem Hook:

793 801 

794```typescript theme={null}802```typescript theme={null}

795const myHook: HookCallback = async (input, toolUseID, { signal }) => {803const myHook: HookCallback = async (input, toolUseID, { signal }) => {


815 823 

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

817* Fügen Sie Protokollierung zu Ihren Hooks hinzu, um zu sehen, welche `permissionDecisionReason` sie zurückgeben825* Fügen Sie Protokollierung zu Ihren Hooks hinzu, um zu sehen, welche `permissionDecisionReason` sie zurückgeben

818* Überprüfen Sie, ob Matcher-Muster nicht zu breit sind (ein leerer Matcher gleicht alle Tools ab)826* Überprüfen Sie, ob Matcher-Muster nicht zu breit sind: ein leerer Matcher gleicht alle Tools ab

819 827 

820<h3 id="modified-input-not-applied">828<h3 id="modified-input-not-applied">

821 Geänderte Eingabe wird nicht angewendet829 Geänderte Eingabe wird nicht angewendet


841 Sitzungs-Hooks nicht in Python verfügbar849 Sitzungs-Hooks nicht in Python verfügbar

842</h3>850</h3>

843 851 

844`SessionStart` und `SessionEnd` können als SDK-Callback-Hooks in TypeScript registriert werden, sind aber im Python SDK nicht verfügbar (`HookEvent` lässt sie weg). In Python sind sie nur als [Shell-Befehls-Hooks](/de/hooks#hook-events) verfügbar, die in Einstellungsdateien definiert sind (z. B. `.claude/settings.json`). Um Shell-Befehls-Hooks aus Ihrer SDK-Anwendung zu laden, schließen Sie die entsprechende Einstellungsquelle mit [`setting_sources`](/de/agent-sdk/python#settingsource) oder [`settingSources`](/de/agent-sdk/typescript#settingsource) ein:852`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](/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`](/de/agent-sdk/python#settingsource) oder [`settingSources`](/de/agent-sdk/typescript#settingsource) ein:

845 853 

846<CodeGroup>854<CodeGroup>

847 ```python Python theme={null}855 ```python Python theme={null}

Details

209 209 

210* **Nur Transkripte**: `SessionStore` spiegelt Transkripte, nicht `CLAUDE.md`-Speicherdateien oder andere Arbeitsverzeichnis-Artefakte. Mounten Sie ein gemeinsames Volume oder synchronisieren Sie diese separat.210* **Nur Transkripte**: `SessionStore` spiegelt Transkripte, nicht `CLAUDE.md`-Speicherdateien oder andere Arbeitsverzeichnis-Artefakte. Mounten Sie ein gemeinsames Volume oder synchronisieren Sie diese separat.

211* **Spiegelung, keine Ersetzung**: Der Unterprozess schreibt zuerst auf die lokale Festplatte, und der Store erhält eine Kopie jedes Batches. Lokale Schreibvorgänge bleiben maßgeblich.211* **Spiegelung, keine Ersetzung**: Der Unterprozess schreibt zuerst auf die lokale Festplatte, und der Store erhält eine Kopie jedes Batches. Lokale Schreibvorgänge bleiben maßgeblich.

212* **`mirror_error`-Meldungen**: Wenn der Store ablehnt oder eine Zeitüberschreitung auftritt, gibt das SDK eine `{ type: "system", subtype: "mirror_error" }`-Meldung aus und setzt die Abfrage ohne Wiederholung fort. Warnen Sie vor diesen, wenn die Store-Dauerhaftigkeit wichtig ist.212* **`mirror_error`-Meldungen**: Ein Batch, den der Store ablehnt, wird insgesamt bis zu dreimal gesendet, mit einer kurzen Backoff-Zeit vor jedem Wiederholungsversuch; ein Aufruf mit Zeitüberschreitung wird nicht wiederholt. Wenn der Batch immer noch fehlschlägt, verwirft das SDK ihn, gibt eine `{ type: "system", subtype: "mirror_error" }`-Meldung aus und setzt die Abfrage fort. Warnen Sie vor diesen, wenn die Store-Dauerhaftigkeit wichtig ist.

213 213 

214<h3 id="observability">214<h3 id="observability">

215 Observability215 Observability

Details

44 </Step>44 </Step>

45</Steps>45</Steps>

46 46 

47<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/agent-sdk/permissions-flow.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=cc94220087262cd48c9b64a14c4e1c2c" alt="Diagramm des fünfstufigen Berechtigungsauswertungsflusses, das den obigen Schritten entspricht: Eine Tool-Anfrage durchläuft Hooks, Deny-Regeln, Berechtigungsmodus, Allow-Regeln und canUseTool. Hooks, Deny-Regeln und canUseTool können zu Blockiert weiterleiten; Berechtigungsmodus-Bypass, Allow-Regeln und canUseTool können zu Ausführen weiterleiten." width="1024" height="260" data-path="images/agent-sdk/permissions-flow.svg" />47<img src="https://mintcdn.com/claude-code/jYgs7qigNjO1Badj/images/agent-sdk/permissions-flow.svg?fit=max&auto=format&n=jYgs7qigNjO1Badj&q=85&s=c771ad9085b1277d3708027a49c744bc" alt="Diagramm des sechsstufigen Berechtigungsauswertungsflusses, das den obigen Schritten entspricht: Eine Tool-Anfrage durchläuft Hooks, Deny-Regeln, Ask-Regeln, Berechtigungsmodus, Allow-Regeln und canUseTool. Hooks, Deny-Regeln und canUseTool können zu Blockiert weiterleiten; Berechtigungsmodus-Bypass, Allow-Regeln und canUseTool können zu Ausführen weiterleiten; Ask-Regeln leiten zu canUseTool weiter." width="1180" height="260" data-path="images/agent-sdk/permissions-flow.svg" />

48 48 

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

50 50 

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

52* **canUseTool-Callback:** Fordern Sie Benutzer zur Laufzeit zur Genehmigung auf. Siehe [Genehmigungen und Benutzereingaben handhaben](/de/agent-sdk/user-input).52* **canUseTool-Callback:** Fordern Sie Benutzer zur Laufzeit zur Genehmigung auf, wenn kein früherer Schritt den Aufruf löst. Siehe [Genehmigungen und Benutzereingaben handhaben](/de/agent-sdk/user-input).

53 53 

54<h2 id="allow-and-deny-rules">54<h2 id="allow-and-deny-rules">

55 Allow- und Deny-Regeln55 Allow- und Deny-Regeln


66 66 

67Allow-Regeln akzeptieren Tool-Name-Globs nur nach einem literalen `mcp__<server>__`-Präfix. Das Server-Segment muss glob-frei sein, damit die Regel einen bestimmten Server benennt, den Sie konfiguriert haben: `mcp__puppeteer__*` entspricht jedem Tool vom `puppeteer`-Server, und `mcp__github__get_*` entspricht seinen `get_`-Tools. Ein unverankter Eintrag wie `allowed_tools=["*"]` oder `allowed_tools=["mcp__*"]` wird mit einer Startwarnmeldung ignoriert und genehmigt nichts automatisch.67Allow-Regeln akzeptieren Tool-Name-Globs nur nach einem literalen `mcp__<server>__`-Präfix. Das Server-Segment muss glob-frei sein, damit die Regel einen bestimmten Server benennt, den Sie konfiguriert haben: `mcp__puppeteer__*` entspricht jedem Tool vom `puppeteer`-Server, und `mcp__github__get_*` entspricht seinen `get_`-Tools. Ein unverankter Eintrag wie `allowed_tools=["*"]` oder `allowed_tools=["mcp__*"]` wird mit einer Startwarnmeldung ignoriert und genehmigt nichts automatisch.

68 68 

69<Warning>

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

71</Warning>

72 

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

70 74 

71```typescript theme={null}75```typescript theme={null}

Details

750 750 

751 751 

752async def main():752async def main():

753 options = ClaudeAgentOptions(753 # Don't also list the gated tools in allowed_tools: allow rules approve calls before can_use_tool runs

754 can_use_tool=custom_permission_handler, allowed_tools=["Read", "Write", "Edit"]754 options = ClaudeAgentOptions(can_use_tool=custom_permission_handler)

755 )

756 755 

757 async with ClaudeSDKClient(options=options) as client:756 async with ClaudeSDKClient(options=options) as client:

758 await client.query("Update the system config file")757 await client.query("Update the system config file")


886 fork_session: bool = False885 fork_session: bool = False

887 agents: dict[str, AgentDefinition] | None = None886 agents: dict[str, AgentDefinition] | None = None

888 setting_sources: list[SettingSource] | None = None887 setting_sources: list[SettingSource] | None = None

888 skills: list[str] | Literal["all"] | None = None

889 sandbox: SandboxSettings | None = None889 sandbox: SandboxSettings | None = None

890 plugins: list[SdkPluginConfig] = field(default_factory=list)890 plugins: list[SdkPluginConfig] = field(default_factory=list)

891 max_thinking_tokens: int | None = None # Deprecated: use thinking instead891 max_thinking_tokens: int | None = None # Deprecated: use thinking instead


924| `max_buffer_size` | `int \| None` | `None` | Maximale Bytes beim Puffern der CLI-Stdout |924| `max_buffer_size` | `int \| None` | `None` | Maximale Bytes beim Puffern der CLI-Stdout |

925| `debug_stderr` | `Any` | `sys.stderr` | *Veraltet* - Dateiähnliches Objekt für Debug-Ausgabe. Verwenden Sie stattdessen den `stderr`-Callback |925| `debug_stderr` | `Any` | `sys.stderr` | *Veraltet* - Dateiähnliches Objekt für Debug-Ausgabe. Verwenden Sie stattdessen den `stderr`-Callback |

926| `stderr` | `Callable[[str], None] \| None` | `None` | Callback-Funktion für stderr-Ausgabe von CLI |926| `stderr` | `Callable[[str], None] \| None` | `None` | Callback-Funktion für stderr-Ausgabe von CLI |

927| `can_use_tool` | [`CanUseTool`](#canusetool) ` \| None` | `None` | Tool-Berechtigungs-Callback-Funktion. Siehe [Berechtigungstypen](#canusetool) für Details |927| `can_use_tool` | [`CanUseTool`](#canusetool) ` \| None` | `None` | Tool-Berechtigungs-Callback, der nur aufgerufen wird, wenn der [Berechtigungsfluss](/de/agent-sdk/permissions#how-permissions-are-evaluated) zu einer Aufforderung führt. Nicht aufgerufen für Aufrufe, die automatisch von `allowed_tools`, Allow-Regeln oder `permission_mode` genehmigt werden. Siehe [`CanUseTool`](#canusetool) für Details |

928| `hooks` | `dict[HookEvent, list[HookMatcher]] \| None` | `None` | Hook-Konfigurationen zum Abfangen von Ereignissen |928| `hooks` | `dict[HookEvent, list[HookMatcher]] \| None` | `None` | Hook-Konfigurationen zum Abfangen von Ereignissen |

929| `user` | `str \| None` | `None` | Benutzerkennung |929| `user` | `str \| None` | `None` | Benutzerkennung |

930| `include_partial_messages` | `bool` | `False` | Schließen Sie partielle Nachrichtenstreaming-Ereignisse ein. Wenn aktiviert, werden [`StreamEvent`](#streamevent)-Nachrichten geliefert |930| `include_partial_messages` | `bool` | `False` | Schließen Sie partielle Nachrichtenstreaming-Ereignisse ein. Wenn aktiviert, werden [`StreamEvent`](#streamevent)-Nachrichten geliefert |


960* `API_TIMEOUT_MS`: Pro-Request-Timeout auf dem Anthropic-Client in Millisekunden. Standard `600000`. Gilt für die Hauptschleife und alle Subagenten.960* `API_TIMEOUT_MS`: Pro-Request-Timeout auf dem Anthropic-Client in Millisekunden. Standard `600000`. Gilt für die Hauptschleife und alle Subagenten.

961* `CLAUDE_CODE_MAX_RETRIES`: Maximale API-Wiederholungen. Standard `10`, begrenzt auf `15`. Jede Wiederholung erhält sein eigenes `API_TIMEOUT_MS`-Fenster, daher ist die schlimmste Wandzeit ungefähr `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` plus Backoff. Für unbeaufsichtigte Läufe, die längere Ausfallzeiten abwarten müssen, setzen Sie `CLAUDE_CODE_RETRY_WATCHDOG=1`, um Kapazitätsfehler unbegrenzt zu wiederholen.961* `CLAUDE_CODE_MAX_RETRIES`: Maximale API-Wiederholungen. Standard `10`, begrenzt auf `15`. Jede Wiederholung erhält sein eigenes `API_TIMEOUT_MS`-Fenster, daher ist die schlimmste Wandzeit ungefähr `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` plus Backoff. Für unbeaufsichtigte Läufe, die längere Ausfallzeiten abwarten müssen, setzen Sie `CLAUDE_CODE_RETRY_WATCHDOG=1`, um Kapazitätsfehler unbegrenzt zu wiederholen.

962* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: Stall-Watchdog für Subagenten, die mit `run_in_background` gestartet werden. Standard `600000`. Setzt sich bei jedem Stream-Ereignis zurück; bei Stall bricht es den Subagenten ab, markiert die Aufgabe als fehlgeschlagen und zeigt den Fehler dem übergeordneten Element mit jedem Teilergebnis. Gilt nicht für synchrone Subagenten.962* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: Stall-Watchdog für Subagenten, die mit `run_in_background` gestartet werden. Standard `600000`. Setzt sich bei jedem Stream-Ereignis zurück; bei Stall bricht es den Subagenten ab, markiert die Aufgabe als fehlgeschlagen und zeigt den Fehler dem übergeordneten Element mit jedem Teilergebnis. Gilt nicht für synchrone Subagenten.

963* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: Bricht die Anfrage ab, wenn Header angekommen sind, aber der Antwortkörper nicht mehr streamt. Wenn `CLAUDE_ENABLE_STREAM_WATCHDOG` nicht gesetzt ist, ist der Standard server-gesteuert auf der direkten Anthropic API und aus auf anderen Anbietern. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` hat einen Standard von `300000` und ist auf dieses Minimum begrenzt. Die abgebrochene Anfrage durchläuft den normalen Wiederholungspfad.963* `CLAUDE_ENABLE_STREAM_WATCHDOG` mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: Bricht die Anfrage ab, wenn Header angekommen sind, aber der Antwortkörper nicht mehr streamt. Der Watchdog ist standardmäßig für alle Anbieter aktiviert; setzen Sie `CLAUDE_ENABLE_STREAM_WATCHDOG=0`, um ihn zu deaktivieren. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` hat einen Standard von `300000` und ist auf dieses Minimum begrenzt. Die abgebrochene Anfrage durchläuft den normalen Wiederholungspfad.

964 964 

965<h3 id="outputformat">965<h3 id="outputformat">

966 `OutputFormat`966 `OutputFormat`


1206 "low", # Minimal thinking, fastest responses1206 "low", # Minimal thinking, fastest responses

1207 "medium", # Moderate thinking1207 "medium", # Moderate thinking

1208 "high", # Deep reasoning1208 "high", # Deep reasoning

1209 "xhigh", # Extended reasoning (Opus 4.8 and Opus 4.7; falls back to "high" on other models)1209 "xhigh", # Extended reasoning; falls back to "high" on models that don't support it

1210 "max", # Maximum effort1210 "max", # Maximum effort

1211]1211]

1212```1212```


1231 1231 

1232Gibt ein `PermissionResult` zurück (entweder `PermissionResultAllow` oder `PermissionResultDeny`).1232Gibt ein `PermissionResult` zurück (entweder `PermissionResultAllow` oder `PermissionResultDeny`).

1233 1233 

1234Der Callback ist der SDK-Ersatz für die interaktive Berechtigungsaufforderung: Er wird nur aufgerufen, wenn der [Berechtigungsbewertungsfluss](/de/agent-sdk/permissions#how-permissions-are-evaluated) zu einer Aufforderung führt. Tool-Aufrufe, die bereits von einem `allowed_tools`-Eintrag, einer Settings-Allow-Regel oder dem Berechtigungsmodus wie `acceptEdits` oder `bypassPermissions` genehmigt wurden, rufen ihn nie auf. Um jeden Tool-Aufruf zu kontrollieren, verwenden Sie stattdessen einen [`PreToolUse`-Hook](/de/agent-sdk/hooks).

1235 

1234<h3 id="toolpermissioncontext">1236<h3 id="toolpermissioncontext">

1235 `ToolPermissionContext`1237 `ToolPermissionContext`

1236</h3>1238</h3>


2681 2683 

2682**Tool-Name:** `Monitor`2684**Tool-Name:** `Monitor`

2683 2685 

2684Führt ein Background-Skript aus und liefert jede stdout-Zeile an Claude als Ereignis, damit es reagieren kann, ohne zu pollen. Monitor folgt den gleichen Berechtigungsregeln wie Bash. Siehe die [Monitor-Tool-Referenz](/de/tools-reference#monitor-tool) für Verhalten und Provider-Verfügbarkeit.2686Führt eine Background-Quelle aus und liefert jedes Ereignis an Claude, damit es reagieren kann, ohne zu pollen: `command` führt ein Skript aus und gibt ein Ereignis pro stdout-Zeile aus, und `ws` öffnet einen WebSocket und gibt ein Ereignis pro Textframe aus. Geben Sie genau eines von `command` oder `ws` an.

2687 

2688Wenn Monitor einen Befehl ausführt, folgt es den gleichen Berechtigungsregeln wie Bash; eine WebSocket-Überwachung fordert separat zur Genehmigung auf. {/* min-version: 2.1.195 */}Die `ws`-Quelle erfordert Claude Code v2.1.195 oder später. Siehe die [Monitor-Tool-Referenz](/de/tools-reference#monitor-tool) für Verhalten und Provider-Verfügbarkeit.

2685 2689 

2686**Eingabe:**2690**Eingabe:**

2687 2691 

2688```python theme={null}2692```python theme={null}

2689{2693{

2690 "command": str, # Shell-Skript; jede stdout-Zeile ist ein Ereignis, exit beendet die Überwachung2694 "command": str | None, # Shell-Skript; jede stdout-Zeile ist ein Ereignis, exit beendet die Überwachung

2695 "ws": dict | None, # WebSocket-Quelle: {"url": str, "protocols": list[str] | None}; jeder Textframe ist ein Ereignis

2691 "description": str, # Kurze Beschreibung, die in Benachrichtigungen angezeigt wird2696 "description": str, # Kurze Beschreibung, die in Benachrichtigungen angezeigt wird

2692 "timeout_ms": int | None, # Nach dieser Frist beenden (Standard 300000, max. 3600000)2697 "timeout_ms": int | None, # Nach dieser Frist beenden (Standard 300000, max. 3600000)

2693 "persistent": bool | None, # Für die Lebensdauer der Sitzung ausführen; mit TaskStop stoppen2698 "persistent": bool | None, # Für die Lebensdauer der Sitzung ausführen; mit TaskStop stoppen

Details

41 Installieren Sie das Agent SDK-Paket für Ihre Sprache:41 Installieren Sie das Agent SDK-Paket für Ihre Sprache:

42 42 

43 <Tabs>43 <Tabs>

44 <Tab title="TypeScript">44 <Tab title="TypeScript (neues Projekt)">

45 ```bash theme={null}45 ```bash theme={null}

46 npm init -y

47 npm pkg set type=module

46 npm install @anthropic-ai/claude-agent-sdk48 npm install @anthropic-ai/claude-agent-sdk

49 npm install --save-dev tsx

47 ```50 ```

51 

52 Das Setzen von `"type": "module"` in `package.json` ermöglicht Ihrem Agent-Skript die Verwendung von Top-Level-`await`, und [tsx](https://tsx.is) führt TypeScript-Dateien direkt aus.

53 </Tab>

54 

55 <Tab title="TypeScript (bestehendes Projekt)">

56 ```bash theme={null}

57 npm install @anthropic-ai/claude-agent-sdk

58 npm install --save-dev tsx

59 ```

60 

61 [tsx](https://tsx.is) führt TypeScript-Dateien direkt aus. Wenn Ihr Projekt CommonJS verwendet, benennen Sie Ihr Agent-Skript `agent.mts` statt `agent.ts`. Die `.mts`-Erweiterung veranlasst tsx, die Datei als ES-Modul zu behandeln, sodass Top-Level-`await` funktioniert, ohne Ihr gesamtes Projekt in ES-Module zu konvertieren. Verwenden Sie `agent.mts` anstelle von `agent.ts` in den Erstellungs- und Ausführungsschritten später in diesem Schnellstart.

48 </Tab>62 </Tab>

49 63 

50 <Tab title="Python (uv)">64 <Tab title="Python (uv)">


85 </Step>99 </Step>

86 100 

87 <Step title="Legen Sie Ihren API-Schlüssel fest">101 <Step title="Legen Sie Ihren API-Schlüssel fest">

88 Rufen Sie einen API-Schlüssel von der [Claude-Konsole](https://platform.claude.com/) ab und erstellen Sie dann eine `.env`-Datei in Ihrem Projektverzeichnis:102 Rufen Sie einen API-Schlüssel von der [Claude-Konsole](https://platform.claude.com/) ab und legen Sie ihn dann als Umgebungsvariable in der Shell fest, in der Sie Ihren Agenten ausführen:

89 103 

104 <Tabs>

105 <Tab title="macOS / Linux">

90 ```bash theme={null}106 ```bash theme={null}

91 ANTHROPIC_API_KEY=your-api-key107 export ANTHROPIC_API_KEY=your-api-key

92 ```108 ```

109 </Tab>

110 

111 <Tab title="Windows (PowerShell)">

112 ```powershell theme={null}

113 $env:ANTHROPIC_API_KEY = "your-api-key"

114 ```

115 </Tab>

116 </Tabs>

117 

118 Das SDK liest den Schlüssel aus der Umgebung des Prozesses, der Ihren Agenten ausführt; es lädt `.env`-Dateien nicht automatisch. Wenn Sie den Schlüssel in einer `.env`-Datei speichern, laden Sie ihn selbst, beispielsweise mit dem `dotenv`-Paket, bevor Sie das SDK aufrufen.

93 119 

94 Das SDK unterstützt auch Authentifizierung über Drittanbieter-API-Anbieter:120 Das SDK unterstützt auch Authentifizierung über Drittanbieter-API-Anbieter:

95 121 


133 Erstellen Sie einen Agenten, der Fehler findet und behebt159 Erstellen Sie einen Agenten, der Fehler findet und behebt

134</h2>160</h2>

135 161 

136Erstellen Sie `agent.py`, wenn Sie das Python SDK verwenden, oder `agent.ts` für TypeScript:162Erstellen Sie `agent.py`, wenn Sie das Python SDK verwenden, oder `agent.ts` für TypeScript. Verwenden Sie `agent.mts` stattdessen, wenn Ihr bestehendes Projekt CommonJS verwendet:

137 163 

138<CodeGroup>164<CodeGroup>

139 ```python Python theme={null}165 ```python Python theme={null}


218 ```bash theme={null}244 ```bash theme={null}

219 npx tsx agent.ts245 npx tsx agent.ts

220 ```246 ```

247 

248 Wenn Sie Ihr Skript `agent.mts` genannt haben, führen Sie stattdessen `npx tsx agent.mts` aus.

221 </Tab>249 </Tab>

222 250 

223 <Tab title="Python (uv)">251 <Tab title="Python (uv)">


235 </Tab>263 </Tab>

236</Tabs>264</Tabs>

237 265 

238Nach der Ausführung überprüfen Sie `utils.py`. Sie sehen defensiven Code, der leere Listen und Null-Benutzer verarbeitet. Ihr Agent hat autonom:266Während es arbeitet, druckt der Agent seine Überlegungen und jeden Tool-Aufruf aus und endet mit `Done: success`. Nach der Ausführung überprüfen Sie `utils.py`. Sie sehen defensiven Code, der leere Listen und Null-Benutzer verarbeitet. Ihr Agent hat autonom:

239 267 

2401. **Gelesen** `utils.py`, um den Code zu verstehen2681. **Gelesen** `utils.py`, um den Code zu verstehen

2412. **Analysiert** die Logik und identifiziert Grenzfälle, die zum Absturz führen würden2692. **Analysiert** die Logik und identifiziert Grenzfälle, die zum Absturz führen würden


244Das macht das Agent SDK anders: Claude führt Tools direkt aus, anstatt Sie zu bitten, sie zu implementieren.272Das macht das Agent SDK anders: Claude führt Tools direkt aus, anstatt Sie zu bitten, sie zu implementieren.

245 273 

246<Note>274<Note>

247 Wenn Sie 'API-Schlüssel nicht gefunden" sehen, stellen Sie sicher, dass Sie die Umgebungsvariable `ANTHROPIC_API_KEY` in Ihrer `.env`-Datei oder Shell-Umgebung gesetzt haben. Weitere Hilfe finden Sie im [vollständigen Fehlerbehebungsleitfaden](/de/troubleshooting).275 Wenn Sie 'API-Schlüssel nicht gefunden" sehen, stellen Sie sicher, dass Sie die Umgebungsvariable `ANTHROPIC_API_KEY` in der Shell gesetzt haben, in der Sie Ihren Agenten ausführen. Das SDK lädt `.env`-Dateien nicht automatisch. Weitere Hilfe finden Sie im [vollständigen Fehlerbehebungsleitfaden](/de/troubleshooting).

248</Note>276</Note>

249 277 

250<h3 id="try-other-prompts">278<h3 id="try-other-prompts">


342| Modus | Verhalten | Anwendungsfall |370| Modus | Verhalten | Anwendungsfall |

343| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------ |371| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------ |

344| `acceptEdits` | Genehmigt Dateibearbeitungen und häufige Dateisystembefehle automatisch, fragt nach anderen Aktionen | Vertrauenswürdige Entwicklungs-Workflows |372| `acceptEdits` | Genehmigt Dateibearbeitungen und häufige Dateisystembefehle automatisch, fragt nach anderen Aktionen | Vertrauenswürdige Entwicklungs-Workflows |

373| `plan` | Führt schreibgeschützte Tools aus; Dateibearbeitungen werden nie automatisch genehmigt und erreichen Ihren `canUseTool`-Callback | Aufgabenumfang vor Genehmigung der Ausführung |

345| `dontAsk` | Lehnt alles ab, das nicht in `allowedTools` enthalten ist | Gesperrte Headless-Agenten |374| `dontAsk` | Lehnt alles ab, das nicht in `allowedTools` enthalten ist | Gesperrte Headless-Agenten |

346| `auto` (nur TypeScript) | Ein Modell-Klassifizierer genehmigt oder lehnt jeden Tool-Aufruf ab | Autonome Agenten mit Sicherheitsvorkehrungen |375| `auto` (nur TypeScript) | Ein Modell-Klassifizierer genehmigt oder lehnt jeden Tool-Aufruf ab | Autonome Agenten mit Sicherheitsvorkehrungen |

347| `bypassPermissions` | Führt jedes Tool ohne Eingabeaufforderungen aus, es sei denn, eine explizite [`ask`-Regel](/de/agent-sdk/permissions#how-permissions-are-evaluated) stimmt überein | Sandboxed CI, vollständig vertrauenswürdige Umgebungen |376| `bypassPermissions` | Führt jedes Tool ohne Eingabeaufforderungen aus, es sei denn, eine explizite [`ask`-Regel](/de/agent-sdk/permissions#how-permissions-are-evaluated) stimmt überein | Sandboxed CI, vollständig vertrauenswürdige Umgebungen |


349 378 

350Das obige Beispiel verwendet den `acceptEdits`-Modus, der Dateivorgänge automatisch genehmigt, damit der Agent ohne interaktive Eingabeaufforderungen ausgeführt werden kann. Wenn Sie Benutzer zur Genehmigung auffordern möchten, verwenden Sie den `default`-Modus und stellen Sie einen [`canUseTool`-Callback](/de/agent-sdk/user-input) bereit, der Benutzereingaben sammelt. Für mehr Kontrolle siehe [Berechtigungen](/de/agent-sdk/permissions).379Das obige Beispiel verwendet den `acceptEdits`-Modus, der Dateivorgänge automatisch genehmigt, damit der Agent ohne interaktive Eingabeaufforderungen ausgeführt werden kann. Wenn Sie Benutzer zur Genehmigung auffordern möchten, verwenden Sie den `default`-Modus und stellen Sie einen [`canUseTool`-Callback](/de/agent-sdk/user-input) bereit, der Benutzereingaben sammelt. Für mehr Kontrolle siehe [Berechtigungen](/de/agent-sdk/permissions).

351 380 

352<h2 id="troubleshooting">

353 Fehlerbehebung

354</h2>

355 

356<h3 id="api-error-thinking-type-enabled-is-not-supported-for-this-model">

357 API-Fehler `thinking.type.enabled` wird für dieses Modell nicht unterstützt

358</h3>

359 

360Claude Opus 4.7 ersetzt `thinking.type.enabled` durch `thinking.type.adaptive`. Ältere Agent SDK-Versionen schlagen mit dem folgenden API-Fehler fehl, wenn Sie `claude-opus-4-7` auswählen:

361 

362```text theme={null}

363API Error: 400 {"type":"invalid_request_error","message":"\"thinking.type.enabled\" is not supported for this model. Use \"thinking.type.adaptive\" and \"output_config.effort\" to control thinking behavior."}

364```

365 

366Aktualisieren Sie auf Agent SDK v0.2.111 oder später, um Opus 4.7 zu verwenden.

367 

368<h2 id="next-steps">381<h2 id="next-steps">

369 Nächste Schritte382 Nächste Schritte

370</h2>383</h2>

Details

235 Spiegelschreibvorgänge sind Best-Effort235 Spiegelschreibvorgänge sind Best-Effort

236</h3>236</h3>

237 237 

238Wenn `append()` ablehnt oder eine Zeitüberschreitung auftritt, wird der Fehler protokolliert, eine `{ type: "system", subtype: "mirror_error" }`-Meldung wird in den Iterator ausgegeben, und die Abfrage wird fortgesetzt. Das lokale Transkript ist bereits auf der Festplatte dauerhaft, daher unterbricht ein Store-Ausfall den Agenten nicht und verliert keine Daten lokal. Batches, die fehlschlagen, werden nicht erneut versucht, daher überwachen Sie auf `mirror_error`, wenn Sie Datenverluste im Store erkennen müssen.238Wenn `append()` ablehnt, versucht das SDK den Batch bis zu zwei weitere Male mit kurzer Backoff-Zeit erneut, insgesamt höchstens drei Versuche. Ein Aufruf, der eine Zeitüberschreitung aufweist, wird nicht erneut versucht, da der ursprüngliche Aufruf möglicherweise noch ankommt. Wenn der Batch immer noch fehlschlägt, wird der Fehler protokolliert, eine `{ type: "system", subtype: "mirror_error" }`-Meldung wird in den Iterator ausgegeben, der Batch wird verworfen, und die Abfrage wird fortgesetzt. Das lokale Transkript ist bereits auf der Festplatte dauerhaft, daher unterbricht ein Store-Ausfall den Agenten nicht und verliert keine Daten lokal. Überwachen Sie auf `mirror_error`, wenn Sie Datenverluste im Store erkennen müssen. Da ein erneut versuchter Batch Einträge, die bereits angekommen sind, erneut bereitstellen kann, deduplizieren Sie nach `entry.uuid` in Ihrer `append()`-Implementierung.

239 239 

240<h3 id="getsessionmessages-returns-the-post-compaction-chain">240<h3 id="getsessionmessages-returns-the-post-compaction-chain">

241 `getSessionMessages` gibt die Post-Komprimierungs-Kette zurück241 `getSessionMessages` gibt die Post-Komprimierungs-Kette zurück

Details

24 })) {24 })) {

25 if (message.type === "system" && message.subtype === "init") {25 if (message.type === "system" && message.subtype === "init") {

26 console.log("Available slash commands:", message.slash_commands);26 console.log("Available slash commands:", message.slash_commands);

27 // Example output: ["clear", "compact", "context", "usage"]27 // Includes built-in commands plus bundled skills, for example:

28 // ["clear", "compact", "context", "usage", "code-review", "verify", ...]

28 }29 }

29 }30 }

30 ```31 ```


38 async for message in query(prompt="Hello Claude", options=ClaudeAgentOptions(max_turns=1)):39 async for message in query(prompt="Hello Claude", options=ClaudeAgentOptions(max_turns=1)):

39 if isinstance(message, SystemMessage) and message.subtype == "init":40 if isinstance(message, SystemMessage) and message.subtype == "init":

40 print("Available slash commands:", message.data["slash_commands"])41 print("Available slash commands:", message.data["slash_commands"])

41 # Example output: ["clear", "compact", "context", "usage"]42 # Includes built-in commands plus bundled skills, for example:

43 # ["clear", "compact", "context", "usage", "code-review", "verify", ...]

42 44 

43 45 

44 asyncio.run(main())46 asyncio.run(main())


49 Slash Commands senden51 Slash Commands senden

50</h2>52</h2>

51 53 

52Senden Sie Slash Commands, indem Sie sie in Ihre Eingabeaufforderung einbeziehen, genau wie normalen Text:54Senden Sie Slash Commands, indem Sie sie in Ihre Eingabeaufforderung einbeziehen, genau wie normalen Text. Befehle, die auf der Konversationsverlauf wirken, wie `/compact`, benötigen vorherige Nachrichten zum Arbeiten, daher fragen die folgenden Beispiele zunächst eine Frage und senden dann den Befehl als Folgemaßnahme zur gleichen Konversation:

53 55 

54<CodeGroup>56<CodeGroup>

55 ```typescript TypeScript theme={null}57 ```typescript TypeScript theme={null}

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

57 59 

58 // Send a slash command60 // Build up conversation history first

61 try {

59 for await (const message of query({62 for await (const message of query({

60 prompt: "/compact",63 prompt: "What does the README in this directory cover?",

61 options: { maxTurns: 1 }64 options: { maxTurns: 2 }

62 })) {65 })) {

63 if (message.type === "result" && message.subtype === "success") {66 if (message.type === "result" && message.subtype === "success") {

64 console.log("Command executed:", message.result);67 console.log(message.result);

68 }

69 }

70 } catch (error) {

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

72 // so the follow-up query below still runs.

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

74 }

75 

76 // Send a slash command as a follow-up to the same conversation

77 for await (const message of query({

78 prompt: "/compact",

79 options: { continue: true, maxTurns: 1 }

80 })) {

81 if (message.type === "result") {

82 console.log("Command executed, result subtype:", message.subtype);

83 // Example output: Command executed, result subtype: success

65 }84 }

66 }85 }

67 ```86 ```


72 91 

73 92 

74 async def main():93 async def main():

75 # Send a slash command94 # Build up conversation history first

76 async for message in query(prompt="/compact", options=ClaudeAgentOptions(max_turns=1)):95 try:

96 async for message in query(

97 prompt="What does the README in this directory cover?",

98 options=ClaudeAgentOptions(max_turns=2),

99 ):

100 if isinstance(message, ResultMessage) and message.subtype == "success":

101 print(message.result)

102 except Exception as error:

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

104 # so the follow-up query below still runs.

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

106 

107 # Send a slash command as a follow-up to the same conversation

108 async for message in query(

109 prompt="/compact",

110 options=ClaudeAgentOptions(continue_conversation=True, max_turns=1),

111 ):

77 if isinstance(message, ResultMessage):112 if isinstance(message, ResultMessage):

78 print("Command executed:", message.result)113 print("Command executed, result subtype:", message.subtype)

114 # Example output: Command executed, result subtype: success

79 115 

80 116 

81 asyncio.run(main())117 asyncio.run(main())

82 ```118 ```

83</CodeGroup>119</CodeGroup>

84 120 

121<Note>

122 Eine Abfrage kann mit einem Fehler-Ergebnis enden, beispielsweise wenn das Limit `maxTurns` / `max_turns` erreicht wird, bevor die Arbeit abgeschlossen ist. Die endgültige Ergebnisnachricht hat dann `is_error: true` und einen Fehler-Subtyp wie `error_max_turns` statt `success`.

123 

124 Nach dem Ausgeben dieser endgültigen Ergebnisnachricht wirft das SDK einen Fehler, da der CLI-Prozess mit einem Nicht-Null-Code beendet wird.

125 

126 Umhüllen Sie die Schleife in einem `try`/`catch` in TypeScript oder `try`/`except` in Python, wenn Ihr Befehl das Limit erreichen könnte, wie in [Single Message Input](/de/agent-sdk/streaming-vs-single-mode#single-message-input) gezeigt, oder setzen Sie `maxTurns` hoch genug, damit die Arbeit abgeschlossen wird. In Python fangen Sie `Exception`: Das SDK zeigt Fehler-Ergebnisse als einfache `Exception`.

127</Note>

128 

85<h2 id="common-slash-commands">129<h2 id="common-slash-commands">

86 Häufige Slash Commands130 Häufige Slash Commands

87</h2>131</h2>


90 `/compact` - Konversationsverlauf komprimieren134 `/compact` - Konversationsverlauf komprimieren

91</h3>135</h3>

92 136 

93Der `/compact`-Befehl reduziert die Größe Ihres Konversationsverlaufs, indem er ältere Nachrichten zusammenfasst und dabei wichtigen Kontext bewahrt:137Der `/compact`-Befehl reduziert die Größe Ihres Konversationsverlaufs, indem er ältere Nachrichten zusammenfasst und dabei wichtigen Kontext bewahrt. Die Komprimierung benötigt eine vorhandene Konversation mit mindestens zwei vorherigen Austauschvorgängen zum Zusammenfassen. Dieses Beispiel zeigt zunächst eine Konversation, komprimiert sie dann und liest die `compact_boundary`-Systemnachricht, die das Ergebnis meldet:

94 138 

95<CodeGroup>139<CodeGroup>

96 ```typescript TypeScript theme={null}140 ```typescript TypeScript theme={null}

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

98 142 

143 // Compaction needs existing history, so have a conversation first

144 try {

145 for await (const message of query({

146 prompt: "Explain what this project does",

147 options: { maxTurns: 2 }

148 })) {

149 if (message.type === "result" && message.subtype === "success") {

150 console.log(message.result);

151 }

152 }

153 } catch (error) {

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

155 // so the follow-up query below still runs.

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

157 }

158 

159 // Compact the same conversation

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

100 prompt: "/compact",161 prompt: "/compact",

101 options: { maxTurns: 1 }162 options: { continue: true, maxTurns: 1 }

102 })) {163 })) {

103 if (message.type === "system" && message.subtype === "compact_boundary") {164 if (message.type === "system" && message.subtype === "compact_boundary") {

104 console.log("Compaction completed");165 console.log("Compaction completed");

105 console.log("Pre-compaction tokens:", message.compact_metadata.pre_tokens);166 console.log("Pre-compaction tokens:", message.compact_metadata.pre_tokens);

106 console.log("Trigger:", message.compact_metadata.trigger);167 console.log("Trigger:", message.compact_metadata.trigger);

168 // Example output:

169 // Compaction completed

170 // Pre-compaction tokens: 1842

171 // Trigger: manual

107 }172 }

108 }173 }

109 ```174 ```

110 175 

111 ```python Python theme={null}176 ```python Python theme={null}

112 import asyncio177 import asyncio

113 from claude_agent_sdk import query, ClaudeAgentOptions, SystemMessage178 from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage, SystemMessage

114 179 

115 180 

116 async def main():181 async def main():

117 async for message in query(prompt="/compact", options=ClaudeAgentOptions(max_turns=1)):182 # Compaction needs existing history, so have a conversation first

183 try:

184 async for message in query(

185 prompt="Explain what this project does",

186 options=ClaudeAgentOptions(max_turns=2),

187 ):

188 if isinstance(message, ResultMessage) and message.subtype == "success":

189 print(message.result)

190 except Exception as error:

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

192 # so the follow-up query below still runs.

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

194 

195 # Compact the same conversation

196 async for message in query(

197 prompt="/compact",

198 options=ClaudeAgentOptions(continue_conversation=True, max_turns=1),

199 ):

118 if isinstance(message, SystemMessage) and message.subtype == "compact_boundary":200 if isinstance(message, SystemMessage) and message.subtype == "compact_boundary":

119 print("Compaction completed")201 print("Compaction completed")

120 print("Pre-compaction tokens:", message.data["compact_metadata"]["pre_tokens"])202 print("Pre-compaction tokens:", message.data["compact_metadata"]["pre_tokens"])

121 print("Trigger:", message.data["compact_metadata"]["trigger"])203 print("Trigger:", message.data["compact_metadata"]["trigger"])

204 # Example output:

205 # Compaction completed

206 # Pre-compaction tokens: 1842

207 # Trigger: manual

122 208 

123 209 

124 asyncio.run(main())210 asyncio.run(main())

125 ```211 ```

126</CodeGroup>212</CodeGroup>

127 213 

214<Note>

215 Eine `compact_boundary`-Nachricht kommt nur an, wenn die Komprimierung ausgeführt wurde. Wenn es nichts zu zusammenfassen gibt, meldet `/compact` stattdessen den Grund: Der Durchlauf endet immer noch mit einem `success`-Ergebnis, es wird keine `compact_boundary`-Nachricht ausgegeben, und der Ergebnistext enthält die Nachricht, zum Beispiel `Not enough messages to compact.` nach einem einzelnen kurzen Austausch. Ein neuer einmaliger `query()`-Aufruf startet mit leerem Kontext, daher verwenden Sie dieses Muster in einer Sitzung mit vorherigen Durchläufen, zum Beispiel im [Streaming-Eingabemodus](/de/agent-sdk/streaming-vs-single-mode) oder beim Fortsetzen einer Sitzung.

216</Note>

217 

128<h3 id="/clear-reset-conversation-context">218<h3 id="/clear-reset-conversation-context">

129 `/clear` - Konversationskontext zurücksetzen219 `/clear` - Konversationskontext zurücksetzen

130</h3>220</h3>


170 Grundlegendes Beispiel260 Grundlegendes Beispiel

171</h4>261</h4>

172 262 

173Erstellen Sie `.claude/commands/refactor.md`:263Erstellen Sie das `.claude/commands`-Verzeichnis in Ihrem Projekt, falls es nicht vorhanden ist, und erstellen Sie dann `.claude/commands/refactor.md`:

174 264 

175```markdown theme={null}265```markdown theme={null}

176Refactor the selected code to improve readability and maintainability.266Refactor the selected code to improve readability and maintainability.


189---279---

190allowed-tools: Read, Grep, Glob280allowed-tools: Read, Grep, Glob

191description: Run security vulnerability scan281description: Run security vulnerability scan

192model: claude-opus-4-7282model: claude-opus-4-8

193---283---

194 284 

195Analyze the codebase for security vulnerabilities including:285Analyze the codebase for security vulnerabilities including:


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

211 301 

212 // Use a custom command302 // Use a custom command

303 try {

213 for await (const message of query({304 for await (const message of query({

214 prompt: "/refactor src/auth/login.ts",305 prompt: "/refactor src/auth/login.ts",

215 options: { maxTurns: 3 }306 options: { maxTurns: 3 }


218 console.log("Refactoring suggestions:", message.message);309 console.log("Refactoring suggestions:", message.message);

219 }310 }

220 }311 }

312 } catch (error) {

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

314 // so the second query below still runs.

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

316 }

221 317 

222 // Custom commands appear in the slash_commands list318 // Custom commands appear in the slash_commands list

223 for await (const message of query({319 for await (const message of query({


225 options: { maxTurns: 1 }321 options: { maxTurns: 1 }

226 })) {322 })) {

227 if (message.type === "system" && message.subtype === "init") {323 if (message.type === "system" && message.subtype === "init") {

228 // Will include both built-in and custom commands

229 console.log("Available commands:", message.slash_commands);324 console.log("Available commands:", message.slash_commands);

230 // Example: ["clear", "compact", "context", "usage", "refactor", "security-check"]325 // Includes built-in commands plus bundled skills and your custom commands, for example:

326 // ["clear", "compact", "context", "usage", "code-review", "verify", "refactor", "security-check", ...]

231 }327 }

232 }328 }

233 ```329 ```


239 335 

240 async def main():336 async def main():

241 # Use a custom command337 # Use a custom command

338 try:

242 async for message in query(339 async for message in query(

243 prompt="/refactor src/auth/login.py", options=ClaudeAgentOptions(max_turns=3)340 prompt="/refactor src/auth/login.py", options=ClaudeAgentOptions(max_turns=3)

244 ):341 ):


246 for block in message.content:343 for block in message.content:

247 if hasattr(block, "text"):344 if hasattr(block, "text"):

248 print("Refactoring suggestions:", block.text)345 print("Refactoring suggestions:", block.text)

346 except Exception as error:

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

348 # so the second query below still runs.

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

249 350 

250 # Custom commands appear in the slash_commands list351 # Custom commands appear in the slash_commands list

251 async for message in query(prompt="Hello", options=ClaudeAgentOptions(max_turns=1)):352 async for message in query(prompt="Hello", options=ClaudeAgentOptions(max_turns=1)):

252 if isinstance(message, SystemMessage) and message.subtype == "init":353 if isinstance(message, SystemMessage) and message.subtype == "init":

253 # Will include both built-in and custom commands

254 print("Available commands:", message.data["slash_commands"])354 print("Available commands:", message.data["slash_commands"])

255 # Example: ["clear", "compact", "context", "usage", "refactor", "security-check"]355 # Includes built-in commands plus bundled skills and your custom commands, for example:

356 # ["clear", "compact", "context", "usage", "code-review", "verify", "refactor", "security-check", ...]

256 357 

257 358 

258 asyncio.run(main())359 asyncio.run(main())


384 Praktische Beispiele485 Praktische Beispiele

385</h3>486</h3>

386 487 

387<h4 id="code-review-command">488<h4 id="pull-request-review-command">

388 Code Review-Befehl489 Pull-Request-Review-Befehl

389</h4>490</h4>

390 491 

391Erstellen Sie `.claude/commands/code-review.md`:492Erstellen Sie `.claude/commands/review-pr.md`:

392 493 

393```markdown theme={null}494```markdown theme={null}

394---495---


414Provide specific, actionable feedback organized by priority.515Provide specific, actionable feedback organized by priority.

415```516```

416 517 

518<Note>

519 Claude Code enthält gebündelte `code-review`- und `verify`-Skills. Wenn Sie einen benutzerdefinierten Befehl nach einem von ihnen benennen, z. B. `.claude/commands/code-review.md`, überschattet Ihr Befehl den gebündelten Skill und `slash_commands` listet den Namen einmal auf.

520</Note>

521 

417<h4 id="test-runner-command">522<h4 id="test-runner-command">

418 Test Runner-Befehl523 Test Runner-Befehl

419</h4>524</h4>


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

443 548 

444 // Run code review549 // Run code review

550 try {

445 for await (const message of query({551 for await (const message of query({

446 prompt: "/code-review",552 prompt: "/review-pr",

447 options: { maxTurns: 3 }553 options: { maxTurns: 3 }

448 })) {554 })) {

449 // Process review feedback555 // Process review feedback

450 }556 }

557 } catch (error) {

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

559 // so the second query below still runs.

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

561 }

451 562 

452 // Run specific tests563 // Run specific tests

453 for await (const message of query({564 for await (const message of query({


465 576 

466 async def main():577 async def main():

467 # Run code review578 # Run code review

468 async for message in query(prompt="/code-review", options=ClaudeAgentOptions(max_turns=3)):579 try:

580 async for message in query(prompt="/review-pr", options=ClaudeAgentOptions(max_turns=3)):

469 # Process review feedback581 # Process review feedback

470 pass582 pass

583 except Exception as error:

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

585 # so the second query below still runs.

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

471 587 

472 # Run specific tests588 # Run specific tests

473 async for message in query(prompt="/test auth", options=ClaudeAgentOptions(max_turns=5)):589 async for message in query(prompt="/test auth", options=ClaudeAgentOptions(max_turns=5)):

Details

71 71 

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

73 73 

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

75 

74<CodeGroup>76<CodeGroup>

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

76 import asyncio78 import asyncio


193| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | Nein | Reasoning-Effort-Level für diesen Agent |195| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | Nein | Reasoning-Effort-Level für diesen Agent |

194| `permissionMode` | `PermissionMode` | Nein | Berechtigungsmodus für die Tool-Ausführung innerhalb dieses Agenten |196| `permissionMode` | `PermissionMode` | Nein | Berechtigungsmodus für die Tool-Ausführung innerhalb dieses Agenten |

195 197 

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

197 199 

198<Note>200<Note>

199 {/* min-version: 2.1.172 */}Ab Claude Code v2.1.172 können Subagenten ihre eigenen Subagenten spawnen. Ein Subagent fünf Ebenen unter dem Haupt-Agent kann keine weiteren Subagenten spawnen, unabhängig davon, ob er im Vordergrund oder Hintergrund ausgeführt wird. Um zu verhindern, dass ein Subagent andere spawnt, lassen Sie `Agent` aus seinem `tools`-Array weg oder fügen Sie es zu `disallowedTools` hinzu. Siehe [verschachtelte Subagenten](/de/sub-agents#spawn-nested-subagents) für die vollständigen Tiefenregeln.201 {/* min-version: 2.1.172 */}Ab Claude Code v2.1.172 können Subagenten ihre eigenen Subagenten spawnen. Ein Subagent fünf Ebenen unter dem Haupt-Agent kann keine weiteren Subagenten spawnen, unabhängig davon, ob er im Vordergrund oder Hintergrund ausgeführt wird. Um zu verhindern, dass ein Subagent andere spawnt, lassen Sie `Agent` aus seinem `tools`-Array weg oder fügen Sie es zu `disallowedTools` hinzu. Siehe [verschachtelte Subagenten](/de/sub-agents#spawn-nested-subagents) für die vollständigen Tiefenregeln.


469 session_id = None471 session_id = None

470 472 

471 # First invocation - run the endpoint-finder subagent473 # First invocation - run the endpoint-finder subagent

474 try:

472 async for message in query(475 async for message in query(

473 prompt="Use the endpoint-finder agent to find all API endpoints in this codebase",476 prompt="Use the endpoint-finder agent to find all API endpoints in this codebase",

474 options=ClaudeAgentOptions(allowed_tools=["Read", "Grep", "Glob", "Agent"], agents=AGENTS),477 options=ClaudeAgentOptions(allowed_tools=["Read", "Grep", "Glob", "Agent"], agents=AGENTS),


483 # Print the final result486 # Print the final result

484 if hasattr(message, "result"):487 if hasattr(message, "result"):

485 print(message.result)488 print(message.result)

489 except Exception as error:

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

491 # so session_id and agent_id have already been captured by the loop above.

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

486 493 

487 # Second invocation - resume and ask follow-up494 # Second invocation - resume and ask follow-up

488 if agent_id and session_id:495 if agent_id and session_id:


494 ):501 ):

495 if hasattr(message, "result"):502 if hasattr(message, "result"):

496 print(message.result)503 print(message.result)

504 else:

505 print("No agentId found in the first query, so there is no subagent to resume.")

497 506 

498 507 

499 asyncio.run(main())508 asyncio.run(main())


522 let sessionId: string | undefined;531 let sessionId: string | undefined;

523 532 

524 // First invocation - run the endpoint-finder subagent533 // First invocation - run the endpoint-finder subagent

534 try {

525 for await (const message of query({535 for await (const message of query({

526 prompt: "Use the endpoint-finder agent to find all API endpoints in this codebase",536 prompt: "Use the endpoint-finder agent to find all API endpoints in this codebase",

527 options: { allowedTools: ["Read", "Grep", "Glob", "Agent"], agents }537 options: { allowedTools: ["Read", "Grep", "Glob", "Agent"], agents }


534 // Print the final result544 // Print the final result

535 if ("result" in message) console.log(message.result);545 if ("result" in message) console.log(message.result);

536 }546 }

547 } catch (error) {

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

549 // so sessionId and agentId have already been captured by the loop above.

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

551 }

537 552 

538 // Second invocation - resume and ask follow-up553 // Second invocation - resume and ask follow-up

539 if (agentId && sessionId) {554 if (agentId && sessionId) {


543 })) {558 })) {

544 if ("result" in message) console.log(message.result);559 if ("result" in message) console.log(message.result);

545 }560 }

561 } else {

562 console.log("No agentId found in the first query, so there is no subagent to resume.");

546 }563 }

547 ```564 ```

548</CodeGroup>565</CodeGroup>

Details

475| `allowDangerouslySkipPermissions` | `boolean` | `false` | Aktivieren Sie das Umgehen von Berechtigungen. Erforderlich bei Verwendung von `permissionMode: 'bypassPermissions'` |475| `allowDangerouslySkipPermissions` | `boolean` | `false` | Aktivieren Sie das Umgehen von Berechtigungen. Erforderlich bei Verwendung von `permissionMode: 'bypassPermissions'` |

476| `allowedTools` | `string[]` | `[]` | Tools, die automatisch genehmigt werden, ohne zu fragen. Dies beschränkt Claude nicht nur auf diese Tools; nicht aufgelistete Tools fallen durch `permissionMode` und `canUseTool`. Verwenden Sie `disallowedTools`, um Tools zu blockieren. Siehe [Berechtigungen](/de/agent-sdk/permissions#allow-and-deny-rules) |476| `allowedTools` | `string[]` | `[]` | Tools, die automatisch genehmigt werden, ohne zu fragen. Dies beschränkt Claude nicht nur auf diese Tools; nicht aufgelistete Tools fallen durch `permissionMode` und `canUseTool`. Verwenden Sie `disallowedTools`, um Tools zu blockieren. Siehe [Berechtigungen](/de/agent-sdk/permissions#allow-and-deny-rules) |

477| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | Beta-Funktionen aktivieren |477| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | Beta-Funktionen aktivieren |

478| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | Benutzerdefinierte Berechtigungsfunktion für die Tool-Nutzung |478| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | Benutzerdefinierte Berechtigungsfunktion, die nur aufgerufen wird, wenn der [Berechtigungsfluss](/de/agent-sdk/permissions#how-permissions-are-evaluated) zu einer Eingabeaufforderung führt. Nicht aufgerufen für Aufrufe, die von `allowedTools`, Allow-Regeln oder `permissionMode` automatisch genehmigt werden. Siehe [`CanUseTool`](#canusetool) für Details |

479| `continue` | `boolean` | `false` | Setzen Sie die neueste Konversation fort |479| `continue` | `boolean` | `false` | Setzen Sie die neueste Konversation fort |

480| `cwd` | `string` | `process.cwd()` | Aktuelles Arbeitsverzeichnis |480| `cwd` | `string` | `process.cwd()` | Aktuelles Arbeitsverzeichnis |

481| `debug` | `boolean` | `false` | Aktivieren Sie den Debug-Modus für den Claude Code-Prozess |481| `debug` | `boolean` | `false` | Aktivieren Sie den Debug-Modus für den Claude Code-Prozess |


553* `API_TIMEOUT_MS`: Pro-Request-Timeout auf dem Anthropic-Client in Millisekunden. Standard `600000`. Gilt für die Hauptschleife und alle Subagenten.553* `API_TIMEOUT_MS`: Pro-Request-Timeout auf dem Anthropic-Client in Millisekunden. Standard `600000`. Gilt für die Hauptschleife und alle Subagenten.

554* `CLAUDE_CODE_MAX_RETRIES`: Maximale API-Wiederholungen. Standard `10`, begrenzt auf `15`. Jede Wiederholung erhält sein eigenes `API_TIMEOUT_MS`-Fenster, sodass die schlimmste Wandzeit ungefähr `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` plus Backoff ist. Für unbeaufsichtigte Läufe, die längere Ausfallzeiten abwarten müssen, setzen Sie `CLAUDE_CODE_RETRY_WATCHDOG=1`, um Kapazitätsfehler unbegrenzt zu wiederholen.554* `CLAUDE_CODE_MAX_RETRIES`: Maximale API-Wiederholungen. Standard `10`, begrenzt auf `15`. Jede Wiederholung erhält sein eigenes `API_TIMEOUT_MS`-Fenster, sodass die schlimmste Wandzeit ungefähr `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` plus Backoff ist. Für unbeaufsichtigte Läufe, die längere Ausfallzeiten abwarten müssen, setzen Sie `CLAUDE_CODE_RETRY_WATCHDOG=1`, um Kapazitätsfehler unbegrenzt zu wiederholen.

555* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: Stall-Watchdog für Subagenten, die mit `run_in_background` gestartet werden. Standard `600000`. Setzt sich bei jedem Stream-Ereignis zurück; bei Stall bricht es den Subagenten ab, markiert die Aufgabe als fehlgeschlagen und zeigt den Fehler dem übergeordneten Element mit jedem Teilergebnis. Gilt nicht für synchrone Subagenten.555* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: Stall-Watchdog für Subagenten, die mit `run_in_background` gestartet werden. Standard `600000`. Setzt sich bei jedem Stream-Ereignis zurück; bei Stall bricht es den Subagenten ab, markiert die Aufgabe als fehlgeschlagen und zeigt den Fehler dem übergeordneten Element mit jedem Teilergebnis. Gilt nicht für synchrone Subagenten.

556* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: Bricht die Anfrage ab, wenn Header angekommen sind, aber der Antwortkörper nicht mehr streamt. Wenn `CLAUDE_ENABLE_STREAM_WATCHDOG` nicht gesetzt ist, ist der Standard servergesteuert auf der direkten Anthropic API und auf anderen Providern deaktiviert. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` hat einen Standard von `300000` und ist auf dieses Minimum begrenzt. Die abgebrochene Anfrage durchläuft den normalen Wiederholungspfad.556* `CLAUDE_ENABLE_STREAM_WATCHDOG` mit `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: Bricht die Anfrage ab, wenn Header angekommen sind, aber der Antwortkörper nicht mehr streamt. Der Watchdog ist standardmäßig für alle Provider aktiviert; setzen Sie `CLAUDE_ENABLE_STREAM_WATCHDOG=0`, um ihn zu deaktivieren. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` hat einen Standard von `300000` und ist auf dieses Minimum begrenzt. Die abgebrochene Anfrage durchläuft den normalen Wiederholungspfad.

557 557 

558<h3 id="query-object">558<h3 id="query-object">

559 `Query`-Objekt559 `Query`-Objekt


573 setMaxThinkingTokens(maxThinkingTokens: number | null): Promise<void>;573 setMaxThinkingTokens(maxThinkingTokens: number | null): Promise<void>;

574 applyFlagSettings(settings: { [K in keyof Settings]?: Settings[K] | null }): Promise<void>;574 applyFlagSettings(settings: { [K in keyof Settings]?: Settings[K] | null }): Promise<void>;

575 initializationResult(): Promise<SDKControlInitializeResponse>;575 initializationResult(): Promise<SDKControlInitializeResponse>;

576 reinitialize(): Promise<SDKControlInitializeResponse>;

576 supportedCommands(): Promise<SlashCommand[]>;577 supportedCommands(): Promise<SlashCommand[]>;

577 supportedModels(): Promise<ModelInfo[]>;578 supportedModels(): Promise<ModelInfo[]>;

578 supportedAgents(): Promise<AgentInfo[]>;579 supportedAgents(): Promise<AgentInfo[]>;


592</h4>593</h4>

593 594 

594| Methode | Beschreibung |595| Methode | Beschreibung |

595| :------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |596| :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

596| `interrupt()` | Unterbricht die Abfrage (nur im Streaming-Eingabemodus verfügbar) |597| `interrupt()` | Unterbricht die Abfrage (nur im Streaming-Eingabemodus verfügbar) |

597| `rewindFiles(userMessageId, options?)` | Stellt Dateien in ihren Zustand bei der angegebenen Benutzer-Nachricht wieder her. Übergeben Sie `{ dryRun: true }`, um Änderungen in der Vorschau anzuzeigen. Erfordert `enableFileCheckpointing: true`. Siehe [Datei-Checkpointing](/de/agent-sdk/file-checkpointing) |598| `rewindFiles(userMessageId, options?)` | Stellt Dateien in ihren Zustand bei der angegebenen Benutzer-Nachricht wieder her. Übergeben Sie `{ dryRun: true }`, um Änderungen in der Vorschau anzuzeigen. Erfordert `enableFileCheckpointing: true`. Siehe [Datei-Checkpointing](/de/agent-sdk/file-checkpointing) |

598| `setPermissionMode()` | Ändert den Berechtigungsmodus (nur im Streaming-Eingabemodus verfügbar) |599| `setPermissionMode()` | Ändert den Berechtigungsmodus (nur im Streaming-Eingabemodus verfügbar) |


600| `setMaxThinkingTokens()` | *Veraltet:* Verwenden Sie stattdessen die `thinking`-Option. Ändert die maximalen Denk-Token |601| `setMaxThinkingTokens()` | *Veraltet:* Verwenden Sie stattdessen die `thinking`-Option. Ändert die maximalen Denk-Token |

601| `applyFlagSettings(settings)` | Führt Einstellungen zur Laufzeit in die Flag-Einstellungsebene der Sitzung zusammen (nur im Streaming-Eingabemodus verfügbar). Siehe [`applyFlagSettings()`](#applyflagsettings) |602| `applyFlagSettings(settings)` | Führt Einstellungen zur Laufzeit in die Flag-Einstellungsebene der Sitzung zusammen (nur im Streaming-Eingabemodus verfügbar). Siehe [`applyFlagSettings()`](#applyflagsettings) |

602| `initializationResult()` | Gibt das vollständige Initialisierungsergebnis zurück, einschließlich unterstützter Befehle, Modelle, Kontoinformationen und Ausgabestil-Konfiguration |603| `initializationResult()` | Gibt das vollständige Initialisierungsergebnis zurück, einschließlich unterstützter Befehle, Modelle, Kontoinformationen und Ausgabestil-Konfiguration |

604| `reinitialize()` | {/* min-version: 2.1.195 */}Sendet die `initialize`-Steueranfrage erneut an die laufende CLI und gibt ein frisches Ergebnis anstelle des zwischengespeicherten First-Connect-Ergebnisses zurück. Verwenden Sie es nach einer Transportlücke, z. B. nach dem Wiederherstellen einer Verbindung zu einer Sitzung nach einer Trennung, damit ausstehende Berechtigungsanfragen Ihren `canUseTool`-Callback erneut erreichen. Machen Sie den Callback idempotent pro Request-ID, da eine Anfrage, deren Antwort verloren ging, erneut versendet wird. Erfordert Claude Code v2.1.195 oder später |

603| `supportedCommands()` | Gibt verfügbare Slash-Befehle zurück |605| `supportedCommands()` | Gibt verfügbare Slash-Befehle zurück |

604| `supportedModels()` | Gibt verfügbare Modelle mit Anzeigeinformationen zurück |606| `supportedModels()` | Gibt verfügbare Modelle mit Anzeigeinformationen zurück |

605| `supportedAgents()` | Gibt verfügbare Subagenten als [`AgentInfo`](#agentinfo)`[]` zurück |607| `supportedAgents()` | Gibt verfügbare Subagenten als [`AgentInfo`](#agentinfo)`[]` zurück |


689 691 

690Wenn ein Client `initialize` an eine bereits laufende Sitzung sendet, trägt der Control-Response-Wrapper auch ein optionales `pending_permission_requests`-Array. Das Feld befindet sich auf dem Response-Wrapper selbst, nicht in der oben beschriebenen `SDKControlInitializeResponse`-Nutzlast. Jeder Eintrag ist eine vollständige `control_request`-Nachricht mit der gleichen `{ type: "control_request", request_id, request }`-Form, die die Sitzung für Berechtigungsanfragen während der Ausführung streamt.692Wenn ein Client `initialize` an eine bereits laufende Sitzung sendet, trägt der Control-Response-Wrapper auch ein optionales `pending_permission_requests`-Array. Das Feld befindet sich auf dem Response-Wrapper selbst, nicht in der oben beschriebenen `SDKControlInitializeResponse`-Nutzlast. Jeder Eintrag ist eine vollständige `control_request`-Nachricht mit der gleichen `{ type: "control_request", request_id, request }`-Form, die die Sitzung für Berechtigungsanfragen während der Ausführung streamt.

691 693 

692Dies sind Anfragen, die vor der Verbindung des Clients gestellt wurden und noch auf eine Antwort warten, daher lesen Sie dieses Array, um In-Flight-Berechtigungsaufforderungen sofort anzuzeigen; sie werden nicht erneut gesendet.694Dies sind Anfragen, die vor der Verbindung des Clients gestellt wurden und noch auf eine Antwort warten. Das SDK liest das Array für Sie und versendet jeden Eintrag an Ihren [`canUseTool`](#canusetool)-Callback, die gleiche Wiederversendung, die [`reinitialize()`](#query-object) nach einer Transportlücke auslöst. Behandeln Sie wiederholte Request-IDs idempotent, da ein Eintrag eine Anfrage wiederholen kann, die der Callback bereits erhalten hat, bevor die Verbindung unterbrochen wurde.

693 695 

694<h3 id="agentdefinition">696<h3 id="agentdefinition">

695 `AgentDefinition`697 `AgentDefinition`


886 888 

887Benutzerdefinierte Berechtigungsfunktionstyp zur Steuerung der Tool-Nutzung.889Benutzerdefinierte Berechtigungsfunktionstyp zur Steuerung der Tool-Nutzung.

888 890 

891Die Funktion ist der SDK-Ersatz für die interaktive Berechtigungsaufforderung: Sie wird nur aufgerufen, wenn der [Berechtigungsbewertungsfluss](/de/agent-sdk/permissions#how-permissions-are-evaluated) zu einer Eingabeaufforderung führt. Tool-Aufrufe, die bereits von einem `allowedTools`-Eintrag, einer Settings-Allow-Regel oder dem Berechtigungsmodus wie `acceptEdits` oder `bypassPermissions` genehmigt wurden, rufen ihn nie auf. Um jeden Tool-Aufruf zu gaten, verwenden Sie stattdessen einen [`PreToolUse`-Hook](/de/agent-sdk/hooks).

892 

889```typescript theme={null}893```typescript theme={null}

890type CanUseTool = (894type CanUseTool = (

891 toolName: string,895 toolName: string,


1531 session_id: string;1535 session_id: string;

1532 transcript_path: string;1536 transcript_path: string;

1533 cwd: string;1537 cwd: string;

1538 prompt_id?: string;

1534 permission_mode?: string;1539 permission_mode?: string;

1535 effort?: { level: string };1540 effort?: { level: string };

1536 agent_id?: string;1541 agent_id?: string;


1538};1543};

1539```1544```

1540 1545 

1546Das Feld `prompt_id` ist eine UUID, die die derzeit verarbeitete Benutzereingabe identifiziert. Sie entspricht dem [`prompt.id`-Attribut bei OpenTelemetry-Ereignissen](/de/monitoring-usage#event-correlation-attributes) und ist bis zur ersten Benutzereingabe nicht vorhanden. Erfordert Claude Code v2.1.196 oder später.

1547 

1541<h4 id="pretoolusehookinput">1548<h4 id="pretoolusehookinput">

1542 `PreToolUseHookInput`1549 `PreToolUseHookInput`

1543</h4>1550</h4>


2037 2044 

2038```typescript theme={null}2045```typescript theme={null}

2039type MonitorInput = {2046type MonitorInput = {

2040 command: string;2047 command?: string;

2048 ws?: {

2049 url: string;

2050 protocols?: string[];

2051 };

2041 description: string;2052 description: string;

2042 timeout_ms?: number;2053 timeout_ms?: number;

2043 persistent?: boolean;2054 persistent?: boolean;

2044};2055};

2045```2056```

2046 2057 

2047Führt ein Hintergrund-Skript aus und liefert jede Stdout-Zeile an Claude als Ereignis, damit es reagieren kann, ohne zu pollen. Setzen Sie `persistent: true` für Sitzungslängen-Watches wie Log-Tails. Monitor folgt den gleichen Berechtigungsregeln wie Bash. Siehe die [Monitor-Tool-Referenz](/de/tools-reference#monitor-tool) für Verhalten und Anbieter-Verfügbarkeit.2058Führt eine Hintergrundquelle aus und liefert jedes Ereignis an Claude, damit es reagieren kann, ohne zu pollen: `command` führt ein Skript aus und gibt ein Ereignis pro Stdout-Zeile aus, und `ws` öffnet einen WebSocket und gibt ein Ereignis pro Textframe aus. Geben Sie genau eines von `command` oder `ws` an. {/* min-version: 2.1.195 */}Die `ws`-Quelle erfordert Claude Code v2.1.195 oder später.

2059 

2060Setzen Sie `persistent: true` für Sitzungslängen-Watches wie Log-Tails. Wenn Monitor einen Befehl ausführt, folgt es den gleichen Berechtigungsregeln wie Bash; ein WebSocket-Watch fordert separat zur Genehmigung auf. Siehe die [Monitor-Tool-Referenz](/de/tools-reference#monitor-tool) für Verhalten und Anbieter-Verfügbarkeit.

2048 2061 

2049<h3 id="taskoutput">2062<h3 id="taskoutput">

2050 TaskOutput2063 TaskOutput


2236Führt einen [dynamischen Workflow](/de/workflows) aus: ein Skript, das viele Subagenten im Hintergrund orchestriert und ein konsolidiertes Ergebnis zurückgibt. Das `Workflow`-Tool ist in Agent SDK v0.3.149 und später verfügbar. Mindestens eines von `script`, `name` oder `scriptPath` ist erforderlich.2249Führt einen [dynamischen Workflow](/de/workflows) aus: ein Skript, das viele Subagenten im Hintergrund orchestriert und ein konsolidiertes Ergebnis zurückgibt. Das `Workflow`-Tool ist in Agent SDK v0.3.149 und später verfügbar. Mindestens eines von `script`, `name` oder `scriptPath` ist erforderlich.

2237 2250 

2238| Feld | Typ | Beschreibung |2251| Feld | Typ | Beschreibung |

2239| ----------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2252| ----------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2240| `script` | `string` | Inline-Workflow-Skript. Muss mit `export const meta = { name, description, phases }` als Literal beginnen, gefolgt vom Skript-Body mit `agent()`, `parallel()`, `pipeline()` und `phase()` |2253| `script` | `string` | Inline-Workflow-Skript. Muss mit `export const meta = { name, description }` als Literal beginnen, gefolgt vom Skript-Body mit `agent()`, `parallel()`, `pipeline()` und `phase()`. Ein optionales `phases`-Array in `meta` gruppiert Agenten unter benannten Phasen in der Fortschrittsansicht |

2241| `name` | `string` | Name eines integrierten Workflows oder eines in `.claude/workflows/` gespeicherten. Wird zu einem Skript aufgelöst |2254| `name` | `string` | Name eines integrierten Workflows oder eines in `.claude/workflows/` gespeicherten. Wird zu einem Skript aufgelöst |

2242| `scriptPath` | `string` | Pfad zu einer Workflow-Skriptdatei auf der Festplatte. Hat Vorrang vor `script` und `name`. Jeder Aufruf speichert sein Skript und gibt den Pfad im Ergebnis zurück, sodass Sie diese Datei bearbeiten und erneut mit demselben `scriptPath` aufrufen können, um zu iterieren |2255| `scriptPath` | `string` | Pfad zu einer Workflow-Skriptdatei auf der Festplatte. Hat Vorrang vor `script` und `name`. Jeder Aufruf speichert sein Skript und gibt den Pfad im Ergebnis zurück, sodass Sie diese Datei bearbeiten und erneut mit demselben `scriptPath` aufrufen können, um zu iterieren |

2243| `args` | `unknown` | Eingabewert, der dem Skript als globales `args` verfügbar gemacht wird, für parametrisierte benannte Workflows wie eine Forschungsfrage oder eine Liste von Dateipfaden. Übergeben Sie Arrays und Objekte als tatsächliche JSON-Werte, nicht als JSON-codierte Zeichenkette |2256| `args` | `unknown` | Eingabewert, der dem Skript als globales `args` verfügbar gemacht wird, für parametrisierte benannte Workflows wie eine Forschungsfrage oder eine Liste von Dateipfaden. Übergeben Sie Arrays und Objekte als tatsächliche JSON-Werte, nicht als JSON-codierte Zeichenkette |


3098```3111```

3099 3112 

3100<Warning>3113<Warning>

3101 Das `context-1m-2025-08-07`-Beta ist ab dem 30. April 2026 veraltet. Das Übergeben dieses Wertes mit Claude Sonnet 4.5 oder Sonnet 4 hat keine Auswirkung, und Anfragen, die das Standard-200k-Token-Kontextfenster überschreiten, geben einen Fehler zurück. Um ein 1M-Token-Kontextfenster zu verwenden, migrieren Sie zu [Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7 oder Claude Opus 4.8](https://platform.claude.com/docs/de/about-claude/models/overview), die 1M-Kontext zu Standardpreisen ohne Beta-Header enthalten.3114 Das `context-1m-2025-08-07`-Beta ist ab dem 30. April 2026 veraltet. Das Übergeben dieses Wertes mit Claude Sonnet 4.5 oder Sonnet 4 hat keine Auswirkung, und Anfragen, die das Standard-200k-Token-Kontextfenster überschreiten, geben einen Fehler zurück. Um ein 1M-Token-Kontextfenster zu verwenden, migrieren Sie zu [Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7 oder Claude Opus 4.8](https://platform.claude.com/docs/de/about-claude/models/overview), die 1M-Kontext zu Standardpreisen ohne Beta-Header enthalten.

3102</Warning>3115</Warning>

3103 3116 

3104<h3 id="slashcommand">3117<h3 id="slashcommand">

Details

44 44 

45Der Callback wird in zwei Fällen ausgelöst:45Der Callback wird in zwei Fällen ausgelöst:

46 46 

471. **Tool benötigt Genehmigung**: Claude möchte ein Tool verwenden, das nicht durch [Berechtigungsregeln](/de/agent-sdk/permissions) oder Modi automatisch genehmigt wird. Überprüfen Sie `tool_name` auf das Tool (z. B. `"Bash"`, `"Write"`).471. **Tool benötigt Genehmigung**: Claude möchte ein Tool verwenden, das nicht durch eine [Berechtigungsregel](/de/agent-sdk/permissions) oder einen Berechtigungsmodus automatisch genehmigt wird. Überprüfen Sie `tool_name` auf das Tool (z. B. `"Bash"`, `"Write"`).

482. **Claude stellt eine Frage**: Claude ruft das `AskUserQuestion`-Tool auf. Überprüfen Sie, ob `tool_name == "AskUserQuestion"`, um es anders zu behandeln. Wenn Sie ein `tools`-Array angeben, fügen Sie `AskUserQuestion` ein, damit dies funktioniert. Siehe [Klärungsfragen verarbeiten](#handle-clarifying-questions) für Details.482. **Claude stellt eine Frage**: Claude ruft das `AskUserQuestion`-Tool auf. Überprüfen Sie, ob `tool_name == "AskUserQuestion"`, um es anders zu behandeln. Wenn Sie ein `tools`-Array angeben, fügen Sie `AskUserQuestion` ein, damit dies funktioniert. Siehe [Klärungsfragen verarbeiten](#handle-clarifying-questions) für Details.

49 49 

50<Note>50<Warning>

51 Um Tools automatisch zuzulassen oder abzulehnen, ohne Benutzer zu fragen, verwenden Sie stattdessen [Hooks](/de/agent-sdk/hooks). Hooks werden vor `canUseTool` ausgeführt und können Anfragen basierend auf Ihrer eigenen Logik zulassen, ablehnen oder ändern. Sie können auch den [`PermissionRequest`-Hook](/de/agent-sdk/hooks#available-hooks) verwenden, um externe Benachrichtigungen (Slack, E-Mail, Push) zu senden, wenn Claude auf Genehmigung wartet.51 **Der Callback wird nie für automatisch genehmigten Tools ausgelöst.** Jede Genehmigung früher im [Berechtigungsevaluierungsfluss](/de/agent-sdk/permissions#how-permissions-are-evaluated), eine Zulassungsregel oder ein Modus wie `acceptEdits` oder `bypassPermissions`, löst den Aufruf auf, bevor `canUseTool` konsultiert wird. Wenn Sie ein Tool einfach in `allowed_tools` auflisten, wird eine `canUseTool`-Überprüfung für dieses Tool nie ausgeführt, es sei denn, eine Abfrage-Regel oder der `plan`-Modus leitet den Aufruf zurück zu einer Eingabeaufforderung. Für Logik, die auf jeden Tool-Aufruf angewendet werden muss, verwenden Sie einen [`PreToolUse`-Hook](/de/agent-sdk/hooks), der vor dem Rest des Flusses ausgeführt wird und Anfragen zulassen, ablehnen oder ändern kann.

52</Note>52</Warning>

53 

54Sie können auch den [`PermissionRequest`-Hook](/de/agent-sdk/hooks#available-hooks) verwenden, um externe Benachrichtigungen (Slack, E-Mail, Push) zu senden, wenn Claude auf Genehmigung wartet.

53 55 

54<h2 id="handle-tool-approval-requests">56<h2 id="handle-tool-approval-requests">

55 Tool-Genehmigungsanfragen verarbeiten57 Tool-Genehmigungsanfragen verarbeiten

agent-view.md +65 −37

Details

76 76 

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

78 78 

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

80 80 

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

82claude agents --cwd ~/projects/my-app82claude agents --cwd ~/projects/my-app


143 143 

144Die einzeilige Zusammenfassung in jeder Zeile wird von einem [Haiku-Klasse-Modell](/de/model-config) generiert, sodass die Zeile Ihnen zeigen kann, was die Sitzung tut, was sie benötigt oder was sie produziert hat, ohne das Transkript zu öffnen. Während eine Sitzung aktiv funktioniert, wird die Zusammenfassung höchstens alle 15 Sekunden aktualisiert, plus einmal, wenn jede Runde endet.144Die einzeilige Zusammenfassung in jeder Zeile wird von einem [Haiku-Klasse-Modell](/de/model-config) generiert, sodass die Zeile Ihnen zeigen kann, was die Sitzung tut, was sie benötigt oder was sie produziert hat, ohne das Transkript zu öffnen. Während eine Sitzung aktiv funktioniert, wird die Zusammenfassung höchstens alle 15 Sekunden aktualisiert, plus einmal, wenn jede Runde endet.

145 145 

146Ab v2.1.161 wird, wenn die Sitzung zwei oder mehr parallele Arbeitselemente ausführt, wie z. B. Subagenten, Hintergrund-Shell-Befehle oder Monitore, eine `done/total`-Anzahl wie `2/5` vor dem Zusammenfassungstext angezeigt.146Wenn die Sitzung zwei oder mehr parallele Arbeitselemente ausführt, wie z. B. Subagenten, Hintergrund-Shell-Befehle oder Monitore, wird eine `done/total`-Anzahl wie `2/5` vor dem Zusammenfassungstext angezeigt.

147 147 

148Jede Aktualisierung ist eine kurze Haiku-Klasse-Anfrage durch Ihren normalen Anbieter, abgerechnet und behandelt unter denselben [Datennutzungsbedingungen](/de/data-usage) wie die Sitzung selbst. Bei Drittanbieter-Anbietern wie Bedrock, Vertex AI, Microsoft Foundry und benutzerdefinierten Gateways wird die Anfrage auf das Hauptmodell der Sitzung zurückgeführt, wenn kein Haiku-Modell konfiguriert ist. Legen Sie [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/de/model-config#environment-variables) fest, um das Modell für diese Zusammenfassungen bei diesen Anbietern auszuwählen.148Jede Aktualisierung ist eine kurze Haiku-Klasse-Anfrage durch Ihren normalen Anbieter, abgerechnet und behandelt unter denselben [Datennutzungsbedingungen](/de/data-usage) wie die Sitzung selbst. Bei Drittanbieter-Anbietern wie Bedrock, Vertex AI, Microsoft Foundry und benutzerdefinierten Gateways wird die Anfrage auf das Hauptmodell der Sitzung zurückgeführt, wenn kein Haiku-Modell konfiguriert ist. Legen Sie [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/de/model-config#environment-variables) fest, um das Modell für diese Zusammenfassungen bei diesen Anbietern auszuwählen.

149 149 


172 172 

173Drücken Sie `Space` auf einer ausgewählten Zeile, um das Vorschau-Panel zu öffnen. Es zeigt, was die Sitzung von Ihnen benötigt, ihre neueste Ausgabe und alle Pull Requests, die sie geöffnet hat. Meistens reicht dies aus, und Sie müssen das vollständige Transkript nie öffnen.173Drücken Sie `Space` auf einer ausgewählten Zeile, um das Vorschau-Panel zu öffnen. Es zeigt, was die Sitzung von Ihnen benötigt, ihre neueste Ausgabe und alle Pull Requests, die sie geöffnet hat. Meistens reicht dies aus, und Sie müssen das vollständige Transkript nie öffnen.

174 174 

175Ab v2.1.161 benennt das Panel auch das am längsten laufende Arbeitselement, wenn die Sitzung parallele Arbeitselemente ausführt, und wie lange es läuft, sodass Sie sehen können, worauf die Sitzung wartet, ohne sich anzuhängen.175Wenn die Sitzung parallele Arbeitselemente ausführt, benennt das Panel auch das am längsten laufende Arbeitselement und wie lange es läuft, sodass Sie sehen können, worauf die Sitzung wartet, ohne sich anzuhängen.

176 176 

177Geben Sie eine Antwort im Vorschau-Panel ein und drücken Sie `Enter`, um sie an diese Sitzung zu senden. Wenn die Sitzung eine Multiple-Choice-Frage stellt, zeigt das Vorschau-Panel die Optionen an und Sie können eine Zahlentaste drücken, um eine auszuwählen. Für andere blockierte Sitzungen drücken Sie `Tab`, um die Eingabe mit einer vorgeschlagenen Antwort zu füllen, die Sie vor dem Senden bearbeiten können. Präfixieren Sie eine Antwort mit `!`, um stattdessen einen Bash-Befehl zu senden.177Geben Sie eine Antwort im Vorschau-Panel ein und drücken Sie `Enter`, um sie an diese Sitzung zu senden. Wenn die Sitzung eine Multiple-Choice-Frage stellt, zeigt das Vorschau-Panel die Optionen an und Sie können eine Zahlentaste drücken, um eine auszuwählen. Für andere blockierte Sitzungen drücken Sie `Tab`, um die Eingabe mit einer vorgeschlagenen Antwort zu füllen, die Sie vor dem Senden bearbeiten können. Präfixieren Sie eine Antwort mit `!`, um stattdessen einen Bash-Befehl zu senden.

178 178 

179Ab v2.1.145 können Sie mit [Sprachdiktat](/de/voice-dictation) aktiviert Ihre Push-to-Talk-Taste halten oder tippen, während die Antwort-Eingabe fokussiert ist, um eine Antwort zu diktieren, anstatt sie einzugeben. Das Gleiche funktioniert in der Versand-Eingabe am unteren Rand der Agenten-Ansicht.179Mit [Sprachdiktat](/de/voice-dictation) aktiviert können Sie Ihre Push-to-Talk-Taste halten oder tippen, während die Antwort-Eingabe fokussiert ist, um eine Antwort zu diktieren, anstatt sie einzugeben. Das Gleiche funktioniert in der Versand-Eingabe am unteren Rand der Agenten-Ansicht.

180 180 

181Verwenden Sie `↑` und `↓`, um benachbarte Sitzungen in der Vorschau anzuzeigen, ohne das Panel zu schließen, oder `→`, um sich anzuhängen.181Verwenden Sie `↑` und `↓`, um benachbarte Sitzungen in der Vorschau anzuzeigen, ohne das Panel zu schließen, oder `→`, um sich anzuhängen.

182 182 


196 196 

197Das Abhängen stoppt niemals eine Hintergrund-Sitzung: `←`, `Ctrl+Z`, `/exit` und doppeltes `Ctrl+C` oder doppeltes `Ctrl+D` lassen sie alle laufen. Um eine Sitzung von innen zu beenden, führen Sie `/stop` aus.197Das Abhängen stoppt niemals eine Hintergrund-Sitzung: `←`, `Ctrl+Z`, `/exit` und doppeltes `Ctrl+C` oder doppeltes `Ctrl+D` lassen sie alle laufen. Um eine Sitzung von innen zu beenden, führen Sie `/stop` aus.

198 198 

199Das Drücken von `←` auf einer leeren Eingabeaufforderung funktioniert aus jeder Claude Code-Sitzung, nicht nur aus denjenigen, an denen Sie angehängt sind. Es verschiebt die aktuelle Sitzung in den Hintergrund und öffnet die Agenten-Ansicht mit dieser Zeile ausgewählt, sodass Sie zwischen Sitzungen wechseln können, ohne das Terminal zu verlassen. Die Zeile wird auch aus einer neuen Sitzung ohne Gesprächsverlauf erstellt, sodass `→` zu ihr zurückkehrt. Wenn diese Zeile die einzige ist, zeigt die Agenten-Ansicht einen Onboarding-Hinweis darunter an. Sie können diesen Tastaturkürzel in `/config` ausschalten (die `leftArrowOpensAgents`-Einstellung).199In einer Sitzung, die im Vordergrund läuft, eine, die Sie im Terminal gestartet haben, anstatt sich von der Agenten-Ansicht anzuhängen, verschiebt das Drücken von `←` auf einer leeren Eingabeaufforderung sie in den Hintergrund und öffnet die Agenten-Ansicht mit dieser Zeile ausgewählt, sodass Sie zwischen Sitzungen wechseln können, ohne das Terminal zu verlassen. Der gleiche einzelne Druck hängt eine angehängte Sitzung ab.

200 

201Wenn ein Tool läuft, wenn Sie `←` drücken, wartet Claude Code bis zu etwa zehn Sekunden, bis es fertig ist, bevor es in den Hintergrund geht, und die Antwort wird in der Hintergrund-Sitzung fortgesetzt. Drücken Sie `←` erneut, um sofort in den Hintergrund zu gehen, anstatt zu warten. Wenn laufende Arbeit nicht zur Hintergrund-Sitzung übertragen werden kann, wird zuerst das Dialog `Background this session?` angezeigt, genauso wie mit [`/background`](#from-inside-a-session).

202 

203Die Zeile wird auch aus einer neuen Sitzung ohne Gesprächsverlauf erstellt, sodass `→` zu ihr zurückkehrt. Wenn diese Zeile die einzige ist, zeigt die Agenten-Ansicht einen Onboarding-Hinweis darunter an.

204 

205Sie können diesen Tastaturkürzel in `/config` ausschalten (die `leftArrowOpensAgents`-Einstellung).

200 206 

201<h3 id="organize-the-list">207<h3 id="organize-the-list">

202 Die Liste organisieren208 Die Liste organisieren

203</h3>209</h3>

204 210 

205Die Agenten-Ansicht gruppiert Sitzungen, sodass diejenigen, die Eingabe benötigen, oben sind, mit `Bereit zur Überprüfung` und `Benötigt Eingabe` über `Funktioniert` und `Abgeschlossen`. Diese Gruppennamen entsprechen nicht eins-zu-eins den [Status](#read-session-state) oben: Eine Sitzung wechselt zu `Bereit zur Überprüfung`, wenn sie einen offenen Pull Request hat, und `Abgeschlossen` sammelt beendete, fehlgeschlagene und gestoppte Sitzungen zusammen. Drücken Sie `Ctrl+S`, um stattdessen nach Verzeichnis zu gruppieren. Ihre Wahl wird über Läufe hinweg gespeichert.211Die Agenten-Ansicht gruppiert Sitzungen, sodass diejenigen, die Eingabe benötigen, oben sind, mit `Bereit zur Überprüfung` und `Benötigt Eingabe` über `Funktioniert` und `Abgeschlossen`. Diese Gruppennamen entsprechen nicht eins-zu-eins den [Status](#read-session-state) oben: Eine Sitzung wechselt zu `Bereit zur Überprüfung`, wenn sie einen offenen Pull Request hat, und `Abgeschlossen` sammelt beendete, fehlgeschlagene und gestoppte Sitzungen zusammen.

212 

213Drücken Sie `Ctrl+S`, um stattdessen nach Verzeichnis zu gruppieren. Ihre Wahl wird über Läufe hinweg gespeichert.

206 214 

207Innerhalb einer Gruppe:215Innerhalb einer Gruppe:

208 216 


215 223 

216Das Löschen entfernt die Sitzung aus der Agenten-Ansicht. Wenn Claude [einen Worktree erstellt hat](#how-file-edits-are-isolated) für die Sitzung, entfernt das Löschen auch diesen Worktree, einschließlich aller nicht committeten Änderungen darin, sodass Sie Arbeit, die Sie behalten möchten, zuerst pushen oder committen sollten. Ein Worktree, den Sie selbst erstellt haben und die Sitzung darin gestartet haben, wird an Ort und Stelle gelassen. Das Gesprächstranskript bleibt auf Ihrem lokalen Computer und bleibt über `claude --resume` verfügbar.224Das Löschen entfernt die Sitzung aus der Agenten-Ansicht. Wenn Claude [einen Worktree erstellt hat](#how-file-edits-are-isolated) für die Sitzung, entfernt das Löschen auch diesen Worktree, einschließlich aller nicht committeten Änderungen darin, sodass Sie Arbeit, die Sie behalten möchten, zuerst pushen oder committen sollten. Ein Worktree, den Sie selbst erstellt haben und die Sitzung darin gestartet haben, wird an Ort und Stelle gelassen. Das Gesprächstranskript bleibt auf Ihrem lokalen Computer und bleibt über `claude --resume` verfügbar.

217 225 

218Ältere abgeschlossene Sitzungen werden in eine Zeile `… N more` eingeklappt, um die Liste kurz zu halten. Fehler und Sitzungen mit einem offenen Pull Request bleiben immer sichtbar.226Abgeschlossene Sitzungen, die nicht auf den Bildschirm passen, werden in eine Zeile `… N more` eingeklappt. Fehler und Sitzungen mit einem offenen Pull Request bleiben immer sichtbar. Die Gruppe `Abgeschlossen` füllt den verbleibenden vertikalen Platz nach den Live-Gruppen, und auf einem kurzen Terminal wird die Kopfzeile auf eine einzelne Zusammenfassungszeile komprimiert, sodass Sitzungen, die funktionieren oder Eingabe benötigen, sichtbar bleiben.

219 227 

220<h3 id="filter-sessions">228<h3 id="filter-sessions">

221 Sitzungen filtern229 Sitzungen filtern


305 313 

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

307 315 

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

317 

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

319 

320Sobald sich die Sitzung im Hintergrund befindet, kann sie neue Subagenten, Monitore und Hintergrund-Befehle starten, und diese laufen bei späteren Trennungen und Wiederverbindungen weiter.

309 321 

310Konfigurationsflags aus dem ursprünglichen Start werden auf die versendete Sitzung übertragen, sodass ihre MCP-Server, Einstellungen und Fallback-Modell weiterhin wirksam sind:322Konfigurationsflags aus dem ursprünglichen Start werden auf die versendete Sitzung übertragen, sodass ihre MCP-Server, Einstellungen und Fallback-Modell weiterhin wirksam sind:

311 323 


394}406}

395```407```

396 408 

397<Note>

398 Die Einstellung `worktree.bgIsolation` erfordert Claude Code v2.1.143 oder später.

399</Note>

400 

401Außerhalb eines Git-Repositories schreiben Sitzungen direkt in das Arbeitsverzeichnis und sind nicht voneinander isoliert, daher vermeiden Sie das Versenden paralleler Sitzungen, die dieselben Dateien bearbeiten. Wenn Sie ein anderes Versionskontrollsystem verwenden, konfigurieren Sie einen [`WorktreeCreate`-Hook](/de/worktrees#non-git-version-control) und Claude isoliert Bearbeitungen auf die gleiche Weise wie für Git.409Außerhalb eines Git-Repositories schreiben Sitzungen direkt in das Arbeitsverzeichnis und sind nicht voneinander isoliert, daher vermeiden Sie das Versenden paralleler Sitzungen, die dieselben Dateien bearbeiten. Wenn Sie ein anderes Versionskontrollsystem verwenden, konfigurieren Sie einen [`WorktreeCreate`-Hook](/de/worktrees#non-git-version-control) und Claude isoliert Bearbeitungen auf die gleiche Weise wie für Git.

402 410 

403Das Löschen einer Sitzung in der Agenten-Ansicht (`Ctrl+X` zweimal) entfernt einen Worktree, den Claude für sie erstellt hat, einschließlich aller nicht committeten Änderungen, daher führen Sie die Änderungen zusammen oder pushen Sie sie, die Sie behalten möchten, bevor Sie löschen. Das Löschen aus der Shell mit [`claude rm`](#manage-sessions-from-the-shell) behält einen Worktree mit nicht committeten Änderungen und druckt seinen Pfad, damit Sie ihn selbst bereinigen können. Ein Worktree, den Sie selbst erstellt haben und in dem Sie die Sitzung gestartet haben, wird in jedem Fall beibehalten.411Das Löschen einer Sitzung in der Agenten-Ansicht mit `Ctrl+X` zweimal entfernt einen Worktree, den Claude für sie erstellt hat, einschließlich aller nicht committeten Änderungen, daher führen Sie die Änderungen zusammen oder pushen Sie sie, die Sie behalten möchten, bevor Sie löschen. Das Löschen aus der Shell mit [`claude rm`](#manage-sessions-from-the-shell) behält einen Worktree mit nicht committeten Änderungen und druckt seinen Pfad, damit Sie ihn selbst bereinigen können. Ein Worktree, den Sie selbst erstellt haben und in dem Sie die Sitzung gestartet haben, wird in jedem Fall beibehalten.

404 412 

405Um den Worktree-Pfad einer Sitzung zu finden, schauen Sie sich die Sitzung an oder hängen Sie an und überprüfen Sie ihr Arbeitsverzeichnis.413Um den Worktree-Pfad einer Sitzung zu finden, schauen Sie sich die Sitzung an oder hängen Sie an und überprüfen Sie ihr Arbeitsverzeichnis.

406 414 


410 Das Modell festlegen418 Das Modell festlegen

411</h3>419</h3>

412 420 

413Der im Header der Agenten-Ansicht angezeigte Modellname ist der Versand-Standard. Neue Sitzungen, die Sie aus der Eingabe starten, verwenden dieses Modell, das aus der [`model`-Einstellung](/de/settings#available-settings) in Ihren Benutzereinstellungen stammt. Legen Sie es fest, indem Sie ein Modell in der [`/model`-Auswahl](/de/model-config) auswählen, oder bearbeiten Sie die Einstellung direkt. Um es für die gesamte Agenten-Ansicht-Sitzung zu überschreiben, übergeben Sie `--model` beim Öffnen der Agenten-Ansicht. Siehe [Berechtigungsmodus, Modell und Aufwand](#permission-mode-model-and-effort).421Der im Header der Agenten-Ansicht angezeigte Modellname ist der Versand-Standard. Neue Sitzungen, die Sie aus der Eingabe starten, verwenden dieses Modell, das aus der [`model`-Einstellung](/de/settings#available-settings) in Ihren Benutzereinstellungen stammt. Legen Sie es fest, indem Sie ein Modell in der [`/model`-Auswahl](/de/model-config) auswählen, oder bearbeiten Sie die Einstellung direkt.

422 

423Um es für die gesamte Agenten-Ansicht-Sitzung zu überschreiben, übergeben Sie `--model` beim Öffnen der Agenten-Ansicht. Siehe [Berechtigungsmodus, Modell und Aufwand](#permission-mode-model-and-effort).

414 424 

415Um den Versand-Standard aus der Agenten-Ansicht zu ändern, geben Sie `/model` gefolgt von einem Modellnamen in die Versand-Eingabe ein und drücken Sie `Enter`. Der Header wird aktualisiert, um dieses Modell mit einem `(session)`-Marker anzuzeigen, und Sitzungen, die Sie danach versenden, verwenden es. Geben Sie `/model default` ein, um die Überschreibung zu löschen und zum Versand-Standard zurückzukehren. Diese Überschreibung gilt für den Rest des aktuellen `claude agents`-Laufs, schreibt nicht in Ihre Einstellungsdatei und erfordert Claude Code v2.1.172 oder später. {/* min-version: 2.1.172 */} Das folgende Beispiel versendet eine Sitzung auf Opus und die nächste auf Sonnet:425Um den Versand-Standard aus der Agenten-Ansicht zu ändern, geben Sie `/model` gefolgt von einem Modellnamen in die Versand-Eingabe ein und drücken Sie `Enter`. Der Header wird aktualisiert, um dieses Modell mit einem `(session)`-Marker anzuzeigen, und Sitzungen, die Sie danach versenden, verwenden es. Geben Sie `/model default` ein, um die Überschreibung zu löschen und zum Versand-Standard zurückzukehren. Diese Überschreibung gilt für den Rest des aktuellen `claude agents`-Laufs und schreibt nicht in Ihre Einstellungsdatei. Das folgende Beispiel versendet eine Sitzung auf Opus und die nächste auf Sonnet:

416 426 

417```text theme={null}427```text theme={null}

418/model opus428/model opus


449 459 

450`claude agents` akzeptiert auch `--dangerously-skip-permissions` als Kurzform für `--permission-mode bypassPermissions` und `--allow-dangerously-skip-permissions`, um `bypassPermissions` in jedem versendeten Sitzungs-`Shift+Tab`-Zyklus verfügbar zu machen, ohne in diesem Modus zu starten. Beide entsprechen den [Top-Level-CLI-Flags](/de/cli-reference).460`claude agents` akzeptiert auch `--dangerously-skip-permissions` als Kurzform für `--permission-mode bypassPermissions` und `--allow-dangerously-skip-permissions`, um `bypassPermissions` in jedem versendeten Sitzungs-`Shift+Tab`-Zyklus verfügbar zu machen, ohne in diesem Modus zu starten. Beide entsprechen den [Top-Level-CLI-Flags](/de/cli-reference).

451 461 

452Diese Flags wurden über Releases hinweg hinzugefügt. Frühere Versionen lehnen sie mit einem unknown-option-Fehler ab.

453 

454| Flag oder Einstellung | Mindestversion |

455| :--------------------------------------------------------------------------- | :------------------------------------ |

456| `--permission-mode`, `--model`, `--effort`, `--dangerously-skip-permissions` | v2.1.142 {/* min-version: 2.1.142 */} |

457| `--allow-dangerously-skip-permissions` | v2.1.143 {/* min-version: 2.1.143 */} |

458| `--agent` und Beachtung der `agent`-Einstellung für versendete Sitzungen | v2.1.157 {/* min-version: 2.1.157 */} |

459 

460Vor v2.1.157 ignoriert die Agenten-Ansicht die `agent`-Einstellung und versendet den integrierten `claude`-Agent.

461 

462Die aktiven Standardwerte werden in der Fußzeile unter der Versand-Eingabe angezeigt.462Die aktiven Standardwerte werden in der Fußzeile unter der Versand-Eingabe angezeigt.

463 463 

464Ohne diese Flags verwendet die Sitzung den `defaultMode` aus den Einstellungen dieses Verzeichnisses oder den `permissionMode` aus dem Frontmatter des versendeten [Subagenten](/de/sub-agents#supported-frontmatter-fields), und das im Header der Agenten-Ansicht angezeigte Modell.464Ohne diese Flags verwendet die Sitzung den `defaultMode` aus den Einstellungen dieses Verzeichnisses oder den `permissionMode` aus dem Frontmatter des versendeten [Subagenten](/de/sub-agents#supported-frontmatter-fields), und das im Header der Agenten-Ansicht angezeigte Modell.

465 465 

466Die Verwendung von `bypassPermissions` oder `auto` wird abgelehnt, bis Sie diesen Modus akzeptiert haben, indem Sie `claude` einmal interaktiv damit ausführen, da diese Modi eine Sitzung, die Sie nicht beobachten, ohne Genehmigung handeln lassen. Dasselbe gilt, ob Sie den Modus an `claude agents` oder an `claude --bg --permission-mode` übergeben.466Die Verwendung von `bypassPermissions` mit `claude --bg --permission-mode` wird abgelehnt, bis Sie den Bypass-Haftungsausschluss akzeptiert haben, indem Sie `claude --dangerously-skip-permissions` einmal interaktiv ausführen, da dieser Modus einer Sitzung, die Sie nicht beobachten, erlaubt, ohne Genehmigung zu handeln. Das Übergeben von `--dangerously-skip-permissions` oder `--permission-mode bypassPermissions` an `claude agents` zeigt denselben Haftungsausschluss an, wenn Sie ihn noch nicht akzeptiert haben, und das Akzeptieren wendet `bypassPermissions` auf die Sitzungen an, die Sie aus der Ansicht starten. Das Übergeben von `--allow-dangerously-skip-permissions` zeigt denselben Haftungsausschluss auch an, und das Akzeptieren macht `bypassPermissions` im `Shift+Tab`-Zyklus dieser Sitzungen verfügbar, ohne sie darin zu starten.

467 467 

468<h3 id="settings-plugins-and-mcp-servers">468<h3 id="settings-plugins-and-mcp-servers">

469 Einstellungen, Plugins und MCP-Server469 Einstellungen, Plugins und MCP-Server

470</h3>470</h3>

471 471 

472Die Agenten-Ansicht akzeptiert dieselben Konfigurationsflags wie `claude` zum Laden von Einstellungen, Plugins, MCP-Servern und zusätzlichen Verzeichnissen. Diese Flags erfordern Claude Code v2.1.142 oder später. Jedes Flag gilt für die Agenten-Ansicht selbst und wird an jede Sitzung weitergeleitet, die Sie daraus versenden, sodass ein Plugin oder MCP-Server, den Sie auf diese Weise laden, auch in diesen Sitzungen verfügbar ist.472Die Agenten-Ansicht akzeptiert dieselben Konfigurationsflags wie `claude` zum Laden von Einstellungen, Plugins, MCP-Servern und zusätzlichen Verzeichnissen. Jedes Flag gilt für die Agenten-Ansicht selbst und wird an jede Sitzung weitergeleitet, die Sie daraus versenden, sodass ein Plugin oder MCP-Server, den Sie auf diese Weise laden, auch in diesen Sitzungen verfügbar ist.

473 473 

474| Flag | Effekt |474| Flag | Effekt |

475| :----------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------- |475| :----------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------- |


494Jede Hintergrund-Sitzung hat eine kurze ID, die Sie aus der Shell verwenden können. Die ID wird gedruckt, wenn Sie eine Sitzung mit `claude --bg` starten, und die ID jeder Sitzung ist ihr Verzeichnisname unter `~/.claude/jobs/`. Diese Befehle sind nützlich zum Scripting oder wenn Sie die Agenten-Ansicht nicht öffnen möchten.494Jede Hintergrund-Sitzung hat eine kurze ID, die Sie aus der Shell verwenden können. Die ID wird gedruckt, wenn Sie eine Sitzung mit `claude --bg` starten, und die ID jeder Sitzung ist ihr Verzeichnisname unter `~/.claude/jobs/`. Diese Befehle sind nützlich zum Scripting oder wenn Sie die Agenten-Ansicht nicht öffnen möchten.

495 495 

496| Befehl | Zweck |496| Befehl | Zweck |

497| :--------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |497| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

498| `claude agents` | Agenten-Ansicht öffnen |498| `claude agents` | Agenten-Ansicht öffnen |

499| `claude agents --cwd <path>` | Agenten-Ansicht auf Sitzungen beschränken, die unter `<path>` gestartet wurden |499| `claude agents --cwd <path>` | Agenten-Ansicht auf Sitzungen beschränken, die unter `<path>` gestartet wurden |

500| `claude agents --json` | Aktive Sitzungen als JSON-Array drucken und beenden: jede Live-Sitzung sowie Hintergrund-Sitzungen, die noch arbeiten oder blockiert sind, auch wenn ihr Prozess beendet wurde. Fügen Sie `--all` hinzu, um auch abgeschlossene Hintergrund-Sitzungen einzubeziehen. Jeder Eintrag hat `cwd`, `kind` und `startedAt`. Hintergrund-Einträge haben auch `id`, verwendbar mit `claude attach`/`logs`/`stop`, und `state`: einer von `working`, `blocked`, `done`, `failed` oder `stopped`. `pid` und `status` sind nur vorhanden, während der Prozess aktiv ist, plus `waitingFor`, wenn status `waiting` ist, was angibt, worauf die Sitzung blockiert ist, z. B. `permission prompt` oder `input needed`; `sessionId` und `name` erscheinen, wenn gesetzt. Mit `--cwd <path>` kombinieren zum Filtern |500| `claude agents --json` | Aktive Sitzungen als JSON-Array drucken und beenden: jede Live-Sitzung sowie Hintergrund-Sitzungen, die noch arbeiten oder blockiert sind, auch wenn ihr Prozess beendet wurde. Fügen Sie `--all` hinzu, um auch abgeschlossene Hintergrund-Sitzungen einzubeziehen. Jeder Eintrag hat `cwd`, `kind` und `startedAt`. Hintergrund-Einträge haben auch `id`, verwendbar mit `claude attach`/`logs`/`stop`, und `state`: einer von `working`, `blocked`, `done`, `failed` oder `stopped`. `pid` und `status` sind nur vorhanden, während der Prozess aktiv ist, plus `waitingFor`, wenn status `waiting` ist, was angibt, worauf die Sitzung blockiert ist, z. B. `permission prompt` oder `input needed`; `sessionId` und `name` erscheinen, wenn gesetzt. Eine interaktive Sitzung, die Sie nie benannt haben, trägt einen Standard-`name`, der aus dem Namen des Arbeitsverzeichnisses plus einem zweistelligen Suffix wie `my-app-3f` erstellt wird. Mit `--cwd <path>` kombinieren zum Filtern |

501| `claude attach <id>` | An eine Sitzung in diesem Terminal anhängen |501| `claude attach <id>` | An eine Sitzung in diesem Terminal anhängen |

502| `claude logs <id>` | Neueste Ausgabe der Sitzung drucken |502| `claude logs <id>` | Neueste Ausgabe der Sitzung drucken |

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


523 523 

524Der Supervisor und seine Sitzungen authentifizieren sich mit denselben Anmeldedaten wie Ihre interaktiven Sitzungen und stellen keine zusätzlichen Netzwerkverbindungen über die Modell-API hinaus her. Anbieter-Auswahlvariablen wie `CLAUDE_CODE_USE_BEDROCK` und `ANTHROPIC_DEFAULT_*_MODEL`-Aliase werden aus der Shell gelesen, die jede Sitzung dispatcht, und werden auf ihren Worker angewendet.524Der Supervisor und seine Sitzungen authentifizieren sich mit denselben Anmeldedaten wie Ihre interaktiven Sitzungen und stellen keine zusätzlichen Netzwerkverbindungen über die Modell-API hinaus her. Anbieter-Auswahlvariablen wie `CLAUDE_CODE_USE_BEDROCK` und `ANTHROPIC_DEFAULT_*_MODEL`-Aliase werden aus der Shell gelesen, die jede Sitzung dispatcht, und werden auf ihren Worker angewendet.

525 525 

526{/* min-version: 2.1.174 */}Eine Hintergrund-Sitzung erbt keine Gateway-Endpunkt-Variablen wie `ANTHROPIC_BASE_URL`, die entsprechenden Bedrock-, Vertex- und Foundry-Basis-URL-Variablen oder ein gekoppeltes `ANTHROPIC_AUTH_TOKEN` aus der Shell, die den Supervisor gestartet hat, oder aus der Dispatch-Shell. Die Sitzung verwendet Ihre gespeicherten Anmeldedaten und alle `env`-Werte im [settings](/de/settings) des Projektverzeichnisses. Um Hintergrund-Sitzungen in einem Projekt auf ein [LLM-Gateway](/de/llm-gateway) zu verweisen, setzen Sie `ANTHROPIC_BASE_URL` im `env`-Block der `.claude/settings.json` dieses Projekts, anstatt es in Ihrer Shell zu exportieren. Vor v2.1.174 erbte eine Hintergrund-Sitzung diese Variablen aus der Start-Shell des Supervisors, daher konnte sie das Gateway verwenden, das Sie in dieser Shell konfiguriert hatten, anstelle des für das Projektverzeichnis konfigurierten.526Eine Hintergrund-Sitzung erbt keine Gateway-Endpunkt-Variablen wie `ANTHROPIC_BASE_URL`, die entsprechenden Bedrock-, Vertex- und Foundry-Basis-URL-Variablen oder ein gekoppeltes `ANTHROPIC_AUTH_TOKEN` aus der Shell, die den Supervisor gestartet hat, oder aus der Dispatch-Shell. Die Sitzung verwendet Ihre gespeicherten Anmeldedaten und alle `env`-Werte im [settings](/de/settings) des Projektverzeichnisses. Um Hintergrund-Sitzungen in einem Projekt auf ein [LLM-Gateway](/de/llm-gateway) zu verweisen, setzen Sie `ANTHROPIC_BASE_URL` im `env`-Block der `.claude/settings.json` dieses Projekts, anstatt es in Ihrer Shell zu exportieren.

527 527 

528Jede Hintergrund-Sitzung ist ihr eigener Claude Code-Prozess, der vom Supervisor verwaltet wird, anstatt an Ihr Terminal gebunden zu sein. Eine Sitzung, die aktiv funktioniert, auf Ihre Eingabe wartet oder ein Terminal angehängt hat, behält ihren Prozess am Laufen. Ein laufender Hintergrund-Shell-Befehl, Subagent, dynamischer Workflow oder Monitor zählt als aktive Arbeit, daher hält ein langfristiger Prozess wie ein Dev-Server die Sitzung am Leben.528Jede Hintergrund-Sitzung ist ihr eigener Claude Code-Prozess, der vom Supervisor verwaltet wird, anstatt an Ihr Terminal gebunden zu sein. Eine Sitzung, die aktiv funktioniert, auf Ihre Eingabe wartet oder ein Terminal angehängt hat, behält ihren Prozess am Laufen. Ein laufender Hintergrund-Shell-Befehl, Subagent, dynamischer Workflow oder Monitor zählt als aktive Arbeit, daher hält ein langfristiger Prozess wie ein Dev-Server die Sitzung am Leben.

529 529 

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

531 531 

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

533 

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

535 

532Eine leere Zeile, die von Drücken von `←` übrig bleibt und der nie eine Eingabeaufforderung gegeben wurde, wird nach etwa fünf Minuten vollständig entfernt, damit sich die Liste von selbst löscht. Sitzungen, die mit `claude --bg` gestartet wurden, und Sitzungen, die auf eine Setup-Eingabeaufforderung wie einen Vertrauensdialog warten, werden auf diese Weise nicht entfernt.536Eine leere Zeile, die von Drücken von `←` übrig bleibt und der nie eine Eingabeaufforderung gegeben wurde, wird nach etwa fünf Minuten vollständig entfernt, damit sich die Liste von selbst löscht. Sitzungen, die mit `claude --bg` gestartet wurden, und Sitzungen, die auf eine Setup-Eingabeaufforderung wie einen Vertrauensdialog warten, werden auf diese Weise nicht entfernt.

533 537 

534Wenn der Host wenig Speicher hat, stoppt der Supervisor zuerst untätige nicht angeheftete Sitzungen und stoppt untätige angeheftete Sitzungen nur, wenn dies nichts freigegeben hat.538Wenn der Host wenig Speicher hat, stoppt der Supervisor zuerst untätige nicht angeheftete Sitzungen und stoppt untätige angeheftete Sitzungen nur, wenn dies nichts freigegeben hat.


554 558 

555Der Befehl warnt auch, wenn der laufende Supervisor eine andere Version hat als der `claude`, den Sie aufgerufen haben, was nach einem Update geschieht, das der Supervisor noch nicht neu gestartet hat. Die Warnung zeigt beide Versionen an und teilt Ihnen mit, dass Sie `claude daemon stop --any` ausführen sollen, um die neue Version zu übernehmen. Wenn Claude Code als Betriebssystem-Dienst installiert ist, ist der vorgeschlagene Befehl `claude daemon stop` ohne das Flag.559Der Befehl warnt auch, wenn der laufende Supervisor eine andere Version hat als der `claude`, den Sie aufgerufen haben, was nach einem Update geschieht, das der Supervisor noch nicht neu gestartet hat. Die Warnung zeigt beide Versionen an und teilt Ihnen mit, dass Sie `claude daemon stop --any` ausführen sollen, um die neue Version zu übernehmen. Wenn Claude Code als Betriebssystem-Dienst installiert ist, ist der vorgeschlagene Befehl `claude daemon stop` ohne das Flag.

556 560 

561Sitzungen bleiben bei diesem Versionskonflikt intakt: Eine ältere Claude Code-Version, die die `state.json` einer Sitzung aktualisiert, behält Felder, die sie nicht erkennt, und behält die Sitzung in der Liste.

562 

557Unter Windows zeigt `claude daemon status` den zugrunde liegenden Dateifehler an, wenn die Pipe-Schlüsseldatei des Daemons gesperrt oder nicht lesbar ist, anstatt einen generischen Verbindungsfehler zu melden.563Unter Windows zeigt `claude daemon status` den zugrunde liegenden Dateifehler an, wenn die Pipe-Schlüsseldatei des Daemons gesperrt oder nicht lesbar ist, anstatt einen generischen Verbindungsfehler zu melden.

558 564 

559<h3 id="turn-off-agent-view">565<h3 id="turn-off-agent-view">


570 `claude agents` listet Subagenten auf, anstatt die Agenten-Ansicht zu öffnen576 `claude agents` listet Subagenten auf, anstatt die Agenten-Ansicht zu öffnen

571</h3>577</h3>

572 578 

573Wenn `claude agents` eine Anzahl gefolgt von Ihren konfigurierten Subagenten ausgibt und dann beendet wird, ist die Agenten-Ansicht in Ihrer Umgebung nicht verfügbar. Frühere Versionen öffneten die Agenten-Ansicht nicht in jeder Umgebung, einschließlich bei Verbindung über Bedrock, Vertex AI oder Foundry. Führen Sie `claude update` aus, um die neueste Version zu installieren.579Wenn `claude agents` eine Anzahl gefolgt von Ihren konfigurierten Subagenten ausgibt und dann beendet wird, ist die Agenten-Ansicht in Ihrer Umgebung nicht verfügbar. Führen Sie `claude update` aus, um die neueste Version zu installieren.

574 580 

575Wenn die Agenten-Ansicht nach dem Update immer noch nicht geöffnet wird, überprüfen Sie, ob sie durch eine Einstellung oder Umgebungsvariable [deaktiviert](#turn-off-agent-view) wurde.581Wenn die Agenten-Ansicht nach dem Update immer noch nicht geöffnet wird, überprüfen Sie, ob sie durch eine Einstellung oder Umgebungsvariable [deaktiviert](#turn-off-agent-view) wurde.

576 582 


580 586 

581Bevor Sie Ihre erste Sitzung versenden, zeigt die Agenten-Ansicht einen kurzen Onboarding-Hinweis mit Beispiel-Eingabeaufforderungen anstelle der Sitzungsliste. Geben Sie eine Eingabeaufforderung in die Eingabe am unteren Rand ein und drücken Sie `Enter`, um Ihre erste Sitzung zu versenden.587Bevor Sie Ihre erste Sitzung versenden, zeigt die Agenten-Ansicht einen kurzen Onboarding-Hinweis mit Beispiel-Eingabeaufforderungen anstelle der Sitzungsliste. Geben Sie eine Eingabeaufforderung in die Eingabe am unteren Rand ein und drücken Sie `Enter`, um Ihre erste Sitzung zu versenden.

582 588 

583<h3 id="cannot-open-agents-because-work-is-running-in-the-background">589<h3 id="backgrounding-shows-a-background-this-session-dialog">

584 Agenten können nicht geöffnet werden, da Hintergrundaufgaben ausgeführt werden590 Backgrounding zeigt einen `Background this session?`-Dialog

585</h3>591</h3>

586 592 

587Wenn das Drücken von `←` zum Hintergrund der aktuellen Sitzung `Cannot open agents — N still running in the background` anzeigt, hat die Sitzung laufende Arbeiten wie einen Subagenten, einen dynamischen Workflow oder einen Hintergrund-Shell-Befehl, und die Verknüpfung wird sie nicht stillschweigend aufgeben. Führen Sie `/tasks` aus, um zu sehen, was ausgeführt wird, dann `/bg`, um das Aufgeben zu bestätigen. Siehe [Aus einer Sitzung heraus](#from-inside-a-session), um zu sehen, was übertragen wird und was nicht, wenn Sie in den Hintergrund gehen.593Wenn das Drücken von `←` zum Hintergrund der aktuellen Sitzung einen `Background this session?`-Dialog zeigt, hat die Sitzung laufende Arbeit, die nicht zur Hintergrund-Sitzung übertragen werden kann, wie z. B. ein laufender [Monitor](/de/tools-reference#monitor-tool), und Claude Code wird sie nicht stillschweigend stoppen. Das Dialog benennt die Arbeit, die gestoppt wird, und zählt separat die Aufgaben, die übertragen werden. Führen Sie `/tasks` aus, um zu sehen, was läuft, dann bestätigen Sie, um trotzdem in den Hintergrund zu gehen, oder wählen Sie `Stay`, um die Arbeit zuerst fertig zu stellen. Siehe [Aus einer Sitzung heraus](#from-inside-a-session), um zu sehen, welche Aufgabentypen übertragen werden und welche gestoppt werden.

588 594 

589<h3 id="prompt-rejected-as-too-short">595<h3 id="prompt-rejected-as-too-short">

590 Eingabeaufforderung als zu kurz abgelehnt596 Eingabeaufforderung als zu kurz abgelehnt


612 618 

613Der neue Supervisor verbindet sich wieder mit den laufenden Sitzungen. Ohne `--keep-workers` beendet der Befehl auch die Hintergrund-Sitzungen. Das Flag `--any` bestätigt, dass Sie einen Supervisor stoppen möchten, der bei Bedarf gestartet wurde, anstatt als installierter Dienst, was die Standardeinstellung ist.619Der neue Supervisor verbindet sich wieder mit den laufenden Sitzungen. Ohne `--keep-workers` beendet der Befehl auch die Hintergrund-Sitzungen. Das Flag `--any` bestätigt, dass Sie einen Supervisor stoppen möchten, der bei Bedarf gestartet wurde, anstatt als installierter Dienst, was die Standardeinstellung ist.

614 620 

621Ein Supervisor, der startet, aber keine Verbindungen akzeptieren kann, beendet sich selbst und gibt seine Sperre frei, sodass der nächste `claude agents` ohne diesen manuellen Stop einen neuen startet. Die obigen Schritte gelten, wenn ein laufender Supervisor steckenbleibt.

622 

615Unter Windows, wenn der Supervisor nicht auf die Stoppanforderung antwortet, gibt der Befehl seine Prozess-ID aus. Beenden Sie diesen Prozess mit `taskkill /PID <pid>`, um die Wiederherstellung abzuschließen. Hintergrund-Sitzungen werden immer noch beibehalten, wenn Sie `--keep-workers` übergeben haben.623Unter Windows, wenn der Supervisor nicht auf die Stoppanforderung antwortet, gibt der Befehl seine Prozess-ID aus. Beenden Sie diesen Prozess mit `taskkill /PID <pid>`, um die Wiederherstellung abzuschließen. Hintergrund-Sitzungen werden immer noch beibehalten, wenn Sie `--keep-workers` übergeben haben.

616 624 

617<h3 id="dispatch-fails-with-could-not-resolve-authentication-method">625<h3 id="dispatch-fails-with-could-not-resolve-authentication-method">

618 Versand schlägt mit `Could not resolve authentication method` fehl626 Versand schlägt mit `Could not resolve authentication method` fehl

619</h3>627</h3>

620 628 

621{/* min-version: 2.1.174 */}Wenn ein Hintergrund-Versand mit `Could not resolve authentication method` fehlschlägt, während interaktive Sitzungen sich normal authentifizieren, hat der Worker, der den Versand erhalten hat, keine Anmeldedaten aufgegriffen. In v2.1.174 und später stellt der Supervisor einen frischen Snapshot der Anmeldedaten bereit, wenn er einen [vorgewärmten Worker](#the-supervisor-process) zuweist, daher bedeutet dieser Fehler, dass dem Supervisor-Prozess selbst keine gespeicherten Anmeldedaten zur Verfügung standen. Bestätigen Sie, dass Sie `/login` ausgeführt oder einen API-Schlüssel konfiguriert haben, dann stoppen Sie den Supervisor:629Wenn ein Hintergrund-Versand mit `Could not resolve authentication method` fehlschlägt, während interaktive Sitzungen sich normal authentifizieren, hat der Worker, der den Versand erhalten hat, keine Anmeldedaten aufgegriffen. Der Supervisor stellt einen frischen Snapshot der Anmeldedaten bereit, wenn er einen [vorgewärmten Worker](#the-supervisor-process) zuweist, daher bedeutet dieser Fehler, dass dem Supervisor-Prozess selbst keine gespeicherten Anmeldedaten zur Verfügung standen. Bestätigen Sie, dass Sie `/login` ausgeführt oder einen API-Schlüssel konfiguriert haben, dann stoppen Sie den Supervisor:

622 630 

623```bash theme={null}631```bash theme={null}

624claude daemon stop --any --keep-workers632claude daemon stop --any --keep-workers


626 634 

627Der nächste `claude agents` oder `claude --bg` startet einen neuen Supervisor, der Ihre gespeicherten Anmeldedaten liest. Wenn Sie sich mit einer Umgebungsvariable wie `ANTHROPIC_API_KEY` authentifizieren, anstatt `/login` zu verwenden, führen Sie diesen nächsten Befehl aus einer Shell aus, in der die Variable gesetzt ist.635Der nächste `claude agents` oder `claude --bg` startet einen neuen Supervisor, der Ihre gespeicherten Anmeldedaten liest. Wenn Sie sich mit einer Umgebungsvariable wie `ANTHROPIC_API_KEY` authentifizieren, anstatt `/login` zu verwenden, führen Sie diesen nächsten Befehl aus einer Shell aus, in der die Variable gesetzt ist.

628 636 

629Siehe die [Fehlerreferenz](/de/errors#could-not-resolve-authentication-method) für die vollständige Liste der Ursachen und Behebungen. Vor v2.1.174 konnte ein vorgewärmter Worker, der untätig saß, diesen Fehler auslösen, wenn er einem Versand zugewiesen wurde, selbst wenn Ihre Anmeldedaten gültig waren. Aktualisieren Sie, um dies zu beheben.637Siehe die [Fehlerreferenz](/de/errors#could-not-resolve-authentication-method) für die vollständige Liste der Ursachen und Behebungen.

630 638 

631<h3 id="background-sessions-cannot-read-desktop-documents-or-downloads-on-macos">639<h3 id="background-sessions-cannot-read-desktop-documents-or-downloads-on-macos">

632 Hintergrund-Sitzungen können Desktop, Dokumente oder Downloads auf macOS nicht lesen640 Hintergrund-Sitzungen können Desktop, Dokumente oder Downloads auf macOS nicht lesen


640 Eine Sitzung reagiert langsam nach dem Anhängen648 Eine Sitzung reagiert langsam nach dem Anhängen

641</h3>649</h3>

642 650 

643Sobald eine Sitzung fertig ist und etwa eine Stunde lang unverbunden sitzt, stoppt der Supervisor seinen Prozess, um Ressourcen freizugeben. Das Anhängen startet einen frischen Prozess von dort, wo er aufgehört hat, was einen Moment dauert. Sitzungen, die funktionieren, auf Sie warten oder [angeheftet](#organize-the-list) sind, werden auf diese Weise nicht gestoppt, daher heften Sie eine Sitzung mit `Ctrl+T` an, um sie reaktionsschnell zu halten.651Sobald eine Sitzung fertig ist und etwa eine Stunde lang unverbunden sitzt, stoppt der Supervisor seinen Prozess, um Ressourcen freizugeben. Das Anhängen startet einen frischen Prozess von dort, wo er aufgehört hat, und wechselt sofort zur Sitzung, während der Prozess neu startet. Sitzungen, die funktionieren, auf Sie warten oder [angeheftet](#organize-the-list) sind, werden auf diese Weise nicht gestoppt, daher heften Sie eine Sitzung mit `Ctrl+T` an, um sie reaktionsschnell zu halten.

644 652 

645<h3 id="claude/worktrees/-is-filling-up">653<h3 id="claude/worktrees/-is-filling-up">

646 `.claude/worktrees/` füllt sich auf654 `.claude/worktrees/` füllt sich auf


667* [Agenten parallel ausführen](/de/agents): Vergleichen Sie die Agenten-Ansicht mit Subagenten, Agenten-Teams und Worktrees675* [Agenten parallel ausführen](/de/agents): Vergleichen Sie die Agenten-Ansicht mit Subagenten, Agenten-Teams und Worktrees

668* [Agenten-Teams](/de/agent-teams): Koordinieren Sie mehrere Sitzungen, die sich gegenseitig Nachrichten senden676* [Agenten-Teams](/de/agent-teams): Koordinieren Sie mehrere Sitzungen, die sich gegenseitig Nachrichten senden

669* [Claude Code im Web](/de/claude-code-on-the-web): Führen Sie Sitzungen in einer verwalteten Cloud-Umgebung aus, anstatt lokal677* [Claude Code im Web](/de/claude-code-on-the-web): Führen Sie Sitzungen in einer verwalteten Cloud-Umgebung aus, anstatt lokal

678 

679<h2 id="version-history">

680 Versionsverlauf

681</h2>

682 

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

684 

685| Version | Änderung |

686| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

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

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

690| v2.1.172 | {/* min-version: 2.1.172 */}`/model` in der Versand-Eingabe setzt eine Sitzungs-Bereichs-Versand-Modell-Überschreibung. |

691| v2.1.161 | {/* min-version: 2.1.161 */}Zeilenzusammenfassungen zeigen eine `done/total`-Anzahl für parallele Arbeitselemente; das Vorschau-Panel benennt das am längsten laufende parallele Arbeitselement. |

692| v2.1.157 | {/* min-version: 2.1.157 */}`claude agents` akzeptiert `--agent`; versendete Sitzungen beachten die `agent`-Einstellung. |

693| v2.1.145 | {/* min-version: 2.1.145 */}Sprachdiktat wird in der Vorschau-Panel-Antwort-Eingabe und der Versand-Eingabe unterstützt. |

694| v2.1.143 | {/* min-version: 2.1.143 */}`worktree.bgIsolation`-Einstellung hinzugefügt; `claude agents` akzeptiert `--allow-dangerously-skip-permissions`. |

695| v2.1.142 | {/* min-version: 2.1.142 */}`claude agents` akzeptiert `--permission-mode`, `--model`, `--effort`, `--dangerously-skip-permissions`, `--settings`, `--add-dir`, `--plugin-dir`, `--mcp-config` und `--strict-mcp-config`. |

696| v2.1.141 | {/* min-version: 2.1.141 */}`claude agents` akzeptiert `--cwd`, um die Liste auf ein Projekt zu beschränken. |

697| v2.1.139 | {/* min-version: 2.1.139 */}Agenten-Ansicht als Forschungsvorschau eingeführt. |

Details

397 1M Token-Kontextfenster397 1M Token-Kontextfenster

398</h2>398</h2>

399 399 

400Claude Opus 4.6 und später sowie Sonnet 4.6 unterstützen das [1M Token-Kontextfenster](https://platform.claude.com/docs/de/build-with-claude/context-windows#1m-token-context-window) auf Amazon Bedrock. Claude Code aktiviert automatisch das erweiterte Kontextfenster, wenn Sie eine 1M-Modellvariante auswählen.400Claude Sonnet 5, Opus 4.6 und später sowie Sonnet 4.6 unterstützen das [1M Token-Kontextfenster](https://platform.claude.com/docs/de/build-with-claude/context-windows#1m-token-context-window) auf Amazon Bedrock. Sonnet 5 wird über den [Mantle-Endpunkt](#use-the-mantle-endpoint) bereitgestellt und läuft immer mit dem 1M-Fenster, ohne dass eine `[1m]`-Variante ausgewählt werden kann. Bei den anderen Modellen aktiviert Claude Code automatisch das erweiterte Kontextfenster, wenn Sie eine 1M-Modellvariante auswählen.

401 401 

402Der [Setup-Assistent](#sign-in-with-bedrock) bietet eine 1M-Kontextoption, wenn er Modelle fixiert. Um es stattdessen für ein manuell fixiertes Modell zu aktivieren, hängen Sie `[1m]` an die Modell-ID an. Siehe [Modelle für Drittanbieter-Bereitstellungen fixieren](/de/model-config#pin-models-for-third-party-deployments) für Details.402Der [Setup-Assistent](#sign-in-with-bedrock) bietet eine 1M-Kontextoption, wenn er Modelle fixiert. Um es stattdessen für ein manuell fixiertes Modell zu aktivieren, hängen Sie `[1m]` an die Modell-ID an. Siehe [Modelle für Drittanbieter-Bereitstellungen fixieren](/de/model-config#pin-models-for-third-party-deployments) für Details.

403 403 


458 Wählen Sie ein Mantle-Modell458 Wählen Sie ein Mantle-Modell

459</h3>459</h3>

460 460 

461Mantle verwendet Modell-IDs mit dem Präfix `anthropic.` und ohne Versionssuffix, z. B. `anthropic.claude-haiku-4-5`. Die Modelle, die Ihrem Konto zur Verfügung stehen, hängen davon ab, was Ihre Organisation erhalten hat; zusätzliche Modell-IDs sind in Ihren Onboarding-Materialien von AWS aufgeführt. Wenden Sie sich an Ihr AWS-Kontoteam, um Zugriff auf zulässige Modelle anzufordern.461Mantle verwendet Modell-IDs mit dem Präfix `anthropic.` und ohne Versionssuffix, z. B. `anthropic.claude-sonnet-5` oder `anthropic.claude-haiku-4-5`. Die Modelle, die Ihrem Konto zur Verfügung stehen, hängen davon ab, was Ihre Organisation erhalten hat; zusätzliche Modell-IDs sind in Ihren Onboarding-Materialien von AWS aufgeführt. Wenden Sie sich an Ihr AWS-Kontoteam, um Zugriff auf zulässige Modelle anzufordern.

462 462 

463Legen Sie das Modell mit dem `--model`-Flag oder mit `/model` in Claude Code fest:463Legen Sie das Modell mit dem `--model`-Flag oder mit `/model` in Claude Code fest:

464 464 


542 542 

543Claude Code verwendet die Bedrock [Invoke API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) und unterstützt die Converse API nicht.543Claude Code verwendet die Bedrock [Invoke API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) und unterstützt die Converse API nicht.

544 544 

545<h3 id="zero-token-counts-in-/context">

546 Null-Token-Zählungen in /context

547</h3>

548 

549Der `/context`-Befehl zählt Token für jede Tool-Gruppe, indem die Tool-Schemas an die Bedrock-API zum Zählen von Tokens gesendet werden. {/* min-version: 2.1.196 */}Bei Claude Code-Versionen vor v2.1.196 lehnte Bedrock diese Anfrage ab, da die Schemas Felder enthielten, die die API zum Zählen von Tokens nicht akzeptiert, sodass jede Tool-Gruppe 0 Tokens anzeigte. Andere Zeilen in der Aufschlüsselung, wie Nachrichten und Speicherdateien, sind nicht betroffen.

550 

551Aktualisieren Sie auf v2.1.196 oder später.

552 

545<h3 id="mantle-endpoint-errors">553<h3 id="mantle-endpoint-errors">

546 Mantle-Endpunkt-Fehler554 Mantle-Endpunkt-Fehler

547</h3>555</h3>

Details

24* **Claude for Teams oder Enterprise**: Melden Sie sich mit dem Claude.ai-Konto an, zu dem Sie Ihr Team-Administrator eingeladen hat.24* **Claude for Teams oder Enterprise**: Melden Sie sich mit dem Claude.ai-Konto an, zu dem Sie Ihr Team-Administrator eingeladen hat.

25* **Claude Console**: Melden Sie sich mit Ihren Console-Anmeldedaten an. Ihr Administrator muss Sie zunächst [eingeladen haben](#claude-console-authentication).25* **Claude Console**: Melden Sie sich mit Ihren Console-Anmeldedaten an. Ihr Administrator muss Sie zunächst [eingeladen haben](#claude-console-authentication).

26* **Cloud-Anbieter**: Wenn Ihre Organisation [Amazon Bedrock](/de/amazon-bedrock), [Google Vertex AI](/de/google-vertex-ai) oder [Microsoft Foundry](/de/microsoft-foundry) verwendet, legen Sie die erforderlichen Umgebungsvariablen fest, bevor Sie `claude` ausführen. Es ist keine Browser-Anmeldung erforderlich.26* **Cloud-Anbieter**: Wenn Ihre Organisation [Amazon Bedrock](/de/amazon-bedrock), [Google Vertex AI](/de/google-vertex-ai) oder [Microsoft Foundry](/de/microsoft-foundry) verwendet, legen Sie die erforderlichen Umgebungsvariablen fest, bevor Sie `claude` ausführen. Es ist keine Browser-Anmeldung erforderlich.

27* **Cloud-Gateway**: Wenn Ihre Organisation ein selbstgehostetes [Claude Apps Gateway](/de/claude-apps-gateway) betreibt, melden Sie sich über `/login` mit Corporate SSO an. Das vom Gateway ausgegebene Token ist die einzige Anmeldeinformation der Sitzung.

27 28 

28Um sich abzumelden und sich erneut zu authentifizieren, geben Sie `/logout` an der Claude Code-Eingabeaufforderung ein.29Um sich abzumelden und sich erneut zu authentifizieren, geben Sie `/logout` an der Claude Code-Eingabeaufforderung ein.

29 30 


37 38 

38* [Claude for Teams oder Enterprise](#claude-for-teams-or-enterprise), empfohlen für die meisten Teams39* [Claude for Teams oder Enterprise](#claude-for-teams-or-enterprise), empfohlen für die meisten Teams

39* [Claude Console](#claude-console-authentication)40* [Claude Console](#claude-console-authentication)

41* [Claude apps gateway](/de/claude-apps-gateway), ein selbst gehostetes Gateway, das Entwickler mit Ihrem IdP anmeldet und Inferenzen an den von Ihnen konfigurierten Cloud-Anbieter weiterleitet

40* [Amazon Bedrock](/de/amazon-bedrock)42* [Amazon Bedrock](/de/amazon-bedrock)

41* [Google Vertex AI](/de/google-vertex-ai)43* [Google Vertex AI](/de/google-vertex-ai)

42* [Microsoft Foundry](/de/microsoft-foundry)44* [Microsoft Foundry](/de/microsoft-foundry)


131 * Unter Windows werden Anmeldedaten in `%USERPROFILE%\.claude\.credentials.json` gespeichert und erben die Zugriffskontrolle Ihres Benutzerprofilverzeichnisses, das die Datei standardmäßig auf Ihr Benutzerkonto beschränkt.133 * Unter Windows werden Anmeldedaten in `%USERPROFILE%\.claude\.credentials.json` gespeichert und erben die Zugriffskontrolle Ihres Benutzerprofilverzeichnisses, das die Datei standardmäßig auf Ihr Benutzerkonto beschränkt.

132 * Wenn Sie die Umgebungsvariable `CLAUDE_CONFIG_DIR` unter Linux oder Windows gesetzt haben, befindet sich die Datei `.credentials.json` stattdessen in diesem Verzeichnis.134 * Wenn Sie die Umgebungsvariable `CLAUDE_CONFIG_DIR` unter Linux oder Windows gesetzt haben, befindet sich die Datei `.credentials.json` stattdessen in diesem Verzeichnis.

133 * Claude Code verwaltet `.credentials.json` über `/login` und `/logout`. Um Anfragen über einen benutzerdefinierten API-Endpunkt zu leiten, legen Sie stattdessen die Umgebungsvariable [`ANTHROPIC_BASE_URL`](/de/env-vars) fest.135 * Claude Code verwaltet `.credentials.json` über `/login` und `/logout`. Um Anfragen über einen benutzerdefinierten API-Endpunkt zu leiten, legen Sie stattdessen die Umgebungsvariable [`ANTHROPIC_BASE_URL`](/de/env-vars) fest.

134* **Unterstützte Authentifizierungstypen**: Claude.ai-Anmeldedaten, Claude API-Anmeldedaten, Azure Auth, Bedrock Auth und Vertex Auth.136* **Unterstützte Authentifizierungstypen**: Claude.ai-Anmeldedaten, Claude API-Anmeldedaten, Azure Auth, Bedrock Auth, Vertex Auth und [Claude Apps Gateway](/de/claude-apps-gateway) Sitzungs-Tokens.

135* **Benutzerdefinierte Anmeldedaten-Skripte**: Die Einstellung [`apiKeyHelper`](/de/settings#available-settings) kann so konfiguriert werden, dass ein Shell-Skript ausgeführt wird, das einen API-Schlüssel zurückgibt.137* **Benutzerdefinierte Anmeldedaten-Skripte**: Die Einstellung [`apiKeyHelper`](/de/settings#available-settings) kann so konfiguriert werden, dass ein Shell-Skript ausgeführt wird, das einen API-Schlüssel zurückgibt.

136* **Aktualisierungsintervalle**: Standardmäßig wird `apiKeyHelper` nach 5 Minuten oder bei HTTP 401-Antwort aufgerufen. Legen Sie die Umgebungsvariable `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` für benutzerdefinierte Aktualisierungsintervalle fest.138* **Aktualisierungsintervalle**: Standardmäßig wird `apiKeyHelper` nach 5 Minuten oder bei HTTP 401-Antwort aufgerufen. Legen Sie die Umgebungsvariable `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` für benutzerdefinierte Aktualisierungsintervalle fest.

137* **Warnung bei langsamen Hilfsprogrammen**: Wenn `apiKeyHelper` länger als 10 Sekunden benötigt, um einen Schlüssel zurückzugeben, zeigt Claude Code eine Warnmitteilung in der Eingabeaufforderungsleiste an, die die verstrichene Zeit anzeigt. Wenn Sie diese Mitteilung regelmäßig sehen, überprüfen Sie, ob Ihr Anmeldedaten-Skript optimiert werden kann.139* **Warnung bei langsamen Hilfsprogrammen**: Wenn `apiKeyHelper` länger als 10 Sekunden benötigt, um einen Schlüssel zurückzugeben, zeigt Claude Code eine Warnmitteilung in der Eingabeaufforderungsleiste an, die die verstrichene Zeit anzeigt. Wenn Sie diese Mitteilung regelmäßig sehen, überprüfen Sie, ob Ihr Anmeldedaten-Skript optimiert werden kann.


1515. `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.1535. `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.

1526. Abonnement-OAuth-Anmeldedaten von `/login`. Dies ist die Standardeinstellung für Claude Pro, Max, Team und Enterprise-Benutzer.1546. Abonnement-OAuth-Anmeldedaten von `/login`. Dies ist die Standardeinstellung für Claude Pro, Max, Team und Enterprise-Benutzer.

153 155 

156Eine angemeldete [Claude Apps Gateway](/de/claude-apps-gateway) Sitzung steht außerhalb dieser Liste: Sie ist eine Anbieterauswahl wie Bedrock oder Vertex und hat Vorrang vor ihnen. Wenn eine Gateway-Sitzung vorhanden ist, authentifiziert sich die CLI mit dem Gateway-Token, auch wenn `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX` oder `CLAUDE_CODE_USE_FOUNDRY` gesetzt ist, und die Bearer-Token-, API-Schlüssel- und `apiKeyHelper`-Einträge oben werden nicht verwendet.

157 

154Wenn Sie ein aktives Claude-Abonnement haben, aber auch `ANTHROPIC_API_KEY` in Ihrer Umgebung gesetzt haben, hat der API-Schlüssel Vorrang, sobald er genehmigt ist. Dies kann zu Authentifizierungsfehlern führen, wenn der Schlüssel zu einer deaktivierten oder abgelaufenen Organisation gehört. Führen Sie `unset ANTHROPIC_API_KEY` aus, um auf Ihr Abonnement zurückzugreifen, und überprüfen Sie `/status`, um zu bestätigen, welche Methode aktiv ist.158Wenn Sie ein aktives Claude-Abonnement haben, aber auch `ANTHROPIC_API_KEY` in Ihrer Umgebung gesetzt haben, hat der API-Schlüssel Vorrang, sobald er genehmigt ist. Dies kann zu Authentifizierungsfehlern führen, wenn der Schlüssel zu einer deaktivierten oder abgelaufenen Organisation gehört. Führen Sie `unset ANTHROPIC_API_KEY` aus, um auf Ihr Abonnement zurückzugreifen, und überprüfen Sie `/status`, um zu bestätigen, welche Methode aktiv ist.

155 159 

156[Claude Code im Web](/de/claude-code-on-the-web) verwendet immer Ihre Abonnement-Anmeldedaten. `ANTHROPIC_API_KEY` und `ANTHROPIC_AUTH_TOKEN` in der Sandbox-Umgebung überschreiben diese nicht.160[Claude Code im Web](/de/claude-code-on-the-web) verwendet immer Ihre Abonnement-Anmeldedaten. `ANTHROPIC_API_KEY` und `ANTHROPIC_AUTH_TOKEN` in der Sandbox-Umgebung überschreiben diese nicht.

Details

9[Auto-Modus](/de/permission-modes#eliminate-prompts-with-auto-mode) ermöglicht es Claude Code, ohne routinemäßige Berechtigungsaufforderungen zu laufen, indem Tool-Aufrufe 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](/de/permission-modes#eliminate-prompts-with-auto-mode) ermöglicht es Claude Code, ohne routinemäßige Berechtigungsaufforderungen zu laufen, indem Tool-Aufrufe 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 Auto-Modus ist für alle Benutzer auf der Anthropic API verfügbar. Bei Amazon Bedrock, Google Cloud Vertex AI und Microsoft Foundry müssen Sie zunächst [`CLAUDE_CODE_ENABLE_AUTO_MODE`](/de/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry) festlegen. Wenn Claude Code meldet, dass Auto-Modus für Ihr Konto nicht verfügbar ist, überprüfen Sie die [vollständigen Anforderungen](/de/permission-modes#eliminate-prompts-with-auto-mode), die auch die unterstützten Modelle und die Admin-Aktivierung auf Team- und Enterprise-Plänen abdecken.12 Auto-Modus ist für alle Benutzer auf der Anthropic API verfügbar. Bei Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry und angemeldeten [Claude Apps Gateway](/de/claude-apps-gateway)-Sitzungen müssen Sie zunächst [`CLAUDE_CODE_ENABLE_AUTO_MODE`](/de/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry) festlegen. Wenn Claude Code meldet, dass Auto-Modus für Ihr Konto nicht verfügbar ist, überprüfen Sie die [vollständigen Anforderungen](/de/permission-modes#eliminate-prompts-with-auto-mode), die auch die unterstützten Modelle und die Owner-Aktivierung auf Team- und Enterprise-Plänen abdecken.

13</Note>13</Note>

14 14 

15Standardmäßig vertraut der Klassifizierer nur dem Arbeitsverzeichnis und den konfigurierten Remotes des aktuellen Repos. Aktionen wie das Pushen zu Ihrer Unternehmens-Quellcode-Verwaltungsorganisation oder das Schreiben in einen Team-Cloud-Bucket werden blockiert, bis Sie sie zu `autoMode.environment` hinzufügen.15Standardmäßig vertraut der Klassifizierer nur dem Arbeitsverzeichnis und den konfigurierten Remotes des aktuellen Repos. Aktionen wie das Pushen zu Ihrer Unternehmens-Quellcode-Verwaltungsorganisation oder das Schreiben in einen Team-Cloud-Bucket werden blockiert, bis Sie sie zu `autoMode.environment` hinzufügen.


48</Note>48</Note>

49 49 

50<h2 id="define-trusted-infrastructure">50<h2 id="define-trusted-infrastructure">

51 Vertrauenswürdige Infrastruktur definieren51 Define trusted infrastructure

52</h2>52</h2>

53 53 

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

55 55 

56Die Standard-Umgebungsliste vertraut dem Arbeits-Repo und seinen konfigurierten Remotes. Um Ihre eigenen Einträge neben diesem Standard hinzuzufügen, fügen Sie die Literalzeichenfolge `"$defaults"` in das Array ein. Die Standard-Einträge werden an dieser Position eingefügt, sodass Ihre benutzerdefinierten Einträge vor oder nach ihnen stehen können.56Ab Claude Code v2.1.195 druckt `claude auto-mode defaults` zwei Arten von Umgebungseinträgen.

57 

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

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

60 

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

62 

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

64 

65Das folgende Beispiel behält die Standard-Einträge bei und fügt die Repos, Buckets, Domains und Services einer Organisation hinzu.

57 66 

58```json theme={null}67```json theme={null}

59{68{


76* **Cloud-Anbieter und vertrauenswürdige Buckets**: Bucket-Namen oder Präfixe, aus denen und in die Claude lesen und schreiben können sollte85* **Cloud-Anbieter und vertrauenswürdige Buckets**: Bucket-Namen oder Präfixe, aus denen und in die Claude lesen und schreiben können sollte

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

78* **Wichtige interne Services**: CI, Artifact-Registries, interne Paketindizes, Incident-Tools87* **Wichtige interne Services**: CI, Artifact-Registries, interne Paketindizes, Incident-Tools

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

89* **PII / Standorte mit regulierten Daten**: die Buckets, Datenbanken oder Pfade, die persönliche oder regulierte Daten enthalten, damit der Klassifizierer diese Standorte schützt, anstatt aus dem Inhalt zu erraten

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

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

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

80 93 

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

95 

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

82 97 

83```json theme={null}98```json theme={null}


102Sie müssen nicht alles auf einmal ausfüllen. Ein angemessener Rollout: Beginnen Sie mit den Standardwerten und fügen Sie Ihre Quellcode-Verwaltungsorganisation und wichtige interne Services hinzu, was die häufigsten falschen Positive wie das Pushen zu Ihren eigenen Repos behebt. Fügen Sie als Nächstes vertrauenswürdige Domains und Cloud-Buckets hinzu. Füllen Sie den Rest aus, wenn Blockierungen auftreten.117Sie müssen nicht alles auf einmal ausfüllen. Ein angemessener Rollout: Beginnen Sie mit den Standardwerten und fügen Sie Ihre Quellcode-Verwaltungsorganisation und wichtige interne Services hinzu, was die häufigsten falschen Positive wie das Pushen zu Ihren eigenen Repos behebt. Fügen Sie als Nächstes vertrauenswürdige Domains und Cloud-Buckets hinzu. Füllen Sie den Rest aus, wenn Blockierungen auftreten.

103 118 

104<h2 id="override-the-block-and-allow-rules">119<h2 id="override-the-block-and-allow-rules">

105 Blockierungs- und Zulassungsregeln überschreiben120 Override the block and allow rules

106</h2>121</h2>

107 122 

108Drei zusätzliche Felder ermöglichen es Ihnen, die integrierten Regellisten des Klassifizierers zu ersetzen: `autoMode.hard_deny` für bedingungslose Sicherheitsgrenzen, `autoMode.soft_deny` für destruktive Aktionen, die Benutzerabsicht aufheben kann, und `autoMode.allow` für Ausnahmen. Jedes ist ein Array von Prosabeschreibungen, das als natürlichsprachige Regeln gelesen wird. Für werkzeugmuster-basierte harte Blöcke, die vor dem Klassifizierer ausgeführt werden, verwenden Sie [`permissions.deny`](/de/permissions).123Drei zusätzliche Felder ermöglichen es Ihnen, die integrierten Regellisten des Klassifizierers zu ersetzen:

124 

125* `autoMode.hard_deny`: bedingungslose Sicherheitsgrenzen

126* `autoMode.soft_deny`: destruktive Aktionen, die Benutzerabsicht aufheben kann

127* `autoMode.allow`: Ausnahmen zu Soft-Block-Regeln

128 

129Jedes ist ein Array von Prosabeschreibungen, das als natürlichsprachige Regeln gelesen wird. Für werkzeugmuster-basierte harte Blöcke, die vor dem Klassifizierer ausgeführt werden, verwenden Sie [`permissions.deny`](/de/permissions).

109 130 

110Innerhalb des Klassifizierers funktioniert die Vorrangigkeit in vier Ebenen:131Innerhalb des Klassifizierers funktioniert die Vorrangigkeit in vier Ebenen:

111 132 


120 141 

121Um die integrierten Regeln beizubehalten und gleichzeitig Ihre eigenen hinzuzufügen, fügen Sie die Literalzeichenkette `"$defaults"` in das Array ein. Die Standardregeln werden an dieser Position eingefügt, sodass Ihre benutzerdefinierten Regeln vor oder nach ihnen stehen können, und Sie erhalten weiterhin Updates, wenn sich die integrierte Liste über Versionen hinweg ändert.142Um die integrierten Regeln beizubehalten und gleichzeitig Ihre eigenen hinzuzufügen, fügen Sie die Literalzeichenkette `"$defaults"` in das Array ein. Die Standardregeln werden an dieser Position eingefügt, sodass Ihre benutzerdefinierten Regeln vor oder nach ihnen stehen können, und Sie erhalten weiterhin Updates, wenn sich die integrierte Liste über Versionen hinweg ändert.

122 143 

144Das folgende Beispiel behält die Standardwerte in allen vier Listen bei und fügt organisationsspezifische Regeln zu jedem hinzu.

145 

123```json theme={null}146```json theme={null}

124{147{

125 "autoMode": {148 "autoMode": {


149 Das Festlegen eines der Felder `environment`, `allow`, `soft_deny` oder `hard_deny` ohne `"$defaults"` ersetzt die gesamte Standardliste für diesen Abschnitt. Ein `soft_deny`-Array ohne `"$defaults"` verwirft jede integrierte Soft-Block-Regel, einschließlich Force-Push, `curl | bash` und Produktionsbereitstellungen. Ein `hard_deny`-Array ohne `"$defaults"` verwirft die integrierten Datenexfiltrations- und Auto-Mode-Bypass-Regeln.172 Das Festlegen eines der Felder `environment`, `allow`, `soft_deny` oder `hard_deny` ohne `"$defaults"` ersetzt die gesamte Standardliste für diesen Abschnitt. Ein `soft_deny`-Array ohne `"$defaults"` verwirft jede integrierte Soft-Block-Regel, einschließlich Force-Push, `curl | bash` und Produktionsbereitstellungen. Ein `hard_deny`-Array ohne `"$defaults"` verwirft die integrierten Datenexfiltrations- und Auto-Mode-Bypass-Regeln.

150</Danger>173</Danger>

151 174 

152Jeder Abschnitt wird unabhängig ausgewertet, sodass das Festlegen von `environment` allein die Standard-`allow`-, `soft_deny`- und `hard_deny`-Listen intakt lässt. Lassen Sie `"$defaults"` nur weg, wenn Sie die vollständige Kontrolle über die Liste übernehmen möchten. Um dies sicher zu tun, führen Sie `claude auto-mode defaults` aus, um die integrierten Regeln auszudrucken, kopieren Sie sie in Ihre Einstellungsdatei, und überprüfen Sie dann jede Regel gegen Ihre eigene Pipeline und Risikotoleranz.175Jeder Abschnitt wird unabhängig ausgewertet, sodass das Festlegen von `environment` allein die Standard-`allow`-, `soft_deny`- und `hard_deny`-Listen intakt lässt.

176 

177Lassen Sie `"$defaults"` nur weg, wenn Sie die vollständige Kontrolle über die Liste übernehmen möchten. Um dies sicher zu tun, führen Sie `claude auto-mode defaults` aus, um die integrierten Regeln auszudrucken, kopieren Sie sie in Ihre Einstellungsdatei, und überprüfen Sie dann jede Regel gegen Ihre eigene Pipeline und Risikotoleranz.

178 

179<h2 id="route-all-shell-commands-through-the-classifier">

180 Route all shell commands through the classifier

181</h2>

182 

183Standardmäßig werden enge Bash- und PowerShell-Allow-Regeln wie `Bash(npm test)` in den Auto-Modus übernommen und gelöst, bevor der Klassifizierer ausgeführt wird. Der Auto-Modus setzt nur die breiten Regeln aus, die beliebige Code-Ausführung gewähren, wie `Bash(*)` oder Wildcard-Interpreter. Dies bedeutet, dass eine enge Regel immer noch ein destruktives Argument durchlassen kann, ohne dass der Klassifizierer es sieht, z. B. einen Skriptpfad oder ein Flag, das das Präfix der Regel nicht antizipiert hat.

184 

185Setzen Sie `autoMode.classifyAllShell` auf `true`, um jede Bash- und PowerShell-Allow-Regel auszusetzen, während der Auto-Modus aktiv ist, damit der Klassifizierer jeden Shell-Befehl unabhängig von Ihrer Allow-Liste auswertet.

186 

187```json theme={null}

188{

189 "autoMode": {

190 "classifyAllShell": true

191 }

192}

193```

194 

195Dies tauscht Latenz gegen Abdeckung: Ein Befehl, den eine Allow-Regel sofort genehmigt hätte, wartet jetzt auf eine Klassifizierer-Entscheidung, und jeder Shell-Befehl zählt als ein Klassifizierer-Aufruf.

196 

197Die Einstellung gilt nur, während der Auto-Modus aktiv ist, und Ihre Allow-Regeln verhalten sich in anderen Berechtigungsmodi normal.

198 

199<Note>

200 `autoMode.classifyAllShell` erfordert Claude Code v2.1.193 oder später. Frühere Versionen ignorieren den Schlüssel und setzen enge Shell-Allow-Regeln weiterhin in den Auto-Modus um.

201</Note>

153 202 

154<h2 id="inspect-the-defaults-and-your-effective-config">203<h2 id="inspect-the-defaults-and-your-effective-config">

155 Überprüfen Sie die Standardwerte und Ihre effektive Konfiguration204 Inspect the defaults and your effective config

156</h2>205</h2>

157 206 

158Drei CLI-Unterbefehle helfen Ihnen beim Überprüfen und Validieren Ihrer Konfiguration.207Drei CLI-Unterbefehle helfen Ihnen beim Überprüfen und Validieren Ihrer Konfiguration.


175claude auto-mode critique224claude auto-mode critique

176```225```

177 226 

178Führen Sie `claude auto-mode config` nach dem Speichern Ihrer Einstellungen aus, um zu bestätigen, dass die effektiven Regeln das sind, was Sie erwarten, mit `"$defaults"` an Ort und Stelle erweitert. Wenn Sie benutzerdefinierte Regeln geschrieben haben, überprüft `claude auto-mode critique` diese und kennzeichnet Einträge, die mehrdeutig, redundant oder wahrscheinlich zu falschen Positiven führen. Wenn Sie eine integrierte Regel entfernen oder umschreiben müssen, anstatt sie hinzuzufügen, speichern Sie die Ausgabe von `claude auto-mode defaults` in einer Datei, bearbeiten Sie die Listen und fügen Sie das Ergebnis in Ihre Einstellungsdatei anstelle von `"$defaults"` ein.227Führen Sie `claude auto-mode config` nach dem Speichern Ihrer Einstellungen aus, um zu bestätigen, dass die effektiven Regeln das sind, was Sie erwarten, mit `"$defaults"` an Ort und Stelle erweitert. Wenn Sie benutzerdefinierte Regeln geschrieben haben, überprüft `claude auto-mode critique` diese und kennzeichnet Einträge, die mehrdeutig, redundant oder wahrscheinlich zu falschen Positiven führen.

228 

229Wenn Sie eine integrierte Regel entfernen oder umschreiben müssen, anstatt sie hinzuzufügen, speichern Sie die Ausgabe von `claude auto-mode defaults` in einer Datei, bearbeiten Sie die Listen und fügen Sie das Ergebnis in Ihre Einstellungsdatei anstelle von `"$defaults"` ein.

179 230 

180<h2 id="review-denials">231<h2 id="review-denials">

181 Review denials232 Review denials


183 234 

184Wenn der Auto-Modus einen Tool-Aufruf ablehnt, wird die Ablehnung in `/permissions` unter der Registerkarte „Kürzlich abgelehnt" aufgezeichnet. Drücken Sie `r` auf einer abgelehnten Aktion, um sie zum Wiederholen zu markieren: Wenn Sie das Dialogfeld beenden, sendet Claude Code eine Nachricht, die dem Modell mitteilt, dass es diesen Tool-Aufruf wiederholen kann, und setzt das Gespräch fort.235Wenn der Auto-Modus einen Tool-Aufruf ablehnt, wird die Ablehnung in `/permissions` unter der Registerkarte „Kürzlich abgelehnt" aufgezeichnet. Drücken Sie `r` auf einer abgelehnten Aktion, um sie zum Wiederholen zu markieren: Wenn Sie das Dialogfeld beenden, sendet Claude Code eine Nachricht, die dem Modell mitteilt, dass es diesen Tool-Aufruf wiederholen kann, und setzt das Gespräch fort.

185 236 

237In Claude Code v2.1.193 und später wird der Grund des Klassifizierers für jede Ablehnung neben dem blockierten Tool-Aufruf im Transkript, in der Ablehnungsbenachrichtigung und unter jedem Eintrag auf der Registerkarte „Kürzlich abgelehnt" angezeigt. Verwenden Sie den Grund, um zu entscheiden, ob die Behebung ein `environment`-Eintrag, eine `allow`-Ausnahme oder ein Wiederholen mit expliziter Absicht in Ihrer nächsten Nachricht ist.

238 

186Wiederholte Ablehnungen für dasselbe Ziel bedeuten normalerweise, dass dem Klassifizierer der Kontext fehlt. Fügen Sie dieses Ziel zu `autoMode.environment` hinzu, führen Sie dann `claude auto-mode config` aus, um zu bestätigen, dass es wirksam wurde.239Wiederholte Ablehnungen für dasselbe Ziel bedeuten normalerweise, dass dem Klassifizierer der Kontext fehlt. Fügen Sie dieses Ziel zu `autoMode.environment` hinzu, führen Sie dann `claude auto-mode config` aus, um zu bestätigen, dass es wirksam wurde.

187 240 

188Um programmatisch auf Ablehnungen zu reagieren, verwenden Sie den [`PermissionDenied`-Hook](/de/hooks#permissiondenied).241Um programmatisch auf Ablehnungen zu reagieren, verwenden Sie den [`PermissionDenied`-Hook](/de/hooks#permissiondenied).

189 242 

190<h2 id="see-also">243<h2 id="see-also">

191 Siehe auch244 See also

192</h2>245</h2>

193 246 

194* [Berechtigungsmodi](/de/permission-modes#eliminate-prompts-with-auto-mode): Was Auto-Modus ist, was er standardmäßig blockiert, und wie man ihn aktiviert247* [Berechtigungsmodi](/de/permission-modes#eliminate-prompts-with-auto-mode): Was Auto-Modus ist, was er standardmäßig blockiert, und wie man ihn aktiviert

claude-apps-gateway-config.md +749 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Claude Apps Gateway-Konfiguration

6 

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

8 

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

10 

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

12 

13Das [vollständige Beispiel](#complete-example) am Ende dieser Seite behandelt jeden Abschnitt.

14 

15<h2 id="file-structure">

16 Dateistruktur

17</h2>

18 

19Fünf Abschnitte sind [erforderlich](#required-sections). Jeder andere Abschnitt ist [optional](#optional-sections), und ein fehlender Abschnitt nimmt seine Standardwerte an. Unbekannte Schlüssel führen zum Fehlschlag beim Start, sodass ein Tippfehler als benannter Fehler anstelle einer stillschweigend ignorierten Einstellung auftaucht.

20 

21**Erforderliche Abschnitte:**

22 

23* [`listen`](#listen): Bindungsadresse, öffentliche URL, TLS-Beendigung

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

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

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

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

28 

29**Optionale Abschnitte:**

30 

31* [`admin`](#admin): Admin-API-Authentifizierung und Aufbewahrung für Ausgabenlimits

32* [`enforcement`](#enforcement): Ausgabenlimit-Verhalten bei Fehler-offen oder Fehler-geschlossen

33* [`models`](#models) und `auto_include_builtin_models`: von Admin kuratierte Modellliste und Pro-Upstream-IDs

34* [`managed`](#managed): verwaltete Einstellungsrichtlinien nach IdP-Gruppe

35* [`telemetry`](#telemetry): OTLP-Weiterleitung an Ihren Observability-Stack

36* [`access_control`, `limits`, `timeouts`, `rate_limits`](#http-tuning): IP-Zulassung/Ablehnung, Anfragegrößenbeschränkungen, Upstream-Zeit-bis-erstes-Byte und Pro-IP-Anmeldungslimits

37 

38<h2 id="secret-expansion">

39 Geheimniserweiterung

40</h2>

41 

42Schreiben Sie Geheimnisse wie `client_secret`, `jwt_secret` oder `postgres_url` nicht direkt in `gateway.yaml`. Referenzieren Sie sie mit einem der folgenden Formulare, und das Gateway löst den Wert beim Start aus einer Umgebungsvariablen oder einer Datei auf:

43 

44| Formular | Wird aufgelöst zu | Verwenden für |

45| --------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------- |

46| `${VAR}` | Die Umgebungsvariable `VAR`. Der Start schlägt fehl, wenn nicht definiert. | Container-Umgebungsvariablen, AWS Secrets Manager über Env-Injektion |

47| `${file:/path}` | Dateiinhalt, gekürzt | Kubernetes Secret-Volume-Mounts, Vault Agent, SOPS |

48 

49<h2 id="required-sections">

50 Erforderliche Abschnitte

51</h2>

52 

53<h3 id="listen">

54 `listen`

55</h3>

56 

57Der `listen`-Block steuert, wo das Gateway bereitgestellt wird: die Bindungsadresse und der Port, der extern sichtbare Ursprung und optionale TLS-Beendigung.

58 

59| Feld | Erforderlich | Beschreibung |

60| ---------------------- | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

61| `host` | Nein | Bindungsadresse. Standard `0.0.0.0`. |

62| `port` | Nein | Bindungsport. Standard `8080`. |

63| `public_url` | Hinter einem Proxy | Der extern sichtbare `https://`-Ursprung, der zum Erstellen des IdP-`redirect_uri` und der Erkennungsmetadaten verwendet wird. Erforderlich hinter jedem TLS-beendenden Proxy wie ALB, Ingress oder Cloud Run, da das Gateway `X-Forwarded-*`-Header nicht vertraut, wenn es seinen eigenen Ursprung konstruiert; diese sind Client-spoofbar. `trusted_proxies` unten regelt nur die Client-IP-Auflösung. Auch erforderlich, um [Telemetrie](#telemetry) zu aktivieren, da das Gateway den OTLP-Endpunkt, den es an Clients pusht, aus dieser URL erstellt. |

64| `tls.cert` / `tls.key` | Nein | PEM-Pfade, wenn das Gateway selbst TLS beendet |

65| `trusted_proxies` | Nein | CIDRs oder IPs von Load Balancern vor dem Gateway. Wenn gesetzt, vertraut das Gateway `X-Forwarded-For` nur von diesen Peers und zeichnet die echte Client-IP für Pro-IP-Rate-Limiting und Audit auf. Äquivalent zu nginx `set_real_ip_from`. |

66 

67<h3 id="oidc">

68 `oidc`

69</h3>

70 

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

72 

73| Feld | Erforderlich | Beschreibung |

74| ------------------------------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

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

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

78| `allowed_groups` | Nein | Beschränken Sie die Anmeldung auf Mitglieder dieser IdP-Gruppen, abgeglichen gegen `groups_claim`. Ein Benutzer in einer zulässigen E-Mail-Domäne, aber in keiner dieser Gruppen, wird abgelehnt. Erfordert, dass der IdP den Gruppenanspruch ausgibt. |

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

80| `google_groups` | Nein | Schlagen Sie die Gruppen des angemeldeten Benutzers über die Google Workspace Admin SDK Directory API nach, da Googles id\_token keinen Gruppenanspruch trägt. Setzen Sie `service_account_json_path` auf eine Service-Account-Schlüsseldatei mit Domain-weiter Delegation im Bereich `https://www.googleapis.com/auth/admin.directory.group.readonly` und `admin_email` auf einen Workspace-Administrator, den der Service Account annimmt; die Directory API erfordert ein echtes Admin-Subjekt. Die E-Mail-Adressen jeder Benutzergruppe werden zu ihrem Gruppenanspruch, sodass `allowed_groups` und `managed.policies.match.groups` auf Gruppen-E-Mails abgeglichen werden. |

81| `email_claim` | Nein | Welcher id\_token-Anspruch trägt die E-Mail des Benutzers. Standard `email`. Einige IdPs wie ADFS und Entra B2C geben stattdessen `upn` oder `preferred_username` aus. Akzeptiert einen flachen Schlüssel, einen JSON Pointer oder eine Liste von Fallback-Schlüsseln, wobei der erste vorhandene Schlüssel verwendet wird. |

82| `scopes` | Nein | Vollständige Überschreibung der OIDC-Bereiche, die das Gateway anfordert. Standard `[openid, profile, email, offline_access]`. Setzen Sie, wenn Ihr IdP Bereiche ablehnt, die er nicht erkennt, oder einen benutzerdefinierten Bereich erfordert, um Gruppen oder E-Mail auszugeben. Muss `openid` enthalten. Das Löschen von `offline_access` deaktiviert Aktualisierungstoken, sodass Entwickler die Browser-Anmeldung alle `session.ttl_hours` erneut ausführen. Siehe [Identitätsanbieter-Setup](/de/claude-apps-gateway-deploy#identity-provider-setup) für Pro-IdP-Bereich-Rezepte wie Googles Aktualisierungstoken-Fluss. |

83| `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-Flüsse. Kann die vom Gateway verwalteten Protokollparameter nicht überschreiben: `state`, `nonce`, `redirect_uri`, PKCE, `scope`, `response_type`, `response_mode` und `client_id`. |

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

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

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

87| `token_endpoint_auth_method` | Nein | Überschreiben Sie die Token-Endpunkt-Authentifizierungsmethode. Akzeptiert `client_secret_basic` oder `client_secret_post`. Standardmäßig automatisch ausgehandelt. |

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

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

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

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

92| `ca_cert_pem` | Nein | PEM-CA-Zertifikat, das den System-Trust-Store nur für IdP-Anfragen ersetzt. Verwenden Sie für Keycloak oder Dex hinter unternehmensweiter PKI. |

93 

94<h3 id="session">

95 `session`

96</h3>

97 

98Der `session`-Block formt die Bearer-Token, die das Gateway nach der Anmeldung ausstellt: das Geheimnis, das sie signiert, und wie lange sie leben.

99 

100| Feld | Erforderlich | Beschreibung |

101| ------------ | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

102| `jwt_secret` | Ja | Mindestens 32 Bytes Entropie, zum Beispiel von `openssl rand -base64 32`. Signiert die HS256-Bearer-Tokens des Gateways. Akzeptiert einen einzelnen String oder ein Array für Rotation: Index 0 signiert und alle Einträge verifizieren. Um zu rotieren, stellen Sie ein neues Geheimnis voran, warten Sie `ttl_hours`, dann löschen Sie das alte. |

103| `ttl_hours` | Nein | Gateway-Bearer-Token-Lebensdauer. Standard `1`. Die CLI aktualisiert sich stillschweigend vor Ablauf, wenn der IdP Aktualisierungstoken ausgibt. Eine kürzere Lebensdauer hebt die Bereitstellung schneller auf; eine längere macht weniger IdP-Rundfahrten. Wenn Ihr IdP keine Aktualisierungstoken ausstellen kann, weil `offline_access` nicht verfügbar ist, gibt es keine stille Aktualisierung, also erhöhen Sie dies auf `8` oder `12`, um zu vermeiden, dass Entwickler alle Stunde zur Browser-Anmeldung zurückgesendet werden. |

104 

105<h3 id="store">

106 `store`

107</h3>

108 

109Der `store`-Block zeigt das Gateway auf seine PostgreSQL-Datenbank, die Gerätezuschüsse und Rate-Limit-Zähler enthält.

110 

111| Feld | Erforderlich | Beschreibung |

112| ----------------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

113| `postgres_url` | Ja | `postgres://` oder `postgresql://` URL. Erforderlich: das Gerätezuschuss-Rendezvous, wo der Browser-Callback schreibt und die Polling-CLI liest, benötigt Cross-Replica-Status. Das Gateway führt seine eigenen Schema-Migrationen beim Start aus, sodass die Rolle `CREATE TABLE` im Zielschema benötigt. Wenn Ihre Sicherheitsrichtlinie DDL von der Anwendungsrolle verbietet, führen Sie die Migrationen mit einer Admin-Rolle aus, anfangs und jedes Mal, wenn ein neues Release Migrationen ausliefert, und gewähren Sie der App-Rolle `SELECT, INSERT, UPDATE, DELETE` auf den Gateway-Tabellen. Siehe [Upgrades](/de/claude-apps-gateway-deploy#upgrades) und [Postgres](/de/claude-apps-gateway-deploy#postgres). |

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

115| `password` | Nein | Datenbankberechtigungsnachweis. Setzen Sie ihn hier anstelle von `postgres_url`, damit die Berechtigung aus der URL bleibt. Akzeptiert beliebige Zeichen und hat Vorrang vor URL-Berechtigungsnachweisen. |

116| `max_connections` | Nein | Postgres-Verbindungspool-Größe pro Replik. Standard `5`, was konservativ und freundlich zu gemeinsamen Datenbanken ist. Mit [Ausgabenlimits](#admin) aktiviert, macht der Hot Path ein paar Operationen pro Inferenzanfrage, also erhöhen Sie es für eine dedizierte Datenbank unter Last und halten Sie Replikas × dies unter der `max_connections` der Datenbank. |

117 

118Für die lokale Entwicklung zeigen Sie `postgres_url` auf einen Wegwerf-Postgres-Container, zum Beispiel `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`.

119 

120<h3 id="upstreams">

121 `upstreams`

122</h3>

123 

124`upstreams` ist eine geordnete Liste. Das Gateway leitet Inferenz an den ersten Upstream weiter, der das angeforderte Modell auflöst. Bei `5xx`, `429` oder Timeout schlägt es zum nächsten fehl; andere `4xx` nicht, da diese Fehler der Anfrage statt dem Upstream zuzuordnen sind. Mehrere Upstreams desselben Anbieters müssen einen unterschiedlichen `name:` setzen.

125 

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

127 

128<h4 id="anthropic-api">

129 Anthropic API

130</h4>

131 

132Der minimale Anthropic-Upstream ist ein API-Schlüssel aus der [Claude Console](https://platform.claude.com):

133 

134```yaml theme={null}

135upstreams:

136 - provider: anthropic

137 auth:

138 api_key: ${ANTHROPIC_API_KEY}

139 # ODER ein OAuth-Bearer (z.B. ein Workload-Identity-Federation-ausgetauschter Token):

140 # oauth_token: ${file:/var/run/secrets/anthropic-oauth-token}

141 # base_url: https://api.anthropic.com # Standard; Überschreibung für einen Forward Proxy

142```

143 

144Die zwei Berechtigungsnachweis-Formulare unterscheiden sich im Header, den sie senden:

145 

146* **`api_key`**: sendet `x-api-key`. Rotieren Sie ihn in der Claude Console und aktualisieren Sie die Env-Variable.

147* **`oauth_token`**: sendet `Authorization: Bearer`. Verwenden Sie das Bearer-Formular, wenn Ihre Organisation kurzlebige Token statt langlebiger API-Schlüssel ausgibt. Der Bearer wird einmal beim Start gelesen, also aktualisieren Sie durch Remounten des Geheimnisses und Neustart.

148 

149Anstelle eines statischen Schlüssels oder Bearers können Sie Workload Identity Federation verwenden. Erstellen Sie eine Verbindungsregel, indem Sie dem [Workload Identity Federation-Leitfaden](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) folgen, dann mounten Sie das OIDC-JWT Ihrer Workload als Datei, wie ein Kubernetes-projiziertes Service-Account-Token oder ein ID-Token einer CI-Plattform. Das Gateway tauscht das JWT gegen einen kurzlebigen Bearer aus und aktualisiert ihn automatisch. Die Token-Datei wird bei jedem Austausch erneut gelesen, sodass rotierte projizierte Tokens ohne Neustart aufgegriffen werden.

150 

151```yaml theme={null}

152upstreams:

153 - provider: anthropic

154 auth:

155 federation_rule_id: ${ANTHROPIC_FEDERATION_RULE_ID}

156 organization_id: ${ANTHROPIC_ORGANIZATION_ID}

157 identity_token_file: /var/run/secrets/anthropic/id-token

158 # workspace_id: wrkspc_... # erforderlich, wenn die Regel >1 Workspace abdeckt

159 # service_account_id: svac_... # optionale erwartete Zielprüfung

160```

161 

162<h4 id="amazon-bedrock">

163 Amazon Bedrock

164</h4>

165 

166Für die Client-seitige Bedrock-Bereitstellung, die das Gateway ersetzt oder frontet, siehe [Claude Code on Amazon Bedrock](/de/amazon-bedrock). Der Gateway-seitige Upstream:

167 

168```yaml theme={null}

169upstreams:

170 - provider: bedrock

171 region: us-east-1

172 auth: {} # bevorzugt: AWS-Standard-Berechtigungskette

173 # ODER explizite Berechtigungsnachweise:

174 # auth:

175 # aws_access_key_id: ${AWS_AKID}

176 # aws_secret_access_key: ${AWS_SK}

177 # aws_session_token: ${AWS_ST}

178 # ODER ein Bedrock-API-Bearer-Token:

179 # auth:

180 # aws_bearer_token: ${AWS_BEARER_TOKEN}

181 # Überschreiben Sie den bedrock-runtime-Endpunkt für FIPS oder VPC-Endpunkt-Bereitstellungen:

182 # base_url: https://bedrock-runtime-fips.us-east-1.amazonaws.com

183```

184 

185Ein leerer `auth`-Block verwendet die Standard-Berechtigungskette des AWS SDK: Env-Variablen, `~/.aws/credentials`, ECS-Task-Rolle, EC2-Instanzmetadaten oder IRSA auf EKS. In der Produktion geben Sie dem Gateway-Pod eine IAM-Rolle statt statische Schlüssel in ein Container-Image einzubetten.

186 

187| Setup | Wie |

188| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

189| IAM-Berechtigungen | Gewähren Sie dem Gateway-Principal `bedrock:InvokeModel` und `bedrock:InvokeModelWithResponseStream` sowohl auf den Inferenz-Profil-ARNs als auch auf den zugrunde liegenden Foundation-Model-ARNs. Für den integrierten Katalog in US-Regionen: `arn:aws:bedrock:<region>:<account>:inference-profile/us.anthropic.*` und `arn:aws:bedrock:*::foundation-model/anthropic.*`. |

190| Modellzugriff | In der Bedrock-Konsole pro Region fordern Sie Modellzugriff für die Claude-Modelle an, die Sie möchten, und aktivieren Sie ihn. Cross-Region-Inferenz-Profile (`us.anthropic.*`) erfordern Modellzugriff in jeder Region, die das Profil umfasst. |

191| EKS (IRSA) | Erstellen Sie eine IAM-Rolle mit der obigen Richtlinie und einer Vertrauensrichtlinie für den OIDC-Provider Ihres Clusters, der auf das Service-Account des Gateways beschränkt ist. Kommentieren Sie das Service-Account mit `eks.amazonaws.com/role-arn: arn:aws:iam::<acct>:role/claude-gateway`. `auth: {}` nimmt es auf. |

192| ECS / EC2 | Hängen Sie die IAM-Rolle an die Task-Definition oder das Instance-Profil an. `auth: {}` nimmt es auf. |

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

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

195 

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

197 Google Cloud Agent Platform

198</h4>

199 

200Für das äquivalente Client-seitige Setup siehe [Claude Code on Google Cloud](/de/google-vertex-ai). Der Gateway-seitige Upstream:

201 

202```yaml theme={null}

203upstreams:

204 - provider: vertex

205 region: us-east5

206 project_id: example-prod

207 auth: {} # bevorzugt: Application Default Credentials

208 # ODER eine Service-Account-Schlüsseldatei:

209 # auth: { service_account_json: /secrets/sa.json }

210 # Überschreiben Sie den aiplatform-Endpunkt für Private Service Connect:

211 # base_url: https://us-east5-aiplatform.p.googleapis.com

212```

213 

214Ein leerer `auth`-Block verwendet Application Default Credentials: `GOOGLE_APPLICATION_CREDENTIALS`, GCE-Metadaten oder GKE Workload Identity. Service-Account-JSON-Schlüsseldateien werden unterstützt, aber nicht empfohlen; verwenden Sie Workload Identity oder hängen Sie ein Service-Account an die GCE- oder Cloud Run-Instanz an.

215 

216Setzen Sie `region: global`, um [Agent Platforms globalen Endpunkt](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations) statt eines regionalen zu verwenden. Google leitet dann jede Anfrage an eine verfügbare Region weiter, sodass Sie die Pro-Region-Modellverfügbarkeit nicht verfolgen. Das Setzen einer bestimmten Region heftet jede Anfrage daran.

217 

218| Setup | Wie |

219| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

220| IAM-Berechtigungen | Gewähren Sie dem Gateway-Service-Account `roles/aiplatform.user` auf dem Projekt oder eine benutzerdefinierte Rolle mit `aiplatform.endpoints.predict`. Aktivieren Sie die Agent Platform API (`aiplatform.googleapis.com`). |

221| Modellzugriff | Aktivieren Sie in Model Garden die Claude-Modelle für Ihr Projekt. Sie werden in bestimmten Regionen veröffentlicht; überprüfen Sie die Modellkarte auf unterstützte Regionen. |

222| GKE (Workload Identity) | Binden Sie ein GCP-Service-Account an das Kubernetes-Service-Account des Gateways und kommentieren Sie das KSA mit `iam.gke.io/gcp-service-account: claude-gateway@<proj>.iam.gserviceaccount.com`. `auth: {}` nimmt es auf. |

223| Cloud Run / GCE | Setzen Sie das Service-Account des Service auf eines mit `roles/aiplatform.user`. `auth: {}` nimmt es auf. |

224| Überall sonst | `auth: { service_account_json: /secrets/sa.json }`, der Pfad zu einer JSON-Schlüsseldatei, die als Geheimnis gemountet ist. Das Feld nimmt einen Dateipfad, nicht den Schlüsselinhalt, also ist keine `${file:…}`-Erweiterung beteiligt. |

225 

226<h4 id="microsoft-foundry">

227 Microsoft Foundry

228</h4>

229 

230Für die Client-seitige Foundry-Bereitstellung siehe [Claude Code on Microsoft Foundry](/de/microsoft-foundry). Der Gateway-seitige Upstream:

231 

232```yaml theme={null}

233upstreams:

234 - provider: foundry

235 resource: example-foundry # https://example-foundry.services.ai.azure.com

236 auth: { use_azure_ad: true } # bevorzugt: DefaultAzureCredential / Managed Identity

237 # ODER ein API-Schlüssel:

238 # auth:

239 # api_key: ${FOUNDRY_API_KEY}

240```

241 

242`use_azure_ad: true` wird durch `DefaultAzureCredential` aufgelöst: Managed Identity auf AKS, ACI oder App Service; die Azure CLI; oder Umgebungsberechtigungsnachweise. API-Schlüssel funktionieren, sind aber projektumfassend und rotieren nicht automatisch. Der Foundry-Endpunkt wird von `resource:` abgeleitet; setzen Sie das optionale `base_url`, um es für souveräne Clouds wie Azure Government zu überschreiben.

243 

244| Setup | Wie |

245| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

246| RBAC | Gewähren Sie dem Gateway-Identity `Azure AI User` oder `Cognitive Services User` auf der Foundry-Ressource |

247| Bereitstellungen | Foundry verwendet von Admin gewählte Bereitstellungsnamen, nicht kanonische Modell-IDs. Fügen Sie einen [`models:`](#models)-Block hinzu, der jede kanonische ID Ihrem Bereitstellungsnamen zuordnet. |

248| AKS (Workload-Identität) | Verbinden Sie eine User-Assigned Managed Identity mit dem OIDC-Issuer des Clusters und binden Sie sie an das Service-Account des Gateways. `use_azure_ad: true` nimmt es über `WorkloadIdentityCredential` auf. |

249| ACI / App Service | Aktivieren Sie system-zugewiesene oder user-zugewiesene Managed Identity auf der Ressource. `use_azure_ad: true` nimmt es auf. |

250| Überall sonst | `auth: { api_key: "${FOUNDRY_API_KEY}" }`. Zitieren Sie `${…}` innerhalb von `{ }`. |

251 

252<h4 id="multiple-upstreams">

253 Mehrere Upstreams

254</h4>

255 

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

257 

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

259 

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

261 

262```yaml theme={null}

263upstreams:

264 # Primär: bereitgestellter Durchsatz in Ihrer Heimatregion.

265 - name: bedrock-pt

266 provider: bedrock

267 region: us-east-1

268 auth: {}

269 # Überlauf: On-Demand Cross-Region.

270 - name: bedrock-od

271 provider: bedrock

272 region: us-west-2

273 auth: {}

274 # Anderes Konto: eine separate Bedrock-Zuteilung über angenommene Rollberechtigungsnachweise.

275 - name: bedrock-acct2

276 provider: bedrock

277 region: us-east-1

278 auth:

279 aws_access_key_id: ${ACCT2_AKID}

280 aws_secret_access_key: ${ACCT2_SK}

281 # Letzter Ausweg: direkte Anthropic API.

282 - name: anthropic-fallback

283 provider: anthropic

284 auth:

285 api_key: ${ANTHROPIC_API_KEY}

286 

287# Pro-Upstream-Modell-IDs werden auf dem `name:` des Upstream geschlüsselt; ein Upstream

288# ohne `name:` nimmt standardmäßig seinen Provider-String (z.B. `bedrock`). Jeder

289# Upstream, der nicht für ein Modell aufgelistet ist, wird übersprungen, was ist, wie Sie ein Modell

290# zu bereitgestelltem Durchsatz routen, während alles andere On-Demand bleibt.

291models:

292 - id: claude-opus-4-8

293 label: Claude Opus 4.8

294 upstream_model:

295 bedrock-pt: arn:aws:bedrock:us-east-1:111111111111:provisioned-model/abcdef

296 bedrock-od: us.anthropic.claude-opus-4-8

297 bedrock-acct2: us.anthropic.claude-opus-4-8

298 anthropic-fallback: claude-opus-4-8

299```

300 

301| Hebel | Wie |

302| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

303| Verschiedene Regionen | Ein Bedrock-Upstream pro Region, jeder mit seiner eigenen `region:`. Mit [`auto_include_builtin_models: true`](#models) routen die Cross-Region-Inferenz-Profile automatisch; für Region-gepinnte Bereitstellungen verwenden Sie einen `models:`-Block. |

304| Verschiedene Konten | Ein Bedrock-Upstream pro Konto, jeder mit seinen eigenen Berechtigungsnachweisen in `auth:`. Die Standard-Kette (`auth: {}`) verwendet die Pod-Identität; für ein zweites Konto setzen Sie explizite Berechtigungsnachweise oder ein Bearer-Token. |

305| Bereitgestellter Durchsatz | Ordnen Sie das Modell der bereitgestellten Durchsatz-ARN in `models:` für den Namen dieses Upstream zu. Andere Upstreams behalten die On-Demand-ID, sodass PT-Kapazität vor dem Failover erschöpft ist. |

306| VPC / FIPS-Endpunkte | Setzen Sie `base_url:` auf dem Upstream auf Ihren VPC-Endpunkt oder FIPS-Endpunkt-URL |

307| Modell-gesteuertes Routing | Lassen Sie einen Upstream aus der `upstream_model:`-Karte eines Modells weg und dieser Upstream wird für dieses Modell übersprungen. Zum Beispiel routen Sie Opus zu bereitgestelltem Durchsatz und Sonnet und Haiku zu On-Demand. |

308 

309Das Failover zwischen Cloud-Anbietern oder zur direkten Anthropic API ändert, welche Vereinbarung, Geographie und andere Bedingungen die Anfrage regeln.

310 

311Die CLI wendet dasselbe Feature-Gating auf Gateways an, unabhängig davon, welcher Upstream eine bestimmte Anfrage bedient, sodass Failover kein Body-Feld sendet, das ein Upstream ablehnen würde.

312 

313<h2 id="optional-sections">

314 Optionale Abschnitte

315</h2>

316 

317<h3 id="admin">

318 `admin`

319</h3>

320 

321Optional. Aktiviert `/v1/organizations/spend_limits`, das Anthropics öffentliche Admin API spiegelt, und Pro-Entwickler-Ausgabendurchsetzung auf `/v1/messages`. Siehe [Ausgabenlimits](/de/claude-apps-gateway-spend-limits) für wie Caps gesetzt und durchgesetzt werden; dieser Abschnitt behandelt die `gateway.yaml`-Schlüssel, die die Funktion aktivieren und sie abstimmen.

322 

323```yaml theme={null}

324admin:

325 # Benannte statische API-Schlüssel für die Admin-Endpunkte, gesendet als x-api-key.

326 # Die ID erscheint im Audit-Log als admin-key:<id>, sodass jeder Schlüssel

327 # zurechenbar ist. Array für Rotation: fügen Sie den neuen Schlüssel hinzu, rollen Sie Clients,

328 # entfernen Sie den alten.

329 write_keys:

330 - { id: terraform, key: "${GATEWAY_ADMIN_WRITE_KEY_TF}" }

331 - { id: ci, key: "${GATEWAY_ADMIN_WRITE_KEY_CI}" }

332 read_keys:

333 - { id: reporting, key: "${GATEWAY_ADMIN_READ_KEY}" }

334 # IdP-Gruppen, denen vollständiger Admin über das normale Gateway-JWT gewährt wird (kein API-Schlüssel).

335 admin_groups: [platform-finops]

336 blocked_message: request an increase at https://go.example.com/claude-limits

337```

338 

339| Feld | Erforderlich | Beschreibung |

340| ------------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

341| `write_keys` | Nein | Array von `{id, key}`. Ein `x-api-key`, das einem dieser entspricht, kann Ausgabenlimits auflisten, setzen und löschen. Schlüsselwerte müssen mindestens 32 Zeichen sein; `id`s müssen über `read_keys` und `write_keys` eindeutig sein. |

342| `read_keys` | Nein | Array von `{id, key}`. Schreibgeschützt: jeder `GET`-Endpunkt, einschließlich Auflistung von Caps, Abrufen eines nach ID und Lesen von [`/effective`](/de/claude-apps-gateway-spend-limits#%2Feffective) und [`/audit`](/de/claude-apps-gateway-spend-limits#%2Faudit). |

343| `admin_groups` | Nein | IdP-Gruppennamen. Ein Gateway-JWT, dessen `groups`-Anspruch einen dieser enthält, hat vollständigen Admin-Zugriff, Lesen und Schreiben, und Audits als `oidc:<sub>`. Verwenden Sie dies für menschliche Admins; verwenden Sie API-Schlüssel für Maschinen. |

344| `blocked_message` | Nein | Wörtlich an die `429 billing_error` angehängt, die ein blockierter Entwickler sieht. Schreiben Sie die ganze Anweisung, wie eine URL oder einen Slack-Kanal. Nicht gesetzt, der Fehler ist `spend limit reached`. |

345| `audit_retention_days` | Nein | Standard `365`. Ältere `admin_audit`-Zeilen werden gefegt. |

346| `spend_retention_months` | Nein | Standard `13`. `spend`-Zähler-Zeilen älter als dies werden gefegt. Der Standard behält ein volles Jahr plus den aktuellen Teilmonat für Jahr-über-Jahr-Berichterstattung. |

347| `identity_retention_days` | Nein | Standard `90`. Last-Seen-TTL für `principal_emails`-Zeilen, die die E-Mail, den Anzeigenamen und die Gruppen jedes Entwicklers enthalten (PII). Absichtlich kürzer als Ausgabenaufbewahrung, sodass eine bereitgestellte Identität altert, während ihre anonymen Ausgabenzähler bleiben. |

348| `group_limit_mode` | Nein | `min` (Standard) oder `max`. Wenn ein Entwickler in mehreren Gruppen mit Caps ist, erzwingt `min` die restriktivste und `max` die am wenigsten restriktive. Wird sowohl von Durchsetzung als auch von `/effective` verwendet. |

349 

350<h3 id="enforcement">

351 `enforcement`

352</h3>

353 

354Der `enforcement`-Block steuert, wie Ausgabenlimit-Prüfungen sich verhalten, wenn der Store nicht verfügbar ist.

355 

356| Feld | Erforderlich | Beschreibung |

357| ---------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

358| `fail_closed_on_error` | Nein | Standard `false`. Ausgabendurchsetzung schlägt bei einem Postgres-Ausfall offen fehl, sodass Inferenz oben bleibt. Setzen Sie `true`, um geschlossen fehlzuschlagen: Über-Cap-Entwickler werden blockiert, aber so ist jeder, wenn der Store nicht erreichbar ist. Hat keine Auswirkung ohne einen [`admin:`](#admin)-Block. |

359 

360<h3 id="models">

361 `models`

362</h3>

363 

364Der `models`-Block ist eine optionale von Admin kuratierte Modellliste, die unter `/v1/models` bereitgestellt wird und zum Übersetzen von Modell-IDs pro Upstream verwendet wird. Es ist erforderlich für Nicht-US-Bedrock-Regionen, Bedrock-bereitgestellte Durchsatz-ARNs und Foundry-Bereitstellungsnamen.

365 

366```yaml theme={null}

367auto_include_builtin_models: true # false: nur die Liste unten exponieren

368models:

369 - id: claude-opus-4-8

370 label: Claude Opus 4.8

371 # description: optionaler Text, der in Clients angezeigt wird, die ihn exponieren

372 upstream_model:

373 anthropic: claude-opus-4-8

374 bedrock: us.anthropic.claude-opus-4-8 # oder eine Inferenz-Profil-ARN

375 foundry: your-opus-deployment-name

376```

377 

378<h3 id="managed">

379 `managed`

380</h3>

381 

382Der `managed`-Block definiert rollenbasierte Zugriffrichtlinien, die auf IdP-Gruppen oder E-Mail-Domäne geschlüsselt sind. Richtlinien werden in Reihenfolge ausgewertet; die erste Übereinstimmung wird ausgewählt, dann auf die `match: {}`-Catch-All-Basis zusammengeführt, die unten beschrieben wird. Sie werden pro Benutzer unter `GET /managed/settings` mit ETag/304-Caching bereitgestellt.

383 

384```yaml theme={null}

385managed:

386 policies:

387 # Spezifische Gruppen zuerst.

388 - match: { groups: [eng-contractors] }

389 cli:

390 availableModels: [claude-sonnet-4-6]

391 permissions: { deny: ["WebFetch", "WebSearch"] }

392 # Standard-Catch-All zuletzt: passt zu jedem, der sich authentifiziert hat.

393 - match: {}

394 cli:

395 availableModels: [claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5]

396```

397 

398Ein `match: {}`-Catch-All, üblicherweise zuletzt aufgelistet, wird als Basisschicht behandelt. Jede andere Richtlinie erbt jeden Schlüssel, den sie nicht von der Catch-All setzt, sodass Pro-Rollen-Einträge nur auflisten müssen, was sich vom Org-Standard unterscheidet. Die Zusammenführungsregeln hängen vom Schlüsseltyp ab:

399 

400* **Zulassungslisten**: `availableModels` und `permissions.allow`. Die Liste einer spezifischen Richtlinie ersetzt die Basis vollständig.

401* **Ablehnungslisten und Hook-Arrays**: `permissions.deny`, `permissions.ask`, `disabledMcpjsonServers`, `deniedMcpServers`, `blockedMarketplaces` und jedes `hooks`-Event-Typ-Array. Diese nehmen die Vereinigung von Basis und Richtlinie, sodass ein Org-weiter Ablehnungs- oder Audit-Hook nicht versehentlich durch eine Pro-Rollen-Überschreibung gelöscht werden kann.

402* **Record-typisierte Schlüssel**: `env`, `modelOverrides` und `skillOverrides`. Diese flach-zusammenführen, sodass ein Pro-Rollen-`env`-Block Schlüssel überschreibt, die er setzt, und den Rest von der Basis erbt.

403 

404`availableModels` wird auch Server-seitig unter `/v1/messages` durchgesetzt, sodass ein abgelehntes Modell `400` zurückgibt, unabhängig davon, was der Client sendet.

405 

406| Matcher | Verhalten |

407| --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

408| `match: {}` | Passt zu jedem authentifizierten Benutzer. Beginnen Sie mit einem davon und fügen Sie später Gruppen-gesteuerter Richtlinien darüber hinzu. |

409| `match: { groups: [a, b] }` | Passt, wenn der JWT-`groups`-Anspruch eine der aufgelisteten Gruppen enthält. Groß-/Kleinschreibung beachtet: Gruppen müssen die genaue Groß-/Kleinschreibung des IdP abgleichen. |

410| `match: { email_domain: example.com }` | Passt den Teil nach dem letzten `@` im JWT-`email`-Anspruch, Groß-/Kleinschreibung ignoriert. Akzeptiert eine Domäne pro Richtlinie. |

411| `match: { groups: [a], email_domain: example.com }` | Beide Bedingungen müssen passen |

412 

413Ein authentifizierter Benutzer, der keine Richtlinie passt, erhält die Gateway-Standardwerte, was bedeutet, jedes Modell im Katalog und keine verwalteten Einstellungen. Fügen Sie einen `match: {}`-Catch-All zuletzt hinzu, wenn Sie eine garantierte Standard-Richtlinie möchten.

414 

415<Note>

416 Das Gateway führt kein eigenes Benutzerverzeichnis. Es autorisiert jede Anfrage vom IdP-Token des Benutzers, liest die Gruppenmitgliedschaft vom `groups`-Anspruch des Tokens und wertet Richtlinien dagegen aus. Es gibt kein Roster zum Aufzählen und keine Konten zum Vorerstellen, und daher keinen SCIM-Endpunkt, da es nichts gibt, das SCIM hinein synchronisieren könnte.

417 

418 Führen Sie Benutzer- und Gruppen-Lebenszyklusverwaltung an der Quelle der Wahrheit durch, die der native SCIM-Bereitstellung Ihres IdP oder eine dedizierte Identitäts-Governance-Plattform ist. Mitgliedschaft und Bereitstellung, die dort regiert werden, fließen automatisch durch den Token in das Gateway. Wenn Sie SCIM-Bereitstellung von Claude-Konten selbst möchten, das ist eine [Claude for Enterprise](/de/admin-setup)-Fähigkeit.

419 

420 Zwei Ausbreitungsuhren gelten:

421 

422 * **Richtlinieninhalt**: Das Bearbeiten einer Richtlinie und das erneute Bereitstellen erreichen verbundene Clients bei ihrer nächsten verwalteten Einstellungsabfrage, innerhalb einer Stunde

423 * **Gruppenmitgliedschaft**: Das Ändern der Gruppenmitgliedschaft eines Benutzers ändert, welche Richtlinie ihn passt. Dies tritt bei der nächsten Session-Neuerstellung in Kraft, was die nächste stille Aktualisierung bedeutet, begrenzt durch `session.ttl_hours`.

424</Note>

425 

426<h4 id="what-goes-in-cli">

427 Was geht in `cli`

428</h4>

429 

430Jeder `cli`-Wert ist ein vollständiges Claude Code `managed-settings.json`-Dokument, das gleiche Schema, das Sie über MDM oder `/etc/claude-code/managed-settings.json` bereitstellen würden, hier als YAML ausgedrückt. Die CLI wendet das bereitgestellte Dokument auf der verwalteten Ebene an, über Benutzer- und Projekteinstellungen.

431 

432Das Gateway validiert jedes Dokument beim Start gegen das Einstellungsschema der CLI, sodass ein nicht erkannter Top-Level-Schlüssel oder ein erkannter Schlüssel mit einem fehlgeformten Wert beim Start mit einem Fehler fehlschlägt, der jeden fehlerhaften Schlüssel benennt. Absichtlich offene Teile des Schemas akzeptieren immer noch beliebige Werte, da neuere Clients Einträge erkennen können, die das Gateway-Schema nicht erkennt. Diese offenen Schlüssel sind `env`, `pluginConfigs` und Schlüssel, die unter `permissions` verschachtelt sind.

433 

434Da die Validierung das Schema verwendet, das mit der installierten Version des Gateways gebündelt ist, erfordert das Einfügen eines Top-Level-Einstellungsschlüssels, der von einer neueren Claude Code-Version eingeführt wurde, in verwaltete Konfiguration, das Gateway zuerst zu aktualisieren. Rauchtesten Sie eine neue Richtlinie auf einem Client, bevor Sie sie ausrollen.

435 

436Die vollständige Schlüsselreferenz ist in [Claude Code-Einstellungen](/de/settings#available-settings). Die Schlüssel, die Operatoren zuerst erreichen:

437 

438```yaml theme={null}

439managed:

440 policies:

441 - match: {}

442 cli:

443 # Modellzugriff (auch Server-seitig unter /v1/messages durchgesetzt)

444 availableModels: [claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5]

445 

446 # Berechtigungsrichtlinie

447 permissions:

448 deny:

449 - "WebFetch"

450 - "Read(./.env)"

451 - "Read(./secrets/**)"

452 disableBypassPermissionsMode: disable # blockiert --dangerously-skip-permissions

453 allowManagedPermissionRulesOnly: true # ignoriert Benutzer-/Projektberechtigungsregeln

454 

455 # Umgebung in den CLI-Prozess gepusht. DISABLE_UPDATES blockiert

456 # Hintergrund- und manuelle Updates; DISABLE_AUTOUPDATER stoppt nur

457 # Hintergrund-Updates.

458 env:

459 DISABLE_UPDATES: "1" # pin-Versionen über Ihre eigene Verteilung

460 

461 # Org-weite Hooks. Hook-Befehle laufen auf Entwicklermaschinen, nicht dem

462 # Gateway, sodass der Pfad auf jedem Client-OS in der Richtlinie existieren muss.

463 hooks:

464 PostToolUse:

465 - matcher: "Edit|Write"

466 hooks:

467 - { type: command, command: /usr/local/bin/audit-edit.sh }

468```

469 

470| Schlüssel | Durchgesetzt von | Effekt |

471| ------------------------------------------ | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

472| `availableModels` | Gateway + CLI | Modell-Zulassungsliste. Auch unter `/v1/messages` überprüft, sodass ein gepatchter Client ihn nicht umgehen kann. |

473| `permissions.allow` / `.deny` | CLI | Tool- und Befehlsregeln. Siehe [Berechtigungen](/de/permissions). |

474| `permissions.disableBypassPermissionsMode` | CLI | Setzen Sie auf `disable`, um [`bypassPermissions`](/de/permission-modes#skip-all-checks-with-bypasspermissions-mode), den Modus, der jeden Tool-Aufruf auto-genehmigt, und das `--dangerously-skip-permissions`-Flag zu blockieren |

475| `allowManagedPermissionRulesOnly` | CLI | Wenn `true`, werden Benutzer- und Projektberechtigungsregeln ignoriert; nur Regeln aus diesem Dokument gelten |

476| `env` | CLI | Umgebungsvariablen, die in den CLI-Prozess zusammengeführt werden. Verwenden Sie für Telemetrie, Auto-Update und Modellnamen-Überschreibungen. |

477| `hooks` | CLI | Org-weite [Hooks](/de/hooks) |

478 

479Da diese Einstellungen über das Netzwerk ankommen, zeigt die CLI jedem Entwickler einen einmaligen Sicherheitsgenehmigungsdialog, bevor etwas angewendet wird, das einen Shell-Befehl ausführen oder ändern kann, wohin Traffic geht. Der Dialog behandelt:

480 

481* `hooks`

482* `env`-Variablen, die nicht auf der sicheren Liste der CLI sind

483* Shell-Ausführungseinstellungen wie `apiKeyHelper` und `statusLine`

484* verwalteter CLAUDE.md-Inhalt

485 

486Die sichere Liste bestimmt, welche `env`-Variablen ohne Genehmigung gelten:

487 

488* **Auf der sicheren Liste**: Auto-Update und Modellnamen-Variablen

489* **Nicht auf der sicheren Liste**: Proxy-Variablen, Base-URL-Variablen und `OTEL_EXPORTER_OTLP_ENDPOINT`

490 

491Die [Telemetrie](#telemetry)-Konfiguration des Gateways pusht `OTEL_EXPORTER_OTLP_ENDPOINT`, sodass das Setzen von `telemetry.forward_to` den Dialog bei jedem interaktiven Client auslöst. Nicht-interaktive Läufe mit dem `-p`-Flag überspringen den Dialog und wenden Einstellungen ohne Genehmigung an. Der Dialog schützt die Maschine des Entwicklers vor einem kompromittierten oder feindseligem Gateway, nicht die Organisation vor dem Entwickler, sodass der `-p`-Skip absichtlich statt eine Lücke ist.

492 

493Wenn ein Entwickler ablehnt, beendet Claude Code statt die Richtlinie anzuwenden. Das Pushen eines neuen Hooks oder einer nicht-sicheren Env-Variable zu einer breiten Richtlinie bedeutet daher eine Genehmigungsaufforderung bei jedem passenden Entwickler beim nächsten Start.

494 

495Der `cli`-Schlüssel wurde in früheren Releases `settings` genannt. Diese Schreibweise wird immer noch als Alias akzeptiert, aber neue Bereitstellungen sollten `cli` verwenden.

496 

497<h4 id="precedence-with-other-managed-sources">

498 Vorrang mit anderen verwalteten Quellen

499</h4>

500 

501Wenn ein Gerät auch eine lokale `managed-settings.json` oder MDM-bereitgestellte Richtlinie hat, werden die verwalteten Quellen nicht zusammengeführt. Die höchste Prioritätsquelle stellt alle Richtlinieneinstellungen bereit, in dieser Reihenfolge mit höchster Priorität zuerst:

502 

5031. Der [Richtlinien-Helper](/de/settings#compute-managed-settings-with-a-policy-helper)

5042. Gateway-bereitgestellte Einstellungen

5053. MDM, über die HKLM-Registrierung unter Windows oder eine plist unter macOS

5064. Die `managed-settings.json`-Datei

5075. Die HKCU-Registrierung, nur unter Windows

508 

509Einbettungs-Hosts können Richtlinie durch die SDK-`managedSettings`-Option bereitstellen. Sie wird standardmäßig ignoriert und gilt nur, wenn eine verwaltete Quelle sich mit [`parentSettingsBehavior: "merge"`](/de/settings#available-settings) anmeldet, gefiltert, sodass sie Richtlinie straffen, aber nicht lockern kann.

510 

511Die Ausnahme ist eine kleine Menge von Cross-Source-Schlüsseln, die geehrt werden, wenn eine Admin-Quelle sie setzt; die Benutzer-schreibbare HKCU-Ebene ist ausgeschlossen:

512 

513* `sandbox.network.allowManagedDomainsOnly` und `sandbox.filesystem.allowManagedReadPathsOnly`: wenn gesperrt, werden die entsprechenden Zulassungslisten über Quellen vereinigt

514* [`allowAllClaudeAiMcps`](/de/settings#available-settings): Zulassung-nur-Überschreibung für die claude.ai MCP-Server-Zulassungsliste

515* `sandbox.bwrapPath` und `sandbox.socatPath`: Dateisystempfade zu den [Sandbox](/de/sandboxing)-Helper-Binärdateien

516 

517`allowManagedPermissionRulesOnly` und `disableBypassPermissionsMode` sind nicht Cross-Source, sodass nur der Wert der gewinnenden Quelle gilt.

518 

519Gateway-Richtlinien gelten für jeden Claude Code-Aufruf auf der Maschine, einschließlich nicht-interaktiver `claude -p`-Läufe und Sessions, die vom Agent SDK erzeugt werden. Wenn das Gateway beim Start nicht erreichbar ist, beenden sich angemeldete Sessions mit einem Fehler, anstatt ohne ihre Richtlinie zu laufen.

520 

521<Warning>

522 `mcpServers` innerhalb eines Richtlinien-`cli`-Blocks wird beim Gateway-Start abgelehnt. Pro-Gruppen-MCP-Verteilung ist nicht verfügbar; stellen Sie MCP-Server über die dateibasierte `managed-mcp.json` auf jedem Gerät bereit oder lassen Sie Entwickler sie lokal hinzufügen.

523</Warning>

524 

525<h3 id="telemetry">

526 `telemetry`

527</h3>

528 

529Die CLI sendet OpenTelemetry Protocol (OTLP) über HTTP-Metriken, Logs und, wenn aktiviert, Traces an das Gateway, das sie wörtlich an jedes konfigurierte Ziel weiterleitet. Siehe [Überwachung der Nutzung](/de/monitoring-usage) für die Metriken und Ereignisse, die die CLI ausgibt.

530 

531Die CLI stempelt jeden Export mit der Identität des authentifizierten Benutzers, gelesen aus dem Gateway-ausgegebenen JWT: die `user.id`-, `user.email`- und `user.groups`-Attribute. Pro-Entwickler-Kosten- und Nutzungszuordnung funktioniert daher ohne Entwickler-seitige Konfiguration.

532 

533```yaml theme={null}

534telemetry:

535 forward_to:

536 - url: https://otel-collector.internal.example.com

537 headers:

538 Authorization: ${OTLP_TOKEN}

539 # Pro-Signal-Opt-In. Standard: nur Metriken.

540 metrics: true

541 logs: false

542 traces: false

543 - url: https://api.datadoghq.com/api/v2/otlp

544 headers:

545 DD-API-KEY: ${DD_API_KEY}

546```

547 

548<Warning>

549 Jedes Ziel meldet sich unabhängig in `metrics`, `logs` und `traces` an, und der Standard ist nur Metriken. Die Signale unterscheiden sich in Empfindlichkeit:

550 

551 * **Metriken**: Aggregatzähler wie Token-Zähler, Anfragezähler und Latenz

552 * **Logs und Traces**: können vollständige Bash-Befehle, Tool-Eingaben und Dateipfade tragen, die alles abdecken, was Claude Code auf einer Entwicklermaschine tut

553 

554 Aktivieren Sie Logs und Traces nur auf Zielen mit den Zugriffskontrolle und Aufbewahrungsrichtlinie, die Daten rechtfertigen.

555</Warning>

556 

557Telemetrie ist in der CLI standardmäßig aus. Das Konfigurieren von `telemetry.forward_to` zusammen mit `listen.public_url` schaltet es ein. Das Gateway pusht fünf Env-Variablen an jeden verbundenen Client durch `/managed/settings`:

558 

559* `CLAUDE_CODE_ENABLE_TELEMETRY=1`

560* `OTEL_METRICS_EXPORTER=otlp`

561* `OTEL_LOGS_EXPORTER=otlp`

562* `OTEL_TRACES_EXPORTER=otlp`

563* `OTEL_EXPORTER_OTLP_ENDPOINT=<public_url>`

564 

565Der gepushte Endpunkt wird aus der öffentlichen URL erstellt, sodass Metriken und Logs keine OTEL-Konfiguration von Entwicklern oder Richtlinien benötigen. Die gepushte Konfiguration wird auf der verwalteten Ebene angewendet, überschreibt `OTEL_*`-Variablen, die ein Entwickler lokal setzt.

566 

567[Traces](/de/monitoring-usage#traces-beta) erfordern zusätzlich `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1` auf jedem Client. Das Gateway pusht diese Variable nicht, also setzen Sie sie durch einen verwalteten Richtlinien-`env`-Block. Sie ist nicht auf der sicheren Liste der CLI, sodass die Bereitstellung durch eine Richtlinie durch den gleichen [Sicherheitsgenehmigungsdialog](#managed) abgedeckt ist, den der gepushte OTLP-Endpunkt bereits auslöst.

568 

569Sowohl Protobuf- als auch JSON-OTLP-Codierungen werden weitergeleitet, und jedes OpenTelemetry-kompatible Backend funktioniert als Ziel.

570 

571<h3 id="http-tuning">

572 HTTP-Abstimmung

573</h3>

574 

575Vier optionale Top-Level-Blöcke, `access_control`, `limits`, `timeouts` und `rate_limits`, stimmen die HTTP-Oberfläche ab. Die Standardwerte passen zu den meisten Bereitstellungen.

576 

577| Block | Schlüssel | Standard | Beschreibung |

578| ---------------- | ---------------------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

579| `access_control` | `allow_cidrs` / `deny_cidrs` | leer | Eingehende IP-Zulassung/Ablehnung nach Client-Adresse, nach `trusted_proxies`-Auflösung. `deny_cidrs` wird zuerst überprüft; ein Client, den es passt, wird abgelehnt, auch wenn `allow_cidrs` auch passt. Wenn `allow_cidrs` nicht leer ist, ist das Gateway Standard-Ablehnung. `/healthz` und `/readyz` sind von `allow_cidrs` ausgenommen. |

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

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

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

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

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

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

586 

587<h2 id="complete-example">

588 Vollständiges Beispiel

589</h2>

590 

591Diese vollständige Referenzkonfiguration behandelt jeden Kernabschnitt; die [HTTP-Abstimmungsblöcke](#http-tuning) behalten ihre Standardwerte. Kopieren Sie sie, löschen Sie, was Sie nicht brauchen, und füllen Sie Ihre Werte aus. Die Konfiguration im [Schnellstart](/de/claude-apps-gateway#quickstart) ist eine minimale Version davon.

592 

593```yaml gateway.yaml theme={null}

594# Laufen mit:

595# claude gateway --config gateway.yaml

596#

597# Operatives Log-Verbosity wird durch die Umgebungsvariable CLAUDE_GATEWAY_LOG_LEVEL

598# gesteuert (info | warn | error; Standard info). Sie beeinflusst nicht

599# Audit-Ereignisse, die immer ausgegeben werden.

600 

601listen:

602 host: 0.0.0.0

603 port: 8080

604 public_url: https://claude-gateway.internal.example.com

605 # Lassen Sie den tls-Block weg, wenn Sie hinter einem TLS-beendenden Ingress laufen.

606 # tls:

607 # cert: /certs/gateway.crt

608 # key: /certs/gateway.key

609 # trusted_proxies:

610 # - 10.0.0.0/8

611 

612oidc:

613 issuer: https://example.okta.com

614 client_id: 0oa1example2

615 client_secret: ${OIDC_CLIENT_SECRET}

616 allowed_email_domains:

617 - example.com

618 # Erforderlich, wenn der Aussteller der Okta-Org-Server ist, dessen id_tokens

619 # E-Mail und Gruppen auslassen können; das Gateway füllt sie von /userinfo.

620 userinfo_fallback: true

621 # allowed_groups: [claude-code-users]

622 # Okta gibt Gruppen nur aus, wenn der `groups`-Bereich angefordert wird und die

623 # App-Gruppenanspruchsfilter sie erlauben. Die Contractor-Richtlinie unten

624 # passt auf Gruppen, also wird der Bereich hier angefordert.

625 scopes: [openid, profile, email, offline_access, groups]

626 # extra_auth_params: { access_type: offline, prompt: consent } # Google

627 # groups_claim: groups # Entra-App-Rollen: verwenden Sie `roles`

628 # email_claim: email

629 

630session:

631 jwt_secret: ${GATEWAY_JWT_SECRET} # openssl rand -base64 32

632 # ttl_hours: 1

633 

634store:

635 postgres_url: ${GATEWAY_POSTGRES_URL}

636 # max_connections: 5

637 

638# Aktiviert /v1/organizations/spend_limits (spiegelt die Anthropic Admin API)

639# und Pro-Entwickler-Ausgabendurchsetzung auf /v1/messages. Lassen Sie weg, um zu deaktivieren.

640# Caps selbst werden über die Admin API gesetzt, nicht hier.

641# admin:

642# write_keys:

643# - { id: terraform, key: "${GATEWAY_ADMIN_WRITE_KEY_TF}" }

644# read_keys:

645# - { id: reporting, key: "${GATEWAY_ADMIN_READ_KEY}" }

646# admin_groups: [platform-finops]

647# blocked_message: request an increase at https://go.example.com/claude-limits

648# # audit_retention_days: 365

649# # spend_retention_months: 13

650# # identity_retention_days: 90

651# # group_limit_mode: min

652 

653# enforcement:

654# fail_closed_on_error: false

655 

656upstreams:

657 - provider: anthropic

658 auth:

659 api_key: ${ANTHROPIC_API_KEY}

660 

661 # - provider: bedrock

662 # region: us-east-1

663 # auth: {}

664 

665 # - provider: vertex

666 # region: us-east5

667 # project_id: example-prod

668 # auth: {}

669 

670 # - provider: foundry

671 # resource: example-foundry

672 # auth: { use_azure_ad: true }

673 

674auto_include_builtin_models: true

675models:

676 - id: claude-opus-4-8

677 label: Claude Opus 4.8

678 upstream_model:

679 anthropic: claude-opus-4-8

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

681 # vertex: claude-opus-4-8

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

683 - id: claude-sonnet-4-6

684 label: Claude Sonnet 4.6

685 upstream_model:

686 anthropic: claude-sonnet-4-6

687 - id: claude-haiku-4-5

688 label: Claude Haiku 4.5

689 upstream_model:

690 anthropic: claude-haiku-4-5

691 

692managed:

693 policies:

694 - match: { groups: [contractors] }

695 cli:

696 availableModels: [claude-haiku-4-5]

697 # Beschränken Sie die Standard-Picker-Option auf availableModels statt

698 # der Tier-Standard, sodass Contractors keinen 400 auf dem Standard erhalten.

699 enforceAvailableModels: true

700 # allow genehmigt diese Tools automatisch; es blockiert nicht den Rest.

701 # Fügen Sie deny-Regeln hinzu, um Tools zu beschränken.

702 permissions: { allow: [Read, Grep] }

703 - match: {}

704 cli:

705 availableModels: [claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5]

706 permissions:

707 allow: [Read, Grep, Bash, Edit]

708 deny: ["WebFetch"]

709 env: { HTTP_PROXY: http://proxy.example.com:8080 }

710 

711telemetry:

712 forward_to:

713 - url: https://otel.internal.example.com:4318

714 headers:

715 Authorization: Bearer ${OTEL_TOKEN}

716```

717 

718<h2 id="client-side-managed-settings">

719 Client-seitige verwaltete Einstellungen

720</h2>

721 

722Alles oben konfiguriert den Gateway-Server. Das Zeigen von Entwicklermaschinen darauf wird separat auf jedem Gerät durch Claude Code's [verwaltete Einstellungen](/de/settings#settings-files) konfiguriert. Das Gateway kann diese Schlüssel nicht selbst pushen, da sie dem Client sagen, wo das Gateway ist.

723 

724Für die CLI setzen Sie beide Schlüssel in die Pro-OS `managed-settings.json`:

725 

726```json theme={null}

727{

728 "forceLoginMethod": "gateway",

729 "forceLoginGatewayUrl": "https://claude-gateway.internal.example.com"

730}

731```

732 

733Stellen Sie diese Datei auf jedem Gerät bereit, typischerweise über Ihre MDM-Plattform. Der Dateipfad unterscheidet sich je nach Plattform:

734 

735| Plattform | Pfad |

736| ------------- | ---------------------------------------------------------------------------------------------------------------------------------- |

737| macOS | `/Library/Application Support/ClaudeCode/managed-settings.json`, oder die `com.anthropic.claudecode` verwaltete Präferenzen-Domäne |

738| Linux und WSL | `/etc/claude-code/managed-settings.json` |

739| Windows | `C:\Program Files\ClaudeCode\managed-settings.json`, oder Gruppenrichtlinie über die HKLM-Registrierung |

740 

741`forceLoginGatewayUrl` und der `"gateway"`-Wert von `forceLoginMethod` werden nur von der Admin-kontrollierten verwalteten Ebene geehrt. Ein Entwickler, der sie in seinen eigenen `~/.claude/settings.json` setzt, hat keine Auswirkung.

742 

743<h2 id="related">

744 Verwandt

745</h2>

746 

747* [Claude Apps Gateway-Übersicht](/de/claude-apps-gateway): Schnellstart und Entwickler-Verbindung

748* [Bereitstellungsleitfaden](/de/claude-apps-gateway-deploy): IdP-Setup, Container-Image, Kubernetes und Cloud Run sowie Operationen

749* [Ausgabenlimits](/de/claude-apps-gateway-spend-limits): Pro-Entwickler-Caps und die Admin API

claude-apps-gateway-deploy.md +301 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Bereitstellung und Betrieb des Claude-Apps-Gateways

6 

7> Registrieren Sie das Gateway bei Ihrem IdP, erstellen Sie den Container, stellen Sie ihn auf Kubernetes oder Cloud Run bereit, und betreiben Sie ihn: Integritätsprüfungen, Geheimnisrotation, Upgrades und Sicherheit.

8 

9Diese Seite behandelt den operativen Aspekt des Betriebs des [Claude-Apps-Gateways](/de/claude-apps-gateway): Registrierung eines OAuth-Clients bei Ihrem Identitätsanbieter (IdP), Bereitstellung des Gateways als Container und täglicher Betrieb. Für jede Option in der Datei `gateway.yaml`, die das Gateway beim Start liest, siehe die [Konfigurationsreferenz](/de/claude-apps-gateway-config).

10 

11Eine Produktionsbereitstellung folgt vier Schritten in der richtigen Reihenfolge, und die folgenden Abschnitte entsprechen ihnen. Die ersten beiden sind Stellen, an denen Sie Entscheidungen treffen; die zweiten beiden sind Referenzmaterial, das Sie konsultieren können, sobald es läuft.

12 

131. [Richten Sie Ihren Identitätsanbieter ein](#identity-provider-setup): Registrieren Sie den OAuth-Client und überprüfen Sie die IdP-spezifischen Hinweise für Okta, Entra und Google

142. [Stellen Sie das Gateway bereit](#deployment): Erstellen Sie ein gepinntes Container-Image und führen Sie es auf Kubernetes, Cloud Run oder Ihrer eigenen Plattform aus. Dieser Abschnitt behandelt auch Kosten-, Bypass-, Multi-Gateway- und Serverless-Entscheidungen

153. [Richten Sie den Betrieb ein](#operations): Protokolle, Integritätsprüfungen, Ausfallverhalten, Geheimnisrotation und Upgrades. Referenzmaterial für die Einrichtung von Überwachung und Runbooks

164. [Überprüfen Sie die Sicherheitslage](#security): Welche Daten wohin fließen, das Bedrohungsmodell und Compliance-Antworten. Referenzmaterial für eine Sicherheitsüberprüfung

17 

18Wenn ein Anmelde- oder Startfehler auftritt, gehen Sie direkt zu [Fehlerbehebung](#troubleshooting), das nach dem Fehler, den Sie sehen, indiziert ist.

19 

20<Note>

21 **Stellen Sie auf Ihrem privaten Netzwerk bereit.** Claude Code stellt nur eine Verbindung zu einem Gateway her, dessen Adresse privat ist. Dies ist eine Sicherheitsmaßnahme, da ein vertrauenswürdiges Gateway Einstellungen pushen kann, die Befehle auf Entwicklermaschinen ausführen. Platzieren Sie das Gateway hinter einem internen Load Balancer oder VPN und geben Sie ihm einen Hostnamen, der nur zu privaten IPs aufgelöst wird.

22</Note>

23 

24<h2 id="identity-provider-setup">

25 Identitätsanbieter-Setup

26</h2>

27 

28Registrieren Sie eine vertrauliche OAuth/OpenID Connect (OIDC) Webanwendung mit einem einzelnen Redirect-URI, `https://<gateway>/oauth/callback`, und weisen Sie sie den Benutzern oder Gruppen zu, die Zugriff auf das Gateway haben sollten.

29 

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

31 

32* Stellt `/.well-known/openid-configuration` über HTTPS in der Produktion bereit; das Gateway akzeptiert einen [`http://` Aussteller](/de/claude-apps-gateway-config#oidc), und ein Loopback-Aussteller erfordert zusätzlich `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1`

33* Unterstützt den Authorization-Code-Flow. PKCE (Proof Key for Code Exchange) ist standardmäßig aktiviert; deaktivieren Sie es mit `oidc.use_pkce: false` für IdPs, die es nicht unterstützen

34* Gibt `email` und optional `groups` im id\_token zurück, oder stellt sie vom Userinfo-Endpoint mit `oidc.userinfo_fallback: true` bereit

35 

36Für private PKI setzen Sie `oidc.ca_cert_pem`.

37 

38Einige Anbieter handhaben E-Mail- und Gruppen-Claims unterschiedlich:

39 

40* **Okta**: Der Org-Autorisierungsserver unter `https://example.okta.com` gibt einen dünnen id\_token zurück, der `email` und `groups` auslässt, daher setzen Sie `oidc.userinfo_fallback: true`, wenn Sie ihn als `issuer` verwenden. Ein benutzerdefinierter Autorisierungsserver wie `https://example.okta.com/oauth2/default`, der `email` und optional `groups` im id\_token enthält, gibt sie direkt aus und benötigt keinen Fallback. Okta gibt `groups` nur aus, wenn der `groups`-Scope in `oidc.scopes` angefordert wird und der Gruppen-Claim-Filter der App dies zulässt; `userinfo_fallback` kann einen Claim nicht ausfüllen, nach dem der IdP nicht gefragt wurde.

41* **Microsoft Entra ID**: `issuer` = `https://login.microsoftonline.com/<tenant-id>/v2.0`. Entra gibt Gruppen-Object-IDs statt Namen aus, daher verwenden Sie die GUIDs in `managed.policies.match.groups`, oder verwenden Sie App-Rollen für lesbare Namen. Wenn Ihr Mandant Rollen unter `roles` statt `groups` ausgibt, setzen Sie `oidc.groups_claim: roles`.

42* **Google Workspace**: `issuer` = `https://accounts.google.com`. Googles id\_token enthält keine Gruppen. Um gruppenbasierte `allowed_groups` oder `managed.policies` mit Google als IdP zu verwenden, konfigurieren Sie [`oidc.google_groups`](/de/claude-apps-gateway-config#oidc), das die Gruppen jedes Benutzers über die Admin SDK Directory API mit einem Service-Account mit Domain-Wide-Delegation nachschlägt. Ohne dies verwenden Sie `oidc.allowed_email_domains` für Mitgliedschafts-Gating und `managed.policies.match.email_domain` für Richtlinienzuweisung. Google ignoriert auch den Standard-Scope `offline_access`. Für Refresh-Tokens setzen Sie `oidc.scopes: [openid, profile, email]` und `oidc.extra_auth_params: { access_type: offline, prompt: consent }`.

43 

44Für Unterstützung bei einem oben nicht behandelten Identitätsanbieter siehe [Troubleshooting](#troubleshooting).

45 

46<Warning>

47 Refresh-Tokens ermöglichen es dem Gateway, die Sitzung eines Entwicklers stillschweigend zu erneuern, ohne den Entwickler zum Browser zu senden. Sie treiben auch die Deprovisioning an, denn wenn der IdP einen Benutzer deaktiviert, schlägt die nächste Aktualisierung fehl und die Sitzung endet innerhalb von `ttl_hours`. Das Gateway fordert standardmäßig `offline_access` an, um einen Refresh-Token zu erhalten. Wenn Ihr IdP explizite Zustimmung für Offline-Zugriff erfordert, konfigurieren Sie den OAuth-Client, um dies zu ermöglichen.

48 

49 Wenn Ihr IdP überhaupt keine Refresh-Tokens ausstellen kann, funktioniert das Gateway immer noch, aber es gibt keine stille Erneuerung, daher führen Entwickler die Browser-Anmeldung erneut aus, wenn ihre Sitzung abläuft. Um zu verhindern, dass dies jede Stunde geschieht, erhöhen Sie [`session.ttl_hours`](/de/claude-apps-gateway-config#session) auf `8` oder `12`. Der Kompromiss ist die Deprovisioning-Latenz, denn ohne Refresh-Tokens behält ein deaktivierter Benutzer Zugriff, bis die längere TTL abläuft.

50</Warning>

51 

52<h2 id="deployment">

53 Bereitstellung

54</h2>

55 

56Das Gateway ist eine einzelne Linux-Binärdatei. Es skaliert horizontal, da Replikationen zustandslos sind und Postgres die gemeinsame Koordinierungsebene ist. Führen Sie es so aus, wie Sie zustandslose Dienste in Ihrer Umgebung ausführen. Der Rest dieses Abschnitts beschreibt, was das Image benötigt, mit kurzen Hinweisen für Kubernetes und Cloud Run.

57 

58Das Gateway ist für die Ausführung in Ihrem Netzwerk konzipiert, da es Ihre Upstream-Anmeldedaten hält und als einzelner Egress-Punkt für Inferenz fungiert. Es kann überall dort ausgeführt werden, wo Ihre Entwickler und Ihr IdP über HTTPS erreichbar sind; behandeln Sie es wie jeden anderen Dienst, der eine Produktionsanmeldedaten hält.

59 

60Einige Entscheidungen prägen die Bereitstellung über den Ort hinaus, an dem sie läuft:

61 

62* **Kosten**: Es gibt keine separate Lizenz oder Pro-Sitz-Gebühr für das Gateway; es ist Teil der `claude`-Binärdatei. Sie zahlen für Inferenz über Ihr bestehendes Cloud- oder Anthropic-Engagement, plus die Berechnung für den Container und Ihren Telemetrie-Collector.

63* **Bypass**: Das Gateway erzwingt nicht, dass die einzige Route zu einem Modell durch es führt. Ein Entwickler mit seinen eigenen Anmeldedaten kann den Anbieter immer noch direkt aufrufen, daher ist das Schließen dieses Pfads eine Netzwerkrichtlinien-Entscheidung, z. B. das Blockieren von Egress zu `api.anthropic.com` außer vom Gateway. Das Blockieren dieses Egress bricht auch die [WebFetch-Domain-Sicherheitsprüfung](/de/data-usage#webfetch-domain-safety-check), die `api.anthropic.com` von jeder Entwicklermaschine aufruft; setzen Sie `skipWebFetchPreflight: true` in der verwalteten Richtlinie, um sie zu deaktivieren.

64* **Mehrere Gateways**: Jedes Gateway ist eine separate Bereitstellung mit seiner eigenen Konfiguration. Die CLI speichert ihren Vertrauens-Fingerprint und ihre Anmeldedaten pro Gateway-Hostname, daher können verschiedene Teams sich mit verschiedenen Gateways verbinden, ohne Konflikte. Um mehrere OIDC-Aussteller zu bedienen, führen Sie separate Instanzen aus.

65* **Serverless**: Cloud Run funktioniert; setzen Sie `min-instances: 1`, um kalte OIDC-Erkennung zu vermeiden. Lambda und Cloud Functions funktionieren nicht, da das Gateway ein langlebiger HTTP-Server ist.

66 

67Jede Produktionstopologie hier platziert einen L7-Proxy, wie einen Ingress, Cloud Runs Front-End oder einen ALB, vor einfachen HTTP-Replikationen. Setzen Sie [`listen.trusted_proxies`](/de/claude-apps-gateway-config#listen) auf die Quellbereiche des Proxys, damit das Gateway Client-IPs aus `X-Forwarded-For` liest. Das Gateway ehrt den Header nur, wenn der TCP-Peer vertrauenswürdig ist; das [Google Cloud-Beispiel](/de/claude-apps-gateway-on-gcp) hat konkrete Werte pro Topologie. Ohne vertrauenswürdige Proxys scheint jede Anfrage von der IP des Proxys zu kommen, was Pro-IP-Ratenlimits in einen gemeinsamen Bucket zusammenfasst und die IP des Proxys in Audit-Events aufzeichnet.

68 

69<h3 id="container-image">

70 Container-Image

71</h3>

72 

73Erstellen Sie Ihr eigenes Image um die native `claude`-Binärdatei aus der Standard-Claude-Code-Version:

74 

751. Laden Sie den Linux-Build für Ihre Image-Architektur aus einer gepinnten Version herunter; siehe [Installieren Sie eine bestimmte Version](/de/setup#install-a-specific-version) für die Download-URL.

762. Überprüfen Sie es gegen die GPG-signierte `manifest.json` der Version, wie in [Binäre Integrität und Code-Signierung](/de/setup#binary-integrity-and-code-signing) beschrieben.

773. Kopieren Sie es in den Build-Kontext.

78 

79Spiegeln Sie die Version in Ihre interne Registry, wenn Ihre Builds den Release-Host nicht erreichen können, und pinnen Sie die Version, die Ihre Flotte ausführt.

80 

81Über die Binärdatei hinaus benötigt das Image:

82 

83* **Ein glibc-basiertes Image**: Die einzigen dynamischen Abhängigkeiten des glibc-Builds sind glibc-Bibliotheken. Musl-basierte Images benötigen den `linux-x64-musl`- oder `linux-arm64-musl`-Build plus zusätzliche Pakete; siehe [Alpine-Linux-Setup](/de/setup#alpine-linux-and-musl-based-distributions).

84* **Ein beschreibbares Zustandsverzeichnis**: Das Gateway läuft als jeder Benutzer, aber minimale Images haben kein beschreibbares Home. Setzen Sie `CLAUDE_CONFIG_DIR` auf einen beschreibbaren Pfad wie `/tmp/.claude`.

85* **Der Container-Befehl**: `claude gateway --config /etc/claude/gateway.yaml`, mit der Konfigurationsdatei schreibgeschützt eingebunden und Geheimnissen als Umgebungsvariablen bereitgestellt; das Gateway lauscht auf `listen.port`, Standard `8080`.

86 

87<h3 id="kubernetes">

88 Kubernetes

89</h3>

90 

91Führen Sie das Gateway als Deployment aus, wie jeden zustandslosen Dienst:

92 

93* Binden Sie die Konfiguration von einer ConfigMap und Geheimnisse von einem Secret ein; referenzieren Sie Geheimnisse in der YAML über `${file:/path/to/secret}` oder als Umgebungsvariablen

94* Beenden Sie TLS am Ingress und setzen Sie `listen.public_url` auf den Ingress-Hostnamen

95* Zeigen Sie die Readiness-Probe auf `GET /readyz` und die Liveness-Probe auf `GET /healthz`

96 

97<Note>

98 **Workload-Identität**

99 

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

101</Note>

102 

103<h3 id="cloud-run">

104 Cloud Run

105</h3>

106 

107Konfigurieren Sie den Dienst wie folgt:

108 

109* Lassen Sie `listen.port` bei seinem Standard von `8080`, das Cloud Runs Standard-`PORT` entspricht, oder setzen Sie `port: ${PORT}`

110* Setzen Sie `public_url` auf den extern erreichbaren Ursprung. Für die Produktion ist dies normalerweise der Hostname eines internen Load Balancers, da `/login` [öffentliche Adressen ablehnt](/de/claude-apps-gateway#prerequisites) und die `*.run.app`-URL zu einer aufgelöst wird, daher funktioniert die Cloud-Run-URL allein nur für einen `curl`- oder Browser-Smoke-Test. Die Ausnahme ist ein Netzwerk, in dem `*.run.app` privat über Private Service Connect und eine Cloud-DNS-Private-Zone aufgelöst wird; in dieser Topologie ist die Cloud-Run-URL eine gültige `public_url`. Das [Google-Cloud-Beispiel](/de/claude-apps-gateway-on-gcp#deploy-the-gateway) behandelt beide.

111* Binden Sie die Konfiguration als Secret-Volume ein

112* Setzen Sie `min-instances: 1`, um kalte OIDC-Erkennung bei der ersten Anfrage zu vermeiden

113 

114<Note>

115 Für ein vollständiges Beispiel auf Google Cloud, das Cloud Run oder GKE, Cloud SQL und Secret Manager abdeckt, siehe [Bereitstellung auf Google Cloud](/de/claude-apps-gateway-on-gcp).

116</Note>

117 

118<h3 id="push-the-gateway-url-to-developer-machines">

119 Pushen Sie die Gateway-URL zu Entwicklermaschinen

120</h3>

121 

122Sobald das Gateway bedient wird, pushen Sie `forceLoginMethod` und `forceLoginGatewayUrl` über verwaltete Einstellungen auf jede Entwicklermaschine, über MDM oder durch direktes Schreiben der pro-OS `managed-settings.json`. Ohne dies zeigt `/login` den Standard-Account-Picker ohne Gateway-Option. Siehe [Client-seitige verwaltete Einstellungen](/de/claude-apps-gateway-config#client-side-managed-settings) für die Dateipfade.

123 

124<h2 id="operations">

125 Betrieb

126</h2>

127 

128Sobald das Gateway Verkehr bedient, ist der tägliche Betrieb das Lesen seiner Protokolle, das Prüfen seiner Integrität und das Rotieren seiner Geheimnisse nach Ihrem Zeitplan. Die Unterabschnitte behandeln jeweils, plus was Postgres hält und wie Upgrades und Rollbacks sich verhalten.

129 

130<h3 id="logs">

131 Protokolle

132</h3>

133 

134Das Gateway schreibt zwei Streams zu stderr, beide JSON-freundlich:

135 

136* **Audit-Events**: einzeilige JSON pro sicherheitsrelevantes Event. Leiten Sie stderr an Ihren Log-Aggregator. Die ausgegebenen Events umfassen `config.load`, `session.mint`, `session.refresh`, `device.authorize`, `device.verify`, `auth.denied`, `access.denied`, `inference`, `managed.serve`, `spend.blocked` und `admin.denied`. Felder variieren je nach Event:

137 * Erfolgreiche Mint- und Refresh-Events tragen `sub`, `email`, `client_ip` und das Ergebnis

138 * Denial-Events tragen den Grund, Pfad und Client-IP, da bei Denial keine Identität existiert

139 * `inference` zeichnet auf, welcher Upstream die Anfrage bedient hat und den Antwortstatus

140 * `admin.denied` zeichnet einen abgelehnten Admin-API-Auth-Versuch mit dem Grund (`invalid_key` oder `no_credentials`), Client-IP, Methode und Pfad auf, ohne das präsentierte Schlüsselmaterial

141* **Operationale Protokolle**: lesbare `[gateway]`-präfixierte Zeilen für Boot, Warnungen und Upstream-Fehler. Die Umgebungsvariable `CLAUDE_GATEWAY_LOG_LEVEL` steuert die Ausführlichkeit und akzeptiert `info`, `warn` oder `error`, mit `info` als Standard. Sie beeinflusst keine Audit-Events, die immer ausgegeben werden.

142 

143<h3 id="health">

144 Integrität

145</h3>

146 

147Das Gateway bedient `GET /healthz` als Liveness-Probe und `GET /readyz` als Readiness-Probe; `/readyz` überprüft, dass der Store erreichbar ist. Beide sind von `access_control.allow_cidrs` ausgenommen, daher funktionieren Proben auf einem abgesperrten Listener.

148 

149Das OAuth-Discovery-Dokument unter `/.well-known/oauth-authorization-server` gibt auch `200` nur zurück, nachdem Konfigurationslast, OIDC-Erkennung, Upstream-Client-Konstruktion und Postgres-Migration alle erfolgreich sind, daher dient es auch als End-to-End-Boot-Prüfung.

150 

151Ein laufendes Gateway bedient auch eine Beschreibung der Pfade und Anfragefiguren, die es unter `<public_url>/protocol` akzeptiert, abgestimmt auf die Version, die Sie ausführen. Der Inhalt ist nicht stabil über Releases hinweg.

152 

153<h3 id="outage-behavior">

154 Ausfallverhalten

155</h3>

156 

157Wenn Postgres ausfällt, bedient das Gateway selbst weiterhin angemeldete Entwickler und neue Anmeldungen schlagen fehl. Ob Entwickler tatsächlich weiterarbeiten, hängt davon ab, wie Ihr Orchestrator die Readiness handhabt:

158 

159* **Bestehende Sitzungen**: Bearer-Tokens validieren lokal mit dem JWT-Geheimnis, Sitzungs-Refreshes berühren den Store nicht, und der Gateway-Prozess kann immer noch Inferenz bedienen

160* **Neue Anmeldungen**: schlagen fehl, bis Postgres wiederhergestellt ist, da der Device-Flow und seine Rate-Limit-Zähler in Postgres leben

161* **[Spend-Limit-Durchsetzung](/de/claude-apps-gateway-spend-limits#postgres-availability)**: schlägt während des Ausfalls offen fehl, daher fließt Inferenz weiterhin; schalten Sie es auf Fail-Closed um, wenn Sie lieber blockieren als ungemessen laufen möchten

162* **Readiness**: `/readyz` meldet während des Ausfalls nicht bereit, daher entfernen Orchestratoren, die Verkehr auf Readiness gating, jede Replikation auf einmal aus der Rotation. In dieser Topologie schlägt der gesamte Verkehr, einschließlich Inferenz, die das Gateway immer noch bedienen könnte, beim Load Balancer fehl, bis Postgres wiederhergestellt ist. Die Liveness-Probe auf `/healthz` bleibt bestehen, daher werden Replikationen nicht neu gestartet. Zeigen Sie die Readiness-Probe statt auf `/healthz`, wenn Sie lieber möchten, dass angemeldete Entwickler durch einen Store-Ausfall weiterarbeiten; die Kosten sind, dass neue Anmeldungen gegen eine Replikation fehlschlagen, die immer noch bereit meldet.

163 

164Wenn Ihr IdP ausfällt, funktionieren bestehende Sitzungen bis `ttl_hours`, und neue Anmeldungen und Refreshes schlagen fehl. Setzen Sie eine längere `ttl_hours`, wenn Ihr IdP häufige Wartungsfenster hat.

165 

166<h3 id="jwt-secret-rotation">

167 JWT-Geheimnisrotation

168</h3>

169 

170Rotieren Sie das Signierungsgeheimnis in drei Schritten, damit bestehende Sitzungen gültig bleiben:

171 

1721. Generieren Sie ein neues Geheimnis. Stellen Sie es dem `session.jwt_secret`-Array voran.

1732. Rollen Sie die Bereitstellung aus. Neue Tokens signieren mit dem neuen Geheimnis; alte Tokens validieren immer noch.

1743. Nach `ttl_hours` plus einer Marge entfernen Sie das alte Geheimnis und rollen erneut aus.

175 

176Rotation ist auch die einzige Möglichkeit, Sitzungen vor Ablauf zu erzwingen: Bearer-Tokens validieren lokal gegen das JWT-Geheimnis, daher gibt es keine Pro-Sitzungs-Sperrung. Das Ersetzen des Geheimnisses direkt, ohne das alte in dem Array zu behalten, invalidiert jede ausstehende Sitzung auf einmal. Für einzelnes Offboarding deprovisioning Sie den Benutzer in Ihrem IdP; ihre Sitzung endet innerhalb von `ttl_hours`.

177 

178<h3 id="postgres">

179 Postgres

180</h3>

181 

182Das Gateway hält fünf Tabellen, alle erstellt durch seine Boot-Zeit-Migrationen:

183 

184| Tabelle | Inhalt | Aufbewahrung |

185| ------------------ | ----------------------------------------------------------------- | ------------------------------------------------------------------- |

186| `kv` | Device-Grants (10-Minuten-TTL) und Rate-Limit-Zähler | TTL pro Zeile |

187| `spend` | Pro-Principal-Periode-bis-Datum-Spend-Zähler, in Cent | `admin.spend_retention_months`, Standard 13 |

188| `spend_limits` | Konfigurierte Spend-Caps | Bis gelöscht über die API |

189| `admin_audit` | Admin-API-Mutations-Trail | `admin.audit_retention_days`, Standard 365 |

190| `principal_emails` | E-Mail, Anzeigename und IdP-Gruppen jedes Principal. Enthält PII. | `admin.identity_retention_days` seit letzter Aktivität, Standard 90 |

191 

192Eine 30-Sekunden-Schleife läuft `kv`-Zeilen ab ihrer TTL ab, und ein stündlicher Sweep erzwingt die Aufbewahrungsfenster auf den Spend-Tabellen, daher wächst nichts ohne Grenzen. Ohne [Spend-Limits](/de/claude-apps-gateway-spend-limits) konfiguriert, wird nur `kv` geschrieben. Wenn Ihre Sicherheitsrichtlinie DDL von der Anwendungsrolle verbietet, erstellen Sie diese Tabellen und `_migrations` vorab mit einer Admin-Rolle und gewähren Sie der App-Rolle `SELECT, INSERT, UPDATE, DELETE` auf jeder.

193 

194Mit Spend-Limits in Verwendung bedeutet eine verlorene Datenbank verlorene Spend-Verfolgung und Caps, nicht nur Entwickler-Neu-Anmeldungen, daher führen Sie regelmäßige Backups durch. Um einen abgegangenen Entwickler sofort zu löschen, statt auf Aufbewahrung zu warten, führen Sie `DELETE FROM principal_emails WHERE principal = '<sub>'` direkt aus; das entfernt die einzige Tabelle, die ihre E-Mail, ihren Namen und ihre Gruppen hält. `spend`- und `admin_audit`-Zeilen referenzieren nur das pseudonyme OIDC-`sub`.

195 

196<h3 id="upgrades">

197 Upgrades

198</h3>

199 

200Replikationen sind zustandslos, daher ist ein Rolling Restart jederzeit sicher. Das Gateway führt Schema-Migrationen beim Start aus, was bedeutet, dass die Bereitstellung der neuen Binärdatei die Datenbank selbst migriert. Wenn die Datenbankrolle DDL nicht ausführen kann, erstellen Sie das Schema vorab, einschließlich der `_migrations`-Tabelle, die auf die aktuelle Version gesät ist; andernfalls schlägt der Boot beim Versuch `CREATE TABLE` fehl.

201 

202Migrationen sind nur Anhänge, daher ist das Rollback zu einer früheren Binärdatei, die weniger Migrationen kennt, sicher; es ignoriert die zusätzlichen Zeilen. Rollback validiert auch die YAML erneut gegen das ältere Binärdatei-Schema, daher schlägt eine Konfiguration, die einen Schlüssel angenommen hat, der von der neueren Version eingeführt wurde, beim Boot auf der älteren fehl. Entfernen Sie den neuen Schlüssel vor dem Rollback.

203 

204Da Sie die Gateway-Version in Ihrem eigenen Image pinnen, erreichen Fixes in neuen Claude Code-Releases, einschließlich Sicherheits-Fixes, Ihre Bereitstellung nur, wenn Sie den Pin aktualisieren und erneut bereitstellen. Beziehen Sie das Gateway in denselben Patching-Zyklus ein, den Sie für andere Dienste verwenden, die Produktionsanmeldedaten halten.

205 

206<h2 id="security">

207 Sicherheit

208</h2>

209 

210Dieser Abschnitt beantwortet die Fragen, die eine Sicherheitsüberprüfung stellt: Welche Daten fließen durch das Gateway und wohin sie gehen, welche Angriffe das Design abwehrt, und welche Antworten in einen Compliance-Fragebogen gehören.

211 

212<h3 id="data-flow">

213 Datenfluss

214</h3>

215 

216| Daten | Pfad | Vom Gateway an Anthropic gesendet |

217| --------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------- |

218| Inferenz (Prompts, Completions) | CLI → Gateway → Ihr Upstream | Nur wenn die Anthropic-API ein konfigurierter Upstream ist |

219| Telemetrie (OTLP-Metriken, plus [Opt-in-Protokolle und Traces](/de/claude-apps-gateway-config#telemetry)) | CLI → Gateway → Ihr Collector | Nie |

220| Identität (E-Mail, Gruppen, Sub) | IdP → Gateway → JWT → CLI; die CLI stempelt sie auf OTLP-Exporte | Nie |

221| Verwaltete Einstellungen | Ihre Gateway-YAML → CLI | Nie |

222| Audit-Protokoll | Gateway-Stderr → Ihr Aggregator | Nie |

223 

224<h3 id="threat-model-summary">

225 Bedrohungsmodell-Zusammenfassung

226</h3>

227 

228Das Gateway sitzt innerhalb Ihres Netzwerk-Perimeters, aber einzelne Entwickler-Laptops werden nicht als vertrauenswürdig behandelt. Das Design berücksichtigt dies auf drei Arten:

229 

230* Entwickler halten kurzlebige JWTs statt roher Upstream-Schlüssel. Das CLI-zu-Gateway-Bein verwendet den RFC-8628-Device-Grant, und der Gateway-Autorisierungs-Code-Austausch mit dem IdP führt PKCE in der Standard-Konfiguration aus, daher ist ein abgefangener IdP-Autorisierungs-Code nutzlos.

231* Die Device-Verifikationsseite erzwingt Same-Origin-POST und ein Pro-IP-Rate-Limit pro RFC 8628 §5.1. Siehe [User-Code-Brute-Force-Resistenz](#user-code-brute-force-resistance).

232* Ausgehende Anfragen gehen durch einen Server-Side-Request-Forgery (SSRF)-Guard, der DNS auflöst, Link-Local- und Cloud-Metadata-Adressen plus Loopback standardmäßig blockiert und die Verbindung zur aufgelösten IP pinnt, daher können Operator-beeinflusste URLs wie der IdP und OTLP-Ziele nicht zu Cloud-Metadata-Endpoints umgeleitet werden. RFC-1918-Private-Bereiche sind absichtlich erlaubt, da IdPs und OTLP-Collector häufig auf privaten IPs leben. Für lokale Entwicklung gegen einen Loopback-IdP oder Collector setzen Sie `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` in der Gateway-Umgebung; lassen Sie es in der Produktion ungesetzt.

233 

234Wenn Sie Ihre eigenen Egress-Kontrollen hinzufügen, muss das Gateway den Metadata-Server erreichen, wenn es Instanz-Metadata-Anmeldedaten wie Workload-Identität verwendet.

235 

236Zwei Bedrohungen sind außerhalb des Geltungsbereichs, da sie Ihre Infrastruktur sind, um zu sichern:

237 

238* **Ein kompromittierter Gateway-Host**: Der Host hält sowohl die Upstream-Anmeldedaten als auch verteilt [verwaltete Einstellungen](/de/claude-apps-gateway-config#managed) an jeden verbundenen Entwickler, daher ist die Kontrolle über die Gateway-Konfiguration vergleichbar mit der Kontrolle über Ihr MDM. Der Einmal-Genehmigungsdialog der CLI für Shell-fähige Einstellungen begrenzt stille Änderungen, ersetzt aber nicht die Host-Sicherheit.

239* **Ein böswilliger OIDC-Anbieter**: Der Anbieter signiert die id\_tokens, denen das Gateway vertraut, daher kann er jede Identität behaupten. Das Überprüfen und Sichern Ihres IdP ist Ihre Verantwortung.

240 

241<h3 id="user-code-brute-force-resistance">

242 User-Code-Brute-Force-Resistenz

243</h3>

244 

245Der `user_code`, den ein Entwickler auf der `/device`-Verifikationsseite eingibt, sind 8 Zeichen aus einem 20-Zeichen-Alphabet, was 20⁸ oder etwa 2,56×10¹⁰ Kombinationen ergibt, und er läuft nach 10 Minuten ab.

246 

247Das Gateway wendet Pro-IP-Rate-Limits auf die Device-Grant-Endpoints an, konfigurierbar über [`rate_limits`](/de/claude-apps-gateway-config#http-tuning). Erhöhen Sie die Limits, wenn sich viele Entwickler von einer einzelnen gemeinsamen Unternehmens-NAT-Adresse anmelden. Die Limits gelten nur für den Anmeldungs-Flow, nicht für Inferenz.

248 

249<h3 id="compliance-posture">

250 Compliance-Haltung

251</h3>

252 

253* **Datenresidenz**: Die Datenebene des Gateways selbst sendet nichts an Anthropic, es sei denn, die Anthropic-API ist ein konfigurierter Upstream; wenn sie es ist, gilt Ihre bestehende Datenbehandlungsvereinbarung für den Inferenz-Pfad. Telemetrie, Audit, Identität und Einstellungen gehen nur an die Ziele, die Sie konfigurieren.

254* **Host-Prozess-Verkehr**: Der Host-Prozess ist die Claude Code CLI, die Startup-Analytik und Update-Prüfungen an Anthropic senden kann. Für Strict-Egress-Bereitstellungen setzen Sie `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1` in der Gateway-Container-Umgebung.

255* **Client-Analytik**: Die CLI deaktiviert ihre eigene Nutzungsanalytik, während sie bei einem Gateway angemeldet ist, und die Fehlerberichterstattung ist standardmäßig auf Third-Party-API-Oberflächen deaktiviert.

256* **Client-Maschinen**: Entwickler-CLIs senden immer noch WebFetch-Hostname-Prüfungen und Versions-Prüfungen an Anthropic, es sei denn, `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1` und `skipWebFetchPreflight: true` sind gesetzt. Siehe [Datennutzung](/de/data-usage).

257* **Umfrage-Bewertungen**: Die Gateway-Anmeldedaten deaktivieren die Anthropic-gebundene Bewertungs-Senke, daher werden Bewertungen nicht an Anthropic gesendet.

258* **Transkript-Freigabe**: Das Wählen von Ja auf einer Umfrage-Transkript-Freigabe-Aufforderung schreibt eine lokale Datei unter `~/.claude/feedback-bundles/` statt zu Anthropic hochzuladen.

259* **Client-Updates**: Update-Prüfungen sind getrennt vom Gateway-Verkehr. Pinnen Sie Versionen durch Ihre eigene Verteilung und setzen Sie `DISABLE_UPDATES`, wenn Laptops keine Releases abrufen dürfen. `DISABLE_AUTOUPDATER` stoppt nur Hintergrund-Updates, während `claude update` immer noch funktioniert.

260* **TLS**: Bedienen Sie `public_url` über HTTPS in der Produktion, entweder vom Gateway-eigenen Listener über `listen.tls` oder von einem TLS-terminierenden Ingress vor einfachen HTTP-Replikationen mit `listen.public_url` gesetzt. Das Gateway weigert sich nicht, einfaches HTTP. Der IdP muss HTTPS in der Produktion bedienen, und Postgres unterstützt `?sslmode=require`. Setzen Sie `Strict-Transport-Security` bei Ihrem Ingress.

261* **Vulnerability-Offenlegung**: Folgen Sie [Sicherheitsprobleme melden](/de/security#reporting-security-issues)

262 

263<h2 id="troubleshooting">

264 Fehlerbehebung

265</h2>

266 

267Für Fragen und Feedback verwenden Sie [Claude-Code-Support](https://support.claude.com/en/collections/14445694-claude-code), oder öffnen Sie ein Issue im [Claude-Code-GitHub-Repository](https://github.com/anthropics/claude-code/issues). Wenn Sie ein Problem melden, beziehen Sie ein:

268 

269* **Gateway-Problem**: Das Gateway-Stderr für das relevante Fenster, Ihre `gateway.yaml` mit Geheimnissen redigiert, die Gateway-Version, auf der Landingpage unter `/` und im `x-cc-gateway-version`-Response-Header auf `/managed/settings` angezeigt, und was sich kürzlich geändert hat

270* **Anmeldungs-Problem**: Der Entwickler führt `claude --debug-file ./claude-debug.txt` aus, reproduziert und sendet diese Datei plus das Gateway-Audit-Protokoll für dasselbe Fenster

271* **Inferenz-Problem**: Das angeforderte Modell, die konfigurierten Upstreams und das Gateway-Audit-Protokoll für die Anfrage, das aufzeichnet, welcher Upstream sie bedient hat und den Response-Status

272 

273| Symptom | Ursache | Behebung |

274| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

275| Das `/login` eines Entwicklers zeigt den Standard-Account-Picker statt des **Cloud-Gateway**-Bildschirms | `forceLoginMethod` oder `forceLoginGatewayUrl` ist nicht in verwalteten Einstellungen auf dieser Maschine gesetzt | Stellen Sie die [verwaltete Einstellungsdatei](/de/claude-apps-gateway#set-the-gateway-url) auf dem Gerät bereit; `/login` liest die Gateway-URL von dort |

276| Startup zeigt `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` | Der installierte Claude-Code-Build ist älter als die Gateway-Unterstützung | Lassen Sie den Entwickler Claude Code auf eine Version aktualisieren, die Cloud-Gateway-Unterstützung enthält |

277| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | Der Gateway-Hostname wird zu mindestens einer öffentlichen IP-Adresse aufgelöst. Claude Code überprüft jede aufgelöste Adresse und erfordert, dass jede privat ist. Eine häufige Ursache ist ein Dual-Stack-Name, bei dem eine Familie zu einer öffentlichen Adresse aufgelöst wird, einschließlich AWS-interner Dual-Stack-Load-Balancer, die öffentliche AAAA-Adressen zurückgeben | Lassen Sie den Gateway-Namen nur zu privaten Adressen auf Entwicklermaschinen auflösen. Für einen Dual-Stack-Namen löschen Sie den öffentlichen Datensatz oder bedienen Sie einen separaten internen DNS-Namen. Siehe die [Private-Network-Voraussetzung](/de/claude-apps-gateway#prerequisites). |

278| CLI `/login`: `Gateway login requires a direct connection and does not support connecting through an HTTP proxy` | Ein `HTTPS_PROXY` oder `HTTP_PROXY` gilt für den Gateway-Host und der Proxy-Hostname wird zu einer öffentlichen Adresse aufgelöst. Ein Proxy, dessen Host nur zu privaten Adressen aufgelöst wird, ist erlaubt und löst diesen Fehler nicht aus | Fügen Sie den Gateway-Host zu `NO_PROXY` auf der Entwicklermaschine hinzu, damit die Verbindung direkt ist, oder verwenden Sie einen Proxy, dessen Hostname zu privaten Adressen aufgelöst wird |

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

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

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

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

283| Boot beendet mit einem Postgres-Berechtigungsfehler | App-Rolle fehlt `CREATE TABLE` | Erstellen Sie das Schema vorab mit einer Admin-Rolle und gewähren Sie DML der App-Rolle, oder gewähren Sie DDL vorübergehend für Boots, die neue Migrationen anwenden |

284| `/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`. |

285| Protokoll: `token exchange failed: 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`. |

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

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

288| Sitzungen erneuern sich nicht stillschweigend nach dem Setzen von `oidc.scopes` | `offline_access` wurde aus der Überschreibung gelöscht | Fügen Sie `offline_access` zurück, wenn Ihr IdP es unterstützt. Ohne einen Refresh-Token führen Entwickler die Browser-Anmeldung alle `session.ttl_hours` erneut aus. |

289| Browser zeigt "This request came from another site and was blocked" | Cross-Site-Form-POST, blockiert als CSRF-Schutz. Erwartet für eingebettete oder proxied Seiten | Öffnen Sie den Verifikations-Link direkt |

290| Chrome blockiert die Approve-Schaltfläche mit "Refused to send form data … violates … Content Security Policy directive: form-action", aber dieselbe Seite funktioniert in Safari oder Firefox | Chrome erzwingt `form-action` gegen die gesamte Redirect-Kette. Ihr IdP leitet weiter zu einem zweiten Host, der nicht auf der Allowlist steht. | Fügen Sie jeden zusätzlichen Ursprung in der Redirect-Kette zu `oidc.form_action_origins` hinzu. Öffnen Sie Chrome DevTools → Console auf der Approve-Seite, um zu sehen, welcher Ursprung blockiert wurde. |

291| Anmeldung wird beim IdP abgeschlossen, aber der Callback schlägt fehl, mit einem CSP-Fehler in Chrome oder "this sign-in link has expired" in Safari | Der IdP gab den Code über `response_mode=form_post` zurück, das ihn Cross-Origin über POST zu `/oauth/callback` automatisch einreicht. Chrome blockiert das unter einer strikten CSP; Safari erlaubt die Einreichung, aber der Callback liest nur die Query-String | Stellen Sie sicher, dass Ihr IdP `response_mode=query` ehrt, das das Gateway explizit anfordert, damit der Callback eine einfache Umleitung ist |

292| Anmeldung funktioniert lokal, schlägt aber hinter einem ALB fehl | `public_url` nicht gesetzt, daher erhält der IdP den inneren `http://`-Ursprung als `redirect_uri` | Setzen Sie `listen.public_url` auf den externen `https://`-Ursprung |

293| Entwickler sieht die Vertrauens-Aufforderung wiederholt | TLS-Zert rotiert pro Replikation oder pro Anfrage | Verwenden Sie ein stabiles Zert beim Ingress, oder beenden Sie TLS einmal und führen Sie Replikationen intern über einfaches HTTP aus |

294| CLI `/login`: "Could not verify the gateway's TLS certificate" oder `SELF_SIGNED_CERT_IN_CHAIN` | Die TLS-Kette des Gateways ist von einer privaten CA signiert, die nicht im CLI-Host-Trust-Store ist | Claude Code liest den OS-Trust-Store standardmäßig auf der nativen Binärdatei und auf Node 22.15 oder später; [`CLAUDE_CODE_CERT_STORE`](/de/network-config#ca-certificate-store) steuert dieses Verhalten. Wenn die CA im OS-Trust-Store installiert ist, stellen Sie sicher, dass Entwickler auf einer aktuellen Runtime sind. Andernfalls setzen Sie `NODE_EXTRA_CA_CERTS` auf das CA-Zertifikat-PEM, bevor Sie starten. Die First-Connect-Fingerprint-Aufforderung gilt immer noch. |

295 

296<h2 id="related">

297 Verwandt

298</h2>

299 

300* [Claude-Apps-Gateway-Übersicht](/de/claude-apps-gateway): Schnellstart und Entwickler-Verbindung

301* [Konfigurationsreferenz](/de/claude-apps-gateway-config): Jede `gateway.yaml`-Option

claude-apps-gateway-on-gcp.md +330 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Claude-Apps-Gateway auf Google Cloud bereitstellen

6 

7> Ein praktisches Beispiel für die Ausführung von Claude-Apps-Gateway auf Google Cloud: Cloud Run oder GKE, Cloud SQL für PostgreSQL, Secret Manager und Service-Account-Authentifizierung für Agent Platform.

8 

9<Note>

10 Diese Seite zeigt eine Möglichkeit, Claude-Apps-Gateway auf Google Cloud auszuführen. Die Konfiguration ist ein funktionierendes Beispiel für kundenverwaltete Infrastruktur und keine unterstützte Produktionsbereitstellung. Verwenden Sie sie, um zu verstehen, wie die einzelnen Komponenten zusammenpassen, bevor Sie sie an Ihre eigene Umgebung anpassen. Für die plattformunabhängigen Anforderungen siehe den [Bereitstellungsleitfaden](/de/claude-apps-gateway-deploy).

11</Note>

12 

13Dieses Beispiel stellt Claude-Apps-Gateway auf Google Cloud mit Google Clouds Agent Platform als Modell-Upstream bereit und verwendet entweder Cloud Run oder GKE für die Berechnung. Google Workspace ist der Beispiel-Identitätsanbieter (IdP), aber jeder OpenID Connect (OIDC) konforme IdP funktioniert. Nur der `oidc`-Block ändert sich. Siehe [Identitätsanbieter-Setup](/de/claude-apps-gateway-deploy#identity-provider-setup) für IdP-spezifische Details.

14 

15<h2 id="what-you’ll-build">

16 Was Sie erstellen werden

17</h2>

18 

19<Frame>

20 <img src="https://mintcdn.com/claude-code/-uq-4JE0W_JO5Er5/images/claude-gateway-gcp-architecture.svg?fit=max&auto=format&n=-uq-4JE0W_JO5Er5&q=85&s=cb705151c69128ac0da235852d5600ab" alt="Diagramm von Claude-Apps-Gateway auf Google Cloud: Claude-Code-Clients verbinden sich über HTTPS mit dem Gateway (Cloud Run oder GKE), das sich in einem VPC neben einer privaten IP-Cloud-SQL-Datenbank für Sitzungszustand befindet. Das Gateway meldet Benutzer über OIDC gegen Google Workspace an, liest Konfiguration und Geheimnisse aus Secret Manager, leitet Modellanfragen an Agent Platform weiter und ruft sein Image bei der Bereitstellung aus Artifact Registry ab." width="760" height="400" data-path="images/claude-gateway-gcp-architecture.svg" />

21</Frame>

22 

23Die Referenzkonfiguration stellt Folgendes bereit:

24 

25* **Cloud Run**-Service oder **GKE**-Deployment mit dem Gateway-Container

26* **Artifact Registry**-Repository für das Gateway-Image

27* **Cloud SQL für PostgreSQL**-Instanz, nur private IP, für den [Store](/de/claude-apps-gateway-config#store) des Gateways

28* **Secret Manager**-Geheimnisse für `gateway.yaml`, den JWT-Signaturschlüssel, das OIDC-Client-Geheimnis und die Postgres-URL

29* **Service Account** mit `roles/aiplatform.user`, direkt auf Cloud Run angehängt oder über Workload Identity auf GKE gebunden

30* **Interner Application Load Balancer** auf Cloud Run oder ein interner **GKE Ingress** der Klasse `gce-internal` auf GKE für HTTPS

31 

32<h2 id="prerequisites">

33 Voraussetzungen

34</h2>

35 

36* Ein GCP-Projekt mit aktivierter Abrechnung und Berechtigung zum Erstellen der oben genannten Ressourcen

37* Die `gcloud`-CLI, authentifiziert mit `gcloud auth login`, und Docker lokal installiert

38* Für den GKE-Pfad: `kubectl` und ein GKE-Cluster auf dem VPC, der in der folgenden Anleitung erstellt wird

39* Zugriff auf die Claude-Modelle, die Sie benötigen, in Model Garden, in einer Region, die sie veröffentlicht

40* Ein Google Workspace OAuth 2.0-Webanwendungs-Client mit Umleitungs-URI `https://<gateway-host>/oauth/callback`. Siehe [Identitätsanbieter-Setup](/de/claude-apps-gateway-deploy#identity-provider-setup)

41* Ein TLS-Hostname für das Gateway, typischerweise ein interner DNS-Name, der auf den Load Balancer verweist

42 

43Legen Sie das Projekt und die Region einmal fest:

44 

45```bash theme={null}

46export PROJECT_ID=<your-project>

47export REGION=us-east5 # a region where the Claude models you need are published in Model Garden

48gcloud config set project "$PROJECT_ID"

49```

50 

51<h2 id="deploy-the-gateway">

52 Gateway bereitstellen

53</h2>

54 

55Die folgenden Schritte stellen die vollständige Bereitstellung mit `gcloud`-Befehlen bereit.

56 

57<Steps>

58 <Step title="APIs aktivieren">

59 Aktivieren Sie die Service-APIs, die die Anleitung verwendet:

60 

61 ```bash theme={null}

62 gcloud services enable \

63 aiplatform.googleapis.com \

64 artifactregistry.googleapis.com \

65 sqladmin.googleapis.com \

66 secretmanager.googleapis.com \

67 iamcredentials.googleapis.com \

68 iam.googleapis.com \

69 compute.googleapis.com \

70 servicenetworking.googleapis.com \

71 run.googleapis.com \

72 container.googleapis.com

73 ```

74 

75 Die APIs, die Sie benötigen, hängen vom Bereitstellungspfad ab:

76 

77 * `compute` und `servicenetworking`: erforderlich für den privaten IP-Cloud-SQL-Pfad

78 * `run`: nur Cloud Run

79 * `container`: nur GKE

80 </Step>

81 

82 <Step title="Service Account erstellen und IAM-Berechtigung erteilen">

83 Das Gateway wird als dedizierter Service Account ausgeführt, der die Berechtigung hat, Agent Platform aufzurufen. Es erreicht Cloud SQL über das VPC mit einem Passwort-Benutzer, daher ist keine Cloud SQL IAM-Rolle erforderlich:

84 

85 ```bash theme={null}

86 gcloud iam service-accounts create claude-gateway --display-name="Claude apps gateway"

87 SA="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com"

88 

89 gcloud projects add-iam-policy-binding "$PROJECT_ID" \

90 --member="serviceAccount:${SA}" --role="roles/aiplatform.user" --condition=None

91 ```

92 

93 Aktivieren Sie dann die Claude-Modelle für das Projekt in Model Garden. Modelle werden in bestimmten Regionen veröffentlicht, überprüfen Sie daher jede Modellkarte.

94 </Step>

95 

96 <Step title="Image erstellen und in Artifact Registry pushen">

97 Erstellen Sie das Image gemäß den [Container-Image-Anforderungen](/de/claude-apps-gateway-deploy#container-image) mit der `linux-x64` glibc-Binärdatei und pushen Sie es:

98 

99 ```bash theme={null}

100 gcloud artifacts repositories create claude-gateway \

101 --repository-format=docker --location="$REGION"

102 gcloud auth configure-docker "${REGION}-docker.pkg.dev" --quiet

103 

104 # Cloud Run requires linux/amd64. --provenance=false avoids a buildx OCI

105 # image index that Cloud Run rejects.

106 docker build --platform=linux/amd64 --provenance=false \

107 -t "${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>" .

108 docker push "${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>"

109 ```

110 </Step>

111 

112 <Step title="Cloud SQL für PostgreSQL bereitstellen">

113 Erstellen Sie die Instanz auf einem VPC über Private Services Access, damit sie keine öffentliche IP hat. Dies erfüllt auch Projekte, bei denen `constraints/sql.restrictPublicIp` erzwungen wird:

114 

115 ```bash theme={null}

116 VPC=cc-gateway-vpc

117 gcloud compute networks create "$VPC" --subnet-mode=custom

118 gcloud compute networks subnets create cc-gateway-subnet \

119 --network="$VPC" --region="$REGION" --range=10.0.0.0/24

120 

121 # Private Services Access: one-time per VPC

122 gcloud compute addresses create "google-managed-services-${VPC}" \

123 --global --purpose=VPC_PEERING --prefix-length=16 --network="$VPC"

124 gcloud services vpc-peerings connect \

125 --service=servicenetworking.googleapis.com \

126 --ranges="google-managed-services-${VPC}" --network="$VPC"

127 

128 gcloud sql instances create claude-gateway-db \

129 --database-version=POSTGRES_16 --tier=db-g1-small --region="$REGION" \

130 --network="projects/${PROJECT_ID}/global/networks/${VPC}" --no-assign-ip

131 gcloud sql databases create claude_gateway --instance=claude-gateway-db

132 PGPASS="$(openssl rand -hex 24)"

133 gcloud sql users create gateway --instance=claude-gateway-db --password="$PGPASS"

134 

135 PRIVATE_IP="$(gcloud sql instances describe claude-gateway-db \

136 --format='value(ipAddresses[0].ipAddress)')"

137 GATEWAY_POSTGRES_URL="postgres://gateway:${PGPASS}@${PRIVATE_IP}:5432/claude_gateway?sslmode=require"

138 ```

139 

140 Die Cloud Run- oder GKE-Laufzeit muss sich auf diesem VPC befinden oder in ihn geroutet werden.

141 </Step>

142 

143 <Step title="gateway.yaml schreiben">

144 Der `upstreams`-Block verweist auf Agent Platform mit `auth: {}`, sodass sich das Gateway über Application Default Credentials vom Runtime-Service-Account authentifiziert. Siehe die [Konfigurationsreferenz](/de/claude-apps-gateway-config) für jedes Feld.

145 

146 Zwei `listen`-Felder hängen davon ab, was das Gateway frontet:

147 

148 * `public_url`: erforderlich hinter Cloud Run oder einem GKE Ingress. Das Gateway erstellt die IdP `redirect_uri` und sein Erkennungsdokument nur aus diesem Wert, niemals aus `X-Forwarded-*`-Headern.

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

150 

151 Legen Sie `trusted_proxies` fest, um Ihr Front-End zu entsprechen. Ein externer GKE Ingress der Klasse `gce` ist nicht aufgelistet: Er stellt eine öffentliche Forwarding-Rule-Adresse bereit, die die `/login` [Private-Network-Prüfung](/de/claude-apps-gateway#prerequisites) ablehnt.

152 

153 | Front-End | `trusted_proxies` |

154 | ------------------------------------------------ | ----------------------------------------------------- |

155 | Cloud Run direkt erreicht, kein Load Balancer | `[169.254.0.0/16]` |

156 | Interner Application Load Balancer vor Cloud Run | `169.254.0.0/16` plus CIDR Ihres Proxy-Only-Subnetzes |

157 | GKE interner Ingress, Klasse `gce-internal` | CIDR Ihres Proxy-Only-Subnetzes |

158 

159 Das folgende Beispiel verwendet die Werte des internen-Load-Balancers-vor-Cloud-Run.

160 

161 ```yaml gateway.yaml theme={null}

162 listen:

163 host: 0.0.0.0

164 port: 8080

165 public_url: https://claude-gateway.internal.example.com

166 trusted_proxies: [169.254.0.0/16, <your-proxy-only-subnet-cidr>]

167 

168 oidc:

169 issuer: https://accounts.google.com

170 client_id: <your-oauth-client-id>

171 client_secret: ${OIDC_CLIENT_SECRET} # GKE: ${file:/secrets/oidc-client-secret}

172 allowed_email_domains: [example.com]

173 # Google ignores offline_access; these yield refresh tokens:

174 scopes: [openid, profile, email]

175 extra_auth_params: { access_type: offline, prompt: consent }

176 

177 session:

178 jwt_secret: ${GATEWAY_JWT_SECRET} # GKE: ${file:/secrets/jwt-secret}

179 

180 store:

181 postgres_url: ${GATEWAY_POSTGRES_URL} # GKE: ${file:/secrets/postgres-url}

182 

183 upstreams:

184 - provider: vertex

185 region: <your-region> # must match $REGION

186 project_id: <your-project>

187 auth: {} # ADC via the runtime service account

188 ```

189 

190 <Note>

191 Google id\_tokens enthalten keinen `groups`-Anspruch. Um gruppenbasierte Richtlinien in [`managed.policies`](/de/claude-apps-gateway-config#managed) mit Google Workspace als IdP zu verwenden, konfigurieren Sie [`oidc.google_groups`](/de/claude-apps-gateway-config#oidc), das die Gruppen jedes Benutzers über die Admin SDK Directory API mit einem Service Account mit Domain-Wide Delegation nachschlägt. Ohne dies müssen Sie stattdessen auf `email_domain` abgleichen.

192 </Note>

193 </Step>

194 

195 <Step title="Geheimnisse in Secret Manager speichern">

196 Erstellen Sie vier Geheimnisse und erteilen Sie `roles/secretmanager.secretAccessor` dem `claude-gateway`-Service-Account:

197 

198 | Geheimnis | Quelle |

199 | ---------------------------- | ---------------------------------------------------------- |

200 | `gateway-jwt-secret` | `openssl rand -base64 32` |

201 | `gateway-oidc-client-secret` | Google Cloud Console → OAuth-Client |

202 | `gateway-postgres-url` | `$GATEWAY_POSTGRES_URL` aus dem Cloud SQL-Schritt |

203 | `gateway-config` | die vollständige `gateway.yaml` aus dem vorherigen Schritt |

204 

205 Wie die Geheimnisse den Container erreichen, unterscheidet sich je nach Pfad:

206 

207 * Auf GKE werden sie über den Secret Manager CSI-Treiber als Dateien unter `/secrets` bereitgestellt, und `gateway.yaml` verweist auf `${file:/secrets/...}`.

208 * Auf Cloud Run, das mehrere Geheimnisse nicht in ein Verzeichnis einbinden kann, wird `gateway.yaml` als Datei bereitgestellt und die anderen drei werden als Umgebungsvariablen eingespritzt, sodass `gateway.yaml` stattdessen auf `${GATEWAY_JWT_SECRET}`, `${OIDC_CLIENT_SECRET}` und `${GATEWAY_POSTGRES_URL}` verweist.

209 </Step>

210 

211 <Step title="Bereitstellen">

212 <Tabs>

213 <Tab title="Cloud Run">

214 Der folgende Befehl stellt für die Produktion hinter einem internen Load Balancer bereit.

215 

216 ```bash theme={null}

217 gcloud run deploy claude-gateway \

218 --image="${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>" \

219 --region="$REGION" \

220 --service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \

221 --min-instances=1 \

222 --timeout=3600 \

223 --ingress=internal-and-cloud-load-balancing \

224 --network="$VPC" --subnet=cc-gateway-subnet --vpc-egress=private-ranges-only \

225 --set-secrets=/etc/claude/gateway.yaml=gateway-config:latest,GATEWAY_JWT_SECRET=gateway-jwt-secret:latest,OIDC_CLIENT_SECRET=gateway-oidc-client-secret:latest,GATEWAY_POSTGRES_URL=gateway-postgres-url:latest \

226 --no-invoker-iam-check

227 ```

228 

229 Direkte VPC-Egress über `--network`, `--subnet` und `--vpc-egress=private-ranges-only` ermöglicht dem Service, die private IP von Cloud SQL direkt zu erreichen. Öffentliche Egress zu den Agent Platform-Endpunkten und `accounts.google.com` geht direkt ins Internet statt durch das VPC, daher ist keine Cloud NAT erforderlich.

230 

231 Die Invoker IAM-Prüfung muss offen oder deaktiviert sein. Das Gateway führt sein eigenes OIDC aus und seine Clients tragen kein GCP-Token, daher muss die Cloud Run Invoker-Prüfung unauthentifizierte Anfragen zulassen. Die OIDC-Anmeldung des Gateways authentifiziert die Anfrage, sobald sie den Container erreicht, wobei `allowed_email_domains` bestimmt, welche Domains sich anmelden dürfen.

232 

233 Zwei Flags lassen unauthentifizierte Anfragen zu:

234 

235 * `--no-invoker-iam-check`: deaktiviert die Prüfung ohne `allUsers`-Bindung zum Verwalten und funktioniert unter Domain Restricted Sharing

236 * `--allow-unauthenticated`: erteilt `allUsers` die `run.invoker`-Rolle. Verwenden Sie dies, wenn Ihre Organisation `--no-invoker-iam-check` nicht zulässt

237 

238 Ingress-Einschränkung über `--ingress` ist eine separate, unabhängige Schicht von der Invoker-Prüfung. Halten Sie sie aktiviert, um den Service auf Ihr Unternehmensnetzwerk zu beschränken.

239 

240 Standardmäßig wird die Cloud Run `*.run.app`-URL zu einer öffentlichen Adresse aufgelöst, die die `/login` [Private-Network-Prüfung](/de/claude-apps-gateway#prerequisites) ablehnt. Zwei Topologien geben Entwicklern einen privat auflösbaren Hostnamen, und Cloud Run stellt keinen für Sie bereit:

241 

242 * **Interner Application Load Balancer**, die Topologie, die der obige Deploy-Befehl annimmt: Stellen Sie mit `--ingress=internal-and-cloud-load-balancing` bereit, stellen Sie einen internen Application Load Balancer vor dem Service mit einem internen DNS-Namen und Zertifikat bereit, und legen Sie `listen.public_url` auf diesen Hostnamen fest.

243 * **Nur interne Ingress ohne Load Balancer**: Stellen Sie mit `--ingress=internal` bereit und lassen Sie `listen.public_url` als `*.run.app`-URL, die Standardeinstellung in den [Referenz-Assets](#terraform-reference) unten. Damit `*.run.app` privat aufgelöst wird, muss Ihr Netzwerk-Team bereits einen Private Service Connect-Endpunkt für Google APIs betreiben, eine Cloud DNS-Privatzone, die `*.run.app` darauf auflöst, und On-Premises-Routing zu diesem Endpunkt.

244 

245 Googles [Private-Networking-Leitfaden für Cloud Run](https://cloud.google.com/run/docs/securing/private-networking) behandelt die Infrastruktur, die beide Optionen benötigen. Überprüfen Sie die Anmeldung, sobald das Gateway auf einem privaten Hostnamen bereitgestellt wird. Bestätigen Sie bis dahin, dass der Container aus seinen Logs in Cloud Run gestartet wurde.

246 

247 Aktualisieren Sie die autorisierte Umleitungs-URI des OAuth-Clients auf `<public_url>/oauth/callback` vor der ersten Anmeldung. Stellen Sie erneut bereit, nachdem Sie `public_url` geändert haben, da das Gateway seinen öffentlichen Ursprung nur aus dieser Einstellung erstellt und `X-Forwarded-Host` und `X-Forwarded-Proto` ignoriert. `X-Forwarded-For` wird nur für Client-IPs berücksichtigt, wenn `listen.trusted_proxies` gesetzt ist.

248 </Tab>

249 

250 <Tab title="GKE">

251 Der Cluster muss sich auf dem `$VPC` befinden, der im Cloud SQL-Schritt erstellt wurde, damit Pods die private IP der Datenbank erreichen können. VPC-Peering allein funktioniert nicht, da die private IP von Cloud SQL selbst ein Peered-Netzwerk ist und Peering nicht transitiv ist. Um einen neuen Cluster auf diesem VPC zu erstellen, übergeben Sie `--network="$VPC" --subnetwork=cc-gateway-subnet` an `gcloud container clusters create`.

252 

253 Aktivieren Sie Workload Identity auf dem Cluster und seinen Node Pools, binden Sie dann den Google-Service-Account an den Kubernetes-Service-Account, damit Pods seine Anmeldedaten erben:

254 

255 ```bash theme={null}

256 gcloud container clusters update <cluster> --region="$REGION" \

257 --workload-pool="${PROJECT_ID}.svc.id.goog"

258 # On a Standard cluster, existing node pools also need GKE_METADATA;

259 # Autopilot enables this by default.

260 gcloud container node-pools update <pool> --cluster=<cluster> \

261 --region="$REGION" --workload-metadata=GKE_METADATA

262 

263 kubectl create namespace claude-gateway

264 kubectl create serviceaccount gateway -n claude-gateway

265 

266 gcloud iam service-accounts add-iam-policy-binding \

267 "claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \

268 --role roles/iam.workloadIdentityUser \

269 --member "serviceAccount:${PROJECT_ID}.svc.id.goog[claude-gateway/gateway]"

270 

271 kubectl annotate serviceaccount gateway -n claude-gateway \

272 iam.gke.io/gcp-service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com"

273 ```

274 

275 Stellen Sie das Gateway als Standard-Deployment plus Service und einen internen Ingress, Klasse `gce-internal`, wie in [Kubernetes-Bereitstellung](/de/claude-apps-gateway-deploy#kubernetes) beschrieben, bereit mit:

276 

277 * `serviceAccountName: gateway`

278 * dem Secret Manager CSI-Treiber, der Geheimnisse unter `/secrets` bereitstellt

279 * der Readiness-Probe, die auf `GET /readyz` verweist

280 

281 Hängen Sie eine BackendConfig mit erhöhtem `timeoutSec` an den Gateway-Service an: Der Load Balancer Backend-Service hinter GKE Ingress hat standardmäßig ein 30-Sekunden-Timeout, das lange Streaming-Antworten abschneidet.

282 

283 Wenden Sie keine Egress-NetworkPolicy an, die `169.254.169.254` auf einem Workload Identity-Cluster blockiert. Der Pod muss den Metadaten-Server für Anmeldedaten erreichen. Der integrierte [SSRF-Guard](/de/claude-apps-gateway-deploy#threat-model-summary) des Gateways ist die Verteidigung dort.

284 

285 Das Gateway protokolliert eine Boot-Warnung, dass der Metadaten-Endpunkt erreichbar ist und schlägt vor, eine Egress-NetworkPolicy anzuwenden. Unter Workload Identity ist diese Warnung erwartet, da der Pod den Endpunkt benötigt.

286 </Tab>

287 </Tabs>

288 </Step>

289 

290 <Step title="Gateway-URL auf Entwicklermaschinen pushen">

291 Das Gateway wird jetzt ausgeführt, aber Entwickler können es von `/login` aus nicht erreichen, bis die Gateway-URL auf ihren Maschinen vorhanden ist. Legen Sie `forceLoginMethod` und `forceLoginGatewayUrl` in der [verwalteten Einstellungsdatei](/de/claude-apps-gateway#set-the-gateway-url) fest, die Sie über MDM auf jedem Gerät bereitstellen. Es gibt keine Gateway-Option in der Anmeldungsauswahl, die ein Entwickler manuell auswählen kann.

292 </Step>

293</Steps>

294 

295<h2 id="terraform-reference">

296 Terraform-Referenz

297</h2>

298 

299Die [Referenz-Bereitstellungs-Assets](https://github.com/anthropics/claude-code/tree/main/examples/gateway/gcp) automatisieren den Cloud Run-Pfad auf dieser Seite. Die Konfigurations- und Image-Assets gelten für beide Pfade:

300 

301* `setup.sh`: ein idempotenter `gcloud`-Provisioner, der den vollständigen Cloud Run-Pfad durchläuft, vom Aktivieren von APIs bis zur ersten Bereitstellung

302* `terraform/`: dieselbe Bereitstellung als Infrastructure-as-Code für eine Greenfield-Bereitstellung: ein gezieltes Apply zum Erstellen des Artifact Registry-Repositorys, dann zum Erstellen und Pushen des Images, dann ein vollständiges Apply

303* `gateway.yaml.example` und ein `Dockerfile` für das Distroless-Runtime-Image

304 

305Die Artefakte standardisieren Cloud Run Ingress auf `internal`, daher ist kein Load Balancer erforderlich. Um die Bereitstellung dieser Seite hinter einem ALB zu entsprechen, führen Sie `setup.sh` mit `INGRESS=internal-and-cloud-load-balancing` aus oder legen Sie die Terraform-Variable `ingress` auf `INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER` fest. Die Artefakte standardisieren auch die Invoker-Schicht auf eine `allUsers` `run.invoker`-Gewährung statt `--no-invoker-iam-check`, das Gegenteil dieser Seite. Beide funktionieren, und die Wahl hängt von den Richtlinieneinschränkungen Ihrer Organisation ab.

306 

307Die Assets werden als funktionierende Beispiele bereitgestellt, nicht als unterstütztes Produktionsartefakt. Überprüfen und passen Sie sie an Ihre Umgebung an.

308 

309<h2 id="troubleshooting">

310 Fehlerbehebung

311</h2>

312 

313Für Gateway-Boot- und Anmeldungsfehler siehe die plattformunabhängige [Fehlerbehebungstabelle](/de/claude-apps-gateway-deploy#troubleshooting). Die folgenden Einträge sind spezifisch für Google Cloud.

314 

315| Symptom | Ursache | Behebung |

316| --------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

317| Cloud Run gibt `403 Forbidden` zurück, bevor der Container erreicht wird | Die Invoker IAM-Prüfung ist noch aktiviert | Stellen Sie mit `--no-invoker-iam-check` bereit oder erteilen Sie `allUsers` die `run.invoker`-Rolle mit `--allow-unauthenticated` |

318| `--no-invoker-iam-check` wird mit `invoker_iam_disabled is not currently available` abgelehnt | Blockiert durch `constraints/run.managed.requireInvokerIam` | Verwenden Sie `--allow-unauthenticated`. Wenn Domain Restricted Sharing über `constraints/iam.allowedPolicyMemberDomains` dies auch blockiert, verwenden Sie den GKE-Pfad, der das Gateway auf der Netzwerkebene ohne `allUsers`-Bindung verfügbar macht. |

319| `Container manifest type … must support amd64/linux` bei Bereitstellung | Image wurde auf einem Nicht-amd64-Host erstellt oder buildx hat einen OCI-Image-Index ausgegeben | Erstellen Sie mit `--platform=linux/amd64 --provenance=false` |

320| Gateway-Boot beendet sich mit Postgres-Verbindungs-Timeout-Fehler auf Cloud Run | Service ist nicht an das VPC angehängt oder Cloud SQL hat keine private IP auf diesem VPC. Der Store wartet nach 5 Sekunden nicht mehr | Stellen Sie mit `--network` und `--subnet` für Direct VPC Egress bereit und erstellen Sie die Cloud SQL-Instanz mit `--no-assign-ip` und `--network`, das auf dasselbe VPC verweist |

321| Agent Platform-Anfragen geben `403 PERMISSION_DENIED` zurück | Laufzeit verwendet nicht den `claude-gateway`-Service-Account oder das Modell ist nicht in Model Garden für das Projekt aktiviert | Legen Sie `--service-account` auf Cloud Run fest oder binden Sie Workload Identity auf GKE, und aktivieren Sie jedes Claude-Modell in Model Garden für die Zielregion |

322| Streaming-Antworten werden nach einer festen Dauer abgeschnitten | Front-End-Anfrage-Timeout: Der Load Balancer Backend-Service hinter GKE Ingress hat standardmäßig 30 Sekunden und Cloud Run 300 Sekunden | Hängen Sie eine BackendConfig mit erhöhtem `timeoutSec` auf GKE an oder stellen Sie mit `--timeout=3600` auf Cloud Run bereit |

323 

324<h2 id="next-steps">

325 Nächste Schritte

326</h2>

327 

328* [Konfigurationsreferenz](/de/claude-apps-gateway-config): jede `gateway.yaml`-Option, einschließlich `managed.policies` und `telemetry`

329* [Bereitstellung und Betrieb](/de/claude-apps-gateway-deploy): IdP-Setup, Integritätsprüfungen, JWT-Geheimnis-Rotation, Upgrades und das Sicherheitsmodell

330* [Claude-Apps-Gateway-Übersicht](/de/claude-apps-gateway): Schnellstart und Verbindung von Entwicklern

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Ausgabenlimits für Claude-Apps-Gateway

6 

7> Begrenzen Sie die Ausgaben jedes Entwicklers über das Claude-Apps-Gateway pro Tag, Woche oder Monat. Legen Sie Limits mit einer Admin-API fest und das Gateway erzwingt sie live bei jeder Anfrage.

8 

9Ausgabenlimits begrenzen, wie viel jeder Entwickler über Ihr [Claude-Apps-Gateway](/de/claude-apps-gateway) an einem bestimmten Tag, einer Woche oder einem Monat ausgeben kann. Wenn ein Entwickler sein Limit überschreitet, gibt das Gateway `429` bei seiner nächsten Anfrage zurück und blockiert ihn, bis sich der Zeitraum zurückgesetzt hat oder ein Administrator das Limit erhöht. Verwenden Sie Ausgabenlimits, um jedem Entwickler, einer Gruppe oder der gesamten Organisation eine Obergrenze für eine gemeinsam genutzte Anmeldedaten zu setzen.

10 

11Ein Claude-Apps-Gateway leitet alle Inferenzen über eine gemeinsame Upstream-Anmeldedaten weiter, sodass die Rechnung Ihres Anbieters alles dieser Anmeldedaten zuordnet, nicht einzelnen Entwicklern. Ohne Pro-Entwickler-Limits kann eine unkontrollierte Agent-Flotte die gesamte Verpflichtung der Organisation ausgeben. Ausgabenlimits sind die Pro-Entwickler-Ansicht des Gateways und ein Schutzschalter auf dieser gemeinsamen Rechnung.

12 

13<h2 id="set-a-cap">

14 Limit festlegen

15</h2>

16 

17Mit dem konfigurierten [`admin:`](/de/claude-apps-gateway-config#admin)-Block in `gateway.yaml` stellt das Gateway eine Admin-API unter `/v1/organizations/spend_limits` bereit und erzwingt Limits live bei jeder Inferenzanfrage. Limits selbst werden über diese API festgelegt, nicht in `gateway.yaml`; jede `POST /v1/organizations/spend_limits`-Anfrage erstellt oder ersetzt ein Limit aus `{scope, amount, period}`. Die API spiegelt die Drahtformate der öffentlichen [Admin-API](https://platform.claude.com/docs/en/manage-claude/admin-api) von Anthropic für Ausgabenlimits wider, sodass ein HTTP-Client, der gegen diesen Vertrag geschrieben wurde, das Gateway ansteuern kann, indem er seine Basis-URL ändert.

18 

19Diese Anfrage legt einen organisationsweiten Standard von 500 USD pro Monat für jeden Entwickler fest:

20 

21```bash theme={null}

22curl -sS https://claude-gateway.internal.example.com/v1/organizations/spend_limits \

23 -H "x-api-key: $GATEWAY_ADMIN_WRITE_KEY" \

24 -H "Content-Type: application/json" \

25 -d '{"scope": {"type": "organization"}, "amount": "50000", "period": "monthly"}'

26```

27 

28Diese Anfrage legt ein strengeres Limit von 100 USD pro Tag für jedes Mitglied der Gruppe `contractors` fest:

29 

30```bash theme={null}

31curl -sS https://claude-gateway.internal.example.com/v1/organizations/spend_limits \

32 -H "x-api-key: $GATEWAY_ADMIN_WRITE_KEY" \

33 -H "Content-Type: application/json" \

34 -d '{"scope": {"type": "rbac_group", "rbac_group_id": "contractors"}, "amount": "10000", "period": "daily"}'

35```

36 

37| Feld | Werte | Beschreibung |

38| ------------ | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

39| `scope.type` | `user`, `rbac_group`, `organization` | `user` zielt auf einen Entwickler nach seiner OpenID Connect (OIDC) `sub`, der stabilen Benutzer-ID, die Ihr Identitätsanbieter zuweist; übergeben Sie sie als `scope.user_id`. `rbac_group` zielt auf eine [IdP-Gruppe](/de/claude-apps-gateway-config#managed) nach Name; übergeben Sie sie als `scope.rbac_group_id`. `organization` ist der organisationsweite Standard. Das Gateway akzeptiert alle drei; Anthropics öffentliches `POST` ist heute nur für Benutzer. |

40| `amount` | Ganzzahl-String von USD-Cent oder `null` | `null` ist unbegrenzt. `"0"` ist ein Nulllimit, das jede Anfrage blockiert. |

41| `period` | `daily`, `weekly`, `monthly` | Ein Bereich kann ein Limit pro Zeitraum enthalten, und jedes wird unabhängig erzwungen: Ein Entwickler wird blockiert, wenn er eines überschreitet. |

42 

43Ein Gruppen- oder Organisationslimit ist ein Pro-Sitz-Standard, den jedes Mitglied erbt, nicht ein gemeinsamer Pool. Pro Zeitraum wird das effektive Limit eines Entwicklers in dieser Reihenfolge aufgelöst: ein Pro-Benutzer-Override, dann das restriktivste seiner Gruppenlimits, dann der Organisationsstandard, dann unbegrenzt. [`admin.group_limit_mode: max`](/de/claude-apps-gateway-config#admin) dreht das Multi-Gruppen-Tie-Break zu am wenigsten restriktiv um.

44 

45<h3 id="authenticate-to-the-admin-api">

46 Authentifizierung bei der Admin-API

47</h3>

48 

49Senden Sie eines der folgenden:

50 

51* Ein `x-api-key`-Header, der einem Schlüssel in [`admin.write_keys`](/de/claude-apps-gateway-config#admin) für vollständigen Zugriff oder `admin.read_keys` für `GET`-only-Zugriff entspricht. Jeder Schlüssel trägt eine `id`, die im Audit-Log als `admin-key:<id>` angezeigt wird, also geben Sie Terraform, CI und jeder Automatisierung seinen eigenen.

52* Ein Gateway-Bearer-Token, dessen `groups`-Anspruch eines der [`admin.admin_groups`](/de/claude-apps-gateway-config#admin) enthält. Dies ist vollständiger Zugriff und wird als `oidc:<sub>` überwacht, also bevorzugen Sie es für menschliche Administratoren.

53 

54<h2 id="how-enforcement-works">

55 Wie die Durchsetzung funktioniert

56</h2>

57 

58Bei jeder `/v1/messages`-Anfrage löst das Gateway die Limits des Entwicklers und die Ausgaben bis zum aktuellen Zeitraum in einer Postgres-Abfrage auf. Wenn sie ein Limit überschreiten, gibt die Anfrage `429` mit `error.type: billing_error` und dem Header `x-should-retry: false` zurück. Die Nachricht ist `spend limit reached`, gefolgt von Ihrer [`admin.blocked_message`](/de/claude-apps-gateway-config#admin), falls gesetzt.

59 

60`/v1/messages/count_tokens` ist ausgenommen. Token-Zählung ist kostenlos, daher wird sie unabhängig vom Limit-Status ausgeführt.

61 

62Nach jeder Antwort liest ein Nutzungsmesser Token-Zählungen aus der Antwort, während sie zum Client streamt, bewertet sie zum USD-Listenpreis und erhöht Postgres-Zähler für alle drei Zeitraum-Buckets. Der Messer ist ein einzelner Leser im Stream, daher werden die Bytes des Clients nicht berührt und ein Messfehler bricht die Antwort nicht.

63 

64Ausgabenlimits schätzen Ausgaben aus Token-Zählungen zum USD-Listenpreis; sie sind ein Schutzschalter, keine Rechnung. Für verbindliche Abrechnung gleichen Sie gegen die eigene Nutzungsberichterstattung Ihres Anbieters ab, wie die Anthropic Usage & Cost Admin API, Aufruflogs auf Bedrock oder Cloud Monitoring auf Google Cloud.

65 

66Die Preisgestaltung verwendet die gleiche Tabelle, die die Claude Code CLI für ihre eigene Kostenanzahl verwendet, mit der gleichen Modell-ID-Kanonisierung über Anthropic, Bedrock (`us.anthropic.…-v1:0`), Agent Platform (`claude-…@date`) und Foundry ID-Formen. Eine Modell-ID, die die Tabelle nicht platzieren kann, wie ein Foundry-Bereitstellungsname oder ein Inferenz-Profil-ARN, wird zum Standard-Tier für unbekannte Modelle von 5 USD/25 USD pro Million Input-/Output-Token bewertet, anstatt null, sodass eine nicht erkannte ID ein Limit nicht durch Nicht-Messung umgehen kann. Das Gateway warnt beim Start und einmal pro ID zur Laufzeit, wenn ein Modell durch den Fallback bewertet wird.

67 

68Client-Abbrüche werden auch abgerechnet. Der Upstream meldet Output-Token nur im Terminal-Frame des Streams, daher trägt ein abgebrochener Stream sie nicht. Der Messer behält eine konservative Untergrenze aus der gestreamten Inhaltsgröße bei, etwa vier Zeichen pro Token, und rechnet sie ab, wenn und nur wenn der Terminal-Nutzungs-Frame fehlt. Ein vollständiger Stream rechnet immer die vom Upstream gemeldete Anzahl ab. Ohne dies könnte ein begrenzter Entwickler Output streamen und jede Anfrage unmittelbar vor dem Ende abbrechen, ohne jemals gezählt zu werden.

69 

70<h3 id="postgres-availability">

71 Postgres-Verfügbarkeit

72</h3>

73 

74Die Vorabprüfung fragt Postgres mit einem Zwei-Sekunden-Timeout ab. Wenn der Speicher nicht erreichbar ist oder das Timeout überschreitet, schlägt die Durchsetzung standardmäßig offen fehl: Die Anfrage wird fortgesetzt und das Gateway protokolliert eine Warnung. Setzen Sie [`enforcement.fail_closed_on_error: true`](/de/claude-apps-gateway-config#enforcement), um stattdessen geschlossen fehlzuschlagen, was den gleichen `429 billing_error` mit der Nachricht `spend limit unavailable` zurückgibt. Fail-Open verhindert, dass ein Speicherausfall zu einem Inferenzausfall wird; Fail-Closed garantiert keine nicht gemessenen Ausgaben.

75 

76<h2 id="admin-api-reference">

77 Admin-API-Referenz

78</h2>

79 

80Die folgenden Endpunkte werden unter `/v1/organizations/spend_limits` bereitgestellt.

81 

82| Methode und Pfad | Beschreibung |

83| ---------------------------------------------- | ------------------------------------------------------------------------------------- |

84| `GET /v1/organizations/spend_limits` | Konfigurierte Limits auflisten. Abfrage: `?limit=&after_id=&before_id=`. |

85| `POST /v1/organizations/spend_limits` | Erstellen oder ersetzen Sie ein Limit für `{scope, period}`. |

86| `GET /v1/organizations/spend_limits/{id}` | Rufen Sie ein Limit nach seiner `spl_`-präfixierten ID ab. |

87| `DELETE /v1/organizations/spend_limits/{id}` | Löschen Sie ein Limit. Gibt `{type: "spend_limit_deleted", id}` zurück. |

88| `GET /v1/organizations/spend_limits/effective` | Aufgelöstes Limit und Ausgaben bis zum aktuellen Zeitraum pro Principal pro Zeitraum. |

89| `GET /v1/organizations/spend_limits/audit` | Admin-Mutationsverlauf, neueste zuerst. Abfrage: `?limit=`. |

90 

91Konventionen spiegeln Anthropics Admin-API wider:

92 

93* Ein `type` auf jedem Objekt

94* `spl_`-präfixierte IDs

95* Beträge als Ganzzahl-Strings von USD-Cent; `POST` lehnt jede andere `currency` mit `400` ab

96* Die `{type: "error", error: {type, message}, request_id}`-Fehler-Umhüllung

97* Ein `request-id`-Response-Header auf jeder Admin-Antwort, Erfolg oder Fehler, der der `request_id` des Body entspricht

98 

99Jede Mutation schreibt eine Vor-/Nach-Zeile in `admin_audit` in der gleichen Transaktion, zugeordnet zu `admin-key:<id>` oder `oidc:<sub>`.

100 

101Das Gateway stellt die Spend-Limits-Endpunkte nur bereit. Andere Admin-API-Oberflächen, wie die `spend_limit_increase_requests`-Warteschlange, sind nicht Teil der Admin-API des Gateways.

102 

103<h3 id="/effective">

104 `/effective`

105</h3>

106 

107`GET /v1/organizations/spend_limits/effective` gibt Anthropics `SpendSummary`-Schema zurück: jede Zeile ist ein Principal für einen Zeitraum, mit dem aufgelösten Limit, den Ausgaben bis zum aktuellen Zeitraum und einem `actor`-Objekt. Gateway-spezifische Unterschiede:

108 

109* `user_id` ist die OIDC `sub`.

110* `actor.name` und `actor.email_address` sind `null`, bis die erste Inferenzanfrage des Principal durch das Gateway erfolgt. Das Gateway hat kein Benutzerverzeichnis; es zeichnet zuletzt gesehene Werte aus dem Session-JWT jedes Benutzers auf.

111* Jede Zeile trägt auch ein `groups`-Array, die zuletzt gesehenen IdP-Gruppen des Principal. Dies ist eine Gateway-Erweiterung, damit eine Admin-UI jeden anwendbaren Limit-Tier anzeigen kann; Anthropic-förmige Clients ignorieren es.

112* Ohne einen `user_ids[]`-Filter listet es Principal mit aufgezeichneten Ausgaben auf, da das Gateway nicht alle Organisationsmitglieder aufzählen kann.

113 

114Gruppen-basierte Limits werden gegen diese zuletzt gesehenen Gruppen mit dem gleichen `group_limit_mode`-Tie-Break aufgelöst, den die Durchsetzung verwendet, sodass der Viewer das tatsächlich anwendbare Limit anzeigt.

115 

116| Abfrageparameter | Beschreibung |

117| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------ |

118| `user_ids[]` | Wiederholbar. Filtern Sie nach spezifischen Principal nach OIDC `sub`. |

119| `period[]` | Wiederholbar. Filtern Sie nach `daily`, `weekly` oder `monthly`-Zeilen. |

120| `sort` | `spend_desc` listet Top-Spender zuerst auf. Erfordert genau einen `period[]`. |

121| `q` | Groß-/Kleinschreibung-unabhängiger Substring-Filter über die OIDC `sub`, zuletzt gesehene E-Mail und zuletzt gesehenen Anzeigenamen. |

122| `limit` / `page` | Seitengröße (1–1000, Standard 20) und der undurchsichtige Cursor aus dem `next_page` der vorherigen Antwort. |

123 

124<Warning>

125 `q=` und `user_ids[]=` fahren GET-Abfrage-Strings, daher erfasst jeder Fronting-Proxy oder Load-Balancer sie in seinen Zugriffslogs. Wenn Ihre PII-Log-Richtlinie streng ist, bereinigen Sie diese Parameter dort.

126</Warning>

127 

128<h3 id="/audit">

129 `/audit`

130</h3>

131 

132Gibt den Ausgabenlimit-Mutationsverlauf zurück: wer welches Limit geändert hat, Vor-/Nach-Snapshots und den optionalen Grund, neueste zuerst. `has_more` ist exakt. Dieser Endpunkt folgt den lokalen Admin-API-Konventionen statt einer First-Party-Drahtform.

133 

134<h3 id="pagination">

135 Pagination

136</h3>

137 

138Die rohe Liste paginiert nach `after_id` und `before_id`, die sich gegenseitig ausschließende `spl_…`-IDs sind; Ergebnisse werden nach Erstellung sortiert und `has_more` spiegelt die Traversierungsrichtung wider. `/effective` paginiert nach dem undurchsichtigen `next_page`-Token, der als `?page=` zurückgegeben wird, mit Principal in aufsteigender Reihenfolge sortiert, sodass Seiten stabil bleiben, während Ausgaben aufgezeichnet werden. `limit` ist 1–1000, Standard 20, auf beiden.

139 

140<h2 id="data-lifecycle">

141 Datenzyklus

142</h2>

143 

144Das Gateway enthält vier ausgabenbezogene Tabellen; ein stündlicher Sweep erzwingt die Aufbewahrungsfenster:

145 

146| Tabelle | Inhalt | Aufbewahrung |

147| ------------------ | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |

148| `spend` | Pro-Principal-Zeitraum-bis-Datum-Zähler in Cent | [`admin.spend_retention_months`](/de/claude-apps-gateway-config#admin), Standard 13 |

149| `spend_limits` | Die konfigurierten Limits | Bis gelöscht über die API |

150| `admin_audit` | Der Mutationsverlauf | [`admin.audit_retention_days`](/de/claude-apps-gateway-config#admin), Standard 365 |

151| `principal_emails` | Zuletzt gesehene E-Mail, Anzeigename und IdP-Gruppen jedes Principal. Enthält PII. | [`admin.identity_retention_days`](/de/claude-apps-gateway-config#admin) seit letzter Aktivität, Standard 90 |

152 

153`identity_retention_days` ist absichtlich kürzer als `spend_retention_months`: Eine bereitgestellte Identität wird nicht mehr aktualisiert und veraltet, während ihre anonymen Ausgabenzähler für Jahr-über-Jahr-Berichte erhalten bleiben.

154 

155Wenn ein Entwickler geht, löschen Sie alle Pro-Benutzer-Limits über `DELETE /v1/organizations/spend_limits/{id}`; ihre Ausgaben und Identitätszeilen veralten auf den oben genannten Aufbewahrungsfenstern. Um eine Person sofort zu löschen, für Offboarding oder eine Datenschutzanfrage (DSAR), führen Sie `DELETE FROM principal_emails WHERE principal = '<sub>'` direkt gegen die Gateway-Datenbank aus. Das entfernt die einzige Tabelle, die ihre E-Mail, ihren Namen und ihre Gruppen enthält. Die `spend`- und `admin_audit`-Zeilen verweisen nur auf die pseudonyme OIDC `sub` und veralten auf ihren eigenen Fenstern.

156 

157<h2 id="related">

158 Verwandt

159</h2>

160 

161* [`admin`- und `enforcement`-Konfiguration](/de/claude-apps-gateway-config#admin): Aktivierung der Admin-API und Abstimmung der Aufbewahrung

162* [Bereitstellungsleitfaden](/de/claude-apps-gateway-deploy#postgres): Postgres-Schema und Backup-Anleitung

Details

63 Was in Cloud-Sitzungen verfügbar ist63 Was in Cloud-Sitzungen verfügbar ist

64</h3>64</h3>

65 65 

66Cloud-Sitzungen starten von einem frischen Klon Ihres Repositories. Alles, was zum Repo committed ist, ist verfügbar. Alles, was Sie nur auf Ihrem eigenen Computer installiert oder konfiguriert haben, ist nicht verfügbar; die Richtlinie Ihrer Organisation kommt separat über [server-verwaltete Einstellungen](/de/server-managed-settings).66Cloud-Sitzungen starten von einem frischen Klon Ihres Repositories. Alles, was zum Repo committed ist, ist verfügbar. Alles, was Sie nur auf Ihrem eigenen Computer installiert oder konfiguriert haben, ist nicht verfügbar. Die Richtlinie Ihrer Organisation kommt separat über [server-verwaltete Einstellungen](/de/server-managed-settings).

67 67 

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

69| :--------------------------------------------------------------------------------- | :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |69| :--------------------------------------------------------------------------------- | :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


81| Statische API-Token und Anmeldedaten | Nein | Es existiert noch kein dedizierter Secrets-Store. Siehe unten |81| Statische API-Token und Anmeldedaten | Nein | Es existiert noch kein dedizierter Secrets-Store. Siehe unten |

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

83 83 

84Um Ihre eigene Konfiguration in Cloud-Sitzungen verfügbar zu machen, committen Sie sie ins Repo; die Organisationsrichtlinie kommt separat über [server-verwaltete Einstellungen](/de/server-managed-settings). Ein dedizierter Secrets-Store ist noch nicht verfügbar. Sowohl Umgebungsvariablen als auch Setup-Skripte werden in der Umgebungskonfiguration gespeichert, sichtbar für jeden, der diese Umgebung bearbeiten kann. Wenn Sie Secrets in einer Cloud-Sitzung benötigen, fügen Sie sie als Umgebungsvariablen mit dieser Sichtbarkeit im Hinterkopf hinzu.84Um Ihre eigene Konfiguration in Cloud-Sitzungen verfügbar zu machen, committen Sie sie ins Repo; die Organisationsrichtlinie kommt separat über [server-verwaltete Einstellungen](/de/server-managed-settings).

85 

86Ein dedizierter Secrets-Store ist noch nicht verfügbar. Sowohl Umgebungsvariablen als auch Setup-Skripte werden in der Umgebungskonfiguration gespeichert, sichtbar für jeden, der diese Umgebung bearbeiten kann. Wenn Sie Secrets in einer Cloud-Sitzung benötigen, fügen Sie sie als Umgebungsvariablen mit dieser Sichtbarkeit im Hinterkopf hinzu.

85 87 

86<h3 id="installed-tools">88<h3 id="installed-tools">

87 Installierte Tools89 Installierte Tools


186| Umgebung archivieren | Öffnen Sie die Umgebung zum Bearbeiten und wählen Sie **Archivieren**. Archivierte Umgebungen sind in der Auswahl ausgeblendet, aber vorhandene Sitzungen werden weiterhin ausgeführt. |188| Umgebung archivieren | Öffnen Sie die Umgebung zum Bearbeiten und wählen Sie **Archivieren**. Archivierte Umgebungen sind in der Auswahl ausgeblendet, aber vorhandene Sitzungen werden weiterhin ausgeführt. |

187| Standard für `--remote` festlegen | Führen Sie `/remote-env` in Ihrem Terminal aus. Wenn Sie eine einzelne Umgebung haben, zeigt dieser Befehl Ihre aktuelle Konfiguration. `/remote-env` wählt nur den Standard; fügen Sie Umgebungen über die Web-Oberfläche hinzu, bearbeiten und archivieren Sie sie. |189| Standard für `--remote` festlegen | Führen Sie `/remote-env` in Ihrem Terminal aus. Wenn Sie eine einzelne Umgebung haben, zeigt dieser Befehl Ihre aktuelle Konfiguration. `/remote-env` wählt nur den Standard; fügen Sie Umgebungen über die Web-Oberfläche hinzu, bearbeiten und archivieren Sie sie. |

188 190 

189Umgebungsvariablen verwenden das `.env`-Format mit einem `KEY=value`-Paar pro Zeile. Wickeln Sie Werte nicht in Anführungszeichen ein, da Anführungszeichen als Teil des Werts gespeichert werden.191Umgebungsvariablen verwenden das `.env`-Format mit einem `KEY=value`-Paar pro Zeile. Wickeln Sie Werte nicht in Anführungszeichen ein, da Anführungszeichen als Teil des Werts gespeichert werden. Dieses Beispiel definiert drei Variablen:

190 192 

191```text theme={null}193```text theme={null}

192NODE_ENV=development194NODE_ENV=development


593 * \*.sentry.io595 * \*.sentry.io

594 * downloads.sentry-cdn.com596 * downloads.sentry-cdn.com

595 * http-intake.logs.datadoghq.com597 * http-intake.logs.datadoghq.com

598 * browser-intake-us5-datadoghq.com

596 * \*.datadoghq.com599 * \*.datadoghq.com

597 * \*.datadoghq.eu600 * \*.datadoghq.eu

598 * api.honeycomb.io601 * api.honeycomb.io


641 644 

642Dies erstellt eine neue Cloud-Sitzung auf claude.ai. Die Sitzung klont Ihr aktuelles Verzeichnis's GitHub-Remote bei Ihrem aktuellen Branch, daher pushen Sie zuerst, wenn Sie lokale Commits haben, da die VM von GitHub klont, nicht von Ihrem Computer. `--remote` funktioniert mit einem Repository auf einmal. Die Aufgabe wird in der Cloud ausgeführt, während Sie lokal weiterarbeiten.645Dies erstellt eine neue Cloud-Sitzung auf claude.ai. Die Sitzung klont Ihr aktuelles Verzeichnis's GitHub-Remote bei Ihrem aktuellen Branch, daher pushen Sie zuerst, wenn Sie lokale Commits haben, da die VM von GitHub klont, nicht von Ihrem Computer. `--remote` funktioniert mit einem Repository auf einmal. Die Aufgabe wird in der Cloud ausgeführt, während Sie lokal weiterarbeiten.

643 646 

647{/* min-version: 2.1.195 */}Ab v2.1.195 zeigt die CLI eine Live-Checkliste von Setup-Schritten an, wie z. B. das Klonen des Repositories und das Ausführen Ihres [Setup-Skripts](#setup-scripts), während der Cloud-Container startet. Nachrichten, die Sie eingeben, während der Container bereitgestellt wird, werden in die Warteschlange eingereiht und gesendet, sobald die Sitzung bereit ist.

648 

644<Note>649<Note>

645 `--remote` erstellt Cloud-Sitzungen. `--remote-control` ist nicht verwandt: Es stellt eine lokale CLI-Sitzung zur Überwachung vom Web aus bereit. Siehe [Remote Control](/de/remote-control).650 `--remote` erstellt Cloud-Sitzungen. `--remote-control` ist nicht verwandt: Es stellt eine lokale CLI-Sitzung zur Überwachung vom Web aus bereit. Siehe [Remote Control](/de/remote-control).

646</Note>651</Note>


703Ziehen Sie eine Cloud-Sitzung in Ihr Terminal mit einer dieser Methoden:708Ziehen Sie eine Cloud-Sitzung in Ihr Terminal mit einer dieser Methoden:

704 709 

705* **Mit `--teleport`**: Führen Sie von der Befehlszeile `claude --teleport` für eine interaktive Sitzungsauswahl aus, oder `claude --teleport <session-id>`, um eine bestimmte Sitzung direkt fortzusetzen. Wenn Sie nicht committete Änderungen haben, werden Sie aufgefordert, diese zuerst zu stashen.710* **Mit `--teleport`**: Führen Sie von der Befehlszeile `claude --teleport` für eine interaktive Sitzungsauswahl aus, oder `claude --teleport <session-id>`, um eine bestimmte Sitzung direkt fortzusetzen. Wenn Sie nicht committete Änderungen haben, werden Sie aufgefordert, diese zuerst zu stashen.

706* **Mit `/teleport`**: Führen Sie innerhalb einer vorhandenen CLI-Sitzung `/teleport` (oder `/tp`) aus, um die gleiche Sitzungsauswahl zu öffnen, ohne Claude Code neu zu starten.711* **Mit `/teleport`**: Führen Sie innerhalb einer vorhandenen CLI-Sitzung `/teleport` oder `/tp` aus, um die gleiche Sitzungsauswahl zu öffnen, ohne Claude Code neu zu starten.

707* **Von `/tasks`**: Führen Sie `/tasks` aus, um Ihre Hintergrund-Sitzungen zu sehen, drücken Sie dann `t`, um in eine zu teleportieren712* **Von `/tasks`**: Führen Sie `/tasks` aus, um Ihre Hintergrund-Sitzungen zu sehen, drücken Sie dann `t`, um in eine zu teleportieren.

708* **Von der Web-Oberfläche**: Wählen Sie **Open in CLI**, um einen Befehl zu kopieren, den Sie in Ihr Terminal einfügen können713* **Von der Web-Oberfläche**: Wählen Sie **Open in CLI**, um einen Befehl zu kopieren, den Sie in Ihr Terminal einfügen können.

709 714 

710Wenn Sie eine Sitzung teleportieren, überprüft Claude, dass Sie sich im richtigen Repository befinden, ruft den Branch aus der Cloud-Sitzung ab und checkt ihn aus, und lädt die vollständige Gesprächshistorie in Ihr Terminal.715Wenn Sie eine Sitzung teleportieren, überprüft Claude, dass Sie sich im richtigen Repository befinden, ruft den Branch aus der Cloud-Sitzung ab und checkt ihn aus, und lädt die vollständige Gesprächshistorie in Ihr Terminal.

711 716 


770 Teilen von einem Enterprise- oder Team-Konto775 Teilen von einem Enterprise- oder Team-Konto

771</h4>776</h4>

772 777 

773Für Enterprise- und Team-Konten sind die beiden Sichtbarkeitsoptionen **Private** und **Team**. Team-Sichtbarkeit macht die Sitzung für andere Mitglieder Ihrer claude.ai-Organisation sichtbar. Die Überprüfung des Repository-Zugriffs ist standardmäßig aktiviert, basierend auf dem GitHub-Konto, das mit dem Konto des Empfängers verbunden ist. Der Anzeigename Ihres Kontos ist für alle Empfänger mit Zugriff sichtbar. [Claude in Slack](/de/slack)-Sitzungen werden automatisch mit Team-Sichtbarkeit geteilt.778Für Enterprise- und Team-Konten sind die beiden Sichtbarkeitsoptionen **Private** und **Team**. Team-Sichtbarkeit macht die Sitzung für andere Mitglieder Ihrer claude.ai-Organisation sichtbar. [Claude in Slack](/de/slack)-Sitzungen werden automatisch mit Team-Sichtbarkeit geteilt.

779 

780Die Überprüfung des Repository-Zugriffs ist standardmäßig aktiviert, basierend auf dem GitHub-Konto, das mit dem Konto des Empfängers verbunden ist. Der Anzeigename Ihres Kontos ist für alle Empfänger mit Zugriff sichtbar.

774 781 

775<h4 id="share-from-a-max-or-pro-account">782<h4 id="share-from-a-max-or-pro-account">

776 Teilen von einem Max- oder Pro-Konto783 Teilen von einem Max- oder Pro-Konto


863 870 

864* Überprüfen Sie [status.claude.com](https://status.claude.com) auf Cloud-Sitzungs-Incidents871* Überprüfen Sie [status.claude.com](https://status.claude.com) auf Cloud-Sitzungs-Incidents

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

866* Bestätigen Sie, dass Ihr Repository erreichbar ist. Das verbindende GitHub-Konto muss Zugriff auf das Repository auf GitHub haben, entweder durch die Claude GitHub App-Autorisierung oder ein `gh`-Token, das über `/web-setup` synchronisiert wird die Installation der App auf dem Repository ist nicht erforderlich. Siehe [GitHub-Authentifizierungsoptionen](#github-authentication-options).873* Bestätigen Sie, dass Ihr Repository erreichbar ist. Das verbindende GitHub-Konto muss Zugriff auf das Repository auf GitHub haben, entweder durch die Claude GitHub App-Autorisierung oder ein `gh`-Token, das über `/web-setup` synchronisiert wird. Die Installation der App auf dem Repository ist nicht erforderlich. Siehe [GitHub-Authentifizierungsoptionen](#github-authentication-options).

867 874 

868<h3 id="remote-control-session-expired-or-access-denied">875<h3 id="remote-control-session-expired-or-access-denied">

869 Remote Control-Sitzung abgelaufen oder Zugriff verweigert876 Remote Control-Sitzung abgelaufen oder Zugriff verweigert

Details

283```bash theme={null}283```bash theme={null}

284export ANTHROPIC_DEFAULT_FABLE_MODEL=claude-fable-5284export ANTHROPIC_DEFAULT_FABLE_MODEL=claude-fable-5

285export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-7285export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-7

286export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6286export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-5

287export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5287export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5

288```288```

289 289 

Details

22| `claude -c -p "query"` | Fortsetzen über SDK | `claude -c -p "Check for type errors"` |22| `claude -c -p "query"` | Fortsetzen über SDK | `claude -c -p "Check for type errors"` |

23| `claude -r "<session>" "query"` | Sitzung nach ID oder Name fortsetzen | `claude -r "auth-refactor" "Finish this PR"` |23| `claude -r "<session>" "query"` | Sitzung nach ID oder Name fortsetzen | `claude -r "auth-refactor" "Finish this PR"` |

24| `claude update` | Auf neueste Version aktualisieren | `claude update` |24| `claude update` | Auf neueste Version aktualisieren | `claude update` |

25| `claude gateway` | Starten Sie den selbstgehosteten [Claude Apps Gateway](/de/claude-apps-gateway) Server für Administratoren, die SSO und Richtlinien vor Claude Code auf Bedrock, Vertex AI oder Foundry bereitstellen. Erfordert `--config`, das auf eine [`gateway.yaml`](/de/claude-apps-gateway-config) verweist. Verfügbar in Claude Code v2.1.195 und später. | `claude gateway --config gateway.yaml` |

25| `claude install [version]` | Installieren oder neu installieren Sie die native Binärdatei. Akzeptiert eine Version wie `2.1.118`, oder `stable` oder `latest`. Siehe [Installieren Sie eine bestimmte Version](/de/setup#install-a-specific-version) | `claude install stable` |26| `claude install [version]` | Installieren oder neu installieren Sie die native Binärdatei. Akzeptiert eine Version wie `2.1.118`, oder `stable` oder `latest`. Siehe [Installieren Sie eine bestimmte Version](/de/setup#install-a-specific-version) | `claude install stable` |

26| `claude auth login` | Melden Sie sich bei Ihrem Anthropic-Konto an. Verwenden Sie `--email`, um Ihre E-Mail-Adresse vorauszufüllen, `--sso`, um SSO-Authentifizierung zu erzwingen, und `--console`, um sich mit der Anthropic Console für API-Nutzungsabrechnung anstelle eines Claude-Abonnements anzumelden | `claude auth login --console` |27| `claude auth login` | Melden Sie sich bei Ihrem Anthropic-Konto an. Verwenden Sie `--email`, um Ihre E-Mail-Adresse vorauszufüllen, `--sso`, um SSO-Authentifizierung zu erzwingen, und `--console`, um sich mit der Anthropic Console für API-Nutzungsabrechnung anstelle eines Claude-Abonnements anzumelden | `claude auth login --console` |

27| `claude auth logout` | Abmelden von Ihrem Anthropic-Konto | `claude auth logout` |28| `claude auth logout` | Abmelden von Ihrem Anthropic-Konto | `claude auth logout` |


93| `--max-budget-usd` | Maximaler Dollarbetrag, der für API-Aufrufe ausgegeben werden kann, bevor gestoppt wird (nur Print-Modus) | `claude -p --max-budget-usd 5.00 "query"` |94| `--max-budget-usd` | Maximaler Dollarbetrag, der für API-Aufrufe ausgegeben werden kann, bevor gestoppt wird (nur Print-Modus) | `claude -p --max-budget-usd 5.00 "query"` |

94| `--max-turns` | Begrenzen Sie die Anzahl der agentic Turns (nur Print-Modus). Beendet mit einem Fehler, wenn das Limit erreicht wird. Standardmäßig kein Limit | `claude -p --max-turns 3 "query"` |95| `--max-turns` | Begrenzen Sie die Anzahl der agentic Turns (nur Print-Modus). Beendet mit einem Fehler, wenn das Limit erreicht wird. Standardmäßig kein Limit | `claude -p --max-turns 3 "query"` |

95| `--mcp-config` | Laden Sie MCP-Server aus JSON-Dateien oder Strings (durch Leerzeichen getrennt) | `claude --mcp-config ./mcp.json` |96| `--mcp-config` | Laden Sie MCP-Server aus JSON-Dateien oder Strings (durch Leerzeichen getrennt) | `claude --mcp-config ./mcp.json` |

96| `--model` | Legt das Modell für die aktuelle Sitzung mit einem Alias für das neueste Modell (`sonnet`, `opus`, `haiku` oder `fable`) oder den vollständigen Namen eines Modells fest. Überschreibt die [`model`](/de/settings#available-settings) Einstellung und [`ANTHROPIC_MODEL`](/de/model-config#environment-variables) | `claude --model claude-sonnet-4-6` |97| `--model` | Legt das Modell für die aktuelle Sitzung mit einem Alias für das neueste Modell (`sonnet`, `opus`, `haiku` oder `fable`) oder den vollständigen Namen eines Modells fest. Überschreibt die [`model`](/de/settings#available-settings) Einstellung und [`ANTHROPIC_MODEL`](/de/model-config#environment-variables) | `claude --model claude-sonnet-5` |

97| `--name`, `-n` | Legen Sie einen Anzeigenamen für die Sitzung fest, der in `/resume` und der Terminalleiste angezeigt wird. Sie können eine benannte Sitzung mit `claude --resume <name>` fortsetzen. <br /><br />[`/rename`](/de/commands) ändert den Namen während der Sitzung und zeigt ihn auch in der Eingabeaufforderungsleiste an | `claude -n "my-feature-work"` |98| `--name`, `-n` | Legen Sie einen Anzeigenamen für die Sitzung fest, der in `/resume` und der Terminalleiste angezeigt wird. Sie können eine benannte Sitzung mit `claude --resume <name>` fortsetzen. <br /><br />[`/rename`](/de/commands) ändert den Namen während der Sitzung und zeigt ihn auch in der Eingabeaufforderungsleiste an | `claude -n "my-feature-work"` |

98| `--no-chrome` | Deaktivieren Sie [Chrome-Browser-Integration](/de/chrome) für diese Sitzung | `claude --no-chrome` |99| `--no-chrome` | Deaktivieren Sie [Chrome-Browser-Integration](/de/chrome) für diese Sitzung | `claude --no-chrome` |

99| `--no-session-persistence` | Deaktivieren Sie die Sitzungspersistenz, sodass Sitzungen nicht auf der Festplatte gespeichert werden und nicht fortgesetzt werden können. Nur Print-Modus. Die [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/de/env-vars) Umgebungsvariable bewirkt das Gleiche in jedem Modus | `claude -p --no-session-persistence "query"` |100| `--no-session-persistence` | Deaktivieren Sie die Sitzungspersistenz, sodass Sitzungen nicht auf der Festplatte gespeichert werden und nicht fortgesetzt werden können. Nur Print-Modus. Die [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/de/env-vars) Umgebungsvariable bewirkt das Gleiche in jedem Modus | `claude -p --no-session-persistence "query"` |

commands.md +2 −0

Details

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

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

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

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

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

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

74| `/diff` | Öffnen Sie einen interaktiven Diff-Viewer, der nicht committete Änderungen und Pro-Turn-Diffs anzeigt. Verwenden Sie Links-/Rechtspfeile, um zwischen dem aktuellen Git-Diff und einzelnen Claude-Turns zu wechseln, und Auf-/Abwärtspfeile zum Durchsuchen von Dateien |76| `/diff` | Öffnen Sie einen interaktiven Diff-Viewer, der nicht committete Änderungen und Pro-Turn-Diffs anzeigt. Verwenden Sie Links-/Rechtspfeile, um zwischen dem aktuellen Git-Diff und einzelnen Claude-Turns zu wechseln, und Auf-/Abwärtspfeile zum Durchsuchen von Dateien |

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

computer-use.md +3 −3

Details

112 Eine Sitzung auf einmal112 Eine Sitzung auf einmal

113</h3>113</h3>

114 114 

115Die Computernutzung hält eine maschinenweite Sperre, während sie aktiv ist. Wenn eine andere Claude Code-Sitzung bereits Ihren Computer nutzt, schlagen neue Versuche mit einer Nachricht fehl, die Ihnen mitteilt, welche Sitzung die Sperre hält. Beenden oder beenden Sie diese Sitzung zuerst.115Die Computernutzung hält eine maschinenweite Sperre vom ersten Computernutzungs-Aktion bis die Sitzung, die sie erworben hat, beendet wird. {/* min-version: 2.1.195 */}Ab v2.1.195 gibt das Beenden der Aufgabe die Sperre nicht frei; nur das Beenden der Sitzung tut dies. Wenn eine andere Claude Code-Sitzung bereits Ihren Computer nutzt, schlagen neue Versuche mit einer Nachricht fehl, die Ihnen mitteilt, welche Sitzung die Sperre hält. Beenden Sie diese Sitzung zuerst.

116 116 

117<h3 id="apps-are-hidden-while-claude-works">117<h3 id="apps-are-hidden-while-claude-works">

118 Apps werden ausgeblendet, während Claude arbeitet118 Apps werden ausgeblendet, während Claude arbeitet


134 Jederzeit stoppen134 Jederzeit stoppen

135</h3>135</h3>

136 136 

137Wenn Claude die Sperre erhält, erscheint eine macOS-Benachrichtigung: 'Claude nutzt Ihren Computer · drücken Sie Esc zum Stoppen." Drücken Sie `Esc` überall, um die aktuelle Aktion sofort abzubrechen, oder drücken Sie `Ctrl+C` im Terminal. In beiden Fällen gibt Claude die Sperre frei, blendet Ihre Apps wieder ein und gibt Ihnen die Kontrolle zurück.137Wenn Claude die Sperre erhält, erscheint eine macOS-Benachrichtigung: 'Claude nutzt Ihren Computer · drücken Sie Esc zum Stoppen." Drücken Sie `Esc` überall, um die aktuelle Aktion sofort abzubrechen, oder drücken Sie `Ctrl+C` im Terminal. In beiden Fällen stoppt Claude, blendet Ihre Apps wieder ein und gibt Ihnen die Kontrolle zurück. Die Sitzung behält die [Computernutzungssperre](#one-session-at-a-time) bis sie beendet wird.

138 138 

139Eine zweite Benachrichtigung erscheint, wenn Claude fertig ist.139Eine zweite Benachrichtigung erscheint, wenn Claude fertig ist.

140 140 


223 „Computernutzung wird von einer anderen Claude-Sitzung verwendet"223 „Computernutzung wird von einer anderen Claude-Sitzung verwendet"

224</h3>224</h3>

225 225 

226Eine andere Claude Code-Sitzung hält die Sperre. Beenden Sie die Aufgabe in dieser Sitzung oder beenden Sie sie. Wenn die andere Sitzung abgestürzt ist, wird die Sperre automatisch freigegeben, wenn Claude erkennt, dass der Prozess nicht mehr ausgeführt wird.226Eine andere Claude Code-Sitzung hält die Sperre, die sie behält, bis sie beendet wird. Beenden Sie diese Sitzung. Wenn die andere Sitzung abgestürzt ist, wird die Sperre automatisch freigegeben, wenn Claude erkennt, dass der Prozess nicht mehr ausgeführt wird.

227 227 

228<h3 id="macos-permissions-prompt-keeps-reappearing">228<h3 id="macos-permissions-prompt-keeps-reappearing">

229 macOS-Berechtigungsaufforderung erscheint immer wieder229 macOS-Berechtigungsaufforderung erscheint immer wieder

Details

1615* **Zwischen Aufgaben löschen**: Führen Sie `/clear` aus, wenn Sie zu nicht verwandter Arbeit wechseln. Alte Konversationen verdrängen die Dateien, die Sie als nächstes benötigen, und kosten Token bei jeder Nachricht.1615* **Zwischen Aufgaben löschen**: Führen Sie `/clear` aus, wenn Sie zu nicht verwandter Arbeit wechseln. Alte Konversationen verdrängen die Dateien, die Sie als nächstes benötigen, und kosten Token bei jeder Nachricht.

1616* **Große Lesevorgänge delegieren**: Senden Sie Recherche an einen [Subagent](/de/sub-agents), sodass die Dateiinhalte in seinem Kontextfenster bleiben, nicht in Ihrem.1616* **Große Lesevorgänge delegieren**: Senden Sie Recherche an einen [Subagent](/de/sub-agents), sodass die Dateiinhalte in seinem Kontextfenster bleiben, nicht in Ihrem.

1617 1617 

1618Wenn Sie ein größeres Fenster benötigen, anstatt ein kleineres Gespräch zu führen, unterstützen Fable 5, Opus 4.6 und später sowie Sonnet 4.6 ein Kontextfenster mit 1 Million Token. Siehe [Erweiterter Kontext](/de/model-config#extended-context) für die Verfügbarkeit nach Plan und wie Sie eine `[1m]` Modellvariante auswählen. Die Komprimierung funktioniert auf die gleiche Weise bei der größeren Grenze.1618Wenn Sie ein größeres Fenster benötigen, anstatt ein kleineres Gespräch zu führen, unterstützen Fable 5, Sonnet 5, Opus 4.6 und später sowie Sonnet 4.6 ein Kontextfenster mit 1 Million Token. Siehe [Erweiterter Kontext](/de/model-config#extended-context) für die Verfügbarkeit nach Plan und wie Sie eine `[1m]` Modellvariante auswählen. Sonnet 5 läuft mit 1M ohne `[1m]` Variante zur Auswahl; siehe [Sonnet 5 Kontextfenster](/de/model-config#sonnet-5-context-window) für seine automatischen Kompressionsschwellen und die LLM-Gateway-Ausnahme. Die Komprimierung funktioniert auf die gleiche Weise bei der größeren Grenze.

1619 1619 

1620<h2 id="check-your-own-session">1620<h2 id="check-your-own-session">

1621 Überprüfen Sie Ihre eigene Sitzung1621 Überprüfen Sie Ihre eigene Sitzung

costs.md +1 −1

Details

51 Für Organisationen mit benutzerdefinierten Ratenlimits zählt Claude Code-Verkehr in diesem Workspace zu den gesamten API-Ratenlimits Ihrer Organisation. Sie können ein [Workspace-Ratenlimit](https://platform.claude.com/docs/de/api/rate-limits#setting-lower-limits-for-workspaces) auf der Limits-Seite dieses Workspace in der Claude Console festlegen, um Claude Code's Anteil zu begrenzen und andere Produktions-Workloads zu schützen.51 Für Organisationen mit benutzerdefinierten Ratenlimits zählt Claude Code-Verkehr in diesem Workspace zu den gesamten API-Ratenlimits Ihrer Organisation. Sie können ein [Workspace-Ratenlimit](https://platform.claude.com/docs/de/api/rate-limits#setting-lower-limits-for-workspaces) auf der Limits-Seite dieses Workspace in der Claude Console festlegen, um Claude Code's Anteil zu begrenzen und andere Produktions-Workloads zu schützen.

52</Note>52</Note>

53 53 

54Bei Bedrock, Vertex und Foundry sendet Claude Code keine Metriken aus Ihrer Cloud. Organisationen, die Claude Code bereits über ein [LLM-Gateway](/de/llm-gateway) leiten, können die Ausgaben dort verfolgen, da das Gateway jede Anfrage sieht.54Bei Bedrock, Vertex und Foundry sendet Claude Code keine Metriken aus Ihrer Cloud. Ein selbst gehostetes [Claude Apps Gateway](/de/claude-apps-gateway) bietet Nutzungszuordnung pro Benutzer, OTLP-Metriken mit Token-Zählungen und [Ausgabenlimits pro Benutzer](/de/claude-apps-gateway-spend-limits) auf diesen Anbietern. Organisationen, die Claude Code über ein anderes [LLM-Gateway](/de/llm-gateway) leiten, können die Ausgaben stattdessen am Gateway verfolgen, da es jede Anfrage sieht.

55 55 

56<h3 id="rate-limit-recommendations">56<h3 id="rate-limit-recommendations">

57 Empfehlungen für Ratenlimits57 Empfehlungen für Ratenlimits

data-usage.md +2 −2

Details

39 39 

40Nach der Bewertungsaufforderung sehen Sie möglicherweise eine separate Folgefrage: „Kann Anthropic Ihr Sitzungstranskript ansehen, um uns bei der Verbesserung von Claude Code zu helfen?". Dies ist ein optionaler zweiter Schritt, der sich von der Bewertung unterscheidet:40Nach der Bewertungsaufforderung sehen Sie möglicherweise eine separate Folgefrage: „Kann Anthropic Ihr Sitzungstranskript ansehen, um uns bei der Verbesserung von Claude Code zu helfen?". Dies ist ein optionaler zweiter Schritt, der sich von der Bewertung unterscheidet:

41 41 

42* **Ja**: lädt Ihr Gesprächstranskript, alle Subagenten-Transkripte und die Raw-Sitzungsprotokoll-Datei von der Festplatte zu Anthropic hoch. Bekannte API-Schlüssel- und Token-Muster werden vor dem Hochladen redigiert. Quellcode, Dateiinhalte und andere Gesprächsinhalte werden unverändert hochgeladen. Freigegebene Transkripte werden bis zu 6 Monate lang aufbewahrt.42* **Ja**: lädt Ihr Gesprächstranskript, alle Subagenten-Transkripte und die Raw-Sitzungsprotokoll-Datei von der Festplatte zu Anthropic hoch. Bekannte API-Schlüssel- und Token-Muster werden vor dem Hochladen redigiert. Quellcode, Dateiinhalte und andere Gesprächsinhalte werden unverändert hochgeladen. Freigegebene Transkripte werden bis zu 6 Monate lang aufbewahrt. Auf Bedrock, Vertex AI, Foundry und angemeldeten [Claude Apps Gateway](/de/claude-apps-gateway)-Sitzungen schreibt „Ja" dieselbe Nutzlast stattdessen in ein lokales Archiv unter `~/.claude/feedback-bundles/`; nichts verlässt Ihren Computer, bis Sie diese Datei weiterleiten.

43* **Nein**: lehnt ab, ohne etwas zu senden43* **Nein**: lehnt ab, ohne etwas zu senden

44* **Nicht erneut fragen**: lehnt ab und verhindert, dass diese Folgefrage in zukünftigen Sitzungen angezeigt wird44* **Nicht erneut fragen**: lehnt ab und verhindert, dass diese Folgefrage in zukünftigen Sitzungen angezeigt wird

45 45 


127 Standardverhalten nach API-Anbieter127 Standardverhalten nach API-Anbieter

128</h2>128</h2>

129 129 

130Standardmäßig sind Fehlerberichterstattung, Telemetrie und Bug-Berichterstattung deaktiviert, wenn Sie Bedrock, Vertex, Foundry oder Claude Platform auf AWS verwenden. Sitzungsqualitätsumfragen und die WebFetch-Domänensicherheitsprüfung sind Ausnahmen und werden unabhängig vom Anbieter ausgeführt. Sie können sich auf einmal von all dem nicht wesentlichen Datenverkehr, einschließlich Umfragen, abmelden, indem Sie `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` setzen. Diese Variable beeinträchtigt die WebFetch-Prüfung nicht, die ihre eigene Abmeldeoption hat. Hier sind die vollständigen Standardverhalten:130Standardmäßig sind Fehlerberichterstattung, Telemetrie und Bug-Berichterstattung deaktiviert, wenn Sie Bedrock, Vertex, Foundry oder Claude Platform auf AWS verwenden. Sitzungsqualitätsumfragen und die WebFetch-Domänensicherheitsprüfung sind Ausnahmen und werden unabhängig vom Anbieter ausgeführt. Auf einer angemeldeten [Claude Apps Gateway](/de/claude-apps-gateway)-Sitzung sind Nutzungsanalysen, Fehlerberichterstattung und Umfragebewertungen an Anthropic durch die Gateway-Anmeldedaten selbst deaktiviert, ohne dass eine Einstellung zum erneuten Aktivieren vorhanden ist. Sie können sich auf einmal von all dem nicht wesentlichen Datenverkehr, einschließlich Umfragen, abmelden, indem Sie `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` setzen. Diese Variable beeinträchtigt die WebFetch-Prüfung nicht, die ihre eigene Abmeldeoption hat. Hier sind die vollständigen Standardverhalten:

131 131 

132| Dienst | Claude API | Vertex API | Bedrock API | Foundry API | Claude Platform auf AWS |132| Dienst | Claude API | Vertex API | Bedrock API | Foundry API | Claude Platform auf AWS |

133| -------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |133| -------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |

Details

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

20 20 

21| Befehl | Zeigt |21| Befehl | Zeigt |

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

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

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

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

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

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

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

29| `/doctor` | Konfigurationsdiagnose: ungültige Schlüssel, Schemafehler, Installationsintegrität |29| `/doctor` | Konfigurationsdiagnose: ungültige Schlüssel, Schemafehler, Installationsintegrität. {/* min-version: 2.1.196 */}Ab v2.1.196 werden auch doppelte [Subagenten](/de/sub-agents)-Namen gemeldet, die im gleichen Bereich definiert sind, und es wird gekennzeichnet, welcher aktiv ist |

30| `/debug [issue]` | Aktiviert Debug-Protokollierung für die Sitzung und fordert Claude auf, die Diagnose mithilfe der Protokollausgabe und Einstellungspfade durchzuführen |30| `/debug [issue]` | Aktiviert Debug-Protokollierung für die Sitzung und fordert Claude auf, die Diagnose mithilfe der Protokollausgabe und Einstellungspfade durchzuführen |

31| `/status` | Aktive Einstellungsquellen, einschließlich ob verwaltete Einstellungen wirksam sind |31| `/status` | Aktive Einstellungsquellen, einschließlich ob verwaltete Einstellungen wirksam sind |

32 32 

desktop.md +11 −7

Details

8 8 

9Die Claude Desktop-App hat drei Registerkarten: **Chat** für Gespräche, **Cowork** für [Dispatch und längere agentengestützte Arbeiten](https://claude.com/product/cowork) und **Code** für Softwareentwicklung. Diese Seite ist die Referenz für die Registerkarte Code.9Die Claude Desktop-App hat drei Registerkarten: **Chat** für Gespräche, **Cowork** für [Dispatch und längere agentengestützte Arbeiten](https://claude.com/product/cowork) und **Code** für Softwareentwicklung. Diese Seite ist die Referenz für die Registerkarte Code.

10 10 

11<CardGroup cols={2}>11<CardGroup cols={3}>

12 <Card title="Download for macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">12 <Card title="Download for macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">

13 Universal build for Intel and Apple Silicon13 Universal build for Intel and Apple Silicon

14 </Card>14 </Card>


16 <Card title="Download for Windows" icon="windows" href="https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code&utm_medium=docs">16 <Card title="Download for Windows" icon="windows" href="https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code&utm_medium=docs">

17 For x64 processors17 For x64 processors

18 </Card>18 </Card>

19 

20 <Card title="Get Claude for Linux (beta)" icon="linux" href="/en/desktop-linux">

21 apt or .deb for Ubuntu and Debian

22 </Card>

19</CardGroup>23</CardGroup>

20 24 

21For Windows ARM64, download the [ARM64 installer](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). The desktop app is not available on Linux; use the [CLI](/en/quickstart) instead.25For Windows ARM64, download the [ARM64 installer](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). On Linux, install with apt; see [Claude Desktop on Linux](/en/desktop-linux).

22 26 

23Nach der Installation starten Sie Claude, melden sich an und klicken auf die Registerkarte **Code**. Beim ersten Öffnen unter Windows benötigen Sie [Git für Windows](https://git-scm.com/downloads/win) installiert; starten Sie die App nach der Installation neu. Eine Anleitung für Ihre erste Sitzung finden Sie im [Leitfaden „Erste Schritte"](/de/desktop-quickstart).27Nach der Installation starten Sie Claude, melden sich an und klicken auf die Registerkarte **Code**. Beim ersten Öffnen unter Windows benötigen Sie [Git für Windows](https://git-scm.com/downloads/win) installiert; starten Sie die App nach der Installation neu. Eine Anleitung für Ihre erste Sitzung finden Sie im [Leitfaden „Erste Schritte"](/de/desktop-quickstart).

24 28 


88 92 

89<span id="auto-mode-availability" />93<span id="auto-mode-availability" />

90 94 

91Auto Mode ist eine Forschungsvorschau, die allen Benutzern auf der Anthropic API verfügbar ist und Claude Opus 4.6 oder später oder Sonnet 4.6 erfordert. Bei Enterprise-Bereitstellungen, die Desktop zu Google Cloud Vertex AI weiterleiten, ist Auto Mode deaktiviert, bis Sie [`CLAUDE_CODE_ENABLE_AUTO_MODE`](/de/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry) setzen, und nur Claude Opus 4.7 und Opus 4.8 werden dort unterstützt.95Auto Mode ist eine Forschungsvorschau, die allen Benutzern auf der Anthropic API verfügbar ist und Claude Opus 4.6 oder später oder Sonnet 4.6 oder später erfordert. Bei Enterprise-Bereitstellungen, die Desktop zu Google Cloud Vertex AI weiterleiten, ist Auto Mode deaktiviert, bis Sie [`CLAUDE_CODE_ENABLE_AUTO_MODE`](/de/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry) setzen, und nur Claude Sonnet 5, Opus 4.7 und Opus 4.8 werden dort unterstützt.

92 96 

93<Tip title="Best Practice">97<Tip title="Best Practice">

94 Beginnen Sie komplexe Aufgaben im Plan Mode, damit Claude einen Ansatz abbildet, bevor Änderungen vorgenommen werden. Sobald Sie den Plan genehmigen, wechseln Sie zu 'Bearbeitungen automatisch akzeptieren" oder „Berechtigungen erfragen", um ihn auszuführen. Siehe [Zuerst erkunden, dann planen, dann codieren](/de/best-practices#explore-first-then-plan-then-code) für mehr zu diesem Workflow.98 Beginnen Sie komplexe Aufgaben im Plan Mode, damit Claude einen Ansatz abbildet, bevor Änderungen vorgenommen werden. Sobald Sie den Plan genehmigen, wechseln Sie zu 'Bearbeitungen automatisch akzeptieren" oder „Berechtigungen erfragen", um ihn auszuführen. Siehe [Zuerst erkunden, dann planen, dann codieren](/de/best-practices#explore-first-then-plan-then-code) für mehr zu diesem Workflow.


600 604 

601Um Umgebungsvariablen für lokale Sitzungen und Dev-Server auf jeder Plattform festzulegen, öffnen Sie das Umgebungs-Dropdown im Eingabefeld, fahren Sie mit der Maus über **Lokal** und klicken Sie auf das Zahnrad-Symbol, um den lokalen Umgebungs-Editor zu öffnen. Variablen, die Sie hier speichern, werden verschlüsselt auf Ihrem Computer gespeichert und gelten für jede lokale Sitzung und jeden Vorschau-Server, den Sie starten. Sie können auch Variablen zum Schlüssel `env` in Ihrer Datei `~/.claude/settings.json` hinzufügen, obwohl diese nur Claude-Sitzungen erreichen und nicht Dev-Server. Siehe [Umgebungsvariablen](/de/env-vars) für die vollständige Liste der unterstützten Variablen.605Um Umgebungsvariablen für lokale Sitzungen und Dev-Server auf jeder Plattform festzulegen, öffnen Sie das Umgebungs-Dropdown im Eingabefeld, fahren Sie mit der Maus über **Lokal** und klicken Sie auf das Zahnrad-Symbol, um den lokalen Umgebungs-Editor zu öffnen. Variablen, die Sie hier speichern, werden verschlüsselt auf Ihrem Computer gespeichert und gelten für jede lokale Sitzung und jeden Vorschau-Server, den Sie starten. Sie können auch Variablen zum Schlüssel `env` in Ihrer Datei `~/.claude/settings.json` hinzufügen, obwohl diese nur Claude-Sitzungen erreichen und nicht Dev-Server. Siehe [Umgebungsvariablen](/de/env-vars) für die vollständige Liste der unterstützten Variablen.

602 606 

603[Erweitertes Denken](/de/model-config#extended-thinking) ist standardmäßig aktiviert, was die Leistung bei komplexen Denkaufgaben verbessert, aber zusätzliche Token verwendet. Um das Denken zu deaktivieren, setzen Sie `MAX_THINKING_TOKENS` auf `0` im lokalen Umgebungs-Editor; dies hat keine Auswirkung auf Fable 5, das immer erweitertes Denken verwendet. Bei [Drittanbieter-Providern](/de/third-party-integrations) wird stattdessen der Parameter `thinking` weggelassen, und Adaptive-Reasoning-Modelle können dennoch denken. Bei Modellen mit [adaptiver Argumentation](/de/model-config#adjust-effort-level) wird jeder andere `MAX_THINKING_TOKENS`-Wert ignoriert, da adaptive Argumentation die Denktiefe steuert. Bei Opus 4.6 und Sonnet 4.6 setzen Sie `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` auf `1`, um ein festes Denk-Budget zu verwenden; Opus 4.7 und später verwenden immer adaptive Argumentation und haben keinen Modus mit festem Budget.607[Erweitertes Denken](/de/model-config#extended-thinking) ist standardmäßig aktiviert, was die Leistung bei komplexen Denkaufgaben verbessert, aber zusätzliche Token verwendet. Um das Denken zu deaktivieren, setzen Sie `MAX_THINKING_TOKENS` auf `0` im lokalen Umgebungs-Editor; dies hat keine Auswirkung auf Fable 5, das immer erweitertes Denken verwendet. Bei [Drittanbieter-Providern](/de/third-party-integrations) wird stattdessen der Parameter `thinking` weggelassen, und Adaptive-Reasoning-Modelle können dennoch denken. Bei Modellen mit [adaptiver Argumentation](/de/model-config#adjust-effort-level) wird jeder andere `MAX_THINKING_TOKENS`-Wert ignoriert, da adaptive Argumentation die Denktiefe steuert. Bei Opus 4.6 und Sonnet 4.6 setzen Sie `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` auf `1`, um ein festes Denk-Budget zu verwenden; Fable 5, Sonnet 5 und Opus 4.7 und später verwenden immer adaptive Argumentation und haben keinen Modus mit festem Budget.

604 608 

605<h3 id="cloud-sessions">609<h3 id="cloud-sessions">

606 Remote-Sitzungen610 Remote-Sitzungen


608 612 

609Remote-Sitzungen werden im Hintergrund fortgesetzt, auch wenn Sie die App schließen. Die Nutzung wird auf Ihre [Abonnementplanlimits](/de/costs) angerechnet, ohne separate Compute-Gebühren.613Remote-Sitzungen werden im Hintergrund fortgesetzt, auch wenn Sie die App schließen. Die Nutzung wird auf Ihre [Abonnementplanlimits](/de/costs) angerechnet, ohne separate Compute-Gebühren.

610 614 

611Sie können benutzerdefinierte Cloud-Umgebungen mit verschiedenen Netzwerkzugriffsstufen und Umgebungsvariablen erstellen. Wählen Sie das Umgebungs-Dropdown beim Starten einer Remote-Sitzung und wählen Sie **Umgebung hinzufügen**. Siehe [die Cloud-Umgebung](/de/claude-code-on-the-web#the-cloud-environment) für Details zur Konfiguration von Netzwerkzugriff und Umgebungsvariablen.615Sie können benutzerdefinierte Cloud-Umgebungen mit verschiedenen Netzwerkzugriffsstufen und Umgebungsvariablen erstellen. Wählen Sie das Umgebungs-Dropdown beim Starten einer Cloud-Sitzung und wählen Sie **Umgebung hinzufügen**. Siehe [die Cloud-Umgebung](/de/claude-code-on-the-web#the-cloud-environment) für Details zur Konfiguration von Netzwerkzugriff und Umgebungsvariablen.

612 616 

613<h3 id="ssh-sessions">617<h3 id="ssh-sessions">

614 SSH-Sitzungen618 SSH-Sitzungen


822Die folgenden Funktionen sind nur in der CLI oder VS Code-Erweiterung verfügbar, außer wo anders angegeben:826Die folgenden Funktionen sind nur in der CLI oder VS Code-Erweiterung verfügbar, außer wo anders angegeben:

823 827 

824* **Drittanbieter-Provider**: Desktop verbindet sich mit Anthropics API standardmäßig. Enterprise-Bereitstellungen können Vertex AI und Gateway-Provider über [verwaltete Einstellungen](https://support.claude.com/en/articles/12622667-enterprise-configuration) konfigurieren. Für Bedrock oder Foundry in der CLI siehe [Schnellstart](/de/quickstart). Als Ausnahme zum obigen Abschnitt führt [Cowork on 3P Research Preview](https://claude.com/docs/cowork/3p/overview) die Code-Registerkarte auf Bedrock, Vertex AI, Foundry oder einem selbstgehosteten LLM-Gateway aus.828* **Drittanbieter-Provider**: Desktop verbindet sich mit Anthropics API standardmäßig. Enterprise-Bereitstellungen können Vertex AI und Gateway-Provider über [verwaltete Einstellungen](https://support.claude.com/en/articles/12622667-enterprise-configuration) konfigurieren. Für Bedrock oder Foundry in der CLI siehe [Schnellstart](/de/quickstart). Als Ausnahme zum obigen Abschnitt führt [Cowork on 3P Research Preview](https://claude.com/docs/cowork/3p/overview) die Code-Registerkarte auf Bedrock, Vertex AI, Foundry oder einem selbstgehosteten LLM-Gateway aus.

825* **Linux**: Die Desktop-App ist nur auf macOS und Windows verfügbar. Verwenden Sie unter Linux die [CLI](/de/quickstart).829* **Linux (Beta)**: Computernutzung ist noch nicht in der Linux-Desktop-App verfügbar. Siehe [Claude Desktop auf Linux](/de/desktop-linux).

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

827* **Agent-Teams**: Parallele Claude Code-Sitzungen, die sich gegenseitig Nachrichten senden, sind in der [CLI](/de/agent-teams) verfügbar, nicht in Desktop. Für Multi-Agent-Arbeit innerhalb einer Sitzung verwenden Sie [dynamische Workflows](/de/workflows), die in Desktop ausgeführt werden.831* **Agent-Teams**: Parallele Claude Code-Sitzungen, die sich gegenseitig Nachrichten senden, sind in der [CLI](/de/agent-teams) verfügbar, nicht in Desktop. Für Multi-Agent-Arbeit innerhalb einer Sitzung verwenden Sie [dynamische Workflows](/de/workflows), die in Desktop ausgeführt werden.

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


862Wenn die App öffnet, aber einen leeren oder nicht reagierenden Bildschirm anzeigt:866Wenn die App öffnet, aber einen leeren oder nicht reagierenden Bildschirm anzeigt:

863 867 

8641. Starten Sie die App neu.8681. Starten Sie die App neu.

8652. Überprüfen Sie auf ausstehende Updates. Die App wird beim Start automatisch aktualisiert.8692. Überprüfen Sie auf ausstehende Updates. Auf macOS und Windows wird die App beim Start automatisch aktualisiert; unter Linux aktualisieren Sie über apt wie in [Claude Desktop unter Linux](/de/desktop-linux) beschrieben.

8663. Überprüfen Sie unter Windows den Event Viewer auf Absturzprotokolle unter **Windows Logs → Application**.8703. Überprüfen Sie unter Windows den Event Viewer auf Absturzprotokolle unter **Windows Logs → Application**.

867 871 

868<h3 id="failed-to-load-session">872<h3 id="failed-to-load-session">

desktop-linux.md +113 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Claude Desktop unter Linux (Beta)

6 

7> Installieren und aktualisieren Sie die Claude-Desktop-App unter Ubuntu und Debian

8 

9<Note>

10 Die Linux-Unterstützung für die Claude-Desktop-App befindet sich in der Beta-Phase. Die Registerkarten Chat, Cowork und Code sind alle verfügbar.

11</Note>

12 

13Die Desktop-App unter Linux bietet Ihnen die gleiche Chat-, Cowork- und Claude Code-Erfahrung wie macOS und Windows: parallele Sitzungen, visuelle Diff-Überprüfung, ein integriertes Terminal und Editor sowie Live-App-Vorschau. Siehe [Claude Code Desktop verwenden](/de/desktop) für die vollständige Funktionsreferenz.

14 

15<h2 id="requirements">

16 Anforderungen

17</h2>

18 

19* Ubuntu 22.04 oder später oder Debian 12 oder später

20* x86\_64 oder arm64

21 

22Andere Debian-basierte Distributionen, die diese Anforderungen erfüllen, funktionieren möglicherweise, werden aber nicht offiziell getestet.

23 

24<h2 id="install">

25 Installation

26</h2>

27 

28Installieren Sie aus dem apt-Repository von Anthropic, damit Updates über die regulären Paketaktualisierungen Ihres Systems ankommen.

29 

30<Steps>

31 <Step title="Anthropics apt-Repository hinzufügen">

32 Laden Sie den Signaturschlüssel von Anthropic herunter:

33 

34 ```bash theme={null}

35 sudo curl -fsSLo /usr/share/keyrings/claude-desktop-archive-keyring.asc https://downloads.claude.ai/claude-desktop/key.asc

36 ```

37 

38 Registrieren Sie das Repository:

39 

40 ```bash theme={null}

41 echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/claude-desktop-archive-keyring.asc] https://downloads.claude.ai/claude-desktop/apt/stable stable main" | sudo tee /etc/apt/sources.list.d/claude-desktop.list

42 ```

43 </Step>

44 

45 <Step title="Installieren Sie das Paket">

46 ```bash theme={null}

47 sudo apt update && sudo apt install claude-desktop

48 ```

49 </Step>

50 

51 <Step title="Starten und anmelden">

52 Starten Sie **Claude** über Ihren Anwendungsstarter oder führen Sie `claude-desktop` von einem Terminal aus aus und melden Sie sich mit Ihrem Anthropic-Konto an.

53 </Step>

54</Steps>

55 

56<Accordion title="Signaturschlüssel überprüfen">

57 Sie können bestätigen, dass der heruntergeladene Signaturschlüssel zu Anthropic gehört:

58 

59 ```bash theme={null}

60 gpg --show-keys /usr/share/keyrings/claude-desktop-archive-keyring.asc

61 ```

62 

63 Der Fingerabdruck sollte `31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE` sein.

64</Accordion>

65 

66<h3 id="install-from-a-downloaded-file">

67 Installation aus einer heruntergeladenen Datei

68</h3>

69 

70Wenn Sie das apt-Repository nicht verwenden können, laden Sie das `.deb`-Paket für Ihre Architektur (x64 oder arm64) von [claude.com/download](https://claude.com/download) herunter und öffnen Sie es entweder mit Ihrem Software-Installer oder führen Sie es aus Ihrem Download-Verzeichnis aus:

71 

72```bash theme={null}

73sudo apt install ./claude-desktop_*.deb

74```

75 

76Ein auf diese Weise installiertes `.deb`-Paket erhält keine Updates. Um Updates über apt zu erhalten, fügen Sie das Repository wie oben gezeigt hinzu oder kommentieren Sie die `deb`-Zeile im Platzhalter-Eintrag aus, den das Paket in `/etc/apt/sources.list.d/claude-desktop.list` schreibt.

77 

78<h2 id="update">

79 Aktualisierung

80</h2>

81 

82Die Desktop-App aktualisiert sich unter Linux nicht selbst. Updates kommen mit den regulären Paketaktualisierungen Ihres Systems:

83 

84```bash theme={null}

85sudo apt update && sudo apt upgrade

86```

87 

88Der grafische Software-Updater Ihrer Distribution wird auch neue Versionen erkennen.

89 

90<h2 id="uninstall">

91 Deinstallation

92</h2>

93 

94```bash theme={null}

95sudo apt remove claude-desktop

96```

97 

98Dies entfernt den Signaturschlüssel zusammen mit der App. Wenn Sie den Repository-Eintrag während der Installation hinzugefügt haben, entfernen Sie ihn auch:

99 

100```bash theme={null}

101sudo rm /etc/apt/sources.list.d/claude-desktop.list

102```

103 

104<h2 id="what’s-not-in-the-linux-beta-yet">

105 Was noch nicht in der Linux-Beta enthalten ist

106</h2>

107 

108* **Computer Use**: [App- und Bildschirmsteuerung](/de/desktop#let-claude-use-your-computer) ist unter Linux nicht verfügbar.

109* **Diktat**: Spracheingabe ist in der Linux-Desktop-App nicht verfügbar. Verwenden Sie stattdessen [Sprachdiktat](/de/voice-dictation) in der CLI.

110* **Quick Entry Global Hotkey**: funktioniert auf X11. Auf nativem Wayland erfordert es das GlobalShortcuts-Portal Ihrer Desktop-Umgebung.

111* **Fedora und RHEL**: Nur Debian-basierte Distributionen werden heute unterstützt. Unterstützung für zusätzliche Distributionen kommt in Zukunft.

112 

113Für alles, das in der Desktop-App noch nicht verfügbar ist, führt die [CLI](/de/quickstart) die gleiche Claude Code-Engine aus und unterstützt eine breitere Palette von Linux-Distributionen. Siehe die [Systemanforderungen](/de/setup#system-requirements).

Details

8 8 

9Die Desktop-App bietet Ihnen Claude Code mit einer grafischen Benutzeroberfläche, die für die Ausführung mehrerer Sitzungen nebeneinander konzipiert ist: eine Seitenleiste zur Verwaltung paralleler Arbeit, ein Drag-and-Drop-Layout mit integriertem Terminal und Datei-Editor, visuelle Diff-Überprüfung, Live-App-Vorschau, GitHub-PR-Überwachung mit automatischem Merge und geplante Aufgaben. Kein Terminal erforderlich.9Die Desktop-App bietet Ihnen Claude Code mit einer grafischen Benutzeroberfläche, die für die Ausführung mehrerer Sitzungen nebeneinander konzipiert ist: eine Seitenleiste zur Verwaltung paralleler Arbeit, ein Drag-and-Drop-Layout mit integriertem Terminal und Datei-Editor, visuelle Diff-Überprüfung, Live-App-Vorschau, GitHub-PR-Überwachung mit automatischem Merge und geplante Aufgaben. Kein Terminal erforderlich.

10 10 

11<CardGroup cols={2}>11<CardGroup cols={3}>

12 <Card title="Download for macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">12 <Card title="Download for macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">

13 Universal build for Intel and Apple Silicon13 Universal build for Intel and Apple Silicon

14 </Card>14 </Card>


16 <Card title="Download for Windows" icon="windows" href="https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code&utm_medium=docs">16 <Card title="Download for Windows" icon="windows" href="https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code&utm_medium=docs">

17 For x64 processors17 For x64 processors

18 </Card>18 </Card>

19 

20 <Card title="Get Claude for Linux (beta)" icon="linux" href="/en/desktop-linux">

21 apt or .deb for Ubuntu and Debian

22 </Card>

19</CardGroup>23</CardGroup>

20 24 

21For Windows ARM64, download the [ARM64 installer](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). The desktop app is not available on Linux; use the [CLI](/en/quickstart) instead.25For Windows ARM64, download the [ARM64 installer](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). On Linux, install with apt; see [Claude Desktop on Linux](/en/desktop-linux).

22 26 

23<Note>27<Note>

24 Claude Code erfordert ein [Pro-, Max-, Team- oder Enterprise-Abonnement](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).28 Claude Code erfordert ein [Pro-, Max-, Team- oder Enterprise-Abonnement](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).


40 44 

41<Steps>45<Steps>

42 <Step title="Installieren und anmelden">46 <Step title="Installieren und anmelden">

43 Laden Sie das Installationsprogramm für Ihre Plattform über die obigen Links herunter und führen Sie es aus. Starten Sie Claude aus Ihrem Anwendungsordner auf macOS oder dem Startmenü unter Windows und melden Sie sich mit Ihrem Anthropic-Konto an.47 Laden Sie das Installationsprogramm unter macOS und Windows über die obigen Links herunter und führen Sie es aus. Unter Linux folgen Sie den Installationsschritten in [Claude Desktop unter Linux](/de/desktop-linux). Starten Sie Claude aus Ihrem Anwendungsordner unter macOS, dem Startmenü unter Windows oder Ihrem Anwendungsstarter unter Linux und melden Sie sich mit Ihrem Anthropic-Konto an.

44 </Step>48 </Step>

45 49 

46 <Step title="Öffnen Sie die Registerkarte Code">50 <Step title="Öffnen Sie die Registerkarte Code">

Details

246 246 

247Fügen Sie ein beliebiges Git-Repository hinzu, indem Sie die vollständige URL angeben. Dies funktioniert mit jedem Git-Host, einschließlich GitLab, Bitbucket und selbstgehosteten Servern. Fügen Sie das Suffix `.git` ein, damit Claude Code das Repository klont, anstatt die URL als direkten Link zu einer gehosteten `marketplace.json`-Datei zu behandeln.247Fügen Sie ein beliebiges Git-Repository hinzu, indem Sie die vollständige URL angeben. Dies funktioniert mit jedem Git-Host, einschließlich GitLab, Bitbucket und selbstgehosteten Servern. Fügen Sie das Suffix `.git` ein, damit Claude Code das Repository klont, anstatt die URL als direkten Link zu einer gehosteten `marketplace.json`-Datei zu behandeln.

248 248 

249Fügen Sie auch das Präfix `https://` ein. Claude Code v2.1.196 und später lehnen einen Host ab, der ohne Präfix eingegeben wird, z. B. `gitlab.com/company/plugins.git`, als ungültige GitHub-`owner/repo`-Kurzform ab, und die Fehlermeldung weist Sie an, das Präfix hinzuzufügen. Frühere Versionen interpretieren es fälschlicherweise als GitHub-Repository-Pfad und schlagen beim Klonen fehl.

250 

249Mit HTTPS:251Mit HTTPS:

250 252 

251```shell theme={null}253```shell theme={null}


298 Installieren Sie Plugins300 Installieren Sie Plugins

299</h2>301</h2>

300 302 

301Nachdem Sie Marktplätze hinzugefügt haben, können Sie Plugins direkt installieren (wird standardmäßig im Benutzerbereich installiert):303Nachdem Sie Marktplätze hinzugefügt haben, können Sie Plugins direkt installieren:

302 304 

303```shell theme={null}305```shell theme={null}

304/plugin install plugin-name@marketplace-name306/plugin install plugin-name@marketplace-name

305```307```

306 308 

307Um einen anderen [Installationsbereich](/de/settings#configuration-scopes) zu wählen, verwenden Sie die interaktive Benutzeroberfläche: Führen Sie `/plugin` aus, gehen Sie zur Registerkarte **Discover**, und drücken Sie **Enter** auf einem Plugin. Sie sehen Optionen für:309Der Befehl öffnet die Details dieses Plugins, wo Sie einen [Installationsbereich](/de/settings#configuration-scopes) wählen. Sie sehen die gleichen Optionen, wenn Sie `/plugin` ausführen, zur Registerkarte **Discover** gehen und **Enter** auf einem Plugin drücken:

308 310 

309* **User scope** (Standard): Installieren Sie für sich selbst in allen Projekten311* **User scope** (Standard): Installieren Sie für sich selbst in allen Projekten

310* **Project scope**: Installieren Sie für alle Mitarbeiter in diesem Repository (fügt zu `.claude/settings.json` hinzu)312* **Project scope**: Installieren Sie für alle Mitarbeiter in diesem Repository, was das Plugin zu `.claude/settings.json` hinzufügt

311* **Local scope**: Installieren Sie für sich selbst nur in diesem Repository (nicht mit Mitarbeitern geteilt)313* **Local scope**: Installieren Sie für sich selbst nur in diesem Repository, nicht mit Mitarbeitern geteilt

314 

315Um ohne einen interaktiven Schritt zu installieren, verwenden Sie den [`claude plugin install`](/de/plugins-reference#plugin-install) Shell-Befehl, der im Benutzerbereich installiert, es sei denn, Sie übergeben `--scope`.

312 316 

313Sie können auch Plugins mit **managed**-Bereich sehen diese werden von Administratoren über [verwaltete Einstellungen](/de/settings#settings-files) installiert und können nicht geändert werden.317Sie können auch Plugins mit **managed**-Bereich sehen. Diese werden von Administratoren über [verwaltete Einstellungen](/de/settings#settings-files) installiert und können nicht geändert werden.

314 318 

315<Warning>319<Warning>

316 Stellen Sie sicher, dass Sie einem Plugin vertrauen, bevor Sie es installieren. Anthropic kontrolliert nicht, welche MCP-Server, Dateien oder andere Software in Plugins enthalten sind, und kann nicht überprüfen, dass sie wie beabsichtigt funktionieren. Überprüfen Sie die Homepage jedes Plugins für weitere Informationen.320 Stellen Sie sicher, dass Sie einem Plugin vertrauen, bevor Sie es installieren. Anthropic kontrolliert nicht, welche MCP-Server, Dateien oder andere Software in Plugins enthalten sind, und kann nicht überprüfen, dass sie wie beabsichtigt funktionieren. Überprüfen Sie die Homepage jedes Plugins für weitere Informationen.


325Aus der Liste können Sie:329Aus der Liste können Sie:

326 330 

327* `f` drücken, um das ausgewählte Plugin zu favorisieren oder zu entfavorisieren331* `f` drücken, um das ausgewählte Plugin zu favorisieren oder zu entfavorisieren

328* Eingeben, um nach Plugin-Name oder Beschreibung zu filtern332* eingeben, um nach Plugin-Name oder Beschreibung zu filtern

329* Enter drücken, um die Detailansicht eines Plugins zu öffnen und es zu aktivieren, zu deaktivieren oder zu deinstallieren333* Enter drücken, um die Detailansicht eines Plugins zu öffnen und es zu aktivieren, zu deaktivieren oder zu deinstallieren

330 334 

331Die Detailansicht zeigt die Komponenten, die das Plugin bereitstellt: Befehle, Skills, Agenten, Hooks, MCP-Server und LSP-Server. Das gleiche Inventar ist über die Befehlszeile mit `claude plugin details` verfügbar.335Die Detailansicht zeigt die Komponenten, die das Plugin bereitstellt: Befehle, Skills, Agenten, Hooks, MCP-Server und LSP-Server. Das gleiche Inventar ist über die Befehlszeile mit `claude plugin details` verfügbar.


358/plugin enable plugin-name@marketplace-name362/plugin enable plugin-name@marketplace-name

359```363```

360 364 

365In diesen Bezeichnern ist `plugin-name` der `name` des Plugins im [Marketplace-Eintrag](/de/plugin-marketplaces#plugin-entries), der sich vom `name` in der eigenen `plugin.json` des Plugins unterscheiden kann.

366 

367Ab Claude Code v2.1.195 funktionieren **Enable** und **Disable** in der `/plugin`-Schnittstelle für Plugins, deren zwei Namen unterschiedlich sind, und `/plugin enable` und `/plugin disable` akzeptieren beide Namen. Wenn Sie ein solches Plugin in einer früheren Version deaktivieren, meldet Claude Code `already disabled` und lässt es aktiviert.

368 

361Entfernen Sie ein Plugin vollständig:369Entfernen Sie ein Plugin vollständig:

362 370 

363```shell theme={null}371```shell theme={null}


464 472 

465Team-Administratoren können die automatische Marktplatz-Installation für Projekte einrichten, indem sie Marktplatz-Konfiguration zu `.claude/settings.json` hinzufügen. Wenn Team-Mitglieder dem Repository-Ordner vertrauen, fordert Claude Code sie auf, diese Marktplätze und Plugins zu installieren.473Team-Administratoren können die automatische Marktplatz-Installation für Projekte einrichten, indem sie Marktplatz-Konfiguration zu `.claude/settings.json` hinzufügen. Wenn Team-Mitglieder dem Repository-Ordner vertrauen, fordert Claude Code sie auf, diese Marktplätze und Plugins zu installieren.

466 474 

475Ab Claude Code v2.1.195 gilt dieser Installationsschritt auf jedem Pfad, der Plugins lädt. Ein Plugin, das nur die `.claude/settings.json` des Projekts aktiviert und das aus einer externen Quelle wie einem GitHub-Repository oder npm-Paket stammt, wird nicht geladen, bis das Team-Mitglied es installiert. Bis dahin meldet Claude Code das Plugin als nicht installiert und zeigt den Befehl `claude plugin install` an, der ausgeführt werden soll.

476 

467Fügen Sie `extraKnownMarketplaces` zu Ihrer Projekt-`.claude/settings.json` hinzu:477Fügen Sie `extraKnownMarketplaces` zu Ihrer Projekt-`.claude/settings.json` hinzu:

468 478 

469```json theme={null}479```json theme={null}


499 509 

5001. **Überprüfen Sie Ihre Version**: Führen Sie `claude --version` aus, um zu sehen, was installiert ist.5101. **Überprüfen Sie Ihre Version**: Führen Sie `claude --version` aus, um zu sehen, was installiert ist.

5012. **Aktualisieren Sie Claude Code**:5112. **Aktualisieren Sie Claude Code**:

502 * **Homebrew**: `brew upgrade claude-code` (oder `brew upgrade claude-code@latest`, wenn Sie diesen Cask installiert haben)512 * **Homebrew**: `brew upgrade claude-code` oder `brew upgrade claude-code@latest`, wenn Sie diesen Cask installiert haben

503 * **npm**: `npm install -g @anthropic-ai/claude-code@latest`513 * **npm**: `npm install -g @anthropic-ai/claude-code@latest`

504 * **Native Installer**: Führen Sie den Installationsbefehl von [Setup](/de/setup) erneut aus514 * **Native Installer**: Führen Sie den Installationsbefehl von [Setup](/de/setup) erneut aus

5053. **Starten Sie Claude Code neu**: Starten Sie nach dem Update Ihr Terminal neu und führen Sie `claude` erneut aus.5153. **Starten Sie Claude Code neu**: Starten Sie nach dem Update Ihr Terminal neu und führen Sie `claude` erneut aus.


509</h3>519</h3>

510 520 

511* **Marktplatz wird nicht geladen**: Überprüfen Sie, dass die URL zugänglich ist und dass `.claude-plugin/marketplace.json` unter dem Pfad vorhanden ist521* **Marktplatz wird nicht geladen**: Überprüfen Sie, dass die URL zugänglich ist und dass `.claude-plugin/marketplace.json` unter dem Pfad vorhanden ist

512* **Plugin-Installationsfehler**: Überprüfen Sie, dass Plugin-Quell-URLs zugänglich sind und Repositories öffentlich sind (oder Sie haben Zugriff)522* **Plugin-Installationsfehler**: Überprüfen Sie, dass Plugin-Quell-URLs zugänglich sind und Repositories öffentlich sind oder dass Sie Zugriff auf sie haben

513* **Dateien nach der Installation nicht gefunden**: Plugins werden in einen Cache kopiert, daher funktionieren Pfade, die auf Dateien außerhalb des Plugin-Verzeichnisses verweisen, nicht523* **Dateien nach der Installation nicht gefunden**: Plugins werden in einen Cache kopiert, daher funktionieren Pfade, die auf Dateien außerhalb des Plugin-Verzeichnisses verweisen, nicht

514* **Plugin-Befähigungen werden nicht angezeigt**: Löschen Sie den Cache mit `rm -rf ~/.claude/plugins/cache`, starten Sie Claude Code neu und installieren Sie das Plugin erneut.524* **Plugin-Befähigungen werden nicht angezeigt**: Löschen Sie den Cache mit `rm -rf ~/.claude/plugins/cache`, starten Sie Claude Code neu und installieren Sie das Plugin erneut.

515 525 

errors.md +24 −6

Details

40| `Your organization has disabled API key authentication` | [Authentifizierung](#your-organization-has-disabled-api-key-authentication) |40| `Your organization has disabled API key authentication` | [Authentifizierung](#your-organization-has-disabled-api-key-authentication) |

41| `Your organization has disabled Claude subscription access` | [Authentifizierung](#your-organization-has-disabled-claude-subscription-access) |41| `Your organization has disabled Claude subscription access` | [Authentifizierung](#your-organization-has-disabled-claude-subscription-access) |

42| `Routines are disabled by your organization's policy` | [Authentifizierung](#routines-are-disabled-by-your-organization%E2%80%99s-policy) |42| `Routines are disabled by your organization's policy` | [Authentifizierung](#routines-are-disabled-by-your-organization%E2%80%99s-policy) |

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

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

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

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


425 Routines are disabled by your organization's policy426 Routines are disabled by your organization's policy

426</h3>427</h3>

427 428 

428Ihr Team- oder Enterprise-Administrator hat Routinen auf Organisationsebene deaktiviert. Der Fehler wird angezeigt, wenn Sie versuchen, eine Routine zu erstellen oder auszuführen, einschließlich von `/schedule` und der [Routines](/de/routines)-Benutzeroberfläche auf claude.ai/code.429Ein Owner in Ihrer Team- oder Enterprise-Organisation hat Routinen auf Organisationsebene deaktiviert. Der Fehler wird angezeigt, wenn Sie versuchen, eine Routine zu erstellen oder auszuführen, einschließlich von `/schedule` und der [Routines](/de/routines)-Benutzeroberfläche auf claude.ai/code.

429 430 

430```text theme={null}431```text theme={null}

431Routines are disabled by your organization's policy.432Routines are disabled by your organization's policy.


435 436 

436**Was zu tun ist:**437**Was zu tun ist:**

437 438 

438* Bitten Sie Ihren Administrator, den **Routines**-Schalter unter [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) zu aktivieren439* Bitten Sie einen Owner in Ihrer Organisation, den **Routines**-Schalter unter [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) zu aktivieren

439* Für einmalige geplante Arbeiten, die keine Routinen auf Organisationsebene erfordern, siehe [geplante Aufgaben](/de/scheduled-tasks)440* Für einmalige geplante Arbeiten, die keine Routinen auf Organisationsebene erfordern, siehe [geplante Aufgaben](/de/scheduled-tasks)

440 441 

442<h3 id="remote-control-requires-the-anthropic-api">

443 Remote Control requires the Anthropic API

444</h3>

445 

446Die Sitzung spricht nicht direkt mit der Anthropic API, daher gibt es kein claude.ai-Backend für [Remote Control](/de/remote-control) zum Koppeln.

447 

448```text theme={null}

449Remote Control is only available when using Claude via api.anthropic.com.

450```

451 

452Dies wird auf Amazon Bedrock, Google Vertex AI und Microsoft Foundry angezeigt. {/* min-version: 2.1.196 */}Ab v2.1.196 wird es auch angezeigt, wenn [`ANTHROPIC_BASE_URL`](/de/env-vars) auf einen anderen Host als `api.anthropic.com` verweist, z. B. ein [LLM-Gateway](/de/llm-gateway) oder Proxy, auch wenn Sie sich mit claude.ai anmelden.

453 

454**Was zu tun ist:**

455 

456* Heben Sie `ANTHROPIC_BASE_URL` auf und starten Sie die Sitzung neu, oder starten Sie Remote Control von einer Sitzung aus, die direkt mit der Anthropic API spricht

457* Für diese und die anderen Remote Control-Startmeldungen siehe [Remote Control fehlerbeheben](/de/remote-control#troubleshooting)

458 

441<h3 id="oauth-token-revoked-or-expired">459<h3 id="oauth-token-revoked-or-expired">

442 OAuth token revoked or expired460 OAuth token revoked or expired

443</h3>461</h3>


739 thinking.type.enabled is not supported for this model757 thinking.type.enabled is not supported for this model

740</h3>758</h3>

741 759 

742Ihre Claude Code-Version ist älter als das Minimum für Opus 4.7 oder Opus 4.8. Die CLI hat eine Thinking-Konfiguration gesendet, die das Modell nicht mehr akzeptiert.760Ihre Claude Code-Version ist älter als das Minimum für Sonnet 5, Opus 4.8 oder Opus 4.7. Die CLI hat eine Thinking-Konfiguration gesendet, die das Modell nicht mehr akzeptiert.

743 761 

744```text theme={null}762```text theme={null}

745API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.763API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.


747 765 

748**Was zu tun ist:**766**Was zu tun ist:**

749 767 

750* Führen Sie `claude update` aus und starten Sie Claude Code neu. Opus 4.7 benötigt v2.1.111 oder später. Opus 4.8 benötigt v2.1.154 oder später768* Führen Sie `claude update` aus und starten Sie Claude Code neu. Opus 4.7 benötigt v2.1.111 oder später. Opus 4.8 benötigt v2.1.154 oder später. Sonnet 5 benötigt v2.1.197 oder später

751* Wenn Sie nicht aktualisieren können, führen Sie `/model` aus und wählen Sie stattdessen Opus 4.6 oder Sonnet769* Wenn Sie nicht aktualisieren können, führen Sie `/model` aus und wählen Sie stattdessen Opus 4.6 oder Sonnet 4.6

752* Wenn Sie dies im Agent SDK treffen, siehe [SDK-Fehlerbehebung](/de/agent-sdk/quickstart#troubleshooting)770* {/* min-version: agent-sdk@0.3.197 */}Wenn Sie dies im [Agent SDK](/de/agent-sdk/overview) treffen, aktualisieren Sie stattdessen das SDK-Paket. Opus 4.8 benötigt TypeScript SDK v0.3.154 oder später und Python SDK v0.2.88 oder später. Sonnet 5 benötigt TypeScript SDK v0.3.197 oder später

753 771 

754<h3 id="thinking-budget-exceeds-output-limit">772<h3 id="thinking-budget-exceeds-output-limit">

755 Thinking budget exceeds output limit773 Thinking budget exceeds output limit

fullscreen.md +10 −2

Details

107 107 

108Ein Wert von `3` entspricht dem Standard in `vim` und ähnlichen Anwendungen. Die Einstellung akzeptiert Werte von 1 bis 20 und Bruchteile unter 1, wie `0,5`, um beschleunigtes Trackpad- und Mausrad-Scrollen in Terminals zu verlangsamen, die Rad-Ereignisse bereits verstärken.108Ein Wert von `3` entspricht dem Standard in `vim` und ähnlichen Anwendungen. Die Einstellung akzeptiert Werte von 1 bis 20 und Bruchteile unter 1, wie `0,5`, um beschleunigtes Trackpad- und Mausrad-Scrollen in Terminals zu verlangsamen, die Rad-Ereignisse bereits verstärken.

109 109 

110Um die Scroll-Geschwindigkeit interaktiv anzupassen, führen Sie `/scroll-speed` aus. Der Dialog zeigt ein Lineal an, das Sie scrollen können, während er offen ist, sodass Sie die Änderung sofort spüren können. Drücken Sie `←` und `→` zum Anpassen, `r` zum Zurücksetzen auf den automatisch erkannten Standard und `Enter` zum Speichern. Der Befehl schreibt denselben Wert, den die Umgebungsvariable `CLAUDE_CODE_SCROLL_SPEED` setzt, persistent in `~/.claude/settings.json`. Der Befehl ist im JetBrains IDE-Terminal nicht verfügbar.110Um die Scroll-Geschwindigkeit interaktiv anzupassen, führen Sie `/scroll-speed` aus. Der Dialog zeigt ein Lineal an, das Sie scrollen können, während er offen ist, sodass Sie die Änderung sofort spüren können. Drücken Sie `←` und `→` zum Anpassen, `r` zum Zurücksetzen auf den automatisch erkannten Standard und `Enter` zum Speichern.

111 

112Der Befehl schreibt denselben Wert, den die Umgebungsvariable `CLAUDE_CODE_SCROLL_SPEED` setzt, persistent in `~/.claude/settings.json`. Der Befehl ist im JetBrains IDE-Terminal nicht verfügbar.

111 113 

112Unabhängig von der Basisgeschwindigkeit beschleunigt Claude Code die Scroll-Rate, wenn Sie das Rad schnell drehen, sodass eine schnelle Drehung eine größere Distanz abdeckt als die gleiche Anzahl langsamer Kerben. Um die Beschleunigung auszuschalten und eine konstante Rate pro Kerbe beizubehalten, setzen Sie `wheelScrollAccelerationEnabled` auf `false` in [`settings.json`](/de/settings#available-settings). Diese Einstellung erfordert Claude Code v2.1.174 oder später.114Unabhängig von der Basisgeschwindigkeit beschleunigt Claude Code die Scroll-Rate, wenn Sie das Rad schnell drehen, sodass eine schnelle Drehung eine größere Distanz abdeckt als die gleiche Anzahl langsamer Kerben. Um die Beschleunigung auszuschalten und eine konstante Rate pro Kerbe beizubehalten, setzen Sie `wheelScrollAccelerationEnabled` auf `false` in [`settings.json`](/de/settings#available-settings). Diese Einstellung erfordert Claude Code v2.1.174 oder später.

113 115 


123 Gespräch durchsuchen und überprüfen125 Gespräch durchsuchen und überprüfen

124</h2>126</h2>

125 127 

126`Ctrl+o` schaltet zwischen der normalen Eingabeaufforderung und dem Transkript-Modus um. Für eine ruhigere Ansicht, die nur Ihre letzte Eingabeaufforderung, eine einzeilige Zusammenfassung von Tool-Aufrufen mit Edit-Diffstats und die endgültige Antwort zeigt, führen Sie `/focus` aus. Die Einstellung bleibt über Sitzungen hinweg erhalten. Führen Sie `/focus` erneut aus, um es auszuschalten.128`Ctrl+o` schaltet zwischen der normalen Eingabeaufforderung und dem Transkript-Modus um.

129 

130Für eine ruhigere Ansicht, die nur Ihre letzte Eingabeaufforderung, eine einzeilige Zusammenfassung von Tool-Aufrufen mit Edit-Diffstats und die endgültige Antwort zeigt, führen Sie `/focus` aus. Die Einstellung bleibt über Sitzungen hinweg erhalten. Führen Sie `/focus` erneut aus, um es auszuschalten.

127 131 

128Der Transkript-Modus erhält `less`-ähnliche Navigation und Suche:132Der Transkript-Modus erhält `less`-ähnliche Navigation und Suche:

129 133 


203 207 

204Mit deaktivierter Mauserfassung funktioniert Tastatur-Scrollen mit `PgUp`, `PgDn`, `Ctrl+Home` und `Ctrl+End` immer noch, und Ihr Terminal verarbeitet die Auswahl nativ. Sie verlieren Klick-zum-Positionieren-des-Cursors, Klick-zum-Erweitern-der-Tool-Ausgabe, URL-Klicken und Rad-Scrollen in Claude Code.208Mit deaktivierter Mauserfassung funktioniert Tastatur-Scrollen mit `PgUp`, `PgDn`, `Ctrl+Home` und `Ctrl+End` immer noch, und Ihr Terminal verarbeitet die Auswahl nativ. Sie verlieren Klick-zum-Positionieren-des-Cursors, Klick-zum-Erweitern-der-Tool-Ausgabe, URL-Klicken und Rad-Scrollen in Claude Code.

205 209 

210Um Rad-Scrollen beizubehalten, aber Klick-, Zieh- und Hover-Verarbeitung auszuschalten, setzen Sie stattdessen `CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1`. Erfordert Claude Code v2.1.195 oder später. `CLAUDE_CODE_DISABLE_MOUSE` hat Vorrang, wenn beide Variablen gesetzt sind.

211 

212Mit deaktivierten Klicks erfasst Claude Code die Maus immer noch, sodass das Rad und das Trackpad die Konversation scrollen, aber linke Klicks funktionieren nicht in Claude Code. Sie müssen immer noch die Taste Ihres Terminals halten, um native Klick-und-Zieh-Auswahl zu treffen. Rechtsklick und Mitteltaste-Einfügen funktionieren weiterhin auf Terminals, die sie unterstützen.

213 

206<h2 id="research-preview">214<h2 id="research-preview">

207 Forschungsvorschau215 Forschungsvorschau

208</h2>216</h2>

gateways.md +87 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Claude Code über ein Gateway ausführen

6 

7> Leiten Sie Claude Code über ein selbstgehostetes Gateway für zentralisierte Anmeldedaten, Nutzungsverfolgung und Kostenkontrolle weiter. Behandelt die Architektur, Anthropics Claude-Apps-Gateway und die Verwendung anderer Gateway-Produkte.

8 

9Ein Gateway ist ein Proxy, den Ihre Organisation zwischen Claude Code und einem Modellanbietern betreibt. Claude Code sendet API-Traffic an das Gateway statt direkt an den Anbieter, und das Gateway leitet ihn mit einem Anmeldedatum weiter, das Ihre Organisation hält. Entwickler authentifizieren sich beim Gateway statt Anbieter-Anmeldedaten zu halten, sodass Authentifizierung, Nutzungsverfolgung, Budgets und Audit-Protokollierung an einem Ort stattfinden, den Sie kontrollieren.

10 

11Claude Code enthält ein selbstgehostetes Gateway, [Claude-Apps-Gateway](/de/claude-apps-gateway), in der `claude`-Binärdatei, sodass Sie kein separates Gateway-Produkt einführen müssen, um eines auszuführen. Wenn Ihre Organisation bereits ein [LLM-Gateway](/de/llm-gateway) betreibt, funktioniert Claude Code auch damit.

12 

13Diese Seite behandelt:

14 

15* [Wie ein Gateway zwischen Claude Code und Ihrem Anbieter sitzt](#how-a-gateway-works)

16* [Wahl zwischen Claude-Apps-Gateway und einem Gateway, das Sie bereits betreiben](#choose-a-gateway)

17* [Wie Gateways mit claude.ai-Abonnements interagieren](#subscriptions-and-gateways)

18* [Was separat vom Gateway konfiguriert wird](#configure-separately-from-the-gateway)

19 

20<h2 id="how-a-gateway-works">

21 Wie ein Gateway funktioniert

22</h2>

23 

24Jedes Claude Code eines Entwicklers wird auf die Adresse des Gateways verwiesen und authentifiziert sich mit einem vom Gateway ausgegebenen Anmeldedatum.

25 

26Das Gateway authentifiziert den Entwickler, wendet alle Zugriffs- und Budgetregeln an, die Sie konfigurieren, und leitet die Anfrage mit dem Anmeldedatum Ihrer Organisation an Ihren Anbieter weiter. Der Anbieter kann die API von Anthropic oder ein [Cloud-Anbieter](/de/third-party-integrations) wie Amazon Bedrock, Google Clouds Agent Platform oder Microsoft Foundry sein; die Konfiguration des Gateways entscheidet. Mit Claude-Apps-Gateway oder einem anderen Gateway, das einen einzelnen Anthropic-Format-Endpunkt verfügbar macht, erfordert ein Anbieterwechsel keine Änderungen an Entwicklermaschinen.

27 

28<Frame>

29 <img src="https://mintcdn.com/claude-code/-uq-4JE0W_JO5Er5/images/llm-gateway-flow.svg?fit=max&auto=format&n=-uq-4JE0W_JO5Er5&q=85&s=1c1a8dcc0cfcc3a58652cc8e28cd3e20" alt="Diagramm, das zeigt, wie Claude Code über ein Gateway weitergeleitet wird. In einer Zone für Entwicklermaschinen senden die Claude Code CLI und die VS Code-Erweiterung Anfragen an die Gateway-Adresse mit einem Pro-Entwickler-Anmeldedatum. In einer Zone mit der Bezeichnung Ihre Infrastruktur verarbeitet das Gateway Authentifizierung, Nutzungsverfolgung, Budgets und Routing und leitet Anfragen mit dem Anmeldedatum Ihrer Organisation weiter. In einer Zone für Modellanbietern führt ein durchgehender Pfeil zum konfigurierten Anbieter, dargestellt als Anthropic API, und gestrichelte Pfeile führen zu anderen Anbieteroptionen, dargestellt mit Amazon Bedrock, Google Cloud und Microsoft Foundry als Beispiele." width="780" height="322" data-path="images/llm-gateway-flow.svg" />

30</Frame>

31 

32Zwei Arten von Anmeldedaten sind beteiligt:

33 

34* **Entwickler-Anmeldedatum**: Jeder Entwickler hält sein eigenes, das vom Gateway ausgestellt wird. Es authentifiziert ihn beim Gateway und identifiziert ihn in der Nutzungsverfolgung

35* **Anbieter-Anmeldedatum**: Das Gateway hält ein Anmeldedatum für Ihr Anbieterkonto, das von allem weitergeleitetem Traffic gemeinsam genutzt wird

36 

37<h2 id="choose-a-gateway">

38 Wählen Sie ein Gateway

39</h2>

40 

41Claude Code funktioniert mit Anthropics eigenem Gateway oder mit einem Gateway, das Ihre Organisation bereits betreibt.

42 

43<h3 id="claude-apps-gateway">

44 Claude-Apps-Gateway

45</h3>

46 

47Claude-Apps-Gateway ist Anthropics selbstgehostetes Gateway, das in der `claude`-Binärdatei enthalten ist. Es leitet zu Amazon Bedrock, Google Cloud, Microsoft Foundry oder der Anthropic API als Upstream weiter. Entwickler melden sich über `/login` mit Ihrem Unternehmensidentitätsanbieter an, das Gateway erzwingt Modellzugriff und [verwaltete Einstellungen](/de/permissions#managed-settings) nach IdP-Gruppe, und es gibt [OpenTelemetry Protocol (OTLP)](/de/monitoring-usage)-Nutzungsmetriken an Ihren eigenen Observability-Stack aus.

48 

49Da es zusammen mit jeder Claude Code-Version erstellt und getestet wird, leitet es die Header und Anfragfelder weiter, die Claude Code sendet. Ein separat verwaltetes Gateway muss seine [Weiterleitungsregeln aktualisieren](/de/llm-gateway-protocol#forward-as-open-lists), wenn sich diese Header und Felder mit jeder Version ändern; Claude-Apps-Gateway wird mit der CLI veröffentlicht, sodass es keine Liste gibt, die aktuell gehalten werden muss. Siehe [Verfügbarkeit und Einschränkungen](/de/claude-apps-gateway#availability-and-limitations) für die kleine Menge von Funktionen, die sich in einer Gateway-Sitzung unterschiedlich verhalten.

50 

51Die Gateway-Anmeldung ist ein Browser-SSO-Schritt, und es gibt keinen Service-Token-Flow, sodass eine CI-Pipeline ohne einen Entwickler, der die Anmeldung genehmigt, sich nicht über sie authentifizieren kann; konfigurieren Sie diese direkt gegen Ihren Anbieter. Agent SDK-Sitzungen und `claude -p`-Läufe auf einer Maschine, auf der sich ein Entwickler angemeldet hat, verwenden die Gateway-Sitzung dieser Maschine und werden durch ihre Richtlinien geregelt. Siehe [CI-Pipelines und Remote-Maschinen](/de/claude-apps-gateway#ci-pipelines-and-remote-machines).

52 

53Siehe [Claude-Apps-Gateway](/de/claude-apps-gateway), um es bereitzustellen.

54 

55<h3 id="other-gateways">

56 Andere Gateways

57</h3>

58 

59Wenn Ihre Organisation bereits ein LLM-Gateway oder API-Gateway betreibt, können Sie es stattdessen verwenden. Anthropic unterstützt, verwaltet oder prüft keine anderen Gateway-Produkte und unterstützt nicht das Routing von Claude Code zu Nicht-Claude-Modellen über ein Gateway. Siehe [Andere LLM-Gateways](/de/llm-gateway) für die Admin-Rollout-Checkliste, was ein Gateway implementieren muss, und wie Sie Claude Code darauf verweisen.

60 

61<h2 id="subscriptions-and-gateways">

62 Abonnements und Gateways

63</h2>

64 

65Wenn Entwickler sich über ein Gateway mit einem Gateway-Anmeldedatum verbinden, wird die Nutzung zu API-Raten auf das Anbieterkonto Ihrer Organisation abgerechnet, und ihre claude.ai-Abonnements werden nicht verwendet oder berechnet. Das Setzen von [`ANTHROPIC_AUTH_TOKEN`](/de/env-vars) für ein Gateway, das Sie betreiben, oder die Anmeldung bei einem Claude-Apps-Gateway mit `/login` deaktiviert die Abonnement-Anmeldung für diese Sitzung. Jede Anfrage, die unter diesem Anmeldedatum weitergeleitet wird, wird dem Konto hinter dem Anmeldedatum des Gateway-Providers berechnet.

66 

67Die Ausnahme ist das Setzen von nur `ANTHROPIC_BASE_URL`, ohne Gateway-Anmeldedatum. Anfragen werden immer noch über das Gateway weitergeleitet, aber eine gespeicherte claude.ai-Anmeldung bleibt das aktive Anmeldedatum, sodass die Nutzungslimits und Abrechnung des Abonnements gelten. [Andere LLM-Gateways](/de/llm-gateway#subscriptions-and-gateways) behandelt diese Konfiguration und was das Gateway weiterleiten muss, damit es funktioniert.

68 

69<h2 id="configure-separately-from-the-gateway">

70 Separat vom Gateway konfigurieren

71</h2>

72 

73Ein Gateway leitet Modell-API-Anfragen weiter. Ein paar Dinge, die Sie erwarten könnten, dass es sie verarbeitet, werden anderswo konfiguriert:

74 

75* **Welches Modell antwortet**: Wählen Sie das Modell mit dem `/model`-Befehl oder [Modell-Umgebungsvariablen](/de/model-config#setting-your-model). Das Gateway entscheidet, wohin Anfragen gehen, nicht welches Modell der Entwickler auswählt. Claude-Apps-Gateway kann die Auswahl mit einer Pro-Gruppen-`availableModels`-Zulassungsliste begrenzen, aber der Entwickler wählt immer noch innerhalb davon.

76* **Anderer Netzwerk-Traffic**: Claude Code selbst sendet Versionsüberprüfungen und Downloads direkt an Anthropic, getrennt vom Gateway-Pfad. Ob der optionale Client-Telemetrie-Stream auch davon abhängt, hängt von Ihrem Anbieter ab; die [Telemetrie-Standardtabelle](/de/data-usage#telemetry-services) behandelt jeden Fall. In einer angemeldeten Claude-Apps-Gateway-Sitzung deaktiviert das Gateway-Anmeldedatum die Anthropic-gebundene Analytik und, wenn [Telemetrie-Weiterleitung](/de/claude-apps-gateway-config#telemetry) konfiguriert ist, heftet OTLP-Export an das Gateway. Ihr Netzwerk benötigt immer noch Ausgang zu den [erforderlichen Domänen](/de/network-config), oder setzen Sie [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/de/env-vars), um die optionalen Streams auszuschalten.

77* **Unternehmens-HTTP-Proxies**: Ein `HTTPS_PROXY` sitzt zwischen Claude Code und jedem Server, mit dem es spricht, einschließlich des Gateways. Wenn Ihr Netzwerk einen benötigt, [konfigurieren Sie den Proxy](/de/network-config) zusätzlich zum Gateway. Speziell für Claude-Apps-Gateway [überprüft die Anmeldung, dass der Proxy-Host auch in einem privaten Netzwerk ist](/de/claude-apps-gateway#prerequisites); wenn nicht, fügen Sie den Gateway-Host zu `NO_PROXY` hinzu, damit die CLI sich direkt mit ihm verbindet.

78 

79<h2 id="next-steps">

80 Nächste Schritte

81</h2>

82 

83Die nächste Seite hängt davon ab, wer das Gateway betreibt. Anthropics Gateway wird aus der `claude`-Binärdatei ausgeführt und hat seinen eigenen Setup-Leitfaden; ein Gateway, das Ihre Organisation bereits betreibt, hat ein Protokoll zum Implementieren und eine Admin-Rollout-Checkliste.

84 

85* [Claude-Apps-Gateway](/de/claude-apps-gateway), um Anthropics selbstgehostetes Gateway mit SSO-Anmeldung und OTLP-Telemetrie bereitzustellen

86* [Andere LLM-Gateways](/de/llm-gateway) für das, was ein Gateway, das Ihre Organisation bereits betreibt, implementieren muss, und wie Sie Claude Code darauf verweisen

87* [Richten Sie Claude Code für Ihre Organisation ein](/de/admin-setup) für die breiteren Rollout-Entscheidungen, von denen ein Gateway ein Teil ist

Details

127 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}127 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

128 custom_instructions: "Follow our coding standards"128 custom_instructions: "Follow our coding standards"

129 max_turns: "10"129 max_turns: "10"

130 model: "claude-sonnet-4-6"130 model: "claude-sonnet-5"

131```131```

132 132 

133**GA-Version (v1.0):**133**GA-Version (v1.0):**


140 claude_args: |140 claude_args: |

141 --append-system-prompt "Follow our coding standards"141 --append-system-prompt "Follow our coding standards"

142 --max-turns 10142 --max-turns 10

143 --model claude-sonnet-4-6143 --model claude-sonnet-5

144```144```

145 145 

146<Tip>146<Tip>


228 228 

229In Issue- oder PR-Kommentaren:229In Issue- oder PR-Kommentaren:

230 230 

231```text theme={null}231```text wrap theme={null}

232@claude implement this feature based on the issue description232@claude implement this feature based on the issue description

233@claude how should I implement user authentication for this endpoint?233@claude how should I implement user authentication for this endpoint?

234@claude fix the TypeError in the user dashboard component234@claude fix the TypeError in the user dashboard component


709Der Parameter `claude_args` akzeptiert alle Claude Code CLI-Argumente:709Der Parameter `claude_args` akzeptiert alle Claude Code CLI-Argumente:

710 710 

711```yaml theme={null}711```yaml theme={null}

712claude_args: "--max-turns 5 --model claude-sonnet-4-6 --mcp-config /path/to/config.json"712claude_args: "--max-turns 5 --model claude-sonnet-5 --mcp-config /path/to/config.json"

713```713```

714 714 

715Häufige Argumente:715Häufige Argumente:

716 716 

717* `--max-turns`: Maximale Gesprächs-Turns (Standard: 10)717* `--max-turns`: Maximale Gesprächs-Turns (Standard: 10)

718* `--model`: Zu verwendendes Modell (zum Beispiel `claude-sonnet-4-6`)718* `--model`: Zu verwendendes Modell (zum Beispiel `claude-sonnet-5`)

719* `--mcp-config`: Pfad zur MCP-Konfiguration719* `--mcp-config`: Pfad zur MCP-Konfiguration

720* `--allowedTools`: Komma-getrennte Liste zulässiger Tools. Der Alias `--allowed-tools` funktioniert auch.720* `--allowedTools`: Komma-getrennte Liste zulässiger Tools. Der Alias `--allowed-tools` funktioniert auch.

721* `--debug`: Debug-Ausgabe aktivieren721* `--debug`: Debug-Ausgabe aktivieren

glossary.md +1 −1

Details

170 Effort Level170 Effort Level

171</h3>171</h3>

172 172 

173Eine Einstellung, die steuert, wie viel des adaptiven Reasoning-Thinking-Budgets Claude bei jedem Turn verwendet. Höherer Aufwand bedeutet mehr Thinking-Tokens und tiefere Überlegungen; niedrigerer Aufwand ist schneller und billiger. Effort wird auf Fable 5, auf Opus 4.6 und später sowie auf Sonnet 4.6 unterstützt.173Eine Einstellung, die steuert, wie viel des adaptiven Reasoning-Thinking-Budgets Claude bei jedem Turn verwendet. Höherer Aufwand bedeutet mehr Thinking-Tokens und tiefere Überlegungen; niedrigerer Aufwand ist schneller und billiger. Effort wird auf Fable 5, auf Opus 4.6 und später sowie auf Sonnet 4.6 und später unterstützt.

174 174 

175Weitere Informationen: [Passen Sie das Effort Level an](/de/model-config#adjust-effort-level)175Weitere Informationen: [Passen Sie das Effort Level an](/de/model-config#adjust-effort-level)

176 176 

Details

236 236 

237```bash theme={null}237```bash theme={null}

238export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'238export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'

239export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-4-6'239export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-5'

240export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5@20251001'240export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5@20251001'

241```241```

242 242 


290 1M-Token-Kontextfenster290 1M-Token-Kontextfenster

291</h2>291</h2>

292 292 

293Claude Opus 4.6 und später sowie Sonnet 4.6 unterstützen das [1M-Token-Kontextfenster](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) auf Vertex AI. Claude Code aktiviert automatisch das erweiterte Kontextfenster, wenn Sie eine 1M-Modellvariante auswählen.293Claude Sonnet 5, Opus 4.6 und später sowie Sonnet 4.6 unterstützen das [1M-Token-Kontextfenster](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) auf Vertex AI. Sonnet 5 läuft immer mit dem 1M-Fenster, ohne dass eine `[1m]`-Variante zum Auswählen vorhanden ist. Bei den anderen Modellen aktiviert Claude Code automatisch das erweiterte Kontextfenster, wenn Sie eine 1M-Modellvariante auswählen.

294 294 

295Der [Setup-Assistent](#sign-in-with-vertex-ai) bietet eine 1M-Kontextoption an, wenn er Modelle fixiert. Um es stattdessen für ein manuell fixiertes Modell zu aktivieren, hängen Sie `[1m]` an die Modell-ID an. Siehe [Modelle für Drittanbieter-Bereitstellungen fixieren](/de/model-config#pin-models-for-third-party-deployments) für Details.295Der [Setup-Assistent](#sign-in-with-vertex-ai) bietet eine 1M-Kontextoption an, wenn er Modelle fixiert. Um es stattdessen für ein manuell fixiertes Modell zu aktivieren, hängen Sie `[1m]` an die Modell-ID an. Siehe [Modelle für Drittanbieter-Bereitstellungen fixieren](/de/model-config#pin-models-for-third-party-deployments) für Details.

296 296 

hooks.md +59 −26

Details

191Das Feld `matcher` filtert, wann Hooks ausgelöst werden. Wie ein Matcher evaluiert wird, hängt von den Zeichen ab, die er enthält:191Das Feld `matcher` filtert, wann Hooks ausgelöst werden. Wie ein Matcher evaluiert wird, hängt von den Zeichen ab, die er enthält:

192 192 

193| Matcher-Wert | Evaluiert als | Beispiel |193| Matcher-Wert | Evaluiert als | Beispiel |

194| :------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------- |194| :----------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- |

195| `"*"`, `""` oder weggelassen | Alle treffen | wird bei jedem Auftreten des Ereignisses ausgelöst |195| `"*"`, `""` oder weggelassen | Alle treffen | wird bei jedem Auftreten des Ereignisses ausgelöst |

196| Nur Buchstaben, Ziffern, `_`, Leerzeichen, `,` und `\|` | Exakte Zeichenkette oder Liste von exakten Zeichenketten, getrennt durch `\|` oder `,` mit optionalem umgebendem Leerzeichen | `Bash` passt nur zum Bash-Tool; `Edit\|Write` und `Edit, Write` passen jeweils zu beiden Tools genau |196| Nur Buchstaben, Ziffern, `_`, `-`, Leerzeichen, `,` und `\|` | Exakte Zeichenkette oder Liste von exakten Zeichenketten, getrennt durch `\|` oder `,` mit optionalem umgebendem Leerzeichen | `Bash` passt nur zum Bash-Tool; `Edit\|Write` und `Edit, Write` passen jeweils zu beiden Tools genau; `code-reviewer` passt nur zu diesem Agent-Typ |

197| Enthält ein anderes Zeichen | JavaScript-Regex | `^Notebook` passt zu jedem Tool, das mit Notebook beginnt; `mcp__memory__.*` passt zu jedem Tool vom `memory`-Server |197| Enthält ein anderes Zeichen | JavaScript-Regex, unverankert | `^Notebook` passt zu jedem Tool, das mit Notebook beginnt; `mcp__memory__.*` passt zu jedem Tool vom `memory`-Server |

198 198 

199Komma-Trennzeichen und die Toleranz für umgebendes Leerzeichen erfordern Claude Code v2.1.191 oder später. Die Ereignisse `FileChanged` und `StopFailure` akzeptieren nur `|` als List-Trennzeichen und behandeln `,` als Literalzeichen; alle anderen in der folgenden Tabelle aufgelisteten Ereignisse akzeptieren `|` oder `,`.199Ein Matcher auf dem Regex-Pfad wird mit `RegExp.prototype.test` von JavaScript getestet, was bei einer Übereinstimmung irgendwo im Wert erfolgreich ist. `Edit.*` passt sowohl zu `Edit` als auch zu `NotebookEdit`; wickeln Sie das Muster in `^` und `$` ein, wie in `^Edit$`, wenn Sie eine Ganzzahl-Übereinstimmung benötigen.

200 

201Komma-Trennzeichen und die Toleranz für umgebendes Leerzeichen erfordern Claude Code v2.1.191 oder später.

202 

203Bindestriche in der Exact-Match-Menge erfordern Claude Code v2.1.195 oder später. In früheren Versionen wird ein hyphenierter Name wie `code-reviewer` als unverankerte Regex evaluiert, daher wird er auch für `senior-code-reviewer` ausgelöst; verankern Sie ihn als `^code-reviewer$` in diesen Versionen, um nur diesen Namen zu treffen.

204 

205`FileChanged` und `StopFailure` verwenden einen engeren Exact-Match-Satz von nur Buchstaben, Ziffern, `_` und `|`. Ein Bindestrich, Leerzeichen oder Komma in einem Matcher für diese beiden Ereignisse hält ihn auf dem Regex-Pfad, und nur `|` trennt Alternativen. Jedes andere Ereignis mit Matcher-Unterstützung in der folgenden Tabelle akzeptiert `|` oder `,`.

200 206 

201Das Ereignis `FileChanged` folgt diesen Regeln nicht, wenn es seine Überwachungsliste erstellt. Siehe [FileChanged](#filechanged).207Das Ereignis `FileChanged` folgt diesen Regeln nicht, wenn es seine Überwachungsliste erstellt. Siehe [FileChanged](#filechanged).

202 208 


209| `Setup` | Welches CLI-Flag das Setup ausgelöst hat | `init`, `maintenance` |215| `Setup` | Welches CLI-Flag das Setup ausgelöst hat | `init`, `maintenance` |

210| `SessionEnd` | Warum die Sitzung endete | `clear`, `resume`, `logout`, `prompt_input_exit`, `bypass_permissions_disabled`, `other` |216| `SessionEnd` | Warum die Sitzung endete | `clear`, `resume`, `logout`, `prompt_input_exit`, `bypass_permissions_disabled`, `other` |

211| `Notification` | Benachrichtigungstyp | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_complete`, `elicitation_response` |217| `Notification` | Benachrichtigungstyp | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_complete`, `elicitation_response` |

212| `SubagentStart` | Agent-Typ | `general-purpose`, `Explore`, `Plan` oder benutzerdefinierte Agent-Namen |218| `SubagentStart` | Agent-Typ | `general-purpose`, `Explore`, `Plan`, benutzerdefinierte Agent-Namen oder Plugin-bezogene Namen wie `^my-plugin:reviewer$` |

213| `PreCompact`, `PostCompact` | Was die Komprimierung ausgelöst hat | `manual`, `auto` |219| `PreCompact`, `PostCompact` | Was die Komprimierung ausgelöst hat | `manual`, `auto` |

214| `SubagentStop` | Agent-Typ | gleiche Werte wie `SubagentStart` |220| `SubagentStop` | Agent-Typ | gleiche Werte wie `SubagentStart` |

215| `ConfigChange` | Konfigurationsquelle | `user_settings`, `project_settings`, `local_settings`, `policy_settings`, `skills` |221| `ConfigChange` | Konfigurationsquelle | `user_settings`, `project_settings`, `local_settings`, `policy_settings`, `skills` |


244}250}

245```251```

246 252 

247`UserPromptSubmit`, `PostToolBatch`, `Stop`, `TeammateIdle`, `TaskCreated`, `TaskCompleted`, `WorktreeCreate`, `WorktreeRemove` und `CwdChanged` unterstützen keine Matcher und werden immer bei jedem Auftreten ausgelöst. Wenn Sie ein `matcher`-Feld zu diesen Ereignissen hinzufügen, wird es stillschweigend ignoriert.253`UserPromptSubmit`, `PostToolBatch`, `Stop`, `TeammateIdle`, `TaskCreated`, `TaskCompleted`, `WorktreeCreate`, `WorktreeRemove`, `MessageDisplay` und `CwdChanged` unterstützen keine Matcher und werden immer bei jedem Auftreten ausgelöst. Wenn Sie ein `matcher`-Feld zu diesen Ereignissen hinzufügen, wird es stillschweigend ignoriert.

248 254 

249Für Tool-Ereignisse können Sie enger filtern, indem Sie das Feld [`if`](#common-fields) auf einzelnen Hook-Handlern setzen. `if` verwendet [Berechtigungsregel-Syntax](/de/permissions), um gegen den Tool-Namen und die Argumente zusammen zu passen, daher wird `"Bash(git *)"` ausgeführt, wenn ein Bash-Befehl mit `git *` übereinstimmt und `"Edit(*.ts)"` wird nur für TypeScript-Dateien ausgeführt.255Für Tool-Ereignisse können Sie enger filtern, indem Sie das Feld [`if`](#common-fields) auf einzelnen Hook-Handlern setzen. `if` verwendet [Berechtigungsregel-Syntax](/de/permissions), um gegen den Tool-Namen und die Argumente zusammen zu passen, daher wird `"Bash(git *)"` ausgeführt, wenn ein Bash-Befehl mit `git *` übereinstimmt und `"Edit(*.ts)"` wird nur für TypeScript-Dateien ausgeführt.

250 256 


260* `mcp__filesystem__read_file`: Filesystem-Server-Tool zum Lesen von Dateien266* `mcp__filesystem__read_file`: Filesystem-Server-Tool zum Lesen von Dateien

261* `mcp__github__search_repositories`: GitHub-Server-Suchtool267* `mcp__github__search_repositories`: GitHub-Server-Suchtool

262 268 

263Um jedes Tool von einem Server zu treffen, fügen Sie `.*` zum Server-Präfix hinzu. Das `.*` ist erforderlich: Ein Matcher wie `mcp__memory` enthält nur Buchstaben und Unterstriche, daher wird er als exakte Zeichenkette verglichen und passt zu keinem Tool.269Um jedes Tool von einem Server zu treffen, fügen Sie `.*` zum Server-Präfix hinzu. Das `.*` ist erforderlich: Ein Matcher wie `mcp__memory` oder `mcp__brave-search` enthält nur Exact-Match-Zeichen, daher wird er als exakte Zeichenkette verglichen und passt zu keinem Tool.

264 270 

265* `mcp__memory__.*` passt zu allen Tools vom `memory`-Server271* `mcp__memory__.*` passt zu allen Tools vom `memory`-Server

272* `mcp__brave-search__.*` passt zu allen Tools von einem Server, dessen Name einen Bindestrich enthält

266* `mcp__.*__write.*` passt zu jedem Tool, dessen Name mit `write` beginnt, von jedem Server273* `mcp__.*__write.*` passt zu jedem Tool, dessen Name mit `write` beginnt, von jedem Server

267 274 

275Bindestriche in der Exact-Match-Menge erfordern Claude Code v2.1.195 oder später. In früheren Versionen wird ein bloßes hypheniertes Präfix wie `mcp__brave-search` als unverankerte Regex evaluiert und passt zu jedem Tool von diesem Server. Die Form `mcp__brave-search__.*` funktioniert auf jeder Version.

276 

268Dieses Beispiel protokolliert alle Memory-Server-Operationen und validiert Schreibvorgänge von jedem MCP-Server:277Dieses Beispiel protokolliert alle Memory-Server-Operationen und validiert Schreibvorgänge von jedem MCP-Server:

269 278 

270```json theme={null}279```json theme={null}


306* **[Prompt-Hooks](#prompt-and-agent-hook-fields)** (`type: "prompt"`): senden einen Prompt an ein Claude-Modell für eine Single-Turn-Evaluierung. Das Modell gibt eine Ja/Nein-Entscheidung als JSON zurück. Siehe [Prompt-basierte Hooks](#prompt-based-hooks).315* **[Prompt-Hooks](#prompt-and-agent-hook-fields)** (`type: "prompt"`): senden einen Prompt an ein Claude-Modell für eine Single-Turn-Evaluierung. Das Modell gibt eine Ja/Nein-Entscheidung als JSON zurück. Siehe [Prompt-basierte Hooks](#prompt-based-hooks).

307* **[Agent-Hooks](#prompt-and-agent-hook-fields)** (`type: "agent"`): spawnen einen Subagenten, der Tools wie Read, Grep und Glob verwenden kann, um Bedingungen zu überprüfen, bevor eine Entscheidung zurückgegeben wird. Agent-Hooks sind experimentell und können sich ändern. Siehe [Agent-basierte Hooks](#agent-based-hooks).316* **[Agent-Hooks](#prompt-and-agent-hook-fields)** (`type: "agent"`): spawnen einen Subagenten, der Tools wie Read, Grep und Glob verwenden kann, um Bedingungen zu überprüfen, bevor eine Entscheidung zurückgegeben wird. Agent-Hooks sind experimentell und können sich ändern. Siehe [Agent-basierte Hooks](#agent-based-hooks).

308 317 

318Alle passenden Hooks werden parallel ausgeführt, und identische Handler werden automatisch dedupliziert. Command-Hooks werden nach Befehlszeichenkette und `args` dedupliziert, und HTTP-Hooks werden nach URL dedupliziert.

319 

320Handler werden im aktuellen Verzeichnis mit der Umgebung von Claude Code ausgeführt. Die Umgebungsvariable `$CLAUDE_CODE_REMOTE` wird in Remote-Web-Umgebungen auf `"true"` gesetzt und ist in der lokalen CLI nicht gesetzt.

321 

309<h4 id="common-fields">322<h4 id="common-fields">

310 Gemeinsame Felder323 Gemeinsame Felder

311</h4>324</h4>


341Zusätzlich zu den [gemeinsamen Feldern](#common-fields) akzeptieren Command-Hooks diese Felder:354Zusätzlich zu den [gemeinsamen Feldern](#common-fields) akzeptieren Command-Hooks diese Felder:

342 355 

343| Feld | Erforderlich | Beschreibung |356| Feld | Erforderlich | Beschreibung |

344| :------------ | :----------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |357| :------------ | :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

345| `command` | ja | Shell-Befehl zum Ausführen. Mit `args` die ausführbare Datei zum direkten Spawnen. Siehe [Exec-Form und Shell-Form](#exec-form-and-shell-form) |358| `command` | ja | Shell-Befehl zum Ausführen. Mit `args` die ausführbare Datei zum direkten Spawnen. Siehe [Exec-Form und Shell-Form](#exec-form-and-shell-form) |

346| `args` | nein | Argumentliste. Wenn vorhanden, wird `command` als ausführbare Datei aufgelöst und direkt mit `args` als Argumentvektor gespawnt, ohne Shell. Siehe [Exec-Form und Shell-Form](#exec-form-and-shell-form) |359| `args` | nein | Argumentliste. Wenn vorhanden, wird `command` als ausführbare Datei aufgelöst und direkt mit `args` als Argumentvektor gespawnt, ohne Shell. Siehe [Exec-Form und Shell-Form](#exec-form-and-shell-form) |

347| `async` | nein | Wenn `true`, wird im Hintergrund ausgeführt, ohne zu blockieren. Siehe [Hooks im Hintergrund ausführen](#run-hooks-in-the-background) |360| `async` | nein | Wenn `true`, wird im Hintergrund ausgeführt, ohne zu blockieren. Siehe [Hooks im Hintergrund ausführen](#run-hooks-in-the-background) |

348| `asyncRewake` | nein | Wenn `true`, wird im Hintergrund ausgeführt und weckt Claude bei Exit-Code 2 auf. Impliziert `async`. Der stderr des Hooks oder stdout, wenn stderr leer ist, wird Claude als Systemerinnerung angezeigt, damit es auf einen lang laufenden Hintergrund-Fehler reagieren kann |361| `asyncRewake` | nein | Wenn `true`, wird im Hintergrund ausgeführt und weckt Claude bei Exit-Code 2 auf. Impliziert `async`. Der stderr des Hooks oder stdout, wenn stderr leer ist, wird Claude als Systemerinnerung angezeigt, damit es auf einen lang laufenden Hintergrund-Fehler reagieren kann |

349| `shell` | nein | Shell zum Verwenden für diesen Hook. Akzeptiert `"bash"` (Standard) oder `"powershell"`. Das Setzen von `"powershell"` führt den Befehl über PowerShell unter Windows aus. Erfordert nicht `CLAUDE_CODE_USE_POWERSHELL_TOOL`, da Hooks PowerShell direkt spawnen. Wird ignoriert, wenn `args` gesetzt ist |362| `shell` | nein | Shell zum Verwenden für diesen Hook. Akzeptiert `"bash"` oder `"powershell"`. Standardwert ist `"bash"` oder `"powershell"` unter Windows, wenn Git Bash nicht installiert ist. Das Setzen von `"powershell"` führt den Befehl über PowerShell unter Windows aus. Erfordert nicht `CLAUDE_CODE_USE_POWERSHELL_TOOL`, da Hooks PowerShell direkt spawnen. Wird ignoriert, wenn `args` gesetzt ist |

350 363 

351<a id="exec-form-and-shell-form" />364<a id="exec-form-and-shell-form" />

352 365 


479| `prompt` | ja | Prompt-Text zum Senden an das Modell. Verwenden Sie `$ARGUMENTS` als Platzhalter für die Hook-Eingabe JSON. Escapen Sie mit einem Backslash, um Literaltext einzuschließen: `\$1.00` wird als `$1.00` dargestellt |492| `prompt` | ja | Prompt-Text zum Senden an das Modell. Verwenden Sie `$ARGUMENTS` als Platzhalter für die Hook-Eingabe JSON. Escapen Sie mit einem Backslash, um Literaltext einzuschließen: `\$1.00` wird als `$1.00` dargestellt |

480| `model` | nein | Modell zur Verwendung für die Evaluierung. Standardwert ist ein schnelles Modell |493| `model` | nein | Modell zur Verwendung für die Evaluierung. Standardwert ist ein schnelles Modell |

481 494 

482Alle passenden Hooks werden parallel ausgeführt, und identische Handler werden automatisch dedupliziert. Command-Hooks werden nach Befehlszeichenkette und `args` dedupliziert, und HTTP-Hooks werden nach URL dedupliziert. Handler werden im aktuellen Verzeichnis mit der Umgebung von Claude Code ausgeführt. Die Umgebungsvariable `$CLAUDE_CODE_REMOTE` wird in Remote-Web-Umgebungen auf `"true"` gesetzt und ist in der lokalen CLI nicht gesetzt.

483 

484<h3 id="reference-scripts-by-path">495<h3 id="reference-scripts-by-path">

485 Skripte nach Pfad referenzieren496 Skripte nach Pfad referenzieren

486</h3>497</h3>


620| Feld | Beschreibung |631| Feld | Beschreibung |

621| :---------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |632| :---------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

622| `session_id` | Aktuelle Sitzungs-ID |633| `session_id` | Aktuelle Sitzungs-ID |

634| `prompt_id` | UUID, die die aktuell verarbeitete Benutzereingabeaufforderung identifiziert. Entspricht dem [`prompt.id`-Attribut bei OpenTelemetry-Ereignissen](/de/monitoring-usage#event-correlation-attributes), sodass Sie Hook-Ausgabe mit Telemetrie für eine einzelne Eingabeaufforderung korrelieren können. Nicht vorhanden, bis zur ersten Benutzereingabe. {/* min-version: 2.1.196 */}Erfordert Claude Code v2.1.196 oder später |

623| `transcript_path` | Pfad zur Gesprächs-JSON |635| `transcript_path` | Pfad zur Gesprächs-JSON |

624| `cwd` | Aktuelles Arbeitsverzeichnis, wenn der Hook aufgerufen wird |636| `cwd` | Aktuelles Arbeitsverzeichnis, wenn der Hook aufgerufen wird |

625| `permission_mode` | Aktueller [Berechtigungsmodus](/de/permissions#permission-modes): `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` oder `"bypassPermissions"`. Nicht alle Ereignisse erhalten dieses Feld: siehe jedes Ereignis-JSON-Beispiel unten, um zu prüfen |637| `permission_mode` | Aktueller [Berechtigungsmodus](/de/permissions#permission-modes): `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` oder `"bypassPermissions"`. Nicht alle Ereignisse erhalten dieses Feld: siehe jedes Ereignis-JSON-Beispiel unten, um zu prüfen |


629Wenn mit `--agent` oder innerhalb eines Subagenten ausgeführt, sind zwei zusätzliche Felder enthalten:641Wenn mit `--agent` oder innerhalb eines Subagenten ausgeführt, sind zwei zusätzliche Felder enthalten:

630 642 

631| Feld | Beschreibung |643| Feld | Beschreibung |

632| :----------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |644| :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

633| `agent_id` | Eindeutige Kennung für den Subagenten. Nur vorhanden, wenn der Hook innerhalb eines Subagenten-Aufrufs ausgelöst wird. Verwenden Sie dies, um Subagenten-Hook-Aufrufe von Main-Thread-Aufrufen zu unterscheiden. |645| `agent_id` | Eindeutige Kennung für den Subagenten. Nur vorhanden, wenn der Hook innerhalb eines Subagenten-Aufrufs ausgelöst wird. Verwenden Sie dies, um Subagenten-Hook-Aufrufe von Main-Thread-Aufrufen zu unterscheiden. |

634| `agent_type` | Agent-Name (zum Beispiel `"Explore"` oder `"security-reviewer"`). Vorhanden, wenn die Sitzung `--agent` verwendet oder der Hook innerhalb eines Subagenten ausgelöst wird. Für Subagenten hat der Typ des Subagenten Vorrang vor dem `--agent`-Wert der Sitzung. Für [benutzerdefinierte Subagenten](/de/sub-agents) ist dies das `name`-Feld aus dem Frontmatter des Agenten, nicht der Dateiname. |646| `agent_type` | Agent-Name (zum Beispiel `"Explore"` oder `"security-reviewer"`). Vorhanden, wenn die Sitzung `--agent` verwendet oder der Hook innerhalb eines Subagenten ausgelöst wird. Für Subagenten hat der Typ des Subagenten Vorrang vor dem `--agent`-Wert der Sitzung. Für [benutzerdefinierte Subagenten](/de/sub-agents) ist dies das `name`-Feld aus dem Frontmatter des Agenten, nicht der Dateiname. Für Subagenten, die von einem [Plugin](/de/plugins) bereitgestellt werden, ist dies die Plugin-bezogene Kennung wie `my-plugin:reviewer`, nicht der bloße Frontmatter-Name. Siehe [SubagentStart](#subagentstart), um zu erfahren, wie Sie einen Matcher gegen einen Plugin-bezogenen Namen schreiben. |

635 647 

636Nur [`SessionStart`](#sessionstart)-Hooks können ein `model`-Feld erhalten, und es ist nicht garantiert, dass es vorhanden ist. Es gibt keine `$CLAUDE_MODEL`-Umgebungsvariable. Ein Hook-Prozess erbt die übergeordnete Umgebung, sodass er `$ANTHROPIC_MODEL` lesen kann, wenn Sie sie in Ihrer Shell setzen, aber dieser Wert ändert sich nicht, wenn Sie während einer Sitzung mit `/model` Modelle wechseln.648Nur [`SessionStart`](#sessionstart)-Hooks können ein `model`-Feld erhalten, und es ist nicht garantiert, dass es vorhanden ist. Es gibt keine `$CLAUDE_MODEL`-Umgebungsvariable. Ein Hook-Prozess erbt die übergeordnete Umgebung, sodass er `$ANTHROPIC_MODEL` lesen kann, wenn Sie sie in Ihrer Shell setzen, aber dieser Wert ändert sich nicht, wenn Sie während einer Sitzung mit `/model` Modelle wechseln.

637 649 


640```json theme={null}652```json theme={null}

641{653{

642 "session_id": "abc123",654 "session_id": "abc123",

655 "prompt_id": "550e8400-e29b-41d4-a716-446655440000",

643 "transcript_path": "/home/user/.claude/projects/.../transcript.jsonl",656 "transcript_path": "/home/user/.claude/projects/.../transcript.jsonl",

644 "cwd": "/home/user/my-project",657 "cwd": "/home/user/my-project",

645 "permission_mode": "default",658 "permission_mode": "default",


796# Notification-Hook: Ping des Desktops, wenn Claude Code Aufmerksamkeit benötigt.809# Notification-Hook: Ping des Desktops, wenn Claude Code Aufmerksamkeit benötigt.

797input=$(cat)810input=$(cat)

798title="Claude Code'811title="Claude Code'

799body=$(jq -r '.message // 'Needs your attention'' <<<'$input")812body=$(jq -r '.message // 'Needs your attention"' <<<"$input")

800seq=$(printf '\033]777;notify;%s;%s\007' "$title" "$body")813seq=$(printf '\033]777;notify;%s;%s\007' "$title" "$body")

801jq -nc --arg seq "$seq" '{terminalSequence: $seq}'814jq -nc --arg seq "$seq" '{terminalSequence: $seq}'

802```815```


867 880 

868Einige Ereignisse können auch Inhalte umschreiben, anstatt nur zuzulassen oder zu blockieren:881Einige Ereignisse können auch Inhalte umschreiben, anstatt nur zuzulassen oder zu blockieren:

869 882 

870* `PreToolUse` `updatedInput` direkt unter `hookSpecificOutput` ersetzt die Argumente eines Tools, bevor es ausgeführt wird ([Details](#pretooluse-decision-control))883* `PreToolUse`: `updatedInput` direkt unter `hookSpecificOutput` ersetzt die Argumente eines Tools, bevor es ausgeführt wird. Siehe [PreToolUse-Entscheidungskontrolle](#pretooluse-decision-control)

871* `PermissionRequest` `updatedInput` innerhalb des `decision`-Objekts ([Details](#permissionrequest-decision-control))884* `PermissionRequest`: `updatedInput` innerhalb des `decision`-Objekts. Siehe [PermissionRequest-Entscheidungskontrolle](#permissionrequest-decision-control)

872* `PostToolUse` `updatedToolOutput` ersetzt das Ergebnis des Tools ([Details](#posttooluse-decision-control))885* `PostToolUse`: `updatedToolOutput` ersetzt das Ergebnis des Tools. Siehe [PostToolUse-Entscheidungskontrolle](#posttooluse-decision-control)

873* `UserPromptSubmit` kann den Prompt nicht ersetzen; injiziert nur `additionalContext` daneben886* `UserPromptSubmit`: kann den Prompt nicht ersetzen; injiziert nur `additionalContext` daneben

874 887 

875Für Redaktions- oder Transformationsfälle, fangen Sie bei `PreToolUse` für ausgehende Tool-Eingaben und `PostToolUse` für eingehende Tool-Ergebnisse ab.888Für Redaktions- oder Transformationsfälle, fangen Sie bei `PreToolUse` für ausgehende Tool-Eingaben und `PostToolUse` für eingehende Tool-Ergebnisse ab.

876 889 


950 SessionStart-Eingabe963 SessionStart-Eingabe

951</h4>964</h4>

952 965 

953Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten SessionStart-Hooks `source`, `model` und optional `agent_type` und `session_title`. Das Feld `source` gibt an, wie die Sitzung gestartet wurde: `"startup"` für neue Sitzungen, `"resume"` für fortgesetzte Sitzungen, `"clear"` nach `/clear` oder `"compact"` nach Komprimierung. Das Feld `model` enthält die Modell-ID. Es kann weggelassen werden, zum Beispiel nach `/clear` oder wenn eine Sitzung durch Gesprächswiederherstellung wiederhergestellt wird, daher überprüfen Sie das Feld, bevor Sie es lesen. Wenn Sie Claude Code mit `claude --agent <name>` starten, enthält ein Feld `agent_type` den Agent-Namen. Das Feld `session_title` trägt den aktuellen Sitzungstitel, falls bereits einer gesetzt ist, zum Beispiel über `--name` oder `/rename`. Ein Hook, der `sessionTitle` ausgibt, kann `session_title` zuerst überprüfen, um zu vermeiden, dass ein Titel überschrieben wird, den der Benutzer explizit gesetzt hat.966Zusätzlich zu den [gemeinsamen Eingabefeldern](#common-input-fields) erhalten SessionStart-Hooks `source` und optional `model`, `agent_type` und `session_title`. Das Feld `source` gibt an, wie die Sitzung gestartet wurde: `"startup"` für neue Sitzungen, `"resume"` für fortgesetzte Sitzungen, `"clear"` nach `/clear` oder `"compact"` nach Komprimierung. Das Feld `model` enthält die Modell-ID. Es kann weggelassen werden, zum Beispiel nach `/clear` oder wenn eine Sitzung durch Gesprächswiederherstellung wiederhergestellt wird, daher überprüfen Sie das Feld, bevor Sie es lesen. Wenn Sie Claude Code mit `claude --agent <name>` starten, enthält ein Feld `agent_type` den Agent-Namen. Das Feld `session_title` trägt den aktuellen Sitzungstitel, falls bereits einer gesetzt ist, zum Beispiel über `--name` oder `/rename`. Ein Hook, der `sessionTitle` ausgibt, kann `session_title` zuerst überprüfen, um zu vermeiden, dass ein Titel überschrieben wird, den der Benutzer explizit gesetzt hat.

954 967 

955```json theme={null}968```json theme={null}

956{969{


959 "cwd": "/Users/...",972 "cwd": "/Users/...",

960 "hook_event_name": "SessionStart",973 "hook_event_name": "SessionStart",

961 "source": "startup",974 "source": "startup",

962 "model": "claude-sonnet-4-6"975 "model": "claude-sonnet-5"

963}976}

964```977```

965 978 


1148 1161 

1149`UserPromptSubmit`-Hooks haben ein Standard-Timeout von 30 Sekunden für `command`-, `http`- und `mcp_tool`-Typen, kürzer als das 600-Sekunden-Standard für diese Typen bei anderen Ereignissen. Da dieser Hook vor jedem Prompt ausgeführt wird und die Modellverarbeitung blockiert, bis er abgeschlossen ist, stellt ein feststeckender Hook die Sitzung still. Wenn Ihr Hook mehr Zeit benötigt, setzen Sie das Feld `timeout` im Hook-Eintrag.1162`UserPromptSubmit`-Hooks haben ein Standard-Timeout von 30 Sekunden für `command`-, `http`- und `mcp_tool`-Typen, kürzer als das 600-Sekunden-Standard für diese Typen bei anderen Ereignissen. Da dieser Hook vor jedem Prompt ausgeführt wird und die Modellverarbeitung blockiert, bis er abgeschlossen ist, stellt ein feststeckender Hook die Sitzung still. Wenn Ihr Hook mehr Zeit benötigt, setzen Sie das Feld `timeout` im Hook-Eintrag.

1150 1163 

1164Ein `UserPromptSubmit`-Hook, der sein Timeout erreicht, wird abgebrochen und seine Ausgabe, einschließlich aller `additionalContext`, wird verworfen. Der Prompt erreicht Claude immer noch ohne diesen Kontext. Ab v2.1.196 zeigt das Transkript einen Hinweis, der den Hook, das ausgelöste Timeout und dass die Ausgabe verworfen wurde, benennt. Frühere Versionen brechen den Hook ohne Hinweis ab.

1165 

1151<h4 id="userpromptsubmit-input">1166<h4 id="userpromptsubmit-input">

1152 UserPromptSubmit-Eingabe1167 UserPromptSubmit-Eingabe

1153</h4>1168</h4>


1404 1419 

1405Wird ausgeführt, nachdem Claude Tool-Parameter erstellt hat und bevor der Tool-Aufruf verarbeitet wird. Passt auf Tool-Namen: `Bash`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `WebFetch`, `WebSearch`, `AskUserQuestion`, `ExitPlanMode` und alle [MCP-Tool-Namen](#match-mcp-tools).1420Wird ausgeführt, nachdem Claude Tool-Parameter erstellt hat und bevor der Tool-Aufruf verarbeitet wird. Passt auf Tool-Namen: `Bash`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `WebFetch`, `WebSearch`, `AskUserQuestion`, `ExitPlanMode` und alle [MCP-Tool-Namen](#match-mcp-tools).

1406 1421 

1422<Warning>

1423 PreToolUse wird nur ausgeführt, wenn Claude ein Tool aufruft. Dateien, die Sie [mit `@` in Ihrem Prompt referenzieren](/de/common-workflows#reference-files-and-directories), werden ohne Tool-Aufruf hinzugefügt: Claude Code fügt ihre Inhalte beim Erstellen des Prompts ein, daher wird kein PreToolUse-Hook für sie ausgelöst, einschließlich Hooks, die `Read` passen. Um bestimmte Pfade von `@`-Referenzen zu blockieren, verwenden Sie stattdessen eine [`Read`-Deny-Regel](/de/permissions#read-and-edit).

1424</Warning>

1425 

1407Verwenden Sie [PreToolUse-Entscheidungskontrolle](#pretooluse-decision-control), um die Verwendung des Tools zuzulassen, zu verweigern, um Berechtigung zu bitten oder zu verschieben.1426Verwenden Sie [PreToolUse-Entscheidungskontrolle](#pretooluse-decision-control), um die Verwendung des Tools zuzulassen, zu verweigern, um Berechtigung zu bitten oder zu verschieben.

1408 1427 

1409<h4 id="pretooluse-input">1428<h4 id="pretooluse-input">


2054 2073 

2055Wird ausgeführt, wenn ein Claude Code-Subagent über das Agent-Tool spawnt wird. Unterstützt Matcher zum Filtern nach Agent-Typname. Für eingebaute Agents ist dies der Agent-Name wie `general-purpose`, `Explore` oder `Plan`. Für [benutzerdefinierte Subagenten](/de/sub-agents) ist dies das Feld `name` aus dem Frontmatter des Agenten, nicht der Dateiname.2074Wird ausgeführt, wenn ein Claude Code-Subagent über das Agent-Tool spawnt wird. Unterstützt Matcher zum Filtern nach Agent-Typname. Für eingebaute Agents ist dies der Agent-Name wie `general-purpose`, `Explore` oder `Plan`. Für [benutzerdefinierte Subagenten](/de/sub-agents) ist dies das Feld `name` aus dem Frontmatter des Agenten, nicht der Dateiname.

2056 2075 

2076Für Subagenten, die von einem [Plugin](/de/plugins) bereitgestellt werden, ist der Agent-Typ die Plugin-spezifische Kennung wie `my-plugin:reviewer`, nicht der bloße Frontmatter-Name. Der Doppelpunkt platziert einen Plugin-spezifischen Namen auf dem regulären Ausdruckspfad, daher verankern Sie den Matcher mit `^` und `$` für eine genaue Übereinstimmung: `^my-plugin:reviewer$`.

2077 

2057<h4 id="subagentstart-input">2078<h4 id="subagentstart-input">

2058 SubagentStart-Eingabe2079 SubagentStart-Eingabe

2059</h4>2080</h4>


2149```2170```

2150 2171 

2151| Feld | Beschreibung |2172| Feld | Beschreibung |

2152| :----------------- | :------------------------------------------------------------------------- |2173| :----------------- | :------------------------------------------------------------------------------ |

2153| `task_id` | Kennung der zu erstellenden Aufgabe |2174| `task_id` | Kennung der zu erstellenden Aufgabe |

2154| `task_subject` | Titel der Aufgabe |2175| `task_subject` | Titel der Aufgabe |

2155| `task_description` | Detaillierte Beschreibung der Aufgabe. Kann fehlen |2176| `task_description` | Detaillierte Beschreibung der Aufgabe. Kann fehlen |

2156| `teammate_name` | Name des Teammates, das die Aufgabe erstellt. Kann fehlen |2177| `teammate_name` | Name des Teammates, das die Aufgabe erstellt. Kann fehlen |

2157| `team_name` | Deprecated. Session-derived team name; will be removed in a future release |2178| `team_name` | Veraltet. Session-derived team name; wird in einer zukünftigen Version entfernt |

2158 2179 

2159<h4 id="taskcreated-decision-control">2180<h4 id="taskcreated-decision-control">

2160 TaskCreated-Entscheidungskontrolle2181 TaskCreated-Entscheidungskontrolle


2210```2231```

2211 2232 

2212| Feld | Beschreibung |2233| Feld | Beschreibung |

2213| :----------------- | :------------------------------------------------------------------------- |2234| :----------------- | :------------------------------------------------------------------------------ |

2214| `task_id` | Kennung der abgeschlossenen Aufgabe |2235| `task_id` | Kennung der abgeschlossenen Aufgabe |

2215| `task_subject` | Titel der Aufgabe |2236| `task_subject` | Titel der Aufgabe |

2216| `task_description` | Detaillierte Beschreibung der Aufgabe. Kann fehlen |2237| `task_description` | Detaillierte Beschreibung der Aufgabe. Kann fehlen |

2217| `teammate_name` | Name des Teammates, das die Aufgabe abschließt. Kann fehlen |2238| `teammate_name` | Name des Teammates, das die Aufgabe abschließt. Kann fehlen |

2218| `team_name` | Deprecated. Session-derived team name; will be removed in a future release |2239| `team_name` | Veraltet. Session-derived team name; wird in einer zukünftigen Version entfernt |

2219 2240 

2220<h4 id="taskcompleted-decision-control">2241<h4 id="taskcompleted-decision-control">

2221 TaskCompleted-Entscheidungskontrolle2242 TaskCompleted-Entscheidungskontrolle


2405```2426```

2406 2427 

2407| Feld | Beschreibung |2428| Feld | Beschreibung |

2408| :-------------- | :------------------------------------------------------------------------- |2429| :-------------- | :------------------------------------------------------------------------------ |

2409| `teammate_name` | Name des Teammates, das untätig werden soll |2430| `teammate_name` | Name des Teammates, das untätig werden soll |

2410| `team_name` | Deprecated. Session-derived team name; will be removed in a future release |2431| `team_name` | Veraltet. Session-derived team name; wird in einer zukünftigen Version entfernt |

2411 2432 

2412<h4 id="teammateidle-decision-control">2433<h4 id="teammateidle-decision-control">

2413 TeammateIdle-Entscheidungskontrolle2434 TeammateIdle-Entscheidungskontrolle


3287}3308}

3288```3309```

3289 3310 

3311Um auf das Projektverzeichnis aus einem PowerShell-Shell-Form-Befehl zu verweisen, lesen Sie es als Umgebungsvariable mit `$env:CLAUDE_PROJECT_DIR`. PowerShell behandelt die bloße Form `${CLAUDE_PROJECT_DIR}` als lokale Variable, nicht als Umgebungsvariablensuche, und Claude Code ersetzt diesen Platzhalter in Shell-Form nur für [Plugin-Hooks](#reference-scripts-by-path). Für einen Hook, der in `settings.json` definiert ist, verwenden Sie entweder die Form `$env:` oder wechseln Sie zu [Exec-Form](#exec-form-and-shell-form), wobei `${CLAUDE_PROJECT_DIR}` in jedem `args`-Element ersetzt wird, unabhängig davon, wo der Hook definiert ist.

3312 

3313Das folgende Beispiel zeigt einen `settings.json`-Hook, der ein Projektskript mit der Form `$env:` ausführt:

3314 

3315```json theme={null}

3316{

3317 "type": "command",

3318 "shell": "powershell",

3319 "command": "& \"$env:CLAUDE_PROJECT_DIR\\.claude\\hooks\\check.ps1\""

3320}

3321```

3322 

3290<h2 id="debug-hooks">3323<h2 id="debug-hooks">

3291 Debug-Hooks3324 Debug-Hooks

3292</h2>3325</h2>

Details

249* Der Eingabeverlauf wird zurückgesetzt, wenn Sie `/clear` ausführen, um eine neue Sitzung zu starten. Das Gespräch der vorherigen Sitzung wird beibehalten und kann fortgesetzt werden.249* Der Eingabeverlauf wird zurückgesetzt, wenn Sie `/clear` ausführen, um eine neue Sitzung zu starten. Das Gespräch der vorherigen Sitzung wird beibehalten und kann fortgesetzt werden.

250* Das zweimalige Absenden derselben Eingabeaufforderung hintereinander zeichnet einen Verlaufseintrag auf, sodass das Drücken der Nach-oben-Taste zum vorherigen unterschiedlichen Befehl springt250* Das zweimalige Absenden derselben Eingabeaufforderung hintereinander zeichnet einen Verlaufseintrag auf, sodass das Drücken der Nach-oben-Taste zum vorherigen unterschiedlichen Befehl springt

251* Verwenden Sie die Pfeiltasten nach oben/unten zum Navigieren (siehe Tastaturkürzel oben)251* Verwenden Sie die Pfeiltasten nach oben/unten zum Navigieren (siehe Tastaturkürzel oben)

252* **Hinweis**: Verlaufserweiterung (`!`) ist standardmäßig deaktiviert252* Verlaufserweiterung mit `!` ist standardmäßig deaktiviert

253 253 

254<h3 id="reverse-search-with-ctrl-r">254<h3 id="reverse-search-with-ctrl-r">

255 Reverse-Suche mit Ctrl+R255 Reverse-Suche mit Ctrl+R


285Um Befehle im Hintergrund auszuführen, können Sie entweder:285Um Befehle im Hintergrund auszuführen, können Sie entweder:

286 286 

287* Claude Code auffordern, einen Befehl im Hintergrund auszuführen287* Claude Code auffordern, einen Befehl im Hintergrund auszuführen

288* Drücken Sie Ctrl+B, um eine reguläre Bash-Tool-Invokation in den Hintergrund zu verschieben. (Tmux-Benutzer müssen Ctrl+B zweimal drücken, da Tmux einen Präfix-Schlüssel hat.)288* Drücken Sie `Ctrl+B`, um eine reguläre Bash-Tool-Invokation in den Hintergrund zu verschieben. Tmux-Benutzer müssen `Ctrl+B` zweimal drücken, da Tmux einen Präfix-Schlüssel hat.

289 289 

290**Wichtige Funktionen:**290**Wichtige Funktionen:**

291 291 

292* Die Ausgabe wird in eine Datei geschrieben und Claude kann sie mit dem Read-Tool abrufen292* Die Ausgabe wird in eine Datei geschrieben und Claude kann sie mit dem Read-Tool abrufen

293* Hintergrund-Tasks haben eindeutige IDs zum Tracking und zur Ausgabebeschaffung293* Hintergrund-Tasks haben eindeutige IDs zum Tracking und zur Ausgabebeschaffung

294* Hintergrund-Tasks werden automatisch bereinigt, wenn Claude Code beendet wird294* Hintergrund-Tasks werden automatisch bereinigt, wenn Claude Code beendet wird. Das Hintergrund-Ausführen der Sitzung anstelle des Beendens übergibt sie an die Hintergrund-Sitzung, wo sie weiterhin ausgeführt werden. Siehe [eine laufende Sitzung in den Hintergrund verschieben](/de/agent-view#from-inside-a-session)

295* Hintergrund-Tasks werden automatisch beendet, wenn die Ausgabe 5 GB überschreitet, mit einem Hinweis in stderr, der erklärt, warum295* Hintergrund-Tasks werden automatisch beendet, wenn die Ausgabe 5 GB überschreitet, mit einem Hinweis in stderr, der erklärt, warum

296* {/* min-version: 2.1.193 */}Ab v2.1.193 werden auf macOS und Linux laufende Hintergrund-Tasks beendet, wenn das Betriebssystem ein Speicherdrucksignal sendet, sofern die Sitzung mindestens 30 Minuten untätig war, ohne dass ein Turn oder Subagent ausgeführt wird. Setzen Sie [`CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP`](/de/env-vars) auf `1`, um dies auszuschalten

296 297 

297Um alle Hintergrund-Task-Funktionen zu deaktivieren, setzen Sie die Umgebungsvariable `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` auf `1`. Siehe [Umgebungsvariablen](/de/env-vars) für Details.298Um alle Hintergrund-Task-Funktionen zu deaktivieren, setzen Sie die Umgebungsvariable `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` auf `1`. Siehe [Umgebungsvariablen](/de/env-vars) für Details.

298 299 


322* Zeigt Echtzeit-Fortschritt und Ausgabe323* Zeigt Echtzeit-Fortschritt und Ausgabe

323* Unterstützt die gleiche `Ctrl+B`-Hintergrund-Ausführung für lange laufende Befehle324* Unterstützt die gleiche `Ctrl+B`-Hintergrund-Ausführung für lange laufende Befehle

324* Erfordert nicht, dass Claude den Befehl interpretiert oder genehmigt325* Erfordert nicht, dass Claude den Befehl interpretiert oder genehmigt

325* Unterstützt verlaufsbasierte Autovervollständigung: Geben Sie einen Teilbefehl ein und drücken Sie **Tab**, um aus vorherigen `!`-Befehlen im aktuellen Projekt zu vervollständigen326* Unterstützt verlaufsbasierte Autovervollständigung: Geben Sie einen Teilbefehl ein und drücken Sie `Tab`, um aus vorherigen `!`-Befehlen im aktuellen Projekt zu vervollständigen

327* {/* min-version: 2.1.193 */}Unterstützt Live-Dateipfad-Autovervollständigung ab v2.1.193 auf allen Plattformen: Geben Sie ein Token mit einem Schrägstrich ein, z. B. `./src/` oder `~/`, um ein Dropdown-Menü mit übereinstimmenden Dateien und Verzeichnissen anzuzeigen, und drücken Sie dann `Tab`, um zu akzeptieren. Verwenden Sie auch unter Windows Schrägstriche; das Dropdown-Menü wird durch `/` ausgelöst, nicht durch `\`

326* Beenden Sie mit `Escape`, `Backspace` oder `Ctrl+U` bei einer leeren Eingabeaufforderung328* Beenden Sie mit `Escape`, `Backspace` oder `Ctrl+U` bei einer leeren Eingabeaufforderung

327* Das Einfügen von Text, der mit `!` beginnt, in eine leere Eingabeaufforderung aktiviert automatisch den Bash-Modus und entspricht dem eingegebenen `!`-Verhalten329* Das Einfügen von Text, der mit `!` beginnt, in eine leere Eingabeaufforderung aktiviert automatisch den Bash-Modus und entspricht dem eingegebenen `!`-Verhalten

328 330 

329Ab v2.1.186 antwortet Claude automatisch auf die Befehlsausgabe, sobald sie im Transkript angezeigt wird, sodass Sie `! npm test` ausführen und eine Erklärung der Fehler ohne eine zweite Eingabeaufforderung erhalten können. Die Antwort kostet das Gleiche wie das Senden einer normalen Eingabeaufforderung. Um das frühere Verhalten wiederherzustellen, bei dem die Ausgabe zum Kontext hinzugefügt wird, ohne eine Antwort zu geben, setzen Sie [`respondToBashCommands`](/de/settings#available-settings) auf `false` in `settings.json`. Vor v2.1.186 hat der Shell-Modus die Ausgabe immer zum Kontext hinzugefügt, ohne eine Antwort zu geben.331Ab v2.1.186 antwortet Claude automatisch auf die Befehlsausgabe, sobald sie im Transkript angezeigt wird, sodass Sie `! npm test` ausführen und eine Erklärung der Fehler ohne eine zweite Eingabeaufforderung erhalten können. Die Antwort kostet das Gleiche wie das Senden einer normalen Eingabeaufforderung. Um das frühere Verhalten wiederherzustellen, bei dem die Ausgabe zum Kontext hinzugefügt wird, ohne eine Antwort zu geben, setzen Sie [`respondToBashCommands`](/de/settings#available-settings) auf `false` in `settings.json`. Vor v2.1.186 hat der Bash-Modus die Ausgabe immer zum Kontext hinzugefügt, ohne eine Antwort zu geben.

330 332 

331Dies ist nützlich für schnelle Shell-Operationen bei Beibehaltung des Gesprächskontexts.333Dies ist nützlich für schnelle Shell-Operationen bei Beibehaltung des Gesprächskontexts.

332 334 


338 340 

339Nachdem Claude antwortet, werden weiterhin Vorschläge basierend auf Ihrem Gesprächsverlauf angezeigt, z. B. ein Folgenschritt aus einer mehrteiligen Anfrage oder eine natürliche Fortsetzung Ihres Workflows.341Nachdem Claude antwortet, werden weiterhin Vorschläge basierend auf Ihrem Gesprächsverlauf angezeigt, z. B. ein Folgenschritt aus einer mehrteiligen Anfrage oder eine natürliche Fortsetzung Ihres Workflows.

340 342 

341* Drücken Sie **Tab** oder **Rechts-Pfeil**, um den Vorschlag in die Eingabeaufforderung zu platzieren, und dann **Enter**, um einzureichen343* Drücken Sie `Tab` oder `Rechts-Pfeil`, um den Vorschlag in die Eingabeaufforderung zu platzieren, und dann `Enter`, um einzureichen

342* Beginnen Sie zu tippen, um ihn zu verwerfen344* Beginnen Sie zu tippen, um ihn zu verwerfen

343 345 

344Der Vorschlag wird als Hintergrund-Anfrage ausgeführt, die den Prompt-Cache des übergeordneten Gesprächs wiederverwenden, sodass die zusätzlichen Kosten minimal sind. Claude Code überspringt die Vorschlagsgenerierung, wenn der Cache kalt ist, um unnötige Kosten zu vermeiden.346Der Vorschlag wird als Hintergrund-Anfrage ausgeführt, die den Prompt-Cache des übergeordneten Gesprächs wiederverwenden, sodass die zusätzlichen Kosten minimal sind. Claude Code überspringt die Vorschlagsgenerierung, wenn der Cache kalt ist, um unnötige Kosten zu vermeiden.


368* **Einzelne Antwort**: Es gibt keine Folgeversuche in der Überlagerung. Um den Thread fortzusetzen, teilen Sie ihn mit `f` in seine eigene Sitzung auf.370* **Einzelne Antwort**: Es gibt keine Folgeversuche in der Überlagerung. Um den Thread fortzusetzen, teilen Sie ihn mit `f` in seine eigene Sitzung auf.

369* **Niedrige Kosten**: Die Nebenfrage verwendet den Prompt-Cache des übergeordneten Gesprächs wieder, sodass die zusätzlichen Kosten minimal sind.371* **Niedrige Kosten**: Die Nebenfrage verwendet den Prompt-Cache des übergeordneten Gesprächs wieder, sodass die zusätzlichen Kosten minimal sind.

370 372 

371Sobald die Antwort angezeigt wird, akzeptiert die Überlagerung diese Tasten. Frühere Nebenfragen aus derselben Sitzung werden als abgeblendete Liste über der aktuellen Antwort angezeigt; sie bleiben außerhalb des Gesprächsverlaufs, bleiben aber in der Überlagerung sichtbar, bis Sie sie löschen.373Frühere Nebenfragen aus derselben Sitzung werden als abgeblendete Liste über der aktuellen Antwort angezeigt. Sie bleiben außerhalb des Gesprächsverlaufs, bleiben aber in der Überlagerung sichtbar, bis Sie sie löschen.

374 

375Sobald die Antwort angezeigt wird, akzeptiert die Überlagerung diese Tasten.

372 376 

373| Taste | Aktion |377| Taste | Aktion |

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


406 PR-Review-Status410 PR-Review-Status

407</h2>411</h2>

408 412 

409Bei der Arbeit an einem Branch mit einem offenen Pull Request zeigt Claude Code einen anklickbaren PR-Link in der Fußzeile an (z. B. „PR #446"). Der Link hat eine farbige Unterstreichung, die den Review-Status anzeigt:413Bei der Arbeit an einem Branch mit einem offenen Pull Request zeigt Claude Code einen anklickbaren PR-Link in der Fußzeile an, z. B. „PR #446". Der Link hat eine farbige Unterstreichung, die den Review-Status anzeigt:

410 414 

411* Grün: genehmigt415* Grün: genehmigt

412* Gelb: Review ausstehend416* Gelb: Review ausstehend

413* Rot: Änderungen angefordert417* Rot: Änderungen angefordert

414* Grau: Entwurf418* Grau: Entwurf

415 419 

416Das Badge verschwindet, sobald der Pull Request zusammengeführt oder geschlossen wird. `Cmd+click` (Mac) oder `Ctrl+click` (Windows/Linux) auf den Link, um den Pull Request in Ihrem Browser zu öffnen. Der Status wird alle 60 Sekunden aktualisiert und sofort nach der Ausführung eines `gh pr`- oder `git push`-Befehls in der Sitzung.420Das Badge verschwindet, sobald der Pull Request zusammengeführt oder geschlossen wird. `Cmd+click` (macOS) oder `Ctrl+click` (Windows/Linux) auf den Link, um den Pull Request in Ihrem Browser zu öffnen. Der Status wird alle 60 Sekunden aktualisiert und sofort nach der Ausführung eines `gh pr`- oder `git push`-Befehls in der Sitzung.

417 421 

418<Note>422<Note>

419 Der PR-Status erfordert, dass die `gh` CLI installiert und authentifiziert ist (`gh auth login`).423 Der PR-Status erfordert, dass die `gh` CLI installiert und authentifiziert ist (`gh auth login`).

jetbrains.md +1 −1

Details

233 Sicherheitsaspekte233 Sicherheitsaspekte

234</h2>234</h2>

235 235 

236Wenn Claude Code in einer JetBrains IDE mit aktivierten Auto-Edit-Berechtigungen ausgeführt wird, kann es möglicherweise IDE-Konfigurationsdateien ändern, die automatisch von Ihrer IDE ausgeführt werden können. Dies kann das Risiko der Ausführung von Claude Code im Auto-Edit-Modus erhöhen und es ermöglichen, Claude Code Berechtigungsaufforderungen für die Bash-Ausführung zu umgehen.236Wenn Claude Code in einer JetBrains IDE im [`acceptEdits` Berechtigungsmodus](/de/permission-modes#auto-approve-file-edits-with-acceptedits-mode) ausgeführt wird, kann es möglicherweise IDE-Konfigurationsdateien ändern, die automatisch von Ihrer IDE ausgeführt werden können. Dies kann das Risiko der Ausführung von Claude Code im `acceptEdits` Modus erhöhen und es ermöglichen, Claude Code Berechtigungsaufforderungen für die Bash-Ausführung zu umgehen.

237 237 

238Bei der Ausführung in JetBrains IDEs sollten Sie Folgendes beachten:238Bei der Ausführung in JetBrains IDEs sollten Sie Folgendes beachten:

239 239 

llm-gateway.md +0 −96 deleted

File Deleted View Diff

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# LLM-Gateways

6 

7> Leiten Sie Claude Code über ein LLM-Gateway für zentralisierte Authentifizierung, Nutzungsverfolgung und Kostenkontrollen weiter. Behandelt die Verbindung von Claude Code mit einem Gateway, die Bereitstellung für Ihre Organisation, was Claude Code an ein Gateway sendet und wie Gateways mit claude.ai-Abonnements interagieren.

8 

9Ein LLM-Gateway ist ein Proxy, den Ihre Organisation zwischen Claude Code und einem Modelleanbieter betreibt. Claude Code sendet API-Verkehr an das Gateway, und das Gateway leitet ihn mit einem Anmeldedaten weiter, das Ihre Organisation kontrolliert, an den Anbieter.

10 

11<Note>

12 * Wenn Sie ein Entwickler sind, der sich mit einem vorhandenen Gateway verbindet: [Verbinden Sie Claude Code mit Ihrem Gateway](/de/llm-gateway-connect)

13 * Wenn Sie ein Administrator sind, der ein Gateway für Ihre Organisation bereitstellt: [Stellen Sie ein Gateway bereit und verteilen Sie es](/de/llm-gateway-rollout)

14 * Wenn Sie ein Gateway-Produkt konfigurieren: die [Gateway-Protokoll-Referenz](/de/llm-gateway-protocol)

15</Note>

16 

17<h2 id="what-a-gateway-provides">

18 Was ein Gateway bietet

19</h2>

20 

21Ein Gateway gibt Ihrer Organisation einen Ort zur Verwaltung von:

22 

23* **Anmeldedaten**: Der Anbieter-Schlüssel bleibt serverseitig; Entwickler halten stattdessen Gateway-Anmeldedaten

24* **Nutzungsverfolgung**: Attributieren Sie die Nutzung nach Entwickler oder Team, unabhängig davon, welcher Anbieter die Anfrage bedient

25* **Kostenkontrollen**: Erzwingen Sie Budgets und Ratenlimits an einem Ort

26* **Audit-Protokollierung**: Protokollieren Sie jede Modellanfrage zur Compliance

27* **Anbieter-Wechsel**: Ändern Sie den Anbieter in der Gateway-Konfiguration, ohne Entwicklermaschinen zu berühren

28 

29Alle diese außer dem Anbieter-Wechsel gelten, ob der Upstream die API von Anthropic oder ein [Cloud-Anbieter](/de/third-party-integrations) ist.

30 

31Der Kompromiss besteht darin, dass das Gateway zu einer Infrastruktur wird, die Ihre Organisation betreibt. Claude Code fügt mit jeder Version Funktionen hinzu, und ein Gateway, das diese nicht weiterleitet, bricht die entsprechenden Funktionen, daher muss das Gateway-Produkt aktualisiert werden, wenn sich Claude Code entwickelt. Die [Gateway-Protokoll-Referenz](/de/llm-gateway-protocol) behandelt, was weitergeleitet werden soll.

32 

33<h2 id="how-a-gateway-works">

34 Wie ein Gateway funktioniert

35</h2>

36 

37Standardmäßig sendet Claude Code Anfragen direkt an die API von Anthropic unter `api.anthropic.com`. Um über ein Gateway zu leiten, setzen Sie `ANTHROPIC_BASE_URL` auf die Adresse des Gateways; Claude Code sendet stattdessen die gleichen Anfragen dorthin. Das Gateway authentifiziert den Entwickler, fügt die Anmeldedaten des Anbieters Ihrer Organisation an und leitet jede Anfrage an den Anbieter weiter, für den es konfiguriert ist.

38 

39`ANTHROPIC_BASE_URL` ist die Adressvariable für die meisten Gateways. Ein Gateway, das einen bestimmten Cloud-Anbieter wie Bedrock, Vertex, Foundry oder die Claude Platform auf AWS frontet, verwendet stattdessen die Basis-URL-Variable dieses Anbieters; [API-Formate](/de/llm-gateway-protocol#api-formats) listet auf, welche Variable zu jeder Konfiguration passt.

40 

41<Frame>

42 <img src="https://mintcdn.com/claude-code/-uq-4JE0W_JO5Er5/images/llm-gateway-flow.svg?fit=max&auto=format&n=-uq-4JE0W_JO5Er5&q=85&s=1c1a8dcc0cfcc3a58652cc8e28cd3e20" alt="Diagramm, das zeigt, wie Claude Code über ein LLM-Gateway geleitet wird. In einer Zone für Entwicklermaschinen senden die Claude Code CLI, VS Code-Erweiterung und CI- oder Agent SDK-Clients Anfragen an das Gateway, wobei die Basis-URL-Variable für das API-Format des Gateways darauf verweist und jeder Entwickler ein Pro-Entwickler-Anmeldedaten hält, und die Desktop-App erreicht das gleiche Gateway über organisationsweit verteilte Konfiguration. In einer Zone mit der Bezeichnung Ihre Infrastruktur verwaltet das LLM-Gateway Authentifizierung, Nutzungsverfolgung, Budgets und Routing und leitet Anfragen mit den Anmeldedaten Ihrer Organisation weiter. In einer Zone für Modelleanbieter führt ein durchgehender Pfeil zum Anbieter, den Sie konfigurieren, dargestellt als die Anthropic API, und gestrichelte Pfeile führen zu anderen Anbieteroptionen, dargestellt mit Amazon Bedrock, Google Vertex AI und Microsoft Foundry als Beispiele." width="780" height="322" data-path="images/llm-gateway-flow.svg" />

43</Frame>

44 

45Zwei Arten von Anmeldedaten sind beteiligt:

46 

47* **Entwickler-Anmeldedaten**: Jeder Entwickler hält seine eigenen, vom Gateway ausgestellt. Es authentifiziert ihn beim Gateway und identifiziert ihn in der Nutzungsverfolgung

48* **Anbieter-Anmeldedaten**: Das Gateway hält ein Anmeldedaten für Ihr Anbieterkonto, geteilt von allem weitergeleitetem Verkehr. Sie stellen keine Anbieter-Schlüssel pro Entwickler bereit

49 

50Das Gateway leitet jede Anfrage an den Anbieter weiter, den Sie konfigurieren, wie die Anthropic API, [Amazon Bedrock](/de/amazon-bedrock), [Google Vertex AI](/de/google-vertex-ai), [Microsoft Foundry](/de/microsoft-foundry) oder die [Claude Platform auf AWS](/de/claude-platform-on-aws). Da Claude Code nur mit dem Gateway spricht, ist die Anbieterauswahl die Konfiguration des Gateways, nicht die des Clients.

51 

52<h2 id="roll-out-a-gateway">

53 Ein Gateway bereitstellen

54</h2>

55 

56Wenn Sie bereit sind, ein LLM-Gateway für Ihre Organisation bereitzustellen, ist die Abfolge gleich, welches Gateway-Produkt Sie auch wählen:

57 

581. Stellen Sie das Gateway bereit und geben Sie ihm Ihre Anbieter-Anmeldedaten, damit es die Anfragen authentifizieren kann, die es weiterleitet.

592. Geben Sie jedem Entwickler ein Gateway-Anmeldedaten aus, damit die Nutzung dem Entwickler zugeordnet wird und das Offboarding ein Anmeldedaten widerruft.

603. Verteilen Sie die Konfiguration über eine [verwaltete Einstellungsdatei](/de/settings#settings-files) und Ihre Secrets-Tools, damit jede Maschine die Basis-URL und ein Anmeldedaten erhält. Wenn beide verteilt werden, konfigurieren Entwickler nichts. Wenn Sie keine Einstellungsverteilung haben, folgen Entwickler der [Verbindungsseite](/de/llm-gateway-connect), um die Variablen selbst zu setzen.

614. Lassen Sie jeden Entwickler [die Konfiguration in Claude Code überprüfen](/de/llm-gateway-connect#check-for-an-existing-configuration), damit Verteilungsprobleme auftauchen, bevor sie vom Gateway abhängig sind.

62 

63[Ein LLM-Gateway für Ihre Organisation bereitstellen](/de/llm-gateway-rollout) führt jeden Schritt durch und zeigt die Konfigurationsdateien, die bei jedem verteilt werden sollen. Das Gateway ist ein Teil der Organisationseinrichtung; für Richtliniendurchsetzung, Nutzungssichtbarkeit und Datenbehandlungsentscheidungen siehe [Claude Code für Ihre Organisation einrichten](/de/admin-setup).

64 

65<h2 id="third-party-gateways">

66 Gateways von Drittanbietern

67</h2>

68 

69Jedes Gateway, das ein [unterstütztes API-Format](/de/llm-gateway-protocol#api-formats) bereitstellt, funktioniert. Anthropic befürwortet, wartet oder prüft keine Gateway-Produkte von Drittanbietern. Stellen Sie sie nach ihrer eigenen Dokumentation bereit, und schließen Sie dann die Claude Code-Seite der Bereitstellung mit den [Bereitstellungsschritten](/de/llm-gateway-rollout) ab.

70 

71<h2 id="subscriptions-and-gateways">

72 Abonnements und Gateways

73</h2>

74 

75Während eine [Gateway-Anmeldedaten-Variable](/de/llm-gateway-connect#set-the-credential-variable) oder `apiKeyHelper` aktiv ist, wird das claude.ai-Abonnement eines Entwicklers nicht verwendet: Das Anmeldedaten ersetzt die Abonnement-Anmeldung für diese Sitzung, und die Nutzungslimits des Abonnements gelten nicht. Dieser Verkehr wird pro Token dem Besitzer des Anmeldedaten, das das Gateway weiterleitet, wie Ihr Anthropic Console-Konto der Organisation oder Ihr Bedrock-, Vertex- oder Foundry-Konto, wenn das Gateway dorthin leitet, in Rechnung gestellt.

76 

77Das Setzen nur von `ANTHROPIC_BASE_URL` ohne Gateway-Anmeldedaten ersetzt das Abonnement nicht. Anfragen werden immer noch über das Gateway geleitet, aber eine gespeicherte claude.ai-Anmeldung bleibt das aktive Anmeldedaten, daher gelten seine Nutzungslimits und Abrechnung. Gateways, die diesen Verkehr an Anthropic weitergeben, müssen die OAuth-Fähigkeit in `anthropic-beta` weiterleiten; siehe die [Request-Header-Referenz](/de/llm-gateway-protocol#request-headers).

78 

79<h2 id="configure-separately-from-the-gateway">

80 Separat vom Gateway konfigurieren

81</h2>

82 

83Ein Gateway bestimmt, wohin Modell-API-Anfragen gesendet werden. Modellauswahl, der Rest des Netzwerkverkehrs von Claude Code und Unternehmens-Proxies werden separat konfiguriert:

84 

85* **Modellauswahl**: Die Basis-URL entscheidet, wohin Anfragen gehen, nicht welches Modell sie beantwortet. Wählen Sie das Modell mit dem `/model`-Befehl oder den Modell-Umgebungsvariablen; siehe [wie Sie Ihr Modell setzen](/de/model-config#setting-your-model)

86* **Client-seitiger Verkehr**: Versionsprüfungen und optionale Client-Telemetrie, beide deaktiviert mit [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/de/env-vars), und Anmeldungsverkehr, wenn eine claude.ai- oder Console-Anmeldung verwendet wird, gehen zu den Update- und Authentifizierungsendpunkten von Anthropic statt zum Gateway. Siehe [Netzwerkzugriffsanforderungen](/de/network-config#network-access-requirements) für die Domänen

87* **Unternehmens-Proxies**: Ein mit `HTTPS_PROXY` gesetzter Proxy sitzt zwischen Claude Code und jedem Server, mit dem es spricht, einschließlich des Gateways. Wenn Ihr Netzwerk einen Proxy erfordert, konfigurieren Sie beide; siehe [Proxy-Konfiguration](/de/network-config#proxy-configuration)

88 

89<h2 id="related-pages">

90 Verwandte Seiten

91</h2>

92 

93* [Verbinden Sie Claude Code mit einem LLM-Gateway](/de/llm-gateway-connect): Setzen Sie die Basis-URL und das Anmeldedaten auf Ihrer eigenen Maschine, mit Pro-Surface-Konfiguration und einer Fehlerbehebungstabelle

94* [Ein LLM-Gateway für Ihre Organisation bereitstellen](/de/llm-gateway-rollout): Die Admin-Checkliste für die Bereitstellung eines Gateways, die Ausstellung von Entwickler-Anmeldedaten und die Verteilung verwalteter Einstellungen

95* [Gateway-Protokoll-Referenz](/de/llm-gateway-protocol): Was Claude Code an ein Gateway sendet, für Operatoren, die eines konfigurieren, mit Endpunkten, Headern zum Weiterleiten und Feature-Pass-Through

96* [Claude Code für Ihre Organisation einrichten](/de/admin-setup): Die breiteren Bereitstellungsentscheidungen, von denen ein Gateway ein Teil ist, einschließlich Richtliniendurchsetzung und Nutzungssichtbarkeit

Details

231 anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}231 anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}

232```232```

233 233 

234Für ein Bearer-Token-Gateway übergeben Sie das gleiche Geheimnis sowohl als die `anthropic_api_key`-Eingabe als auch als `ANTHROPIC_AUTH_TOKEN` im Workflow-`env`-Block. Die Aktion erfordert `anthropic_api_key`, `CLAUDE_CODE_OAUTH_TOKEN` oder Workload-Identitäts-Verbund, bevor sie Claude Code startet, und sie liest `ANTHROPIC_AUTH_TOKEN` nicht, daher erfüllt die Eingabe diese Start-Prüfung, während die Env-Variable den Schlüssel in den `Authorization`-Header legt, den das Gateway liest. Die Kopie in `x-api-key` wird ignoriert:234Für ein Bearer-Token-Gateway übergeben Sie das gleiche Geheimnis sowohl als die `anthropic_api_key`-Eingabe als auch als `ANTHROPIC_AUTH_TOKEN` im Workflow-`env`-Block. Die Aktion erfordert `anthropic_api_key`, `CLAUDE_CODE_OAUTH_TOKEN` oder Workload-Identitäts-Verbund, bevor sie Claude Code startet, und sie liest `ANTHROPIC_AUTH_TOKEN` nicht, daher erfüllt die Eingabe diese Start-Prüfung. Die Env-Variable ist das, was den Schlüssel in den `Authorization`-Header legt, den das Gateway liest; die Kopie in `x-api-key` wird ignoriert:

235 235 

236```yaml theme={null}236```yaml theme={null}

237env:237env:


285 285 

286[Claude Code in Slack](/de/slack) und [Claude Code im Web](/de/claude-code-on-the-web) sind von Anthropic gehostete Produkte, die immer die Anthropic-API verwenden; sie sind nicht Teil einer Gateway-Bereitstellung. Gateway-Variablen, die in der Umgebungskonfiguration einer Cloud-Sitzung festgelegt sind, werden nicht angewendet. Wenn Ihr Datenverkehr auf dem Gateway bleiben muss, aktivieren Sie diese Oberflächen nicht für diese Benutzer.286[Claude Code in Slack](/de/slack) und [Claude Code im Web](/de/claude-code-on-the-web) sind von Anthropic gehostete Produkte, die immer die Anthropic-API verwenden; sie sind nicht Teil einer Gateway-Bereitstellung. Gateway-Variablen, die in der Umgebungskonfiguration einer Cloud-Sitzung festgelegt sind, werden nicht angewendet. Wenn Ihr Datenverkehr auf dem Gateway bleiben muss, aktivieren Sie diese Oberflächen nicht für diese Benutzer.

287 287 

288[Remote Control](/de/remote-control) und [Sprachdiktat](/de/voice-dictation) verlassen sich beide auf eine claude.ai-Identität: Remote Control, um eine Live-Sitzung mit Ihrem Konto zu koppeln, und Sprachdiktat, um den claude.ai-Transkriptions-Endpunkt zu erreichen. Sie sind nicht verfügbar, während `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` oder ein `apiKeyHelper` aktiv ist. Um eines davon zu verwenden, heben Sie die Festlegung der Gateway-Anmeldedaten auf und melden Sie sich stattdessen mit claude.ai an; `/doctor` benennt die Variable, die aufgehoben werden soll.288[Remote Control](/de/remote-control) und [Sprachdiktat](/de/voice-dictation) verlassen sich beide auf eine claude.ai-Identität: Remote Control, um eine Live-Sitzung mit Ihrem Konto zu koppeln, und Sprachdiktat, um den claude.ai-Transkriptions-Endpunkt zu erreichen. Sie sind nicht verfügbar, während `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` oder ein `apiKeyHelper` aktiv ist. {/* min-version: 2.1.196 */}Ab v2.1.196 ist Remote Control auch deaktiviert, während `ANTHROPIC_BASE_URL` auf einen Nicht-Anthropic-Host verweist, daher ist die Anmeldung mit claude.ai allein nicht ausreichend.

289 

290Um eines dieser Features wiederherzustellen, melden Sie sich mit claude.ai an und heben Sie die Festlegung der Gateway-Variablen auf, die es überprüft. `/doctor` benennt die Anmeldedaten-Variable, die aufgehoben werden soll.

291 

292* Sprachdiktat: Heben Sie die Festlegung der Gateway-Anmeldedaten auf

293* Remote Control: Heben Sie die Festlegung der Gateway-Anmeldedaten und `ANTHROPIC_BASE_URL` auf

289 294 

290<h2 id="additional-configuration">295<h2 id="additional-configuration">

291 Zusätzliche Konfiguration296 Zusätzliche Konfiguration


318```json theme={null}323```json theme={null}

319{324{

320 "env": {325 "env": {

321 "ANTHROPIC_CUSTOM_HEADERS": "X-Org-Route: prod\nX-Tenant: acme"326 "ANTHROPIC_CUSTOM_HEADERS": "X-Org-Route: prod\nX-Tenant: example"

322 }327 }

323}328}

324```329```


388 Leiten Sie zu einem Cloud-Anbieter über ein Gateway weiter393 Leiten Sie zu einem Cloud-Anbieter über ein Gateway weiter

389</h3>394</h3>

390 395 

391Diese Konfigurationen richten Claude Code auf ein Gateway über eine anbieter-spezifische Basis-URL-Variable anstelle von `ANTHROPIC_BASE_URL` aus. Bedrock- und Vertex-Gateways akzeptieren die nativen Anforderungsformate dieser Anbieter; Foundry- und Claude Platform on AWS-Gateways akzeptieren das Anthropic Messages-Format und unterscheiden sich nur in der Basis-URL-Variable, die sie erreicht.396Diese Konfigurationen richten Claude Code auf ein Gateway über eine anbieter-spezifische Basis-URL-Variable anstelle von `ANTHROPIC_BASE_URL` aus. Bedrock- und Agent Platform-Gateways akzeptieren die nativen Anforderungsformate dieser Anbieter; Foundry- und Claude Platform on AWS-Gateways akzeptieren das Anthropic Messages-Format und unterscheiden sich nur in der Basis-URL-Variable, die sie erreicht.

392 397 

393Verwenden Sie eine nur, wenn Ihr Gateway-Team speziell Bedrock, Vertex, Foundry oder die Claude Platform on AWS benannt hat. Wenn die [Überprüfungsanfrage](#verify-the-connection) oben JSON zurückgegeben hat, können Sie diesen Abschnitt überspringen.398Verwenden Sie eine nur, wenn Ihr Gateway-Team speziell Bedrock, Agent Platform, Foundry oder die Claude Platform on AWS benannt hat. Wenn die [Überprüfungsanfrage](#verify-the-connection) oben JSON zurückgegeben hat, können Sie diesen Abschnitt überspringen.

394 399 

395Legen Sie den Block für den Anbieter fest, den Ihr Gateway-Team benannt hat. Die Skip-Auth-Variablen teilen Claude Code mit, dass Anfragen nicht mit Anbieter-Anmeldedaten signiert werden sollen, da das Gateway diese hält. Wenn das Gateway sein eigenes Token benötigt, fügen Sie `ANTHROPIC_AUTH_TOKEN` nach dem Block hinzu, außer für Foundry, das `ANTHROPIC_FOUNDRY_API_KEY` wie gezeigt verwendet.400Legen Sie den Block für den Anbieter fest, den Ihr Gateway-Team benannt hat. Die Skip-Auth-Variablen teilen Claude Code mit, dass Anfragen nicht mit Anbieter-Anmeldedaten signiert werden sollen, da das Gateway diese hält. Wenn das Gateway sein eigenes Token benötigt, fügen Sie `ANTHROPIC_AUTH_TOKEN` nach dem Block hinzu, außer für Foundry, das `ANTHROPIC_FOUNDRY_API_KEY` wie gezeigt verwendet.

396 401 


416 </Tab>421 </Tab>

417</Tabs>422</Tabs>

418 423 

419<h4 id="google-vertex-ai">424<h4 id="google-cloud’s-agent-platform">

420 Google Vertex AI425 Google Cloud's Agent Platform

421</h4>426</h4>

422 427 

423<Tabs>428<Tabs>

Details

8 8 

9Diese Seite dokumentiert die Anfragen, die Claude Code an ein Gateway sendet, einschließlich der Endpunkte, die es aufruft, der Header und Body-Felder, die das Gateway weiterleiten muss, und welche Funktionen nicht mehr funktionieren, wenn dies nicht der Fall ist. Sie ist für Operatoren geschrieben, die ein Gateway-Produkt für die Zusammenarbeit mit Claude Code konfigurieren.9Diese Seite dokumentiert die Anfragen, die Claude Code an ein Gateway sendet, einschließlich der Endpunkte, die es aufruft, der Header und Body-Felder, die das Gateway weiterleiten muss, und welche Funktionen nicht mehr funktionieren, wenn dies nicht der Fall ist. Sie ist für Operatoren geschrieben, die ein Gateway-Produkt für die Zusammenarbeit mit Claude Code konfigurieren.

10 10 

11Ein laufendes [Claude-Apps-Gateway](/de/claude-apps-gateway) stellt eine maschinenlesbare Version dieses Vertrags unter `GET /protocol` bereit, die dieselben Weiterleitungsanforderungen sowie die Claude-Apps-Gateway-spezifischen Endpunkte für SSO-Anmeldung, verwaltete Einstellungsbereitstellung und Telemetrie abdeckt. Claude-Apps-Gateway wird aus derselben `claude`-Binärdatei wie die CLI ausgeführt, daher ist der [Claude-Apps-Gateway-Schnellstart](/de/claude-apps-gateway#quickstart) der kürzeste Weg zu einer laufenden Instanz, von der Sie die Spezifikation abrufen können.

12 

11<Note>13<Note>

12 * Um ein vorhandenes oder Gateway eines Drittanbieters für Ihre Organisation bereitzustellen, siehe [LLM-Gateway bereitstellen](/de/llm-gateway-rollout)14 * Um ein vorhandenes oder Gateway eines Drittanbieters für Ihre Organisation bereitzustellen, siehe [LLM-Gateway bereitstellen](/de/llm-gateway-rollout)

13 * Wenn Sie ein einzelner Entwickler sind, der Claude Code mit einer Anmeldedaten, die Sie erhalten haben, bei einem Gateway authentifiziert, siehe [Claude Code mit einem LLM-Gateway verbinden](/de/llm-gateway-connect)15 * Wenn Sie ein einzelner Entwickler sind, der Claude Code mit einer Anmeldedaten, die Sie erhalten haben, bei einem Gateway authentifiziert, siehe [Claude Code mit einem LLM-Gateway verbinden](/de/llm-gateway-connect)


32 API-Formate34 API-Formate

33</h2>35</h2>

34 36 

35Ein Gateway muss mindestens eines der folgenden API-Formate für Claude Code-Clients bereitstellen. Welches Format Claude Code spricht, wird durch die Konfiguration des Clients bestimmt: die Variable in der Spalte „Ausgewählt von" der folgenden Tabelle verweist Claude Code auf Ihr Gateway in diesem Format.37Ein Gateway muss mindestens eines der folgenden API-Formate für Claude Code-Clients bereitstellen. Welches Format Claude Code spricht, wird durch die Konfiguration des Clients bestimmt: die Variable in der Spalte „Ausgewählt von" der folgenden Tabelle verweist Claude Code auf Ihr Gateway in diesem Format. Agent Platform ist Googles Claude-Endpunkt in Google Cloud, ehemals Vertex AI; seine Variablennamen behalten die Schreibweise `VERTEX`.

36 38 

37| Format | Ausgewählt von | Endpunkte | Unverändert weiterleiten |39| Format | Ausgewählt von | Endpunkte | Unverändert weiterleiten |

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

39| Anthropic Messages | `ANTHROPIC_BASE_URL` | `/v1/messages`, `/v1/messages/count_tokens` (optional) | `anthropic-beta` und `anthropic-version` Request-Header |41| Anthropic Messages | `ANTHROPIC_BASE_URL` | `/v1/messages`, `/v1/messages/count_tokens` (optional) | `anthropic-beta` und `anthropic-version` Request-Header |

40| Bedrock InvokeModel | `ANTHROPIC_BEDROCK_BASE_URL` mit `CLAUDE_CODE_USE_BEDROCK=1` | `/model/{model}/invoke`, `/model/{model}/invoke-with-response-stream` | `anthropic_beta` und `anthropic_version` Request-Body-Felder |42| Bedrock InvokeModel | `ANTHROPIC_BEDROCK_BASE_URL` mit `CLAUDE_CODE_USE_BEDROCK=1` | `/model/{model}/invoke`, `/model/{model}/invoke-with-response-stream` | `anthropic_beta` und `anthropic_version` Request-Body-Felder |

41| Vertex rawPredict | `ANTHROPIC_VERTEX_BASE_URL` mit `CLAUDE_CODE_USE_VERTEX=1` | `:rawPredict`, `:streamRawPredict`, `count-tokens:rawPredict` (optional) | `anthropic-beta` und `anthropic-version` Request-Header sowie das `anthropic_version` Request-Body-Feld |43| Agent Platform rawPredict | `ANTHROPIC_VERTEX_BASE_URL` mit `CLAUDE_CODE_USE_VERTEX=1` | `:rawPredict`, `:streamRawPredict`, `count-tokens:rawPredict` (optional) | `anthropic-beta` und `anthropic-version` Request-Header sowie das `anthropic_version` Request-Body-Feld |

42 44 

43<h3 id="foundry-and-claude-platform-on-aws">45<h3 id="foundry-and-claude-platform-on-aws">

44 Foundry und Claude Platform on AWS46 Foundry und Claude Platform on AWS


50 Optionale Endpunkte und Startup-Traffic52 Optionale Endpunkte und Startup-Traffic

51</h3>53</h3>

52 54 

53Token-Counting-Endpunkte sind die einzigen optionalen: Wenn sie fehlen, schätzt Claude Code die Kontextnutzung lokal. Inferenzanfragen werden an `/v1/messages?beta=true` gesendet, daher sollten Sie auf dem Pfad abgleichen, nicht auf der vollständigen URL. Die Vertex-Methode hängt Suffixe an den Publisher-Modellpfad an, wie in `/projects/{project}/locations/{location}/publishers/anthropic/models/{model}:streamRawPredict`.55Token-Counting-Endpunkte sind die einzigen optionalen: Wenn sie fehlen, schätzt Claude Code die Kontextnutzung lokal. Inferenzanfragen werden an `/v1/messages?beta=true` gesendet, daher sollten Sie auf dem Pfad abgleichen, nicht auf der vollständigen URL. Die Agent Platform-Methode hängt Suffixe an den Publisher-Modellpfad an, wie in `/projects/{project}/locations/{location}/publishers/anthropic/models/{model}:streamRawPredict`.

54 56 

55Ein Gateway sieht auch Best-Effort-Startup-Traffic, den es ablehnen kann, ohne etwas zu unterbrechen: eine `HEAD /` Konnektivitätsprobe und auf Bedrock-Format-Gateways eine `GET /inference-profiles?type=SYSTEM_DEFINED` Anfrage.57Ein Gateway sieht auch Best-Effort-Startup-Traffic, den es ablehnen kann, ohne etwas zu unterbrechen: eine `HEAD /` Konnektivitätsprobe und auf Bedrock-Format-Gateways eine `GET /inference-profiles?type=SYSTEM_DEFINED` Anfrage.

56 58 


66 68 

67Welches Format der Client spricht, bestimmt, was Ihr Gateway empfängt. Der häufige Fehlermodus ist ein Mismatch zwischen dem Format, das der Client an Ihr Gateway sendet, und dem Format, das der Upstream-Provider dahinter akzeptiert.69Welches Format der Client spricht, bestimmt, was Ihr Gateway empfängt. Der häufige Fehlermodus ist ein Mismatch zwischen dem Format, das der Client an Ihr Gateway sendet, und dem Format, das der Upstream-Provider dahinter akzeptiert.

68 70 

69* Wenn der Client das Bedrock- oder Vertex-Format spricht, sendet Claude Code nur die Teilmenge seiner vollständigen Funktionsmenge, die diese Provider akzeptieren71* Wenn der Client das Bedrock- oder Agent Platform-Format spricht, sendet Claude Code nur die Teilmenge seiner vollständigen Funktionsmenge, die diese Provider akzeptieren

70* Wenn der Client das Anthropic Messages-Format spricht, sendet Claude Code die vollständige Menge, auch wenn Ihr Gateway an ein Bedrock- oder Vertex-Upstream weiterleitet72* Wenn der Client das Anthropic Messages-Format spricht, sendet Claude Code die vollständige Menge, auch wenn Ihr Gateway an ein Bedrock- oder Agent Platform-Upstream weiterleitet

71 73 

72Diese Differenz zu überbrücken ist die Aufgabe Ihres Gateways. [Funktionsdurchleitung](#feature-pass-through) beschreibt, was bricht, wenn dies nicht der Fall ist.74Diese Differenz zu überbrücken ist die Aufgabe Ihres Gateways. [Funktionsdurchleitung](#feature-pass-through) beschreibt, was bricht, wenn dies nicht der Fall ist.

73 75 


80| Header | Beschreibung |82| Header | Beschreibung |

81| :------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |83| :------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

82| `Authorization`, `x-api-key` | Die Gateway-Anmeldedaten des Entwicklers, in einem oder beiden Headern, je nachdem, welche [Anmeldedaten-Variable](/de/llm-gateway-connect#set-the-credential-variable) sie setzen |84| `Authorization`, `x-api-key` | Die Gateway-Anmeldedaten des Entwicklers, in einem oder beiden Headern, je nachdem, welche [Anmeldedaten-Variable](/de/llm-gateway-connect#set-the-credential-variable) sie setzen |

83| `anthropic-version` | API-Version, derzeit `2023-06-01`. Bedrock- und Vertex-Format-Anfragen enthalten auch das `anthropic_version` Body-Feld, dessen Wert die Provider-Dialekt-Zeichenkette ist, nicht der Wert dieses Headers |85| `anthropic-version` | API-Version, derzeit `2023-06-01`. Bedrock- und Agent Platform-Format-Anfragen enthalten auch das `anthropic_version` Body-Feld, dessen Wert die Provider-Dialekt-Zeichenkette ist, nicht der Wert dieses Headers |

84| `anthropic-beta` | Komma-getrennte Funktionswerte für die Anfrage. Leiten Sie den Header wörtlich weiter; erstellen Sie keine Allowlist einzelner Werte, da sich die Menge mit Claude Code-Versionen ändert. Wenn sich der Entwickler mit einer claude.ai-Anmeldung authentifiziert, was möglich ist, wenn `ANTHROPIC_BASE_URL` ohne eine Gateway-Anmeldedaten-Variable gesetzt ist, trägt dieser Header auch eine OAuth-Funktion, die das Upstream benötigt, und das Löschen führt zu `401` Fehlern bei diesen Anfragen |86| `anthropic-beta` | Komma-getrennte Funktionswerte für die Anfrage. Leiten Sie den Header wörtlich weiter; erstellen Sie keine Allowlist einzelner Werte, da sich die Menge mit Claude Code-Versionen ändert. Wenn sich der Entwickler mit einer claude.ai-Anmeldung authentifiziert, was möglich ist, wenn `ANTHROPIC_BASE_URL` ohne eine Gateway-Anmeldedaten-Variable gesetzt ist, trägt dieser Header auch eine OAuth-Funktion, die das Upstream benötigt, und das Löschen führt zu `401` Fehlern bei diesen Anfragen |

85| `x-claude-code-session-id` | Ein eindeutiger Bezeichner für die aktuelle Claude Code-Sitzung. Verwenden Sie ihn, um alle Anfragen aus einer Sitzung zu aggregieren, ohne Request-Bodies zu analysieren |87| `x-claude-code-session-id` | Ein eindeutiger Bezeichner für die aktuelle Claude Code-Sitzung. Verwenden Sie ihn, um alle Anfragen aus einer Sitzung zu aggregieren, ohne Request-Bodies zu analysieren |

86| `x-claude-code-agent-id` | Bezeichner des [Subagenten](/de/sub-agents), der die Anfrage gestellt hat, vorhanden nur bei Anfragen von einem Agenten, den Claude Code in der Sitzung spawnt. Verwenden Sie ihn mit der Sitzungs-ID, um Kosten parallelen Agenten zuzuordnen |88| `x-claude-code-agent-id` | Bezeichner des [Subagenten](/de/sub-agents), der die Anfrage gestellt hat, vorhanden nur bei Anfragen von einem Agenten, den Claude Code in der Sitzung spawnt. Verwenden Sie ihn mit der Sitzungs-ID, um Kosten parallelen Agenten zuzuordnen |


98 100 

99Beim Weiterleiten an ein Anthropic-Format-Upstream leiten Sie `anthropic-*` Request-Header und Request-Body-Felder unverändert durch, anstatt die heute beobachteten zu allowlisten. Ein Gateway, das an eine beobachtete Liste gepinnt ist, löscht den Header oder das Feld der nächsten Funktion und bricht es bei der Veröffentlichung, die es einführt.101Beim Weiterleiten an ein Anthropic-Format-Upstream leiten Sie `anthropic-*` Request-Header und Request-Body-Felder unverändert durch, anstatt die heute beobachteten zu allowlisten. Ein Gateway, das an eine beobachtete Liste gepinnt ist, löscht den Header oder das Feld der nächsten Funktion und bricht es bei der Veröffentlichung, die es einführt.

100 102 

101Die Ausnahme ist ein Nicht-Anthropic-Upstream wie Bedrock oder Vertex, wo die Überbrückung der Schemadifferenz die Aufgabe des Gateways ist; siehe [Funktionsdurchleitung](#feature-pass-through).103Die Ausnahme ist ein Nicht-Anthropic-Upstream wie Bedrock oder Agent Platform, wo die Überbrückung der Schemadifferenz die Aufgabe des Gateways ist; siehe [Funktionsdurchleitung](#feature-pass-through).

102 104 

103<h2 id="system-prompt-attribution-block">105<h2 id="system-prompt-attribution-block">

104 System-Prompt-Attributionsblock106 System-Prompt-Attributionsblock


112 Funktionsdurchleitung114 Funktionsdurchleitung

113</h2>115</h2>

114 116 

115Claude Code behandelt ein `ANTHROPIC_BASE_URL` Gateway als einen Anthropic-Format-Endpunkt und sendet ihm die Beta-Header und Request-Body-Felder, die es an `api.anthropic.com` sendet, außer einer kleinen Menge von Diagnosen und Standardwerten, die für direkte Verbindungen reserviert sind.117Claude Code behandelt ein `ANTHROPIC_BASE_URL` Gateway als einen Anthropic-Format-Endpunkt und sendet ihm die Beta-Header und Request-Body-Felder, die es an `api.anthropic.com` sendet, außer einer kleinen Menge von Diagnosen und Standardwerten, die für direkte Verbindungen reserviert sind, wie z. B. der unten behandelte Fine-Grained-Tool-Streaming-Standard. Diese Menge variiert je nach Version, daher verlassen Sie sich nicht auf ihren Inhalt.

116 118 

117Funktionen, die Body-Felder hinzufügen, paaren sie mit einem Beta-Header, und das Paar reist zusammen. Ein Gateway, das den Header löscht, während es den Body durchleitet, oder ein Anthropic-Format-Body an ein Upstream mit einem anderen Schema weiterleitet, erzeugt harte `400` Fehler; nur wenn beide Hälften zusammen fehlen, schaltet sich die Funktion stillschweigend aus. Ein Gateway, das Request-Bodies zur Inhaltsüberprüfung umschreibt oder redigiert, bricht die Paarung auf die gleiche Weise wie das Löschen, daher überprüfen Sie ohne Änderung. Die Tabelle vermerkt, wo eine Funktion von der Paarung abweicht.119Funktionen, die Body-Felder hinzufügen, paaren sie mit einem Beta-Header, und das Paar reist zusammen. Ein Gateway, das den Header löscht, während es den Body durchleitet, oder ein Anthropic-Format-Body an ein Upstream mit einem anderen Schema weiterleitet, erzeugt harte `400` Fehler; nur wenn beide Hälften zusammen fehlen, schaltet sich die Funktion stillschweigend aus. Ein Gateway, das Request-Bodies zur Inhaltsüberprüfung umschreibt oder redigiert, bricht die Paarung auf die gleiche Weise wie das Löschen, daher überprüfen Sie ohne Änderung. Die Tabelle vermerkt, wo eine Funktion von der Paarung abweicht.

118 120 

119Fine-grained Tool Streaming ist einer der Direct-Connection-Standardwerte: Es ist standardmäßig aus, wenn Anfragen durch eine benutzerdefinierte Basis-URL geleitet werden, und ein Gateway empfängt es, wenn Entwickler [`CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1`](/de/env-vars) setzen.121Fine-Grained Tool Streaming ist einer der Direct-Connection-Standardwerte: Es ist standardmäßig aus, wenn Anfragen durch eine benutzerdefinierte Basis-URL geleitet werden, und ein Gateway empfängt es, wenn Entwickler [`CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1`](/de/env-vars) setzen.

120 122 

121| Funktion | Header und Body-Paar | Symptom bei Fehler | Abhilfe |123| Funktion | Header und Body-Paar | Symptom bei Fehler | Abhilfe |

122| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------- |124| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------- |


124| [Kontextverwaltung](https://platform.claude.com/docs/de/build-with-claude/context-management) | Kontextverwaltungs-Beta-Header paart sich mit dem `context_management` Body-Feld | `400` mit `Extra inputs are not permitted`. Häufig, wenn ein Gateway Anthropic-Format-Anfragen akzeptiert, aber an Bedrock weiterleitet | Leiten Sie beide weiter, oder [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/de/env-vars) |126| [Kontextverwaltung](https://platform.claude.com/docs/de/build-with-claude/context-management) | Kontextverwaltungs-Beta-Header paart sich mit dem `context_management` Body-Feld | `400` mit `Extra inputs are not permitted`. Häufig, wenn ein Gateway Anthropic-Format-Anfragen akzeptiert, aber an Bedrock weiterleitet | Leiten Sie beide weiter, oder [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/de/env-vars) |

125| [Erweiterter Kontext](https://platform.claude.com/docs/de/build-with-claude/context-windows#1m-token-context-window) und [verschachteltes Denken](https://platform.claude.com/docs/de/build-with-claude/extended-thinking#interleaved-thinking) | Nur Beta-Header, kein Body-Feld | Stillschweigend nicht verfügbar, wenn der Header gelöscht wird; das Upstream sieht die Funktionsanfrage nie | Leiten Sie `anthropic-beta` wörtlich weiter |127| [Erweiterter Kontext](https://platform.claude.com/docs/de/build-with-claude/context-windows#1m-token-context-window) und [verschachteltes Denken](https://platform.claude.com/docs/de/build-with-claude/extended-thinking#interleaved-thinking) | Nur Beta-Header, kein Body-Feld | Stillschweigend nicht verfügbar, wenn der Header gelöscht wird; das Upstream sieht die Funktionsanfrage nie | Leiten Sie `anthropic-beta` wörtlich weiter |

126| Beta [Tool-Felder](https://platform.claude.com/docs/de/agents-and-tools/tool-use/overview) | Tool-bezogene Beta-Header paaren sich mit Tool-Schema-Feldern wie `strict` und `defer_loading` | `400` mit Nennung des nicht erkannten Tool-Schema-Feldes, wenn der Body ohne seinen Header durchgeht | Leiten Sie beide weiter, oder `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` |128| Beta [Tool-Felder](https://platform.claude.com/docs/de/agents-and-tools/tool-use/overview) | Tool-bezogene Beta-Header paaren sich mit Tool-Schema-Feldern wie `strict` und `defer_loading` | `400` mit Nennung des nicht erkannten Tool-Schema-Feldes, wenn der Body ohne seinen Header durchgeht | Leiten Sie beide weiter, oder `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` |

127| [Aufwand](https://platform.claude.com/docs/de/build-with-claude/effort) und [strukturierte Ausgaben](https://platform.claude.com/docs/de/build-with-claude/structured-outputs) | Das `output_config` Body-Feld trägt Aufwand, strukturierte Ausgabeformat und Task-Budget-Einstellungen; jedes paart sich mit seinem eigenen Beta-Header | `400` mit Nennung von `output_config`, oft `Extra inputs are not permitted`, auf Bedrock- und Vertex-Upstreams | Leiten Sie das Feld und seine Header zusammen weiter |129| [Aufwand](https://platform.claude.com/docs/de/build-with-claude/effort) und [strukturierte Ausgaben](https://platform.claude.com/docs/de/build-with-claude/structured-outputs) | Das `output_config` Body-Feld trägt Aufwand, strukturierte Ausgabeformat und Task-Budget-Einstellungen; jedes paart sich mit seinem eigenen Beta-Header | `400` mit Nennung von `output_config`, oft `Extra inputs are not permitted`, auf Bedrock- und Agent-Platform-Upstreams | Leiten Sie das Feld und seine Header zusammen weiter |

128| [Token-Counting](https://platform.claude.com/docs/de/build-with-claude/token-counting) | Keine Beta-Paarung; verwendet den `count_tokens` Endpunkt | Claude Code fällt auf lokale Kontextnutzungsschätzung zurück | Stellen Sie den Endpunkt bereit, wenn Sie genaue Zählungen möchten |130| [Token-Counting](https://platform.claude.com/docs/de/build-with-claude/token-counting) | Keine Beta-Paarung; verwendet den `count_tokens` Endpunkt | Claude Code fällt auf lokale Kontextnutzungsschätzung zurück | Stellen Sie den Endpunkt bereit, wenn Sie genaue Zählungen möchten |

129 131 

130Die `ANTHROPIC_DEFAULT_*_MODEL_SUPPORTED_CAPABILITIES` [Variablen](/de/model-config) deklarieren Modellkapazitäten nur in den Provider-Konfigurationen: `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY` und [`CLAUDE_CODE_USE_MANTLE`](/de/amazon-bedrock#use-the-mantle-endpoint). Sie haben keine Auswirkung hinter einem `ANTHROPIC_BASE_URL` Gateway.132Die `ANTHROPIC_DEFAULT_*_MODEL_SUPPORTED_CAPABILITIES` [Variablen](/de/model-config) deklarieren Modellkapazitäten nur in den Provider-Konfigurationen: `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY` und [`CLAUDE_CODE_USE_MANTLE`](/de/amazon-bedrock#use-the-mantle-endpoint). Sie haben keine Auswirkung hinter einem `ANTHROPIC_BASE_URL` Gateway.


182{184{

183 "data": [185 "data": [

184 { "id": "claude-sonnet-4-6", "display_name": "Claude Sonnet 4.6" },186 { "id": "claude-sonnet-4-6", "display_name": "Claude Sonnet 4.6" },

185 { "id": "claude-opus-4-7" }187 { "id": "claude-opus-4-8" }

186 ]188 ]

187}189}

188```190```


191 Auswahl-Einträge und Caching193 Auswahl-Einträge und Caching

192</h3>194</h3>

193 195 

194Die Auswahl ist die interaktive Modelliste, die sich öffnet, wenn ein Entwickler `/model` in Claude Code ausführt. Jeder ermittelte Eintrag ist mit „Aus Gateway" gekennzeichnet und verwendet `display_name`, wenn bereitgestellt. Eine ermittelte ID wird übersprungen, nur wenn sie genau einer Zeile in der Auswahl entspricht, oder wenn sowohl die ermittelte als auch die vorhandene ID zu [Fable](/de/model-config#work-with-fable-5) aufgelöst werden. Eingebaute Zeilen werden nach Aliasen wie `sonnet` verschlüsselt, daher fügt eine ermittelte ID wie `claude-sonnet-4-6` ihre eigene „Aus Gateway" Zeile neben dem eingebauten Eintrag hinzu. Die [`availableModels` verwaltete Einstellung](/de/settings#available-settings) begrenzt, was die Ermittlung hinzufügen kann.196Die Auswahl ist die interaktive Modelliste, die sich öffnet, wenn ein Entwickler `/model` in Claude Code ausführt. Jeder ermittelte Eintrag ist mit „Aus Gateway" gekennzeichnet und verwendet `display_name`, wenn bereitgestellt. Die [`availableModels` verwaltete Einstellung](/de/settings#available-settings) begrenzt, was die Ermittlung hinzufügen kann.

197 

198Eine ermittelte ID wird übersprungen, nur wenn sie genau einer Zeile in der Auswahl entspricht, oder wenn sowohl die ermittelte als auch die vorhandene ID zu [Fable](/de/model-config#work-with-fable-5) aufgelöst werden. Eingebaute Zeilen werden nach Aliasen wie `sonnet` verschlüsselt, daher fügt eine ermittelte ID wie `claude-sonnet-4-6` ihre eigene „Aus Gateway" Zeile neben dem eingebauten Eintrag hinzu, anstatt ihn zu ersetzen.

195 199 

196Ergebnisse werden in `~/.claude/cache/gateway-models.json` oder `%USERPROFILE%\.claude\cache\gateway-models.json` unter Windows zwischengespeichert und bei jedem Startup aktualisiert. Wenn die Anfrage fehlschlägt oder das Gateway `/v1/models` nicht implementiert, fällt die Auswahl auf die zwischengespeicherte Liste aus dem vorherigen Startup oder auf die eingebaute Modelliste zurück. Wenn Ihr Gateway Claude-Modelle unter Aliasen bereitstellt, die nicht dem Ermittlungsfilter entsprechen, können Entwickler diese Aliase manuell mit den [Modellkonfigurationsvariablen](/de/model-config) hinzufügen.200Ergebnisse werden in `~/.claude/cache/gateway-models.json` oder `%USERPROFILE%\.claude\cache\gateway-models.json` unter Windows zwischengespeichert und bei jedem Startup aktualisiert. Wenn die Anfrage fehlschlägt oder das Gateway `/v1/models` nicht implementiert, fällt die Auswahl auf die zwischengespeicherte Liste aus dem vorherigen Startup oder auf die eingebaute Modelliste zurück. Wenn Ihr Gateway Claude-Modelle unter Aliasen bereitstellt, die nicht dem Ermittlungsfilter entsprechen, können Entwickler diese Aliase manuell mit den [Modellkonfigurationsvariablen](/de/model-config) hinzufügen.

197 201 


201 205 

202Für den Rest der Gateway-Dokumentationsserie und die zugrunde liegenden API-Referenzen:206Für den Rest der Gateway-Dokumentationsserie und die zugrunde liegenden API-Referenzen:

203 207 

204* [LLM-Gateways-Übersicht](/de/llm-gateway): was ein Gateway ist und wie es mit claude.ai-Abonnements interagiert208* [Gateway-Übersicht](/de/gateways): was ein Gateway ist und wie Sie zwischen Claude Apps Gateway und einem anderen Produkt wählen

209* [Andere LLM-Gateways](/de/llm-gateway): wie Sie ein Gateway bereitstellen, das Ihre Organisation betreibt, und wie es mit claude.ai-Abonnements interagiert

205* [LLM-Gateway für Ihre Organisation bereitstellen](/de/llm-gateway-rollout): die Admin-Checkliste, die diesen Vertrag verwendet210* [LLM-Gateway für Ihre Organisation bereitstellen](/de/llm-gateway-rollout): die Admin-Checkliste, die diesen Vertrag verwendet

206* [Claude Code mit einem LLM-Gateway verbinden](/de/llm-gateway-connect): Pro-Entwickler-Konfiguration und die Fehlerbehebungstabelle211* [Claude Code mit einem LLM-Gateway verbinden](/de/llm-gateway-connect): Pro-Entwickler-Konfiguration und die Fehlerbehebungstabelle

207* [Beta-Headers-Referenz](https://platform.claude.com/docs/de/api/beta-headers): der aktuelle Satz von `anthropic-beta` Werten212* [Beta-Headers-Referenz](https://platform.claude.com/docs/de/api/beta-headers): der aktuelle Satz von `anthropic-beta` Werten

Details

22* Ein Gateway, das auf Ihrer Infrastruktur bereitgestellt ist, HTTPS auf der genauen Adresse bereitstellt, die Sie an Entwickler verteilen werden, nicht auf einer Adresse, die zu ihr umleitet, und so konfiguriert ist, dass Claude-Modellnamen zu Ihrem Anbieter weitergeleitet werden22* Ein Gateway, das auf Ihrer Infrastruktur bereitgestellt ist, HTTPS auf der genauen Adresse bereitstellt, die Sie an Entwickler verteilen werden, nicht auf einer Adresse, die zu ihr umleitet, und so konfiguriert ist, dass Claude-Modellnamen zu Ihrem Anbieter weitergeleitet werden

23* Eine Anbieteranmeldedaten für das Gateway zum Weiterleiten mit:23* Eine Anbieteranmeldedaten für das Gateway zum Weiterleiten mit:

24 * Für die Anthropic API: einen API-Schlüssel aus der [Claude-Konsole](https://platform.claude.com/settings/keys)24 * Für die Anthropic API: einen API-Schlüssel aus der [Claude-Konsole](https://platform.claude.com/settings/keys)

25 * Für einen Cloud-Anbieter: Cloud-Anmeldedaten mit Modellzugriff. Siehe die Voraussetzungen auf der Seite [Amazon Bedrock](/de/amazon-bedrock#prerequisites), [Google Vertex AI](/de/google-vertex-ai#prerequisites) oder [Microsoft Foundry](/de/microsoft-foundry#prerequisites)25 * Für einen Cloud-Anbieter: Cloud-Anmeldedaten mit Modellzugriff. Siehe die Voraussetzungen auf der Seite [Amazon Bedrock](/de/amazon-bedrock#prerequisites), [Google Cloud's Agent Platform](/de/google-vertex-ai#prerequisites) oder [Microsoft Foundry](/de/microsoft-foundry#prerequisites)

26* Eine Möglichkeit, Einstellungsdateien auf Entwicklermaschinen bereitzustellen, z. B. MDM oder Konfigurationsverwaltung26* Eine Möglichkeit, Einstellungsdateien auf Entwicklermaschinen bereitzustellen, z. B. MDM oder Konfigurationsverwaltung

27 * Wenn Sie noch keine haben, vergleicht [wie Einstellungen Geräte erreichen](/de/admin-setup#decide-how-settings-reach-devices) die Optionen27 * Wenn Sie noch keine haben, vergleicht [wie Einstellungen Geräte erreichen](/de/admin-setup#decide-how-settings-reach-devices) die Optionen

28 28 


180Der gleiche Satz von Variablen gilt, welchen Weg Sie auch wählen. Die meisten Rollouts benötigen nur `ANTHROPIC_BASE_URL` und eine Anmeldedaten; fügen Sie die bedingten Zeilen ein, wenn Ihr Gateway-Setup sie erfordert.180Der gleiche Satz von Variablen gilt, welchen Weg Sie auch wählen. Die meisten Rollouts benötigen nur `ANTHROPIC_BASE_URL` und eine Anmeldedaten; fügen Sie die bedingten Zeilen ein, wenn Ihr Gateway-Setup sie erfordert.

181 181 

182| Variable oder Einstellung | Was sie tut | Einschließen wenn |182| Variable oder Einstellung | Was sie tut | Einschließen wenn |

183| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |183| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

184| `ANTHROPIC_BASE_URL` | Sendet Claude Codes API-Anfragen an das Gateway anstelle von `api.anthropic.com` | Immer |184| `ANTHROPIC_BASE_URL` | Sendet Claude Codes API-Anfragen an das Gateway anstelle von `api.anthropic.com` | Immer |

185| `apiKeyHelper`, oder eine Anmeldedaten in `ANTHROPIC_AUTH_TOKEN` oder `ANTHROPIC_API_KEY` | Authentifiziert jede Anfrage an das Gateway. Der Helper führt einen Befehl aus, um den Schlüssel zu holen; die Variablen halten einen statischen Schlüssel, gesendet als `Authorization: Bearer` und `x-api-key` jeweils | Immer; eine der drei |185| `apiKeyHelper`, oder eine Anmeldedaten in `ANTHROPIC_AUTH_TOKEN` oder `ANTHROPIC_API_KEY` | Authentifiziert jede Anfrage an das Gateway. Der Helper führt einen Befehl aus, um den Schlüssel zu holen; die Variablen halten einen statischen Schlüssel, gesendet als `Authorization: Bearer` und `x-api-key` jeweils | Immer; eine der drei |

186| `ANTHROPIC_CUSTOM_HEADERS` | Fügt zusätzliche HTTP-Header zu jeder API-Anfrage hinzu | Ihr Gateway erfordert einen Mandanten- oder Routing-Header bei jeder Anfrage |186| `ANTHROPIC_CUSTOM_HEADERS` | Fügt zusätzliche HTTP-Header zu jeder API-Anfrage hinzu | Ihr Gateway erfordert einen Mandanten- oder Routing-Header bei jeder Anfrage |

187| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Fragt das `/v1/models` des Gateways beim Start ab und fügt die zurückgegebenen Namen zur `/model`-Auswahl hinzu | Ihr Gateway stellt `/v1/models` bereit und Sie möchten, dass die Auswahl der Entwickler von ihm gefüllt wird |187| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Fragt das `/v1/models` des Gateways beim Start ab und fügt die zurückgegebenen Namen zur `/model`-Auswahl hinzu | Ihr Gateway stellt `/v1/models` bereit und Sie möchten, dass die Auswahl der Entwickler von ihm gefüllt wird |

188| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Stoppt Claude Code beim Senden von Pre-Release-Capability-Headern und Body-Feldern | Ihr Gateway leitet zu einem Bedrock- oder Vertex-Upstream weiter, der Beta-Felder ablehnt; siehe [Gateway-Anforderungen](#gateway-requirements) |188| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Stoppt Claude Code beim Senden von Pre-Release-Capability-Headern und Body-Feldern | Ihr Gateway leitet zu einem Bedrock- oder Agent Platform-Upstream weiter, der Beta-Felder ablehnt; siehe [Gateway-Anforderungen](#gateway-requirements) |

189| `ANTHROPIC_MODEL` oder [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/de/model-config) | Legen Sie fest, welchen Modellnamen Claude Code für die Hauptsitzung und für Hintergrund-Traffic anfordert | Ihr Gateway leitet Modellnamen weiter, die nicht Claude Codes Standardwerte entsprechen, oder Sie leiten [Hintergrund-Funktionalität](/de/costs#background-token-usage) an ein anderes Modell weiter. Leiten Sie sowohl die Override-Namen als auch Claude Codes Standard-Namen am Gateway weiter, da einige Unter-Aufrufe unabhängig vom Override den Standard-Namen anfordern können |189| `ANTHROPIC_MODEL` oder [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/de/model-config) | Legen Sie fest, welchen Modellnamen Claude Code für die Hauptsitzung und für Hintergrund-Traffic anfordert | Ihr Gateway leitet Modellnamen weiter, die nicht Claude Codes Standardwerte entsprechen, oder Sie leiten [Hintergrund-Funktionalität](/de/costs#background-token-usage) an ein anderes Modell weiter. Leiten Sie sowohl die Override-Namen als auch die integrierten Modell-IDs weiter, die Claude Code anfordert, wenn kein Override gesetzt ist, da einige Unter-Aufrufe unabhängig vom Override eine integrierte ID anfordern; [Modellkonfiguration](/de/model-config) behandelt, welches Modell jeder Teil einer Sitzung verwendet |

190| `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, `ANTHROPIC_FOUNDRY_BASE_URL`, oder `ANTHROPIC_AWS_BASE_URL` mit den [Variablen für diesen Anbieter](/de/llm-gateway-connect#route-to-a-cloud-provider-through-a-gateway) | Zeigen Sie Claude Code auf das Gateway durch eine anbieter-spezifische Basis-URL. Bedrock und Vertex wechseln auch zu den nativen Request-Formaten dieser Anbieter | Ihr Gateway frontet Bedrock, Vertex, Foundry oder die Claude Platform auf AWS; siehe [API-Formate](/de/llm-gateway-protocol#api-formats) |190| `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, `ANTHROPIC_FOUNDRY_BASE_URL`, oder `ANTHROPIC_AWS_BASE_URL` mit den [Variablen für diesen Anbieter](/de/llm-gateway-connect#route-to-a-cloud-provider-through-a-gateway) | Zeigen Sie Claude Code auf das Gateway durch eine anbieter-spezifische Basis-URL. Bedrock und Agent Platform wechseln auch zu den nativen Request-Formaten dieser Anbieter | Ihr Gateway frontet Bedrock, Agent Platform, Foundry oder die Claude Platform auf AWS; siehe [API-Formate](/de/llm-gateway-protocol#api-formats) |

191 191 

192<h4 id="distribute-through-managed-settings">192<h4 id="distribute-through-managed-settings">

193 Verteilen Sie über verwaltete Einstellungen193 Verteilen Sie über verwaltete Einstellungen

mcp.md +42 −12

Details

111 111 

112Stdio-Server werden als lokale Prozesse auf Ihrem Computer ausgeführt. Sie sind ideal für Tools, die direkten Systemzugriff oder benutzerdefinierte Skripte benötigen.112Stdio-Server werden als lokale Prozesse auf Ihrem Computer ausgeführt. Sie sind ideal für Tools, die direkten Systemzugriff oder benutzerdefinierte Skripte benötigen.

113 113 

114Claude Code setzt `CLAUDE_PROJECT_DIR` in der Umgebung des erzeugten Servers auf das Projektstammverzeichnis, sodass Ihr Server projektrelative Pfade auflösen kann, ohne vom Arbeitsverzeichnis abhängig zu sein. Dies ist das gleiche Verzeichnis, das Hooks in ihrer `CLAUDE_PROJECT_DIR`-Variable erhalten. Lesen Sie es aus Ihrem Serverprozess, zum Beispiel `process.env.CLAUDE_PROJECT_DIR` in Node oder `os.environ["CLAUDE_PROJECT_DIR"]` in Python. Ihr Server kann auch die MCP-Anfrage `roots/list` aufrufen, die das Verzeichnis zurückgibt, aus dem Claude Code gestartet wurde.114Claude Code setzt `CLAUDE_PROJECT_DIR` in der Umgebung des erzeugten Servers auf das Projektstammverzeichnis, sodass Ihr Server projektrelative Pfade auflösen kann, ohne vom Arbeitsverzeichnis abhängig zu sein. Dies ist das gleiche Verzeichnis, das Hooks in ihrer `CLAUDE_PROJECT_DIR`-Variable erhalten. Lesen Sie es aus Ihrem Serverprozess, zum Beispiel `process.env.CLAUDE_PROJECT_DIR` in Node oder `os.environ["CLAUDE_PROJECT_DIR"]` in Python.

115 

116Ihr Server kann auch die MCP-Anfrage `roots/list` aufrufen, die das Verzeichnis zurückgibt, aus dem Claude Code gestartet wurde.

115 117 

116Diese Variable wird in der Umgebung des Servers gesetzt, nicht in der Umgebung von Claude Code selbst, daher erfordert das Referenzieren über `${VAR}`-Erweiterung in einer projekt- oder benutzergesteuerten `.mcp.json` `command` oder `args` einen Standard wie `${CLAUDE_PROJECT_DIR:-.}`. Von Plugins bereitgestellte MCP-Konfigurationen ersetzen `${CLAUDE_PROJECT_DIR}` direkt und benötigen keinen Standard.118Diese Variable wird in der Umgebung des Servers gesetzt, nicht in der Umgebung von Claude Code selbst, daher erfordert das Referenzieren über `${VAR}`-Erweiterung in einer projekt- oder benutzergesteuerten `.mcp.json` `command` oder `args` einen Standard wie `${CLAUDE_PROJECT_DIR:-.}`. Von Plugins bereitgestellte MCP-Konfigurationen ersetzen `${CLAUDE_PROJECT_DIR}` direkt und benötigen keinen Standard.

117 119 


176 178 

177Projekt-gesteuerte Server aus `.mcp.json`, die auf Ihre Genehmigung warten, erscheinen in `claude mcp list` als `⏸ Genehmigung ausstehend`. Führen Sie `claude` interaktiv aus, um sie zu überprüfen und zu genehmigen. `claude mcp get <name>` zeigt ausstehende Server als `⏸ Genehmigung ausstehend` und abgelehnte Server als `✗ Abgelehnt` an.179Projekt-gesteuerte Server aus `.mcp.json`, die auf Ihre Genehmigung warten, erscheinen in `claude mcp list` als `⏸ Genehmigung ausstehend`. Führen Sie `claude` interaktiv aus, um sie zu überprüfen und zu genehmigen. `claude mcp get <name>` zeigt ausstehende Server als `⏸ Genehmigung ausstehend` und abgelehnte Server als `✗ Abgelehnt` an.

178 180 

181Ab v2.1.196 lesen `claude mcp list` und `claude mcp get` `.mcp.json`-Genehmigungen nur aus Einstellungsdateien, die nicht in das Repository eingecheckt werden, bis Sie dem Arbeitsbereich vertrauen, indem Sie `claude` darin ausführen und den Arbeitsbereich-Vertrauensdialog akzeptieren. Ein geklontes Repository kann seine eigenen Server nicht genehmigen: [`enableAllProjectMcpServers` oder `enabledMcpjsonServers`](/de/settings#available-settings), die in die `.claude/settings.json` des Projekts eingecheckt werden, werden in einem nicht vertrauenswürdigen Ordner ignoriert, und der Server bleibt bei `⏸ Genehmigung ausstehend` statt verbunden und Health-Check zu sein.

182 

183Genehmigungen aus diesen Quellen gelten weiterhin in einem nicht vertrauenswürdigen Ordner:

184 

185* Ihre Benutzer-`~/.claude/settings.json`

186* Verwaltete Einstellungen

187* Einstellungen, die mit `--settings` übergeben werden

188* `.claude/settings.local.json`, solange Git es nicht verfolgt

189 

190Ein `disabledMcpjsonServers`-Eintrag in einer beliebigen Einstellungsdatei lehnt den Server weiterhin ab.

191 

179Das `/mcp`-Panel zeigt die Tool-Anzahl neben jedem verbundenen Server an und kennzeichnet Server, die die Tools-Funktion ankündigen, aber keine Tools bereitstellen.192Das `/mcp`-Panel zeigt die Tool-Anzahl neben jedem verbundenen Server an und kennzeichnet Server, die die Tools-Funktion ankündigen, aber keine Tools bereitstellen.

180 193 

181Wenn Ihre Anfrage Tools von einem Server benötigt, der sich noch im Hintergrund verbindet, wartet Claude auf diesen Server, bevor er fortfährt. Mit [Tool-Suche](#scale-with-mcp-tool-search) aktiviert, was die Standardeinstellung ist, erfolgt das Warten innerhalb des `ToolSearch`-Aufrufs. In Konfigurationen ohne Tool-Suche, wie Vertex AI, eine benutzerdefinierte `ANTHROPIC_BASE_URL` oder `ENABLE_TOOL_SEARCH=false`, verwendet Claude stattdessen das `WaitForMcpServers`-Tool.194Wenn Ihre Anfrage Tools von einem Server benötigt, der sich noch im Hintergrund verbindet, wartet Claude auf diesen Server, bevor er fortfährt. Mit [Tool-Suche](#scale-with-mcp-tool-search) aktiviert, was die Standardeinstellung ist, erfolgt das Warten innerhalb des `ToolSearch`-Aufrufs. In Konfigurationen ohne Tool-Suche, wie Vertex AI, eine benutzerdefinierte `ANTHROPIC_BASE_URL` oder `ENABLE_TOOL_SEARCH=false`, verwendet Claude stattdessen das `WaitForMcpServers`-Tool.


208 Tipps:221 Tipps:

209 222 

210 * Verwenden Sie das Flag `--scope`, um anzugeben, wo die Konfiguration gespeichert wird:223 * Verwenden Sie das Flag `--scope`, um anzugeben, wo die Konfiguration gespeichert wird:

211 * `local` (Standard): Nur für Sie im aktuellen Projekt verfügbar (hieß in älteren Versionen `project`)224 * `local` (Standard): Nur für Sie im aktuellen Projekt verfügbar. Ältere Versionen nannten diesen Bereich `project`

212 * `project`: Geteilt mit allen im Projekt über die Datei `.mcp.json`225 * `project`: Geteilt mit allen im Projekt über die Datei `.mcp.json`

213 * `user`: Für Sie über alle Projekte hinweg verfügbar (hieß in älteren Versionen `global`)226 * `user`: Für Sie über alle Projekte hinweg verfügbar. Ältere Versionen nannten diesen Bereich `global`

214 * Legen Sie Umgebungsvariablen mit `--env`-Flags fest (zum Beispiel `--env KEY=value`)227 * Legen Sie Umgebungsvariablen mit `--env`-Flags fest (zum Beispiel `--env KEY=value`)

215 * Konfigurieren Sie das Startup-Timeout des MCP-Servers mit der Umgebungsvariablen MCP\_TIMEOUT (zum Beispiel `MCP_TIMEOUT=10000 claude` setzt ein 10-Sekunden-Timeout)228 * Konfigurieren Sie das Startup-Timeout des MCP-Servers mit der Umgebungsvariablen `MCP_TIMEOUT` (zum Beispiel `MCP_TIMEOUT=10000 claude` setzt ein 10-Sekunden-Timeout)

216 * Setzen Sie ein Pro-Server-Tool-Ausführungs-Timeout, indem Sie ein `timeout`-Feld in Millisekunden zum `.mcp.json`-Eintrag dieses Servers hinzufügen, zum Beispiel `"timeout": 600000` für zehn Minuten. Dies überschreibt die Umgebungsvariable `MCP_TOOL_TIMEOUT` nur für diesen Server229 * Setzen Sie ein Pro-Server-Tool-Ausführungs-Timeout, indem Sie ein `timeout`-Feld in Millisekunden zum `.mcp.json`-Eintrag dieses Servers hinzufügen, zum Beispiel `"timeout": 600000` für zehn Minuten. Dies überschreibt die Umgebungsvariable `MCP_TOOL_TIMEOUT` nur für diesen Server

217 * Claude Code zeigt eine Warnung an, wenn die MCP-Tool-Ausgabe 10.000 Token überschreitet. Um dieses Limit zu erhöhen, setzen Sie die Umgebungsvariable `MAX_MCP_OUTPUT_TOKENS` (zum Beispiel `MAX_MCP_OUTPUT_TOKENS=50000`)230 * Claude Code zeigt eine Warnung an, wenn die MCP-Tool-Ausgabe 10.000 Token überschreitet. Um dieses Limit zu erhöhen, setzen Sie die Umgebungsvariable `MAX_MCP_OUTPUT_TOKENS` (zum Beispiel `MAX_MCP_OUTPUT_TOKENS=50000`)

218 * Verwenden Sie `/mcp`, um sich bei Remote-Servern zu authentifizieren, die OAuth 2.0-Authentifizierung erfordern231 * Verwenden Sie `/mcp`, um sich bei Remote-Servern zu authentifizieren, die OAuth 2.0-Authentifizierung erfordern

219</Tip>232</Tip>

220 233 

221Das Pro-Server-`timeout` ist eine harte Wanduhr-Grenze pro Tool-Aufruf, und Fortschrittsbenachrichtigungen vom Server verlängern sie nicht. Werte unter 1000 werden ignoriert und fallen auf `MCP_TOOL_TIMEOUT` zurück, oder auf seinen Standard von etwa 28 Stunden, wenn diese Variable nicht gesetzt ist. {/* min-version: 2.1.162 */}Vor v2.1.162 wurden Werte unter 1000 stattdessen auf eine Sekunde begrenzt. Bei HTTP- und SSE-Servern hat das Pro-Request-Fetch-First-Byte-Budget ein 60-Sekunden-Minimum.234Das Pro-Server-`timeout` ist eine harte Wanduhr-Grenze pro Tool-Aufruf, und Fortschrittsbenachrichtigungen vom Server verlängern sie nicht. Werte unter 1000 werden ignoriert und fallen auf `MCP_TOOL_TIMEOUT` zurück, oder auf seinen Standard von etwa 28 Stunden, wenn diese Variable nicht gesetzt ist. {/* min-version: 2.1.162 */}Vor v2.1.162 wurden Werte unter 1000 stattdessen auf eine Sekunde begrenzt.

235 

236Bei HTTP- und SSE-Servern hat das Pro-Request-Fetch-First-Byte-Budget ein 60-Sekunden-Minimum.

222 237 

223Ab v2.1.187 bricht ein Tool-Aufruf an einen Remote-HTTP-, SSE-, WebSocket- oder [claude.ai-Connector](#use-mcp-servers-from-claude-ai)-Server, der 5 Minuten lang keine Antwort und keine Fortschrittsbenachrichtigung sendet, mit einem Fehler ab, anstatt auf die Wanduhr-Grenze zu warten. Setzen Sie die Umgebungsvariable [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/de/env-vars) in Millisekunden, um das Idle-Fenster zu ändern, oder setzen Sie sie auf `0`, um die Überprüfung zu deaktivieren. Stdio-Server sind lokale Prozesse und unterliegen nicht dem Idle-Timeout.238Ab v2.1.187 bricht ein Tool-Aufruf an einen Remote-HTTP-, SSE-, WebSocket- oder [claude.ai-Connector](#use-mcp-servers-from-claude-ai)-Server, der 5 Minuten lang keine Antwort und keine Fortschrittsbenachrichtigung sendet, mit einem Fehler ab, anstatt auf die Wanduhr-Grenze zu warten. Setzen Sie die Umgebungsvariable [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/de/env-vars) in Millisekunden, um das Idle-Fenster zu ändern, oder setzen Sie sie auf `0`, um die Überprüfung zu deaktivieren. Stdio-Server sind lokale Prozesse und unterliegen nicht dem Idle-Timeout.

224 239 


233* Plugins definieren MCP-Server in `.mcp.json` im Plugin-Root oder inline in `plugin.json`248* Plugins definieren MCP-Server in `.mcp.json` im Plugin-Root oder inline in `plugin.json`

234* Wenn ein Plugin aktiviert ist, starten seine MCP-Server automatisch249* Wenn ein Plugin aktiviert ist, starten seine MCP-Server automatisch

235* Plugin-MCP-Tools erscheinen neben manuell konfigurierten MCP-Tools250* Plugin-MCP-Tools erscheinen neben manuell konfigurierten MCP-Tools

236* Plugin-Server werden durch die Plugin-Installation verwaltet (nicht durch `/mcp`-Befehle)251* Plugin-Server werden durch die Plugin-Installation verwaltet, nicht durch `/mcp`-Befehle

237 252 

238**Beispiel-Plugin-MCP-Konfiguration**:253**Beispiel-Plugin-MCP-Konfiguration**:

239 254 


272* **Automatischer Lebenszyklus**: Bei Sitzungsstart verbinden sich Server für aktivierte Plugins automatisch. Wenn Sie ein Plugin während einer Sitzung aktivieren oder deaktivieren, führen Sie `/reload-plugins` aus, um seine MCP-Server zu verbinden oder zu trennen287* **Automatischer Lebenszyklus**: Bei Sitzungsstart verbinden sich Server für aktivierte Plugins automatisch. Wenn Sie ein Plugin während einer Sitzung aktivieren oder deaktivieren, führen Sie `/reload-plugins` aus, um seine MCP-Server zu verbinden oder zu trennen

273* **Umgebungsvariablen**: Verwenden Sie `${CLAUDE_PLUGIN_ROOT}` für gebündelte Plugin-Dateien, `${CLAUDE_PLUGIN_DATA}` für [persistente Daten](/de/plugins-reference#persistent-data-directory), die Plugin-Updates überstehen, und `${CLAUDE_PROJECT_DIR}` für das stabile Projektstammverzeichnis288* **Umgebungsvariablen**: Verwenden Sie `${CLAUDE_PLUGIN_ROOT}` für gebündelte Plugin-Dateien, `${CLAUDE_PLUGIN_DATA}` für [persistente Daten](/de/plugins-reference#persistent-data-directory), die Plugin-Updates überstehen, und `${CLAUDE_PROJECT_DIR}` für das stabile Projektstammverzeichnis

274* **Zugriff auf Benutzerumgebung**: Zugriff auf die gleichen Umgebungsvariablen wie manuell konfigurierte Server289* **Zugriff auf Benutzerumgebung**: Zugriff auf die gleichen Umgebungsvariablen wie manuell konfigurierte Server

275* **Mehrere Transporttypen**: Unterstützung für Stdio-, SSE-, HTTP- und WebSocket-Transporte (die Transportunterstützung kann je nach Server variieren)290* **Mehrere Transporttypen**: Unterstützung für Stdio-, SSE-, HTTP- und WebSocket-Transporte, wobei die Transportunterstützung je nach Server variieren kann

276 291 

277**Anzeigen von Plugin-MCP-Servern**:292**Anzeigen von Plugin-MCP-Servern**:

278 293 


524 539 

525Viele Cloud-basierte MCP-Server erfordern Authentifizierung. Claude Code unterstützt OAuth 2.0 für sichere Verbindungen.540Viele Cloud-basierte MCP-Server erfordern Authentifizierung. Claude Code unterstützt OAuth 2.0 für sichere Verbindungen.

526 541 

527Claude Code markiert einen Remote-Server als authentifizierungsbedürftig, wenn der Server mit `401 Unauthorized` oder `403 Forbidden` antwortet. Jeder dieser Statuscodes kennzeichnet den Server in `/mcp`, damit Sie den OAuth-Fluss abschließen können. Ein benutzerdefinierter Server, der einen `WWW-Authenticate`-Header zurückgibt, der auf seinen Autorisierungsserver verweist, erhält die gleiche automatische Erkennung wie jeder andere Remote-Server.542Claude Code markiert einen Remote-Server als authentifizierungsbedürftig, wenn der Server mit `401 Unauthorized` oder `403 Forbidden` antwortet. Jeder dieser Statuscodes kennzeichnet den Server in `/mcp`, damit Sie den OAuth-Fluss abschließen können.

543 

544Ab v2.1.195 zeigt Claude Code sofort einen Hinweis an, der auf `/mcp` verweist, wenn eine Token-Aktualisierung fehlschlägt, weil der Server das gespeicherte Refresh-Token ablehnt. Das Menü des verbundenen Servers dort bietet „Re-authenticate", damit Sie sich erneut anmelden können, bevor der nächste Tool-Aufruf fehlschlägt.

545 

546Ein benutzerdefinierter Server, der einen `WWW-Authenticate`-Header zurückgibt, der auf seinen Autorisierungsserver verweist, erhält die gleiche automatische Erkennung wie jeder andere Remote-Server.

547 

548Ab v2.1.193 zeigt Claude Code auch einen Starthinweis an, wenn ein oder mehrere konfigurierte Server Authentifizierung benötigen, sodass Sie `/mcp` nicht öffnen müssen, um zu erkennen, welche Server Anmeldung benötigen.

549 

550Im nicht-interaktiven Modus gibt es kein `/mcp`-Panel, daher kann Claude Code den OAuth-Fluss nicht für Sie ausführen. Ab v2.1.196 teilt Claude Code Claude mit, dass die Tools des Servers nicht verfügbar sind, bis Sie ihn autorisieren, wenn ein konfigurierter Server während eines `claude -p`- oder Agent SDK-Laufs mit aktivierter [Tool-Suche](#scale-with-mcp-tool-search) (Standard) Authentifizierung benötigt. Claude kann dann den Server benennen, der Anmeldung benötigt, anstatt so zu reagieren, als wäre der Server nicht konfiguriert. Schließen Sie die Anmeldung aus einer interaktiven Sitzung mit `/mcp` oder `claude mcp login <name>` ab.

528 551 

529Wenn Sie `headers.Authorization` für den Server konfiguriert haben und der Server diesen Header ablehnt, meldet Claude Code die Verbindung als fehlgeschlagen, anstatt auf OAuth zurückzugreifen. Überprüfen Sie, dass das Token für den MCP-Endpunkt gültig ist, oder entfernen Sie den Header, um den OAuth-Fluss zu verwenden.552Wenn Sie `headers.Authorization` für den Server konfiguriert haben und der Server diesen Header ablehnt, meldet Claude Code die Verbindung als fehlgeschlagen, anstatt auf OAuth zurückzugreifen. Überprüfen Sie, dass das Token für den MCP-Endpunkt gültig ist, oder entfernen Sie den Header, um den OAuth-Fluss zu verwenden.

530 553 


710 733 

711`oauth.scopes` hat Vorrang vor sowohl `authServerMetadataUrl` als auch den Bereichen, die der Server unter `/.well-known` entdeckt. Lassen Sie es ungesetzt, damit der MCP-Server den angeforderten Bereichssatz bestimmt.734`oauth.scopes` hat Vorrang vor sowohl `authServerMetadataUrl` als auch den Bereichen, die der Server unter `/.well-known` entdeckt. Lassen Sie es ungesetzt, damit der MCP-Server den angeforderten Bereichssatz bestimmt.

712 735 

736Ab v2.1.196 fordert Claude Code, wenn `oauth.scopes` nicht gesetzt ist, den Bereich an, der vom `WWW-Authenticate`-Header des Servers oder seinen Protected Resource Metadata bereitgestellt wird, und sendet keinen `scope`-Parameter, wenn keiner von beiden einen bereitstellt. Es fordert nicht mehr den vollständigen `scopes_supported`-Katalog aus automatisch erkannten Authorization Server Metadata an. Das Anfordern dieses Katalogs führte dazu, dass Identity Provider, die Admin-only- oder Template-Bereiche bewerben, die Autorisierungsanfrage mit einem `invalid_scope`-Fehler ablehnten. Metadaten, die von einer konfigurierten `authServerMetadataUrl` abgerufen werden, liefern immer noch ihre `scopes_supported` als die angeforderten Bereiche.

737 

713Wenn der Autorisierungsserver `offline_access` in `scopes_supported` bewirbt, fügt Claude Code es zu den fixierten Bereichen hinzu, damit das Zugriffs-Token ohne neue Browser-Anmeldung aktualisiert werden kann.738Wenn der Autorisierungsserver `offline_access` in `scopes_supported` bewirbt, fügt Claude Code es zu den fixierten Bereichen hinzu, damit das Zugriffs-Token ohne neue Browser-Anmeldung aktualisiert werden kann.

714 739 

715Wenn der Server später einen 403 `insufficient_scope` für einen Tool-Aufruf zurückgibt, authentifiziert sich Claude Code mit den gleichen fixierten Bereichen erneut. Erweitern Sie `oauth.scopes`, wenn ein Tool, das Sie benötigen, einen Bereich außerhalb der Fixierung erfordert.740Wenn der Server später einen 403 `insufficient_scope` für einen Tool-Aufruf zurückgibt, authentifiziert sich Claude Code mit den gleichen fixierten Bereichen erneut. Erweitern Sie `oauth.scopes`, wenn ein Tool, das Sie benötigen, einen Bereich außerhalb der Fixierung erfordert.


754 779 

755Der Helper wird bei jeder Verbindung neu ausgeführt (beim Sitzungsstart und bei Wiederverbindung). Es gibt kein Caching, daher ist Ihr Skript für jede Token-Wiederverwendung verantwortlich.780Der Helper wird bei jeder Verbindung neu ausgeführt (beim Sitzungsstart und bei Wiederverbindung). Es gibt kein Caching, daher ist Ihr Skript für jede Token-Wiederverwendung verantwortlich.

756 781 

782Ab v2.1.193 führt Claude Code den Helper automatisch erneut aus, wenn ein Tool-Aufruf `401 Unauthorized` oder `403 Forbidden` zurückgibt, verbindet sich mit den neuen Headern erneut und wiederholt den Aufruf einmal. Claude Code markiert den Server als authentifizierungsbedürftig in `/mcp` nur, wenn dieser Wiederholungsversuch auch fehlschlägt.

783 

757Claude Code setzt diese Umgebungsvariablen beim Ausführen des Helpers:784Claude Code setzt diese Umgebungsvariablen beim Ausführen des Helpers:

758 785 

759| Variable | Wert |786| Variable | Wert |

760| :---------------------------- | :----------------------- |787| :---------------------------- | :------------------------------------------------------------------------------------------------------------------------------- |

761| `CLAUDE_CODE_MCP_SERVER_NAME` | der Name des MCP-Servers |788| `CLAUDE_CODE_MCP_SERVER_NAME` | der Name des MCP-Servers |

762| `CLAUDE_CODE_MCP_SERVER_URL` | die URL des MCP-Servers |789| `CLAUDE_CODE_MCP_SERVER_URL` | die URL des MCP-Servers |

790| `CLAUDE_PLUGIN_ROOT` | das Root-Verzeichnis des Plugins. Wird nur gesetzt, wenn ein [Plugin](/de/plugins-reference#mcp-servers) den Server bereitstellt |

763 791 

764Verwenden Sie diese, um ein einzelnes Helper-Skript zu schreiben, das mehrere MCP-Server bedient.792Verwenden Sie diese, um ein einzelnes Helper-Skript zu schreiben, das mehrere MCP-Server bedient.

765 793 

794Für einen von einem Plugin bereitgestellten Server wird der Helper auch mit seinem Arbeitsverzeichnis auf das Plugin-Root gesetzt ausgeführt, sodass ein relativer `headersHelper`-Pfad im Plugin-Verzeichnis aufgelöst wird, anstatt gegen das Arbeitsverzeichnis der Sitzung. Erfordert Claude Code v2.1.195 oder später.

795 

766<Note>796<Note>

767 `headersHelper` führt beliebige Shell-Befehle aus. Wenn es auf Projekt- oder lokalem Bereich definiert ist, wird es nur nach Ihrer Zustimmung zum Workspace-Trust-Dialog ausgeführt.797 `headersHelper` führt beliebige Shell-Befehle aus. Wenn es auf Projekt- oder lokalem Bereich definiert ist, wird es nur nach Ihrer Zustimmung zum Workspace-Trust-Dialog ausgeführt.

768</Note>798</Note>


844 MCP-Server von Claude.ai verwenden874 MCP-Server von Claude.ai verwenden

845</h2>875</h2>

846 876 

847Wenn Sie sich in Claude Code mit einem [Claude.ai](https://claude.ai)-Konto angemeldet haben, sind MCP-Server, die Sie in Claude.ai hinzugefügt haben, automatisch in Claude Code verfügbar:877Wenn Sie sich in Claude Code mit einem [claude.ai](https://claude.ai)-Konto angemeldet haben, sind MCP-Server, die Sie in Claude.ai hinzugefügt haben, automatisch in Claude Code verfügbar:

848 878 

849<Steps>879<Steps>

850 <Step title="Konfigurieren Sie MCP-Server in Claude.ai">880 <Step title="Konfigurieren Sie MCP-Server in Claude.ai">


958 988 

959 * Der Server bietet Zugriff auf Claudes Tools wie View, Edit, LS usw.989 * Der Server bietet Zugriff auf Claudes Tools wie View, Edit, LS usw.

960 * In Claude Desktop versuchen Sie, Claude aufzufordern, Dateien in einem Verzeichnis zu lesen, Änderungen vorzunehmen und mehr.990 * In Claude Desktop versuchen Sie, Claude aufzufordern, Dateien in einem Verzeichnis zu lesen, Änderungen vorzunehmen und mehr.

961 * Beachten Sie, dass dieser MCP-Server nur Claudes Tools für Ihren MCP-Client verfügbar macht, daher ist Ihr eigener Client dafür verantwortlich, Benutzerbestätigung für einzelne Tool-Aufrufe zu implementieren.991 * Dieser MCP-Server stellt nur Claudes Tools für Ihren MCP-Client zur Verfügung, daher ist Ihr eigener Client dafür verantwortlich, Benutzerbestätigung für einzelne Tool-Aufrufe zu implementieren.

962</Tip>992</Tip>

963 993 

964<h2 id="mcp-output-limits-and-warnings">994<h2 id="mcp-output-limits-and-warnings">


1199 * MCP-Prompts werden dynamisch von verbundenen Servern entdeckt1229 * MCP-Prompts werden dynamisch von verbundenen Servern entdeckt

1200 * Argumente werden basierend auf den definierten Parametern des Prompts analysiert1230 * Argumente werden basierend auf den definierten Parametern des Prompts analysiert

1201 * Prompt-Ergebnisse werden direkt in das Gespräch eingefügt1231 * Prompt-Ergebnisse werden direkt in das Gespräch eingefügt

1202 * Server- und Prompt-Namen werden normalisiert (Leerzeichen werden zu Unterstrichen)1232 * Server- und Prompt-Namen werden normalisiert, wobei Leerzeichen in Unterstriche umgewandelt werden

1203</Tip>1233</Tip>

1204 1234 

1205<h2 id="managed-mcp-configuration">1235<h2 id="managed-mcp-configuration">

Details

171 171 

172```bash theme={null}172```bash theme={null}

173export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'173export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'

174export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-4-6'174export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-5'

175export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5'175export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5'

176```176```

177 177 

model-config.md +45 −32

Details

30Modellaliase bieten eine bequeme Möglichkeit, Modelleinstellungen auszuwählen, ohne sich genaue Versionsnummern merken zu müssen:30Modellaliase bieten eine bequeme Möglichkeit, Modelleinstellungen auszuwählen, ohne sich genaue Versionsnummern merken zu müssen:

31 31 

32| Modellalias | Verhalten |32| Modellalias | Verhalten |

33| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |33| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

34| **`default`** | Spezieller Wert, der jede Modellüberschreibung löscht und auf das empfohlene Modell für Ihren Kontotyp zurückgesetzt wird. Ist selbst kein Modellalias |34| **`default`** | Spezieller Wert, der jede Modellüberschreibung löscht und auf das empfohlene Modell für Ihren Kontotyp zurückgesetzt wird. Ist selbst kein Modellalias |

35| **`best`** | Verwendet Fable 5, wo Ihre Organisation Zugriff darauf hat, andernfalls das neueste Opus-Modell |35| **`best`** | Verwendet Fable 5, wo Ihre Organisation Zugriff darauf hat, andernfalls das neueste Opus-Modell |

36| **`fable`** | Verwendet Claude Fable 5 für Ihre schwierigsten und längsten Aufgaben |36| **`fable`** | Verwendet Claude Fable 5 für Ihre schwierigsten und längsten Aufgaben |

37| **`sonnet`** | Verwendet das neueste Sonnet-Modell für tägliche Codierungsaufgaben |37| **`sonnet`** | Verwendet das neueste Sonnet-Modell für tägliche Codierungsaufgaben |

38| **`opus`** | Verwendet das neueste Opus-Modell für komplexe Reasoning-Aufgaben |38| **`opus`** | Verwendet das neueste Opus-Modell für komplexe Reasoning-Aufgaben |

39| **`haiku`** | Verwendet das schnelle und effiziente Haiku-Modell für einfache Aufgaben |39| **`haiku`** | Verwendet das schnelle und effiziente Haiku-Modell für einfache Aufgaben |

40| **`sonnet[1m]`** | Verwendet Sonnet mit einem [1-Million-Token-Kontextfenster](https://platform.claude.com/docs/de/build-with-claude/context-windows#1m-token-context-window) für lange Sitzungen |40| **`sonnet[1m]`** | Verwendet Sonnet mit einem [1-Million-Token-Kontextfenster](https://platform.claude.com/docs/de/build-with-claude/context-windows#1m-token-context-window) für lange Sitzungen. Hat keine Auswirkung, wenn `sonnet` bereits zu Sonnet 5 mit seinem nativen 1M-Fenster aufgelöst wird; hinter einem [LLM-Gateway](/de/llm-gateway) wählt es das 1M-Fenster für Sonnet 5 aus |

41| **`opus[1m]`** | Verwendet Opus mit einem [1-Million-Token-Kontextfenster](https://platform.claude.com/docs/de/build-with-claude/context-windows#1m-token-context-window) für lange Sitzungen |41| **`opus[1m]`** | Verwendet Opus mit einem [1-Million-Token-Kontextfenster](https://platform.claude.com/docs/de/build-with-claude/context-windows#1m-token-context-window) für lange Sitzungen |

42| **`opusplan`** | Spezieller Modus, der `opus` während des Plan Mode verwendet und dann zu `sonnet` für die Ausführung wechselt |42| **`opusplan`** | Spezieller Modus, der `opus` während des Plan Mode verwendet und dann zu `sonnet` für die Ausführung wechselt |

43 43 

44Bei der Anthropic API wird `opus` zu Opus 4.8 und `sonnet` zu Sonnet 4.6 aufgelöst. Bei [Claude Platform on AWS](/de/claude-platform-on-aws) wird `opus` zu Opus 4.7 und `sonnet` zu Sonnet 4.6 aufgelöst. Bei Bedrock, Vertex und Foundry wird `opus` zu Opus 4.6 und `sonnet` zu Sonnet 4.5 aufgelöst; neuere Modelle sind bei diesen Anbietern verfügbar, indem Sie den vollständigen Modellnamen explizit auswählen oder `ANTHROPIC_DEFAULT_OPUS_MODEL` oder `ANTHROPIC_DEFAULT_SONNET_MODEL` setzen.44Bei der Anthropic API wird `opus` zu Opus 4.8 und `sonnet` zu Sonnet 5 aufgelöst. Bei [Claude Platform on AWS](/de/claude-platform-on-aws) wird `opus` zu Opus 4.7 und `sonnet` zu Sonnet 4.6 aufgelöst. Bei Bedrock, Vertex und Foundry wird `opus` zu Opus 4.6 und `sonnet` zu Sonnet 4.5 aufgelöst; neuere Modelle sind bei diesen Anbietern verfügbar, indem Sie den vollständigen Modellnamen explizit auswählen oder `ANTHROPIC_DEFAULT_OPUS_MODEL` oder `ANTHROPIC_DEFAULT_SONNET_MODEL` setzen.

45 45 

46Aliase verweisen auf die empfohlene Version für Ihren Anbieter und werden im Laufe der Zeit aktualisiert. Um eine bestimmte Version zu fixieren, verwenden Sie den vollständigen Modellnamen (z. B. `claude-opus-4-8`) oder setzen Sie die entsprechende Umgebungsvariable wie `ANTHROPIC_DEFAULT_OPUS_MODEL`.46Aliase verweisen auf die empfohlene Version für Ihren Anbieter und werden im Laufe der Zeit aktualisiert. Um eine bestimmte Version zu fixieren, verwenden Sie den vollständigen Modellnamen, z. B. `claude-opus-4-8`, oder setzen Sie die entsprechende Umgebungsvariable wie `ANTHROPIC_DEFAULT_OPUS_MODEL`.

47 47 

48<Note>48<Note>

49 Opus 4.8 erfordert Claude Code v2.1.154 oder später. Führen Sie `claude update` aus, um zu aktualisieren.49 Sonnet 5 erfordert Claude Code v2.1.197 oder später. Opus 4.8 erfordert v2.1.154 oder später. Führen Sie `claude update` aus, um zu aktualisieren.

50</Note>50</Note>

51 51 

52<h3 id="work-with-fable-5">52<h3 id="work-with-fable-5">


74 74 

75Sie können Ihr Modell auf mehrere Arten konfigurieren, aufgelistet nach Priorität:75Sie können Ihr Modell auf mehrere Arten konfigurieren, aufgelistet nach Priorität:

76 76 

771. **Während der Sitzung** - Verwenden Sie `/model <alias|name>`, um sofort zu wechseln, oder führen Sie `/model` ohne Argument aus, um die Auswahl zu öffnen. Die Auswahl fordert zur Bestätigung auf, wenn das Gespräch vorherige Ausgaben hat, da die nächste Antwort den vollständigen Verlauf ohne zwischengespeicherten Kontext erneut liest771. **Während der Sitzung**: Verwenden Sie `/model <alias|name>`, um sofort zu wechseln, oder führen Sie `/model` ohne Argument aus, um die Auswahl zu öffnen. Die Auswahl fordert zur Bestätigung auf, wenn das Gespräch vorherige Ausgaben hat, da die nächste Antwort den vollständigen Verlauf ohne zwischengespeicherten Kontext erneut liest

782. **Beim Start** - Starten Sie mit `claude --model <alias|name>`782. **Beim Start**: Starten Sie mit `claude --model <alias|name>`

793. **Umgebungsvariable** - Setzen Sie `ANTHROPIC_MODEL=<alias|name>`793. **Umgebungsvariable**: Setzen Sie `ANTHROPIC_MODEL=<alias|name>`

804. **Einstellungen** - Konfigurieren Sie dauerhaft in Ihrer Einstellungsdatei mit dem `model`-Feld.804. **Einstellungen**: Konfigurieren Sie dauerhaft in Ihrer Einstellungsdatei mit dem `model`-Feld

81 81 

82Ab v2.1.153 speichert `/model` Ihre Auswahl als Standard für neue Sitzungen, indem das `model`-Feld in Ihren Benutzereinstellungen geschrieben wird. In der Auswahl:82Ab v2.1.153 speichert `/model` Ihre Auswahl als Standard für neue Sitzungen, indem das `model`-Feld in Ihren Benutzereinstellungen geschrieben wird. In der Auswahl:

83 83 


90 90 

91Das `--model`-Flag und die `ANTHROPIC_MODEL`-Umgebungsvariable gelten nur für die Sitzung, mit der Sie sie starten. Um verschiedene Modelle in verschiedenen Terminals gleichzeitig auszuführen, starten Sie jedes mit seinem eigenen `--model`-Flag, anstatt mit `/model` zu wechseln.91Das `--model`-Flag und die `ANTHROPIC_MODEL`-Umgebungsvariable gelten nur für die Sitzung, mit der Sie sie starten. Um verschiedene Modelle in verschiedenen Terminals gleichzeitig auszuführen, starten Sie jedes mit seinem eigenen `--model`-Flag, anstatt mit `/model` zu wechseln.

92 92 

93Fortgesetzte Sitzungen, die mit `claude --resume`, `--continue` oder der `/resume`-Auswahl gestartet werden, behalten das Modell bei, das sie verwendeten, als das Transkript gespeichert wurde, unabhängig von der aktuellen `model`-Einstellung. Wenn dieses Modell eingestellt wurde oder durch [`availableModels`](#restrict-model-selection) ausgeschlossen ist, fällt die Sitzung auf die normale Prioritätsreihenfolge zurück. Dies verhindert, dass die `/model`-Auswahl einer anderen Sitzung das Modell beim Fortsetzen ändert.93Fortgesetzte Sitzungen, die mit `claude --resume`, `--continue` oder der `/resume`-Auswahl gestartet werden, behalten das Modell bei, das sie verwendeten, als das Transkript gespeichert wurde, unabhängig von der aktuellen `model`-Einstellung. Wenn das angeforderte Modell eingestellt wurde oder durch [`availableModels`](#restrict-model-selection) ausgeschlossen ist, fällt die Sitzung auf die normale Prioritätsreihenfolge zurück. Dies verhindert, dass die `/model`-Auswahl einer anderen Sitzung das Modell beim Fortsetzen ändert.

94 

95Ein Modell, das Sie für den neuen Start mit `--model` oder `ANTHROPIC_MODEL` auswählen, hat weiterhin Vorrang vor dem wiederhergestellten Modell. {/* min-version: 2.1.195 */}Ab v2.1.195 gilt dies auch für eine [`ANTHROPIC_DEFAULT_OPUS_MODEL`](#environment-variables)-Familienvariable.

94 96 

95Wenn das aktive Modell beim Start aus Projekt- oder verwalteten Einstellungen stammt und nicht aus Ihrer eigenen Auswahl, zeigt der Startheader an, welche Einstellungsdatei es festgelegt hat. Führen Sie `/model` aus, um es zu überschreiben; die Projekt- oder verwaltete Einstellung wird beim nächsten Start erneut angewendet.97Wenn das aktive Modell beim Start aus Projekt- oder verwalteten Einstellungen stammt und nicht aus Ihrer eigenen Auswahl, zeigt der Startheader an, welche Einstellungsdatei es festgelegt hat. Führen Sie `/model` aus, um es zu überschreiben; die Projekt- oder verwaltete Einstellung wird beim nächsten Start erneut angewendet.

96 98 


234 Organisationsmodellbeschränkungen236 Organisationsmodellbeschränkungen

235</h3>237</h3>

236 238 

237Verwenden Sie den Console-Schalter anstelle von `availableModels`, wenn Ihre Mitglieder sich über die Anthropic API authentifizieren und Sie einen organisationsweiten Schalter ohne Bereitstellung von Einstellungsdateien möchten. Organisationsadministratoren schränken ein, welche Modelle Mitglieder ausführen können, indem sie einzelne Modelle in der Claude Console deaktivieren. Diese Beschränkung wird mit den Berechtigungen des Kontos bereitgestellt, wenn Claude Code sich authentifiziert, getrennt von jeder `availableModels`-Liste in Einstellungen, und der Server erzwingt die gleiche Beschränkung unabhängig, wenn eine Sitzung erstellt wird. Erfordert Claude Code v2.1.187 oder später.239Organisationsadministratoren schränken ein, welche Modelle Mitglieder ausführen können, indem sie einzelne Modelle in der Claude Console deaktivieren. Verwenden Sie den Console-Schalter anstelle von `availableModels`, wenn Ihre Mitglieder sich über die Anthropic API authentifizieren und Sie einen organisationsweiten Schalter ohne Bereitstellung von Einstellungsdateien möchten. Diese Beschränkung wird mit den Berechtigungen des Kontos bereitgestellt, wenn Claude Code sich authentifiziert, getrennt von jeder `availableModels`-Liste in Einstellungen, und der Server erzwingt die gleiche Beschränkung unabhängig, wenn eine Sitzung erstellt wird. Erfordert Claude Code v2.1.187 oder später.

238 240 

239Ein eingeschränktes Modell ist in der `/model`-Auswahl verborgen. Die Auswahl nach Name mit `--model`, der `ANTHROPIC_MODEL`-Umgebungsvariable oder der `model`-Einstellung zeigt die Mitteilung `Model "<name>" is restricted by your organization's settings. Using <model> instead.` und die Sitzung startet auf einem zulässigen Modell. Die Eingabe von `/model <name>` für ein eingeschränktes Modell wird mit `Model '<name>' is restricted by your organization's settings. Run /model to choose a different model.` abgelehnt und die Sitzung behält ihr aktuelles Modell.241Ein eingeschränktes Modell ist in der `/model`-Auswahl verborgen. Die Auswahl nach Name mit `--model`, der `ANTHROPIC_MODEL`-Umgebungsvariable oder der `model`-Einstellung zeigt die Mitteilung `Model "<name>" is restricted by your organization's settings. Using <model> instead.` und die Sitzung startet auf einem zulässigen Modell. Die Eingabe von `/model <name>` für ein eingeschränktes Modell wird mit `Model '<name>' is restricted by your organization's settings. Run /model to choose a different model.` abgelehnt und die Sitzung behält ihr aktuelles Modell.

240 242 


252 254 

253* **Max, Team Premium, Enterprise Pay-as-you-go und Anthropic API**: Standard ist Opus 4.8255* **Max, Team Premium, Enterprise Pay-as-you-go und Anthropic API**: Standard ist Opus 4.8

254* **Claude Platform auf AWS**: Standard ist Opus 4.7256* **Claude Platform auf AWS**: Standard ist Opus 4.7

255* **Pro, Team Standard und Enterprise-Abonnementplätze**: Standard ist Sonnet 4.6257* **Pro, Team Standard und Enterprise-Abonnementplätze**: Standard ist Sonnet 5

256* **Bedrock, Vertex und Foundry**: Standard ist Sonnet 4.5258* **Bedrock, Vertex und Foundry**: Standard ist Sonnet 4.5

257 259 

258Enterprise Pay-as-you-go bedeutet eine Enterprise-Organisation, die nach Nutzung statt nach Abonnementplatz abgerechnet wird.260Enterprise Pay-as-you-go bedeutet eine Enterprise-Organisation, die nach Nutzung statt nach Abonnementplatz abgerechnet wird.


267 269 

268Der `opusplan`-Modellalias bietet einen automatisierten Hybrid-Ansatz:270Der `opusplan`-Modellalias bietet einen automatisierten Hybrid-Ansatz:

269 271 

270* **Im Plan-Modus** - Verwendet `opus` für komplexes Reasoning und Architekturentscheidungen272* **Im Plan-Modus**: verwendet `opus` für komplexes Reasoning und Architekturentscheidungen

271* **Im Ausführungsmodus** - Wechselt automatisch zu `sonnet` für Code-Generierung und Implementierung273* **Im Ausführungsmodus**: wechselt automatisch zu `sonnet` für Code-Generierung und Implementierung

272 274 

273Dies gibt Ihnen das Beste aus beiden Welten: Opus's überlegenes Reasoning für die Planung und Sonnets Effizienz für die Ausführung.275Dies kombiniert Opus's Reasoning für die Planung mit Sonnets Effizienz für die Ausführung.

274 276 

275Das Kontextfenster der Plan-Modus-Opus-Phase ist das gleiche wie bei der `opus`-Modelleinstellung. Bei Abonnement-Tiers, bei denen Opus [automatisch auf 1M-Kontext aktualisiert wird](#extended-context), erhält `opusplan` die Aktualisierung auch im Plan-Modus. Um 1M-Kontext für beide Phasen zu erzwingen, wenn Sie sich nicht auf einem Auto-Upgrade-Tier befinden, setzen Sie das Modell auf `opusplan[1m]`.277Das Kontextfenster der Plan-Modus-Opus-Phase ist das gleiche wie bei der `opus`-Modelleinstellung. Bei Abonnement-Tiers, bei denen Opus [automatisch auf 1M-Kontext aktualisiert wird](#extended-context), erhält `opusplan` die Aktualisierung auch im Plan-Modus. Um 1M-Kontext für beide Phasen zu erzwingen, wenn Sie sich nicht auf einem Auto-Upgrade-Tier befinden, setzen Sie das Modell auf `opusplan[1m]`.

276 278 


296 298 

297```json theme={null}299```json theme={null}

298{300{

299 "fallbackModel": ["claude-sonnet-4-6", "claude-haiku-4-5"]301 "fallbackModel": ["claude-sonnet-5", "claude-haiku-4-5"]

300}302}

301```303```

302 304 


368Die verfügbaren Aufwandsniveaus hängen vom Modell ab. Modelle, die hier nicht aufgeführt sind, unterstützen keinen Aufwand:370Die verfügbaren Aufwandsniveaus hängen vom Modell ab. Modelle, die hier nicht aufgeführt sind, unterstützen keinen Aufwand:

369 371 

370| Modell | Ebenen |372| Modell | Ebenen |

371| :---------------------- | :-------------------------------------- |373| :------------------------------ | :-------------------------------------- |

372| Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |374| Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |

373| Opus 4.8 und Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |375| Sonnet 5, Opus 4.8 und Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |

374| Opus 4.6 und Sonnet 4.6 | `low`, `medium`, `high`, `max` |376| Opus 4.6 und Sonnet 4.6 | `low`, `medium`, `high`, `max` |

375 377 

376Wenn Sie eine Ebene setzen, die das aktive Modell nicht unterstützt, greift Claude Code auf die höchste unterstützte Ebene bei oder unter der von Ihnen gesetzten zurück. Zum Beispiel wird `xhigh` auf Opus 4.6 als `high` ausgeführt.378Wenn Sie eine Ebene setzen, die das aktive Modell nicht unterstützt, greift Claude Code auf die höchste unterstützte Ebene bei oder unter der von Ihnen gesetzten zurück. Zum Beispiel wird `xhigh` auf Opus 4.6 als `high` ausgeführt.

377 379 

378Der Standard-Aufwand ist `high` auf Fable 5, Opus 4.8, Opus 4.6 und Sonnet 4.6 und `xhigh` auf Opus 4.7.380Der Standard-Aufwand ist `high` auf Fable 5, Sonnet 5, Opus 4.8, Opus 4.6 und Sonnet 4.6 und `xhigh` auf Opus 4.7.

379 381 

380Wenn Sie Fable 5, Opus 4.8 oder Opus 4.7 zum ersten Mal ausführen, wendet Claude Code das Standard-Aufwandsniveau dieses Modells an, auch wenn Sie zuvor ein anderes Niveau für ein anderes Modell gesetzt haben: `high` auf Fable 5 und Opus 4.8 und `xhigh` auf Opus 4.7. Führen Sie `/effort` erneut aus, um nach dem Wechsel ein anderes Niveau zu wählen.382Wenn Sie Fable 5, Opus 4.8 oder Opus 4.7 zum ersten Mal ausführen, wendet Claude Code das Standard-Aufwandsniveau dieses Modells an, auch wenn Sie zuvor ein anderes Niveau für ein anderes Modell gesetzt haben: `high` auf Fable 5 und Opus 4.8 und `xhigh` auf Opus 4.7. Führen Sie `/effort` erneut aus, um nach dem Wechsel ein anderes Niveau zu wählen.

381 383 


393| :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |395| :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

394| `low` | Reservieren Sie für kurze, begrenzte, latenzempfindliche Aufgaben, die nicht intelligenzempfindlich sind |396| `low` | Reservieren Sie für kurze, begrenzte, latenzempfindliche Aufgaben, die nicht intelligenzempfindlich sind |

395| `medium` | Reduziert Token-Nutzung für kostensensitive Arbeiten, die etwas Intelligenz opfern können |397| `medium` | Reduziert Token-Nutzung für kostensensitive Arbeiten, die etwas Intelligenz opfern können |

396| `high` | Balanciert Token-Nutzung und Intelligenz. Standard auf Fable 5, Opus 4.8, Opus 4.6 und Sonnet 4.6 |398| `high` | Balanciert Token-Nutzung und Intelligenz. Standard auf Fable 5, Sonnet 5, Opus 4.8, Opus 4.6 und Sonnet 4.6 |

397| `xhigh` | Tieferes Reasoning bei höherer Token-Ausgabe. Standard auf Opus 4.7 |399| `xhigh` | Tieferes Reasoning bei höherer Token-Ausgabe. Standard auf Opus 4.7 |

398| `max` | Kann die Leistung bei anspruchsvollen Aufgaben verbessern, kann aber abnehmende Erträge zeigen und ist anfällig für Überdenken. Testen Sie vor breiter Übernahme |400| `max` | Kann die Leistung bei anspruchsvollen Aufgaben verbessern, kann aber abnehmende Erträge zeigen und ist anfällig für Überdenken. Testen Sie vor breiter Übernahme |

399| `ultracode` | Eine Claude Code-Einstellung, die einen [dynamischen Workflow](/de/workflows) für jede substantielle Aufgabe mit `xhigh`-Pro-Nachricht-Reasoning plant. Nur für Sitzungen |401| `ultracode` | Eine Claude Code-Einstellung, die einen [dynamischen Workflow](/de/workflows) für jede substantielle Aufgabe mit `xhigh`-Pro-Nachricht-Reasoning plant. Nur für Sitzungen |


429 431 

430Adaptives Reasoning macht Thinking bei jedem Schritt optional, daher kann Claude schneller auf Routine-Prompts reagieren und tieferes Denken für Schritte reservieren, die davon profitieren. Wenn Sie möchten, dass Claude häufiger oder seltener denkt als das aktuelle Niveau erzeugt, können Sie dies direkt in Ihrem Prompt oder in `CLAUDE.md` sagen; das Modell reagiert auf diese Anleitung innerhalb seiner Aufwandseinstellung.432Adaptives Reasoning macht Thinking bei jedem Schritt optional, daher kann Claude schneller auf Routine-Prompts reagieren und tieferes Denken für Schritte reservieren, die davon profitieren. Wenn Sie möchten, dass Claude häufiger oder seltener denkt als das aktuelle Niveau erzeugt, können Sie dies direkt in Ihrem Prompt oder in `CLAUDE.md` sagen; das Modell reagiert auf diese Anleitung innerhalb seiner Aufwandseinstellung.

431 433 

432Opus 4.7 und später verwenden immer adaptives Reasoning, ebenso wie Fable 5. Der Modus mit festem Thinking-Budget und `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` gelten nicht dafür.434Fable 5, Sonnet 5 sowie Opus 4.7 und später verwenden immer adaptives Reasoning. Der Modus mit festem Thinking-Budget und `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` gelten nicht dafür.

433 435 

434Bei Opus 4.6 und Sonnet 4.6 können Sie `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` setzen, um zum vorherigen festen Thinking-Budget zurückzukehren, das von `MAX_THINKING_TOKENS` gesteuert wird. Siehe [Umgebungsvariablen](/de/env-vars).436Bei Opus 4.6 und Sonnet 4.6 können Sie `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` setzen, um zum vorherigen festen Thinking-Budget zurückzukehren, das von `MAX_THINKING_TOKENS` gesteuert wird. Siehe [Umgebungsvariablen](/de/env-vars).

435 437 


453 Erweiterter Kontext455 Erweiterter Kontext

454</h3>456</h3>

455 457 

456Fable 5, Opus 4.6 und später sowie Sonnet 4.6 unterstützen ein [1-Million-Token-Kontextfenster](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) für lange Sitzungen mit großen Codebases.458Fable 5, Sonnet 5, Opus 4.6 und später sowie Sonnet 4.6 unterstützen ein [1-Million-Token-Kontextfenster](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) für lange Sitzungen mit großen Codebases.

457 459 

458Die Verfügbarkeit variiert je nach Modell und Plan. Bei Max-, Team- und Enterprise-Plänen wird Opus automatisch auf 1M-Kontext ohne zusätzliche Konfiguration aktualisiert. Dies gilt für beide Team Standard- und Team Premium-Plätze. Auf der Anthropic API werden Fable 5, Opus 4.8 und Opus 4.7 immer mit dem 1M-Fenster ausgeführt. Sonnet mit 1M-Kontext ist nicht Teil der automatischen Aktualisierung und erfordert [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) bei jedem Abonnementplan, einschließlich Max.460Die Verfügbarkeit variiert je nach Modell und Plan. Auf der Anthropic API werden Fable 5, Sonnet 5, Opus 4.8 und Opus 4.7 immer mit dem 1M-Fenster ausgeführt. Bei Max-, Team- und Enterprise-Plänen wird Opus automatisch auf 1M-Kontext ohne zusätzliche Konfiguration aktualisiert. Dies gilt für beide Team Standard- und Team Premium-Plätze. Sonnet 4.6 mit 1M-Kontext ist nicht Teil der automatischen Aktualisierung und erfordert [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) bei jedem Abonnementplan, einschließlich Max.

459 461 

460| Plan | Opus mit 1M-Kontext | Sonnet mit 1M-Kontext |462| Plan | Opus mit 1M-Kontext | Sonnet 4.6 mit 1M-Kontext |

461| ------------------------ | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |463| ------------------------ | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |

462| Max, Team und Enterprise | Im Abonnement enthalten | Erfordert [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |464| Max, Team und Enterprise | Im Abonnement enthalten | Erfordert [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

463| Pro | Erfordert [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Erfordert [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |465| Pro | Erfordert [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Erfordert [Nutzungsguthaben](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |


480/model claude-opus-4-8[1m]482/model claude-opus-4-8[1m]

481```483```

482 484 

485<h4 id="sonnet-5-context-window">

486 Sonnet 5-Kontextfenster

487</h4>

488 

489Auf der Anthropic API wird Sonnet 5 immer mit dem 1M-Kontextfenster ausgeführt. Es gibt keine 200K-Variante, kein `[1m]`-Suffix zur Auswahl und keine erforderlichen Nutzungsguthaben bei irgendeinem Plan. Sitzungen werden automatisch komprimiert, bevor das Fenster voll ist, standardmäßig bei etwa 967K Token; setzen Sie [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/de/env-vars), um einen anderen Schwellenwert zu wählen.

490 

491Zwei Konfigurationen budgetieren das Fenster stattdessen auf 200K und komprimieren automatisch an dieser Grenze:

492 

493* **LLM-Gateway**: Wenn `ANTHROPIC_BASE_URL` auf ein [Gateway](/de/llm-gateway) verweist, kann Claude Code die 1M-Unterstützung nicht überprüfen. Um das vollständige Fenster zu verwenden, wählen Sie Sonnet 5 (1M context) in der Modellauswahl aus, was `sonnet[1m]` zugeordnet wird.

494* **`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`**: Behandelt Sonnet 5-Sitzungen so, als hätten sie ein 200K-Fenster, für Bereitstellungen, die den Kontext begrenzen müssen.

495 

483<h2 id="checking-your-current-model">496<h2 id="checking-your-current-model">

484 Überprüfung Ihres aktuellen Modells497 Überprüfung Ihres aktuellen Modells

485</h2>498</h2>

486 499 

487Sie können sehen, welches Modell Sie derzeit verwenden, auf mehrere Arten:500Sie können sehen, welches Modell Sie derzeit verwenden, an zwei Stellen:

488 501 

4891. In der [Statuszeile](/de/statusline) (falls konfiguriert)502* In der [Statuszeile](/de/statusline), falls Sie eine konfiguriert haben

4902. In `/status`, das auch Ihre Kontoinformationen anzeigt.503* In `/status`, das auch Ihre Kontoinformationen anzeigt

491 504 

492<h2 id="add-a-custom-model-option">505<h2 id="add-a-custom-model-option">

493 Benutzerdefinierte Modelloption hinzufügen506 Benutzerdefinierte Modelloption hinzufügen


498Dieses Beispiel setzt alle drei Variablen, um eine Gateway-gesteuerte Opus-Bereitstellung auswählbar zu machen:511Dieses Beispiel setzt alle drei Variablen, um eine Gateway-gesteuerte Opus-Bereitstellung auswählbar zu machen:

499 512 

500```bash theme={null}513```bash theme={null}

501export ANTHROPIC_CUSTOM_MODEL_OPTION="my-gateway/claude-opus-4-7"514export ANTHROPIC_CUSTOM_MODEL_OPTION="my-gateway/claude-opus-4-8"

502export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME="Opus via Gateway"515export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME="Opus via Gateway"

503export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION="Custom deployment routed through the internal LLM gateway"516export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION="Custom deployment routed through the internal LLM gateway"

504```517```

505 518 

506Der benutzerdefinierte Eintrag erscheint am unteren Ende der `/model`-Auswahl. `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` und `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` sind optional. Wenn weggelassen, wird die Modell-ID als Name verwendet und die Beschreibung wird standardmäßig auf `Custom model (<model-id>)` gesetzt.519Der benutzerdefinierte Eintrag erscheint am unteren Ende der `/model`-Auswahl. `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` und `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` sind optional. Wenn weggelassen, wird die Modell-ID als Name verwendet und die Beschreibung wird standardmäßig auf `Custom model (<model-id>)` gesetzt.

507 520 

508Claude Code überspringt die Validierung für die Modell-ID, die in `ANTHROPIC_CUSTOM_MODEL_OPTION` gesetzt ist, daher können Sie jeden String verwenden, den Ihr API-Endpunkt akzeptiert. Wenn [`availableModels`](#restrict-model-selection) gesetzt ist, fügen Sie die benutzerdefinierte Modell-ID auch in die Zulassungsliste ein: Der benutzerdefinierte Eintrag wird aus der Auswahl gefiltert und eine `--model`-Auswahl wird wie jedes andere ausgeschlossene Modell abgelehnt. Eine benutzerdefinierte ID, die einen Familiennamen einbettet, wie z. B. `my-gateway/claude-opus-4-7`, zählt als spezifischer Eintrag für diese Familie und deaktiviert deren Wildcard. Daher müssen Sie auch die Versionen auflisten, die Sie auswählbar halten möchten. Siehe [Zusammenführungsverhalten](#merge-behavior).521Claude Code überspringt die Validierung für die Modell-ID, die in `ANTHROPIC_CUSTOM_MODEL_OPTION` gesetzt ist, daher können Sie jeden String verwenden, den Ihr API-Endpunkt akzeptiert. Wenn [`availableModels`](#restrict-model-selection) gesetzt ist, fügen Sie die benutzerdefinierte Modell-ID auch in die Zulassungsliste ein: Der benutzerdefinierte Eintrag wird aus der Auswahl gefiltert und eine `--model`-Auswahl wird wie jedes andere ausgeschlossene Modell abgelehnt. Eine benutzerdefinierte ID, die einen Familiennamen einbettet, wie z. B. `my-gateway/claude-opus-4-8`, zählt als spezifischer Eintrag für diese Familie und deaktiviert deren Wildcard. Daher müssen Sie auch die Versionen auflisten, die Sie auswählbar halten möchten. Siehe [Zusammenführungsverhalten](#merge-behavior).

509 522 

510<h2 id="environment-variables">523<h2 id="environment-variables">

511 Umgebungsvariablen524 Umgebungsvariablen

512</h2>525</h2>

513 526 

514Sie können die folgenden Umgebungsvariablen verwenden, die vollständige **Modellnamen** (oder Äquivalente für Ihren API-Anbieter) sein müssen, um die Modellnamen zu steuern, auf die die Aliase verweisen.527Sie können die folgenden Umgebungsvariablen verwenden, um die Modellnamen zu steuern, auf die die Aliase verweisen. Jeder Wert muss ein vollständiger Modellname oder das entsprechende Äquivalent für Ihren API-Anbieter sein.

515 528 

516| Umgebungsvariable | Beschreibung |529| Umgebungsvariable | Beschreibung |

517| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |530| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

518| `ANTHROPIC_DEFAULT_FABLE_MODEL` | Das Modell, das für `fable` verwendet werden soll, und die Modell-ID, die Claude Code als Fable 5 für [automatisches Modell-Fallback](#automatic-model-fallback) bei Drittanbieter-Anbietern erkennt |531| `ANTHROPIC_DEFAULT_FABLE_MODEL` | Das Modell, das für `fable` verwendet werden soll, und die Modell-ID, die Claude Code als Fable 5 für [automatisches Modell-Fallback](#automatic-model-fallback) bei Drittanbieter-Anbietern erkennt |

519| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Das Modell, das für `opus` verwendet werden soll, oder für `opusplan`, wenn Plan Mode aktiv ist. |532| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Das Modell, das für `opus` verwendet werden soll, oder für `opusplan`, wenn Plan Mode aktiv ist. |

520| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Das Modell, das für `sonnet` verwendet werden soll, oder für `opusplan`, wenn Plan Mode nicht aktiv ist. |533| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Das Modell, das für `sonnet` verwendet werden soll, oder für `opusplan`, wenn Plan Mode nicht aktiv ist. |

521| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Das Modell, das für `haiku` verwendet werden soll, oder [Hintergrundfunktionalität](/de/costs#background-token-usage) |534| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Das Modell, das für `haiku` verwendet werden soll, oder [Hintergrundfunktionalität](/de/costs#background-token-usage) |

522| `CLAUDE_CODE_SUBAGENT_MODEL` | Das Modell, das für alle [Subagents](/de/sub-agents#choose-a-model) und [Agent-Teams](/de/agent-teams) verwendet werden soll. Überschreibt sowohl den `model`-Parameter pro Aufruf als auch die `model`-Frontmatter der Subagent-Definition. Setzen Sie auf `inherit`, um stattdessen die normale Modellauflösung zu verwenden |535| `CLAUDE_CODE_SUBAGENT_MODEL` | Das Modell, das für alle [Subagents](/de/sub-agents#choose-a-model) und [Agent-Teams](/de/agent-teams) verwendet werden soll. Überschreibt den `model`-Parameter pro Aufruf und die `model`-Frontmatter der Subagent-Definition. Setzen Sie auf `inherit`, um stattdessen die normale Modellauflösung zu verwenden |

523 536 

524Hinweis: `ANTHROPIC_SMALL_FAST_MODEL` ist veraltet zugunsten von `ANTHROPIC_DEFAULT_HAIKU_MODEL`.537Hinweis: `ANTHROPIC_SMALL_FAST_MODEL` ist veraltet zugunsten von `ANTHROPIC_DEFAULT_HAIKU_MODEL`.

525 538 

Details

93| `OTEL_METRIC_EXPORT_INTERVAL` | Exportintervall in Millisekunden (Standard: 60000) | `5000`, `60000` |93| `OTEL_METRIC_EXPORT_INTERVAL` | Exportintervall in Millisekunden (Standard: 60000) | `5000`, `60000` |

94| `OTEL_LOGS_EXPORT_INTERVAL` | Logs-Exportintervall in Millisekunden (Standard: 5000) | `1000`, `10000` |94| `OTEL_LOGS_EXPORT_INTERVAL` | Logs-Exportintervall in Millisekunden (Standard: 5000) | `1000`, `10000` |

95| `OTEL_LOG_USER_PROMPTS` | Aktiviert die Protokollierung von Benutzer-Prompt-Inhalten (Standard: deaktiviert) | `1` zum Aktivieren |95| `OTEL_LOG_USER_PROMPTS` | Aktiviert die Protokollierung von Benutzer-Prompt-Inhalten (Standard: deaktiviert) | `1` zum Aktivieren |

96| `OTEL_LOG_ASSISTANT_RESPONSES` | Aktiviert die Protokollierung von Assistent-Antworttext bei `assistant_response`-Ereignissen (Standard: deaktiviert). Wenn nicht gesetzt, wird auf den Wert von `OTEL_LOG_USER_PROMPTS` zurückgegriffen. {/* min-version: 2.1.193 */}Erfordert Claude Code v2.1.193 oder später | `1` zum Aktivieren, `0` zum Beibehalten von Redaktionen |

96| `OTEL_LOG_TOOL_DETAILS` | Aktiviert die Protokollierung von Tool-Parametern und Eingabeargumenten in Tool-Ereignissen und Trace-Span-Attributen: Bash-Befehle, MCP-Server- und Tool-Namen, Skill-Namen und Tool-Eingabe. Aktiviert auch benutzerdefinierte, Plugin- und MCP-Befehlsnamen bei `user_prompt`-Ereignissen (Standard: deaktiviert) | `1` zum Aktivieren |97| `OTEL_LOG_TOOL_DETAILS` | Aktiviert die Protokollierung von Tool-Parametern und Eingabeargumenten in Tool-Ereignissen und Trace-Span-Attributen: Bash-Befehle, MCP-Server- und Tool-Namen, Skill-Namen und Tool-Eingabe. Aktiviert auch benutzerdefinierte, Plugin- und MCP-Befehlsnamen bei `user_prompt`-Ereignissen (Standard: deaktiviert) | `1` zum Aktivieren |

97| `OTEL_LOG_TOOL_CONTENT` | Aktiviert die Protokollierung von Tool-Eingabe- und Ausgabeinhalten in Span-Ereignissen (Standard: deaktiviert). Erfordert [Tracing](#traces-beta). Der Inhalt wird bei 60 KB gekürzt | `1` zum Aktivieren |98| `OTEL_LOG_TOOL_CONTENT` | Aktiviert die Protokollierung von Tool-Eingabe- und Ausgabeinhalten in Span-Ereignissen (Standard: deaktiviert). Erfordert [Tracing](#traces-beta). Der Inhalt wird bei 60 KB gekürzt | `1` zum Aktivieren |

98| `OTEL_LOG_RAW_API_BODIES` | Gibt die vollständige Anthropic Messages API-Anfrage und Antwort JSON als `api_request_body` / `api_response_body` Log-Ereignisse aus (Standard: deaktiviert). Texte enthalten die gesamte Konversationshistorie. Das Aktivieren impliziert Zustimmung zu allem, was `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` und `OTEL_LOG_TOOL_CONTENT` offenbaren würden | `1` für Inline-Texte gekürzt bei 60 KB, oder `file:<dir>` für ungekürzte Texte auf der Festplatte mit einem `body_ref`-Zeiger im Ereignis |99| `OTEL_LOG_RAW_API_BODIES` | Gibt die vollständige Anthropic Messages API-Anfrage und Antwort JSON als `api_request_body` / `api_response_body` Log-Ereignisse aus (Standard: deaktiviert). Texte enthalten die gesamte Konversationshistorie. Das Aktivieren impliziert Zustimmung zu allem, was `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` und `OTEL_LOG_TOOL_CONTENT` offenbaren würden | `1` für Inline-Texte gekürzt bei 60 KB, oder `file:<dir>` für ungekürzte Texte auf der Festplatte mit einem `body_ref`-Zeiger im Ereignis |


341Jeder benutzerdefinierte Schlüssel wird zu einem Label auf jeder Metrik-Serie, daher erhöhen hochkardinalige Werte die Speicherkosten in Ihrem Metriken-Backend. Um benutzerdefinierte Attribute nur im Ressourcenblock zu senden und sie von Datenpunkt-Labels auszulassen, setzen Sie `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES=false`. Siehe [Metriken-Kardinalitätskontrolle](#metrics-cardinality-control).342Jeder benutzerdefinierte Schlüssel wird zu einem Label auf jeder Metrik-Serie, daher erhöhen hochkardinalige Werte die Speicherkosten in Ihrem Metriken-Backend. Um benutzerdefinierte Attribute nur im Ressourcenblock zu senden und sie von Datenpunkt-Labels auszulassen, setzen Sie `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES=false`. Siehe [Metriken-Kardinalitätskontrolle](#metrics-cardinality-control).

342 343 

343<Warning>344<Warning>

344 **Wichtige Formatierungsanforderungen für OTEL\_RESOURCE\_ATTRIBUTES:**

345 

346 Die Umgebungsvariable `OTEL_RESOURCE_ATTRIBUTES` verwendet kommagetrennte Schlüssel=Wert-Paare mit strikten Formatierungsanforderungen:345 Die Umgebungsvariable `OTEL_RESOURCE_ATTRIBUTES` verwendet kommagetrennte Schlüssel=Wert-Paare mit strikten Formatierungsanforderungen:

347 346 

348 * **Keine Leerzeichen erlaubt**: Werte dürfen keine Leerzeichen enthalten. Zum Beispiel ist `user.organizationName=My Company` ungültig347 * **Keine Leerzeichen erlaubt**: Werte dürfen keine Leerzeichen enthalten. Zum Beispiel ist `user.organizationName=My Company` ungültig


350 * **Zulässige Zeichen**: Nur US-ASCII-Zeichen ohne Steuerzeichen, Leerzeichen, doppelte Anführungszeichen, Kommas, Semikola und Backslashes349 * **Zulässige Zeichen**: Nur US-ASCII-Zeichen ohne Steuerzeichen, Leerzeichen, doppelte Anführungszeichen, Kommas, Semikola und Backslashes

351 * **Sonderzeichen**: Zeichen außerhalb des zulässigen Bereichs müssen prozentcodiert sein350 * **Sonderzeichen**: Zeichen außerhalb des zulässigen Bereichs müssen prozentcodiert sein

352 351 

353 **Beispiele:**352 Für einen Wert, der ein Leerzeichen benötigen würde, verwenden Sie stattdessen Unterstriche oder camelCase. Die folgenden Beispiele setzen `org.name` mit jeder Form:

354 353 

355 ```bash theme={null}354 ```bash theme={null}

356 # ❌ Ungültig - enthält Leerzeichen

357 export OTEL_RESOURCE_ATTRIBUTES="org.name=John's Organization"

358 

359 # ✅ Gültig - verwenden Sie stattdessen Unterstriche oder camelCase

360 export OTEL_RESOURCE_ATTRIBUTES="org.name=Johns_Organization"355 export OTEL_RESOURCE_ATTRIBUTES="org.name=Johns_Organization"

361 export OTEL_RESOURCE_ATTRIBUTES="org.name=JohnsOrganization"356 export OTEL_RESOURCE_ATTRIBUTES="org.name=JohnsOrganization"

357 ```

362 358 

363 # Gültig - prozentcodieren Sie Sonderzeichen, falls erforderlich359 Sie können jedes Zeichen prozentcodieren, nicht nur die ausgeschlossenen. Dieses Beispiel codiert sowohl das Leerzeichen als auch den Apostroph:

360 

361 ```bash theme={null}

364 export OTEL_RESOURCE_ATTRIBUTES="org.name=John%27s%20Organization"362 export OTEL_RESOURCE_ATTRIBUTES="org.name=John%27s%20Organization"

365 ```363 ```

366 364 

367 Hinweis: Das Einschließen von Werten in Anführungszeichen entkommt keine Leerzeichen. Zum Beispiel führt `org.name="My Company"` zum Literalwert `"My Company"` (mit Anführungszeichen enthalten), nicht zu `My Company`.365 Das Einschließen von Werten in Anführungszeichen entkommt keine Leerzeichen. Zum Beispiel führt `org.name="My Company"` zum Literalwert `"My Company"` mit den Anführungszeichen enthalten, nicht zu `My Company`.

368</Warning>366</Warning>

369 367 

370<h3 id="example-configurations">368<h3 id="example-configurations">


439| `terminal.type` | Terminal-Typ, z. B. `iTerm.app`, `vscode`, `cursor` oder `tmux` | Immer enthalten, wenn erkannt |437| `terminal.type` | Terminal-Typ, z. B. `iTerm.app`, `vscode`, `cursor` oder `tmux` | Immer enthalten, wenn erkannt |

440| Schlüssel aus `OTEL_RESOURCE_ATTRIBUTES` | Benutzerdefinierte Attribute, die Sie festlegen, z. B. `department` oder `team.id`. Siehe [Multi-Team-Organisationsunterstützung](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (Standard: true) |438| Schlüssel aus `OTEL_RESOURCE_ATTRIBUTES` | Benutzerdefinierte Attribute, die Sie festlegen, z. B. `department` oder `team.id`. Siehe [Multi-Team-Organisationsunterstützung](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (Standard: true) |

441 439 

440Wenn Claude Code bei einem [Claude-Apps-Gateway](/de/claude-apps-gateway) angemeldet ist, versieht die CLI Exporte mit der authentifizierten Identität aus der Gateway-Sitzung: `user.id` ist das IdP-Subjekt statt einer anonymen Installationskennung, `user.email` ist die angemeldete E-Mail, und `user.groups` enthält die IdP-Gruppenmitgliedschaft als kommagetrennte Zeichenkette. Jeder Export trägt auch `identity.source: gateway-oidc`. Die Gateway-Identität wird zuletzt angewendet, daher werden `user.*` und `identity.*` Schlüssel, die über `OTEL_RESOURCE_ATTRIBUTES` gesetzt werden, bei Gateway-Sitzungen ignoriert.

441 

442Ereignisse enthalten zusätzlich die folgenden Attribute. Diese werden niemals an Metriken angehängt, da sie zu unbegrenzter Kardinalität führen würden:442Ereignisse enthalten zusätzlich die folgenden Attribute. Diese werden niemals an Metriken angehängt, da sie zu unbegrenzter Kardinalität führen würden:

443 443 

444* `prompt.id`: UUID, die einen Benutzer-Prompt mit allen nachfolgenden Ereignissen bis zum nächsten Prompt korreliert. Siehe [Ereigniskorrelationsattribute](#event-correlation-attributes).444* `prompt.id`: UUID, die einen Benutzer-Prompt mit allen nachfolgenden Ereignissen bis zum nächsten Prompt korreliert. Siehe [Ereigniskorrelationsattribute](#event-correlation-attributes).


488 488 

489* Alle [Standardattribute](#standard-attributes)489* Alle [Standardattribute](#standard-attributes)

490* `type`: (`"added"`, `"removed"`)490* `type`: (`"added"`, `"removed"`)

491* `model`: Modellkennung für das Modell, das die Änderung vorgenommen hat (z. B. "claude-sonnet-4-6"). {/* min-version: 2.1.172 */}Erfordert Claude Code v2.1.172 oder später491* `model`: Modellkennung für das Modell, das die Änderung vorgenommen hat (z. B. "claude-sonnet-5")

492 492 

493<h4 id="pull-request-counter">493<h4 id="pull-request-counter">

494 Pull-Request-Zähler494 Pull-Request-Zähler


519**Attribute**:519**Attribute**:

520 520 

521* Alle [Standardattribute](#standard-attributes)521* Alle [Standardattribute](#standard-attributes)

522* `model`: Modellkennung (z. B. "claude-sonnet-4-6")522* `model`: Modellkennung (z. B. "claude-sonnet-5")

523* `query_source`: Kategorie des Subsystems, das die Anfrage gestellt hat. Einer von `"main"`, `"subagent"` oder `"auxiliary"`523* `query_source`: Kategorie des Subsystems, das die Anfrage gestellt hat. Einer von `"main"`, `"subagent"` oder `"auxiliary"`

524* `speed`: `"fast"`, wenn die Anfrage den schnellen Modus verwendet hat. Andernfalls nicht vorhanden524* `speed`: `"fast"`, wenn die Anfrage den schnellen Modus verwendet hat. Andernfalls nicht vorhanden

525* `effort`: [Anstrengungsstufe](/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird: `"low"`, `"medium"`, `"high"`, `"xhigh"` oder `"max"`. Nicht vorhanden, wenn das Modell Anstrengung nicht unterstützt.525* `effort`: [Anstrengungsstufe](/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird: `"low"`, `"medium"`, `"high"`, `"xhigh"` oder `"max"`. Nicht vorhanden, wenn das Modell Anstrengung nicht unterstützt.


540 540 

541* Alle [Standardattribute](#standard-attributes)541* Alle [Standardattribute](#standard-attributes)

542* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`)542* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`)

543* `model`: Modellkennung (z. B. "claude-sonnet-4-6")543* `model`: Modellkennung (z. B. "claude-sonnet-5")

544* `query_source`: Kategorie des Subsystems, das die Anfrage gestellt hat. Einer von `"main"`, `"subagent"` oder `"auxiliary"`544* `query_source`: Kategorie des Subsystems, das die Anfrage gestellt hat. Einer von `"main"`, `"subagent"` oder `"auxiliary"`

545* `speed`: `"fast"`, wenn die Anfrage den schnellen Modus verwendet hat. Andernfalls nicht vorhanden545* `speed`: `"fast"`, wenn die Anfrage den schnellen Modus verwendet hat. Andernfalls nicht vorhanden

546* `effort`: [Anstrengungsstufe](/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird. Siehe [Kostenzähler](#cost-counter) für Details.546* `effort`: [Anstrengungsstufe](/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird. Siehe [Kostenzähler](#cost-counter) für Details.


608* `event.timestamp`: ISO 8601-Zeitstempel608* `event.timestamp`: ISO 8601-Zeitstempel

609* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung609* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung

610* `prompt_length`: Länge des Prompts610* `prompt_length`: Länge des Prompts

611* `prompt`: Prompt-Inhalt (standardmäßig geschwärzt, aktivieren Sie mit `OTEL_LOG_USER_PROMPTS=1`)611* `prompt`: Prompt-Inhalt. Standardmäßig geschwärzt. Setzen Sie `OTEL_LOG_USER_PROMPTS=1`, um ihn einzubeziehen

612* `command_name`: Befehlsname, wenn der Prompt einen aufruft. Integrierte und gebündelte Befehlsnamen wie `compact` oder `debug` werden wie geschrieben ausgegeben; Aliase wie `reset` werden wie eingegeben ausgegeben, nicht der kanonische Name. Benutzerdefinierte, Plugin- und MCP-Befehlsnamen werden zu `custom` oder `mcp` zusammengefasst, es sei denn, `OTEL_LOG_TOOL_DETAILS=1` ist gesetzt612* `command_name`: Befehlsname, wenn der Prompt einen aufruft. Integrierte und gebündelte Befehlsnamen wie `compact` oder `debug` werden wie geschrieben ausgegeben; Aliase wie `reset` werden wie eingegeben ausgegeben, nicht der kanonische Name. Benutzerdefinierte, Plugin- und MCP-Befehlsnamen werden zu `custom` oder `mcp` zusammengefasst, es sei denn, `OTEL_LOG_TOOL_DETAILS=1` ist gesetzt

613* `command_source`: Ursprung des Befehls, wenn vorhanden: `builtin`, `custom` oder `mcp`. Von Plugins bereitgestellte Befehle werden als `custom` gemeldet613* `command_source`: Ursprung des Befehls, wenn vorhanden: `builtin`, `custom` oder `mcp`. Von Plugins bereitgestellte Befehle werden als `custom` gemeldet

614 614 

615<h4 id="assistant-response-event">

616 Assistent-Antwort-Ereignis

617</h4>

618 

619Protokolliert nach jeder API-Anfrage, die Textinhalte vom Modell zurückgibt. Nur die Textblöcke der Antwort sind enthalten; Thinking-Blöcke und Tool-Use-Blöcke sind ausgeschlossen. {/* min-version: 2.1.193 */}Erfordert Claude Code v2.1.193 oder später.

620 

621**Ereignisname**: `claude_code.assistant_response`

622 

623**Attribute**:

624 

625* Alle [Standardattribute](#standard-attributes)

626* `event.name`: `"assistant_response"`

627* `event.timestamp`: ISO 8601-Zeitstempel

628* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung

629* `response_length`: Länge des Antworttexts in Zeichen

630* `response`: Antworttext, gekürzt bei 60 KB. Standardmäßig auf `<REDACTED>` geschwärzt. Setzen Sie `OTEL_LOG_ASSISTANT_RESPONSES=1`, um ihn einzubeziehen. Wenn `OTEL_LOG_ASSISTANT_RESPONSES` nicht gesetzt ist, steuert `OTEL_LOG_USER_PROMPTS` es stattdessen, also setzen Sie `OTEL_LOG_ASSISTANT_RESPONSES=0`, um Antworten geschwärzt zu halten, während Prompt-Protokollierung aktiv ist

631* `model`: Modellkennung (z. B. "claude-sonnet-4-6")

632* `request_id`: Anthropic API-Anfrage-ID aus dem Response-Header `request-id`. Nur vorhanden, wenn die API eine zurückgibt

633* `query_source`: Subsystem, das die Anfrage gestellt hat, z. B. `"repl_main_thread"`, `"compact"` oder ein Subagent-Name

634 

615<h4 id="tool-result-event">635<h4 id="tool-result-event">

616 Tool-Ergebnis-Ereignis636 Tool-Ergebnis-Ereignis

617</h4>637</h4>


632* `duration_ms`: Ausführungszeit in Millisekunden652* `duration_ms`: Ausführungszeit in Millisekunden

633* `error_type`: Fehler-Kategoriezeichenkette, wenn das Tool fehlgeschlagen ist, z. B. `"Error:ENOENT"` oder `"ShellError"`653* `error_type`: Fehler-Kategoriezeichenkette, wenn das Tool fehlgeschlagen ist, z. B. `"Error:ENOENT"` oder `"ShellError"`

634* `error` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Vollständige Fehlermeldung, wenn das Tool fehlgeschlagen ist654* `error` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Vollständige Fehlermeldung, wenn das Tool fehlgeschlagen ist

635* `decision_type`: Immer `"accept"`, da dieses Ereignis nur ausgegeben wird, nachdem das Tool ausgeführt wurde (abgelehnte Aufrufe erzeugen kein Tool-Ergebnis)655* `decision_type`: Immer `"accept"`, da dieses Ereignis nur ausgegeben wird, nachdem das Tool ausgeführt wurde. Abgelehnte Aufrufe erzeugen kein Tool-Ergebnis

636* `decision_source`: Entscheidungsquelle. Einer von `"config"`, `"hook"`, `"user_permanent"` oder `"user_temporary"`. Siehe das [Tool-Entscheidungs-Ereignis](#tool-decision-event) für die Bedeutung jedes Wertes. Die nur-Ablehnung-Quellen `"user_abort"` und `"user_reject"` erscheinen niemals auf diesem Ereignis.656* `decision_source`: Entscheidungsquelle. Einer von `"config"`, `"hook"`, `"user_permanent"` oder `"user_temporary"`. Siehe das [Tool-Entscheidungs-Ereignis](#tool-decision-event) für die Bedeutung jedes Wertes. Die nur-Ablehnung-Quellen `"user_abort"` und `"user_reject"` erscheinen niemals auf diesem Ereignis.

637* `tool_input_size_bytes`: Größe der JSON-serialisierten Tool-Eingabe in Bytes657* `tool_input_size_bytes`: Größe der JSON-serialisierten Tool-Eingabe in Bytes

638* `tool_result_size_bytes`: Größe des Tool-Ergebnisses in Bytes658* `tool_result_size_bytes`: Größe des Tool-Ergebnisses in Bytes


659* `event.name`: `"api_request"`679* `event.name`: `"api_request"`

660* `event.timestamp`: ISO 8601-Zeitstempel680* `event.timestamp`: ISO 8601-Zeitstempel

661* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung681* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung

662* `model`: Verwendetes Modell (z. B. "claude-sonnet-4-6")682* `model`: Verwendetes Modell (z. B. "claude-sonnet-5")

663* `cost_usd`: Geschätzte Kosten in USD683* `cost_usd`: Geschätzte Kosten in USD

664* `duration_ms`: Anfragedauer in Millisekunden684* `duration_ms`: Anfragedauer in Millisekunden

665* `input_tokens`: Anzahl der Eingabe-Token685* `input_tokens`: Anzahl der Eingabe-Token


686* `event.name`: `"api_error"`706* `event.name`: `"api_error"`

687* `event.timestamp`: ISO 8601-Zeitstempel707* `event.timestamp`: ISO 8601-Zeitstempel

688* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung708* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung

689* `model`: Verwendetes Modell (z. B. "claude-sonnet-4-6")709* `model`: Verwendetes Modell (z. B. "claude-sonnet-5")

690* `error`: Fehlermeldung710* `error`: Fehlermeldung

691* `status_code`: HTTP-Statuscode als Zahl. Nicht vorhanden für Nicht-HTTP-Fehler wie Verbindungsfehler.711* `status_code`: HTTP-Statuscode als Zahl. Nicht vorhanden für Nicht-HTTP-Fehler wie Verbindungsfehler.

692* `duration_ms`: Anfragedauer in Millisekunden712* `duration_ms`: Anfragedauer in Millisekunden


1187 Audit-Sicherheitsereignisse1207 Audit-Sicherheitsereignisse

1188</h2>1208</h2>

1189 1209 

1190OpenTelemetry-Ereignisse sind die Audit-Datenquelle für Claude Code-Aktivität. Jedes Ereignis trägt Identitätsattribute, die Tool-Aufrufe, MCP-Aktivität und Berechtigungsentscheidungen an den Benutzer zurückbinden, der sie ausgelöst hat, und der OTLP-Logs-Exporter kann diese Ereignisse an jede Security Information and Event Management (SIEM)-Plattform mit einem OTLP-Receiver oder an einen OpenTelemetry Collector liefern, der an Ihr SIEM weiterleitet.1210OpenTelemetry-Ereignisse sind die Audit-Datenquelle für Claude Code-Aktivität. Jedes Ereignis trägt Identitätsattribute, die Tool-Aufrufe, MCP-Aktivität und Berechtigungsentscheidungen an den Benutzer zurückbinden, der sie ausgelöst hat. Der OTLP-Logs-Exporter kann diese Ereignisse an jede Security Information and Event Management (SIEM)-Plattform mit einem OTLP-Receiver oder an einen OpenTelemetry Collector liefern, der an Ihr SIEM weiterleitet.

1191 1211 

1192<h3 id="attribute-actions-to-users">1212<h3 id="attribute-actions-to-users">

1193 Attribut-Aktionen an Benutzer1213 Attribut-Aktionen an Benutzer

1194</h3>1214</h3>

1195 1215 

1196Die [Standardattribute](#standard-attributes) auf jedem Ereignis enthalten die Identität des authentifizierten Benutzers: `user.email`, `user.account_uuid`, `user.account_id` und `organization.id`, wenn mit einem Claude-Konto angemeldet, plus die installationsbegrenzte `user.id` und die pro-Sitzung `session.id`.1216Die [Standardattribute](#standard-attributes) auf jedem Ereignis enthalten die Identität des authentifizierten Benutzers: `user.email`, `user.account_uuid`, `user.account_id` und `organization.id`, wenn mit einem Claude-Konto angemeldet, plus `user.id` und die pro-Sitzung `session.id`. `user.id` ist ein installationsbegrenzter Bezeichner, außer bei [Claude apps gateway](/de/claude-apps-gateway)-Sitzungen, wo es das IdP-Subjekt aus dem vom Gateway ausgegebenen Token ist.

1197 1217 

1198MCP-Tool-Aufrufe, Bash-Befehle und Dateibearbeitungen werden daher dem Entwickler zugeordnet, der die Sitzung gestartet hat. Claude Code handelt nicht unter einem separaten Service-Konto; die Identität, die auf jedem Ereignis aufgezeichnet wird, ist das Claude-Konto des Entwicklers selbst.1218MCP-Tool-Aufrufe, Bash-Befehle und Dateibearbeitungen werden daher dem Entwickler zugeordnet, der die Sitzung gestartet hat. Claude Code handelt nicht unter einem separaten Service-Konto; die Identität, die auf jedem Ereignis aufgezeichnet wird, ist das Claude-Konto des Entwicklers selbst, oder die IdP-Identität des Entwicklers bei einer [Claude apps gateway](/de/claude-apps-gateway)-Sitzung.

1199 1219 

1200Wenn Claude Code sich mit einem direkten API-Schlüssel authentifiziert oder gegen Bedrock, Vertex AI oder Microsoft Foundry, gibt es kein Claude-Konto in der Sitzung und nur `user.id` und `session.id` werden gefüllt. In diesen Bereitstellungen fügen Sie die Benutzeridentität selbst mit `OTEL_RESOURCE_ATTRIBUTES` hinzu, die pro Benutzer über die [verwaltete Einstellungsdatei](#administrator-configuration) oder einen Launch-Wrapper gesetzt wird:1220Wenn Claude Code sich mit einem direkten API-Schlüssel authentifiziert oder gegen Bedrock, Vertex AI oder Microsoft Foundry, gibt es kein Claude-Konto in der Sitzung und nur `user.id` und `session.id` werden gefüllt. In diesen Bereitstellungen fügen Sie die Benutzeridentität selbst mit `OTEL_RESOURCE_ATTRIBUTES` hinzu, die pro Benutzer über die [verwaltete Einstellungsdatei](#administrator-configuration) oder einen Launch-Wrapper gesetzt wird. Claude apps gateway-Sitzungen benötigen nichts davon: Die CLI stempelt die IdP-Identität automatisch ab, wie in [Standardattribute](#standard-attributes) beschrieben.

1201 1221 

1202```bash theme={null}1222```bash theme={null}

1203export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."1223export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."


1319* Rohe Dateiinhalte und Code-Snippets sind nicht in Metriken oder Ereignissen enthalten. Trace-Spans sind ein separater Datenpfad: siehe die Aufzählung `OTEL_LOG_TOOL_CONTENT` unten1339* Rohe Dateiinhalte und Code-Snippets sind nicht in Metriken oder Ereignissen enthalten. Trace-Spans sind ein separater Datenpfad: siehe die Aufzählung `OTEL_LOG_TOOL_CONTENT` unten

1320* Wenn über OAuth authentifiziert, ist `user.email` in Telemetrie-Attributen enthalten. Wenn dies ein Problem für Ihre Organisation darstellt, arbeiten Sie mit Ihrem Telemetrie-Backend zusammen, um dieses Feld zu filtern oder zu schwärzen1340* Wenn über OAuth authentifiziert, ist `user.email` in Telemetrie-Attributen enthalten. Wenn dies ein Problem für Ihre Organisation darstellt, arbeiten Sie mit Ihrem Telemetrie-Backend zusammen, um dieses Feld zu filtern oder zu schwärzen

1321* Benutzer-Prompt-Inhalte werden standardmäßig nicht erfasst. Nur die Prompt-Länge wird aufgezeichnet. Um Benutzer-Prompt-Inhalte einzubeziehen, setzen Sie `OTEL_LOG_USER_PROMPTS=1`1341* Benutzer-Prompt-Inhalte werden standardmäßig nicht erfasst. Nur die Prompt-Länge wird aufgezeichnet. Um Benutzer-Prompt-Inhalte einzubeziehen, setzen Sie `OTEL_LOG_USER_PROMPTS=1`

1342* Assistent-Antworttext wird standardmäßig nicht erfasst. Nur die Antwortlänge wird aufgezeichnet. Um Antworttext einzubeziehen, setzen Sie `OTEL_LOG_ASSISTANT_RESPONSES=1`. Wie alle OpenTelemetry-Daten von Claude Code wird der Antworttext nur an den OTel-Endpunkt gesendet, den Sie konfigurieren, niemals an Anthropic. Wenn diese Variable nicht gesetzt ist, wird `OTEL_LOG_USER_PROMPTS` als Fallback verwendet, daher setzen Sie `OTEL_LOG_ASSISTANT_RESPONSES=0`, wenn Sie Prompt-Inhalte ohne Antwortinhalte möchten

1322* Tool-Eingabeargumente und Parameter werden standardmäßig nicht protokolliert. Um sie einzubeziehen, setzen Sie `OTEL_LOG_TOOL_DETAILS=1`. Diese Daten werden nur an den OTEL-Endpunkt gesendet, den Sie konfigurieren, niemals an Anthropic. Argumente können immer noch vertrauliche Werte enthalten, daher konfigurieren Sie Ihr Telemetrie-Backend, um diese Attribute nach Bedarf zu filtern oder zu schwärzen. Wenn aktiviert:1343* Tool-Eingabeargumente und Parameter werden standardmäßig nicht protokolliert. Um sie einzubeziehen, setzen Sie `OTEL_LOG_TOOL_DETAILS=1`. Diese Daten werden nur an den OTEL-Endpunkt gesendet, den Sie konfigurieren, niemals an Anthropic. Argumente können immer noch vertrauliche Werte enthalten, daher konfigurieren Sie Ihr Telemetrie-Backend, um diese Attribute nach Bedarf zu filtern oder zu schwärzen. Wenn aktiviert:

1323 * `tool_result`- und `tool_decision`-Ereignisse enthalten ein `tool_parameters`-Attribut mit Bash-Befehlen, MCP-Server- und Tool-Namen sowie Skill-Namen. Felder wie `full_command` werden ungekürzt ausgegeben1344 * `tool_result`- und `tool_decision`-Ereignisse enthalten ein `tool_parameters`-Attribut mit Bash-Befehlen, MCP-Server- und Tool-Namen sowie Skill-Namen. Felder wie `full_command` werden ungekürzt ausgegeben

1324 * `tool_result`-Ereignisse enthalten zusätzlich ein `tool_input`-Attribut mit Dateipfaden, URLs, Suchmustern und anderen Argumenten. Einzelne Werte über 512 Zeichen werden gekürzt und die Gesamtmenge ist auf etwa 4 K Zeichen begrenzt1345 * `tool_result`-Ereignisse enthalten zusätzlich ein `tool_input`-Attribut mit Dateipfaden, URLs, Suchmustern und anderen Argumenten. Einzelne Werte über 512 Zeichen werden gekürzt und die Gesamtmenge ist auf etwa 4 K Zeichen begrenzt

Details

63 CA-Zertifikatspeicher63 CA-Zertifikatspeicher

64</h2>64</h2>

65 65 

66Standardmäßig vertraut Claude Code sowohl seinen gebündelten Mozilla-CA-Zertifikaten als auch dem Zertifikatspeicher Ihres Betriebssystems. Enterprise-TLS-Inspektions-Proxies wie CrowdStrike Falcon und Zscaler funktionieren ohne zusätzliche Konfiguration, wenn ihr Root-Zertifikat im Betriebssystem-Vertrauensspeicher installiert ist.66Standardmäßig vertraut Claude Code sowohl seinen gebündelten Mozilla-CA-Zertifikaten als auch dem Zertifikatspeicher Ihres Betriebssystems. Das Lesen des Betriebssystem-Speichers erfordert eine Laufzeit mit `tls.getCACertificates`: Das native Installationsprogramm hat es immer, und npm-Installationen benötigen Node 22.15 oder später. Bei älteren Node-Versionen gelten nur der gebündelte Satz und `NODE_EXTRA_CA_CERTS`. Enterprise-TLS-Inspektions-Proxies wie CrowdStrike Falcon und Zscaler funktionieren ohne zusätzliche Konfiguration, wenn ihr Root-Zertifikat im Betriebssystem-Vertrauensspeicher installiert ist und die Laufzeit es lesen kann.

67 67 

68`CLAUDE_CODE_CERT_STORE` akzeptiert eine durch Kommas getrennte Liste von Quellen. Erkannte Werte sind `bundled` für den mit Claude Code ausgelieferten Mozilla-CA-Satz und `system` für den Betriebssystem-Vertrauensspeicher. Der Standard ist `bundled,system`.68`CLAUDE_CODE_CERT_STORE` akzeptiert eine durch Kommas getrennte Liste von Quellen. Erkannte Werte sind `bundled` für den mit Claude Code ausgelieferten Mozilla-CA-Satz und `system` für den Betriebssystem-Vertrauensspeicher. Der Standard ist `bundled,system`.

69 69 


131 131 

132Claude Code sendet standardmäßig optionale operative Telemetrie, die Sie mit Umgebungsvariablen deaktivieren können. Siehe [Telemetrie-Dienste](/de/data-usage#telemetry-services), um zu erfahren, wie Sie diese deaktivieren, bevor Sie Ihre Allowlist finalisieren.132Claude Code sendet standardmäßig optionale operative Telemetrie, die Sie mit Umgebungsvariablen deaktivieren können. Siehe [Telemetrie-Dienste](/de/data-usage#telemetry-services), um zu erfahren, wie Sie diese deaktivieren, bevor Sie Ihre Allowlist finalisieren.

133 133 

134Bei Verwendung von [Amazon Bedrock](/de/amazon-bedrock), [Google Vertex AI](/de/google-vertex-ai) oder [Microsoft Foundry](/de/microsoft-foundry) geht der Modell-Datenverkehr und die Authentifizierung zu Ihrem Anbieter statt zu `api.anthropic.com`, `claude.ai` oder `platform.claude.com`. Das WebFetch-Tool ruft weiterhin `api.anthropic.com` für seine [Domain-Sicherheitsprüfung](/de/data-usage#webfetch-domain-safety-check) auf, es sei denn, Sie setzen `skipWebFetchPreflight: true` in [Einstellungen](/de/settings).134Bei Verwendung von [Amazon Bedrock](/de/amazon-bedrock), [Google Vertex AI](/de/google-vertex-ai), [Microsoft Foundry](/de/microsoft-foundry) oder einer angemeldeten [Claude Apps Gateway](/de/claude-apps-gateway)-Sitzung geht der Modell-Datenverkehr und die Authentifizierung zu Ihrem Anbieter oder Gateway statt zu `api.anthropic.com`, `claude.ai` oder `platform.claude.com`. Das WebFetch-Tool ruft weiterhin `api.anthropic.com` für seine [Domain-Sicherheitsprüfung](/de/data-usage#webfetch-domain-safety-check) auf, es sei denn, Sie setzen `skipWebFetchPreflight: true` in [Einstellungen](/de/settings).

135 135 

136[Claude Code im Web](/de/claude-code-on-the-web) und [Code Review](/de/code-review) verbinden sich von der von Anthropic verwalteten Infrastruktur aus mit Ihren Repositories. Wenn Ihre GitHub Enterprise Cloud-Organisation den Zugriff nach IP-Adresse einschränkt, aktivieren Sie [IP-Allowlist-Vererbung für installierte GitHub Apps](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps). Die Claude GitHub App registriert ihre IP-Bereiche, sodass die Aktivierung dieser Einstellung den Zugriff ohne manuelle Konfiguration ermöglicht. Um [die Bereiche stattdessen manuell zu Ihrer Allowlist hinzuzufügen](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address) oder um andere Firewalls zu konfigurieren, siehe [Anthropic API IP-Adressen](https://platform.claude.com/docs/en/api/ip-addresses).136[Claude Code im Web](/de/claude-code-on-the-web) und [Code Review](/de/code-review) verbinden sich von der von Anthropic verwalteten Infrastruktur aus mit Ihren Repositories. Wenn Ihre GitHub Enterprise Cloud-Organisation den Zugriff nach IP-Adresse einschränkt, aktivieren Sie [IP-Allowlist-Vererbung für installierte GitHub Apps](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps). Die Claude GitHub App registriert ihre IP-Bereiche, sodass die Aktivierung dieser Einstellung den Zugriff ohne manuelle Konfiguration ermöglicht. Um [die Bereiche stattdessen manuell zu Ihrer Allowlist hinzuzufügen](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address) oder um andere Firewalls zu konfigurieren, siehe [Anthropic API IP-Adressen](https://platform.claude.com/docs/en/api/ip-addresses).

137 137 

Details

37 <Tab title="CLI">37 <Tab title="CLI">

38 **Während einer Sitzung**: Drücken Sie `Shift+Tab`, um `default` → `acceptEdits` → `plan` zu durchlaufen. Der aktuelle Modus wird in der Statusleiste angezeigt. Nicht jeder Modus ist im Standard-Zyklus:38 **Während einer Sitzung**: Drücken Sie `Shift+Tab`, um `default` → `acceptEdits` → `plan` zu durchlaufen. Der aktuelle Modus wird in der Statusleiste angezeigt. Nicht jeder Modus ist im Standard-Zyklus:

39 39 

40 * `auto`: wird angezeigt, wenn Ihr Konto die [Auto-Modus-Anforderungen](#eliminate-prompts-with-auto-mode) erfüllt; das Durchlaufen zu Auto zeigt eine Opt-in-Aufforderung an, bis Sie diese akzeptieren, oder wählen Sie **Nein, nicht erneut fragen**, um Auto aus dem Zyklus zu entfernen40 * `auto`: wird angezeigt, wenn Ihr Konto die [Auto-Modus-Anforderungen](#eliminate-prompts-with-auto-mode) erfüllt; das Durchlaufen zu Auto schaltet Modi ohne eine Bestätigungsaufforderung um

41 * `bypassPermissions`: wird angezeigt, nachdem Sie mit `--permission-mode bypassPermissions`, `--dangerously-skip-permissions` oder `--allow-dangerously-skip-permissions` starten; die `--allow-`-Variante fügt den Modus zum Zyklus hinzu, ohne ihn zu aktivieren41 * `bypassPermissions`: wird angezeigt, nachdem Sie mit `--permission-mode bypassPermissions`, `--dangerously-skip-permissions` oder `--allow-dangerously-skip-permissions` starten; die `--allow-`-Variante fügt den Modus zum Zyklus hinzu, ohne ihn zu aktivieren

42 * `dontAsk`: wird niemals im Zyklus angezeigt; legen Sie ihn mit `--permission-mode dontAsk` fest42 * `dontAsk`: wird niemals im Zyklus angezeigt; legen Sie ihn mit `--permission-mode dontAsk` fest

43 43 


188 188 

189* **Plan**: Alle Pläne.189* **Plan**: Alle Pläne.

190* **Owner**: Bei Team und Enterprise muss ein Owner ihn in [Claude Code-Administratoreinstellungen](https://claude.ai/admin-settings/claude-code) aktivieren, bevor Benutzer ihn einschalten können. Administratoren können ihn auch sperren, indem sie `permissions.disableAutoMode` in [verwalteten Einstellungen](/de/permissions#managed-settings) auf `"disable"` setzen.190* **Owner**: Bei Team und Enterprise muss ein Owner ihn in [Claude Code-Administratoreinstellungen](https://claude.ai/admin-settings/claude-code) aktivieren, bevor Benutzer ihn einschalten können. Administratoren können ihn auch sperren, indem sie `permissions.disableAutoMode` in [verwalteten Einstellungen](/de/permissions#managed-settings) auf `"disable"` setzen.

191* **Modell**: Bei der Anthropic API Claude Opus 4.6 oder später oder Sonnet 4.6. Bei Amazon Bedrock, Google Cloud Vertex AI und Microsoft Foundry nur Claude Opus 4.7 und Opus 4.8. Ältere Modelle, einschließlich Sonnet 4.5, Opus 4.5, Haiku und claude-3-Modelle, werden auf keinem Anbieter unterstützt.191* **Modell**: Bei der Anthropic API Claude Opus 4.6 oder später oder Sonnet 4.6 oder später. Bei Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry und angemeldeten [Claude-Apps-Gateway](/de/claude-apps-gateway)-Sitzungen nur Claude Sonnet 5, Opus 4.7 und Opus 4.8. Ältere Modelle, einschließlich Sonnet 4.5, Opus 4.5, Haiku und claude-3-Modelle, werden auf keinem Anbieter unterstützt.

192* **Anbieter**: Standardmäßig auf der Anthropic API verfügbar. Bei Amazon Bedrock, Google Cloud Vertex AI und Microsoft Foundry ist Auto-Modus deaktiviert, bis Sie [`CLAUDE_CODE_ENABLE_AUTO_MODE`](#enable-auto-mode-on-bedrock-vertex-ai-or-foundry) setzen.192* **Anbieter**: Standardmäßig auf der Anthropic API verfügbar. Bei Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry und angemeldeten Claude-Apps-Gateway-Sitzungen ist Auto-Modus deaktiviert, bis Sie [`CLAUDE_CODE_ENABLE_AUTO_MODE`](#enable-auto-mode-on-bedrock-vertex-ai-or-foundry) setzen.

193 193 

194Wenn Claude Code Auto-Modus als nicht verfügbar meldet, ist eine dieser Anforderungen nicht erfüllt; dies ist kein vorübergehender Ausfall. Eine separate Nachricht, die ein Modell benennt und sagt, Auto-Modus "kann die Sicherheit" einer Aktion nicht bestimmen, ist ein vorübergehender Klassifizierer-Ausfall; siehe die [Fehlerreferenz](/de/errors#auto-mode-cannot-determine-the-safety-of-an-action).194Wenn Claude Code Auto-Modus als nicht verfügbar meldet, ist eine dieser Anforderungen nicht erfüllt; dies ist kein vorübergehender Ausfall. Eine separate Nachricht, die ein Modell benennt und sagt, Auto-Modus "kann die Sicherheit" einer Aktion nicht bestimmen, ist ein vorübergehender Klassifizierer-Ausfall; siehe die [Fehlerreferenz](/de/errors#auto-mode-cannot-determine-the-safety-of-an-action).

195 195 


199 Auto-Modus auf Bedrock, Vertex AI oder Foundry aktivieren199 Auto-Modus auf Bedrock, Vertex AI oder Foundry aktivieren

200</h3>200</h3>

201 201 

202Bei [Amazon Bedrock](/de/amazon-bedrock), [Google Cloud Vertex AI](/de/google-vertex-ai) und [Microsoft Foundry](/de/microsoft-foundry) wird Auto-Modus nicht im `Shift+Tab`-Zyklus angezeigt, bis `CLAUDE_CODE_ENABLE_AUTO_MODE` auf `1` gesetzt ist. Die Variable funktioniert in Claude Code v2.1.158 und später. Nur Claude Opus 4.7 und Opus 4.8 werden auf diesen Anbietern unterstützt.202Bei [Amazon Bedrock](/de/amazon-bedrock), [Google Cloud Vertex AI](/de/google-vertex-ai), [Microsoft Foundry](/de/microsoft-foundry) und angemeldeten [Claude-Apps-Gateway](/de/claude-apps-gateway)-Sitzungen wird Auto-Modus nicht im `Shift+Tab`-Zyklus angezeigt, bis `CLAUDE_CODE_ENABLE_AUTO_MODE` auf `1` gesetzt ist. Die Variable funktioniert in Claude Code v2.1.158 und später. Nur Claude Sonnet 5, Opus 4.7 und Opus 4.8 werden auf diesen Anbietern unterstützt.

203 203 

204Um es für einen Entwickler zu aktivieren, fügen Sie die Variable zum `env`-Block in `~/.claude/settings.json` hinzu:204Um es für einen Entwickler zu aktivieren, fügen Sie die Variable zum `env`-Block in `~/.claude/settings.json` hinzu:

205 205 


217 217 

218Um Entwickler daran zu hindern, Auto-Modus zu aktivieren, setzen Sie `disableAutoMode` in verwalteten Einstellungen auf `"disable"`. Dies überschreibt die Enable-Variable.218Um Entwickler daran zu hindern, Auto-Modus zu aktivieren, setzen Sie `disableAutoMode` in verwalteten Einstellungen auf `"disable"`. Dies überschreibt die Enable-Variable.

219 219 

220Wenn Sie sich über ein [LLM-Gateway](/de/llm-gateway) verbinden, das mit `ANTHROPIC_BASE_URL` konfiguriert ist, ist Auto-Modus möglicherweise bereits ohne die Enable-Variable erreichbar, da das Gateway Anfragen durch die Anthropic API leitet. Die `disableAutoMode`-Einstellung gilt auf die gleiche Weise in dieser Konfiguration.220Wenn Sie sich über ein [LLM-Gateway](/de/llm-gateway) verbinden, das mit `ANTHROPIC_BASE_URL` konfiguriert ist, ist Auto-Modus möglicherweise bereits ohne die Enable-Variable erreichbar, da das Gateway Anfragen durch die Anthropic API leitet. Dies gilt nicht für eine angemeldete [Claude-Apps-Gateway](/de/claude-apps-gateway)-Sitzung, die ihre eigene Anbieterklasse ist und die Enable-Variable erfordert. Die `disableAutoMode`-Einstellung gilt auf die gleiche Weise in beiden Konfigurationen.

221 221 

222<h3 id="what-the-classifier-blocks-by-default">222<h3 id="what-the-classifier-blocks-by-default">

223 Was der Klassifizierer standardmäßig blockiert223 Was der Klassifizierer standardmäßig blockiert


239* `git commit --amend`, wenn der Commit am HEAD nicht in dieser Sitzung erstellt wurde239* `git commit --amend`, wenn der Commit am HEAD nicht in dieser Sitzung erstellt wurde

240* `terraform destroy`, `pulumi destroy`, `cdk destroy` oder `terragrunt destroy`, und Anwendung eines Plans, der Ressourcen zerstört240* `terraform destroy`, `pulumi destroy`, `cdk destroy` oder `terragrunt destroy`, und Anwendung eines Plans, der Ressourcen zerstört

241 241 

242Claude Code v2.1.195 und später blockieren standardmäßig weitere Kategorien. Mehrere hängen von [Umgebungs](/de/auto-mode-config#define-trusted-infrastructure)-Einträgen ab, wie sensible Remote-Ziele und geschützte IaC-Bereiche, die Sie auf konkrete Namen eingrenzen können.

243 

244* Schreiben in einen Secret Manager oder Ändern von DNS-Einträgen oder TLS-Zertifikaten

245* Zusammenführen eines Pull Request, den kein Mensch genehmigt hat, Genehmigung von Claudes eigenem Pull Request oder Deaktivierung von CI-Prüfungen

246* Posten eines Kommentars, der selbst ein Befehl für Automatisierung ist, wie `atlantis apply` oder ein Bot-`/deploy` oder `/merge`

247* Umschalten, Ramping oder Löschen eines Production-Feature-Flags

248* Anwendung von Infrastrukturänderungen auf einen geschützten IaC-Bereich oder Entleerung und Entfernung von Cluster-Knoten

249* Schreibvorgänge in einen gemeinsamen Compute-Cluster, die über die benannte Ressource hinausgehen, wie ein Label-Selector oder `--all`, das andere Benutzer-Jobs erfasst

250* Erstellen von Kubernetes-Ressourcen, die auf jedem Knoten ausgeführt werden oder Cluster-Traffic abfangen, wie DaemonSets und Admission Webhooks

251* Interaktive Shells oder Port-Forwards in ein sensibles Remote-Ziel

252* Öffnen eines Tunnels oder einer Reverse Shell, die einen lokalen Service vom öffentlichen Internet erreichbar macht

253* Drucken einer Live-Anmeldedaten oder eines Tokens in das Transkript oder eine Datei

254* Zugriff auf einen PII- oder regulierten Datenspeicherort oder Kopieren von Daten aus einem

255* Umleitung einer Paketinstallation um Ihre interne Paketregistrierung zu einer öffentlichen Registrierung

256* Ausführung eines Befehls mit einem Flag, das einen Sicherheitsschutz deaktiviert, wie `--insecure`

257* [Claude in Chrome](/de/chrome)-Browser-Aktionen, die Seiteninhalte, Cookies oder Anmeldedaten off-origin senden könnten

258 

242**Standardmäßig zugelassen**:259**Standardmäßig zugelassen**:

243 260 

244* Lokale Dateioperationen in Ihrem Arbeitsverzeichnis261* Lokale Dateioperationen in Ihrem Arbeitsverzeichnis


247* Schreibgeschützte HTTP-Anfragen264* Schreibgeschützte HTTP-Anfragen

248* Pushen zum Branch, auf dem Sie gestartet haben, oder zu einem, den Claude erstellt hat265* Pushen zum Branch, auf dem Sie gestartet haben, oder zu einem, den Claude erstellt hat

249 266 

267Claude Code v2.1.195 und später erlauben standardmäßig auch diese:

268 

269* Löschen der genauen Jobs, die Claude früher in derselben Sitzung erstellt hat

270* Lesen, Überprüfung oder Schreiben von sicherheitsbezogenem Code, Konfigurationen und Bedrohungsmodellen als Teil Ihrer Aufgabe

271* Nachrichten zwischen Agenten, die zusammen in derselben Multi-Agent-Sitzung arbeiten

272* Senden von Daten an die vertrauenswürdigen Domains, Buckets und Services, die Sie in [`environment`](/de/auto-mode-config#define-trusted-infrastructure) auflisten. Dies deckt nur Datenfluss ab, nicht destruktive oder Anmeldedaten-Operationen auf derselben Infrastruktur

273* [Claude in Chrome](/de/chrome)-Navigation zu einer vertrauenswürdigen internen Domain, localhost oder einer URL, die Sie benannt haben

274 

250Sandbox-Netzwerkzugriff-Anfragen werden durch den Klassifizierer geleitet, anstatt standardmäßig zugelassen zu werden. Führen Sie `claude auto-mode defaults` aus, um die vollständigen Regellisten zu sehen. Wenn Routineaktionen blockiert werden, kann ein Administrator vertrauenswürdige Repositories, Buckets und Dienste über die `autoMode.environment`-Einstellung hinzufügen: siehe [Auto-Modus konfigurieren](/de/auto-mode-config).275Sandbox-Netzwerkzugriff-Anfragen werden durch den Klassifizierer geleitet, anstatt standardmäßig zugelassen zu werden. Führen Sie `claude auto-mode defaults` aus, um die vollständigen Regellisten zu sehen. Wenn Routineaktionen blockiert werden, kann ein Administrator vertrauenswürdige Repositories, Buckets und Dienste über die `autoMode.environment`-Einstellung hinzufügen: siehe [Auto-Modus konfigurieren](/de/auto-mode-config).

251 276 

252<h3 id="boundaries-you-state-in-conversation">277<h3 id="boundaries-you-state-in-conversation">

permissions.md +36 −25

Details

24 Berechtigungen verwalten24 Berechtigungen verwalten

25</h2>25</h2>

26 26 

27Sie können Claude Code's Werkzeugberechtigungen mit `/permissions` anzeigen und verwalten. Diese Benutzeroberfläche listet alle Berechtigungsregeln und die settings.json-Dateien auf, aus denen sie stammen.27Sie können Claude Code's Werkzeugberechtigungen mit `/permissions` anzeigen und verwalten. Diese Benutzeroberfläche listet alle Berechtigungsregeln und die `settings.json`-Dateien auf, aus denen sie stammen.

28 28 

29* **Allow**-Regeln ermöglichen Claude Code, das angegebene Werkzeug ohne manuelle Genehmigung zu verwenden.29* **Allow**-Regeln ermöglichen Claude Code, das angegebene Werkzeug ohne manuelle Genehmigung zu verwenden.

30* **Ask**-Regeln fordern eine Bestätigung auf, wenn Claude Code versucht, das angegebene Werkzeug zu verwenden.30* **Ask**-Regeln fordern eine Bestätigung auf, wenn Claude Code versucht, das angegebene Werkzeug zu verwenden.

31* **Deny**-Regeln verhindern, dass Claude Code das angegebene Werkzeug verwendet.31* **Deny**-Regeln verhindern, dass Claude Code das angegebene Werkzeug verwendet.

32 32 

33Regeln werden in dieser Reihenfolge ausgewertet: deny, dann ask, dann allow. Die erste Übereinstimmung in dieser Reihenfolge bestimmt das Ergebnis, und die Regelspezifität ändert die Reihenfolge nicht. Eine breite deny-Regel wie `Bash(aws *)` blockiert jeden übereinstimmenden Aufruf, einschließlich Aufrufen, die auch einer engeren allow-Regel wie `Bash(aws s3 ls)` entsprechen, daher kann eine deny-Regel keine Allowlist-Ausnahmen enthalten. Die gleiche Priorität gilt zwischen ask und allow: eine übereinstimmende ask-Regel fordert eine Bestätigung auf, auch wenn eine spezifischere allow-Regel denselben Aufruf ebenfalls erfüllt.33Regeln werden in dieser Reihenfolge ausgewertet: deny, dann ask, dann allow. Die erste Übereinstimmung in dieser Reihenfolge bestimmt das Ergebnis, und die Regelspezifität ändert die Reihenfolge nicht.

34 

35Eine breite deny-Regel wie `Bash(aws *)` blockiert jeden übereinstimmenden Aufruf, einschließlich Aufrufen, die auch einer engeren allow-Regel wie `Bash(aws s3 ls)` entsprechen, daher kann eine deny-Regel keine Allowlist-Ausnahmen enthalten. Die gleiche Priorität gilt zwischen ask und allow: eine übereinstimmende ask-Regel fordert eine Bestätigung auf, auch wenn eine spezifischere allow-Regel denselben Aufruf ebenfalls erfüllt.

34 36 

35Deny-Regeln verhalten sich unterschiedlich, je nachdem, ob sie ein Werkzeug benennen oder ein Muster darin eingrenzen. Ein einfacher Werkzeugname wie `Bash` entfernt das Werkzeug vollständig aus Claudes Kontext, sodass Claude es nie sieht. Eine eingegrenzte Regel wie `Bash(rm *)` lässt das Werkzeug verfügbar und blockiert übereinstimmende Aufrufe, wenn Claude sie versucht.37Deny-Regeln verhalten sich unterschiedlich, je nachdem, ob sie ein Werkzeug benennen oder ein Muster darin eingrenzen. Ein einfacher Werkzeugname wie `Bash` entfernt das Werkzeug vollständig aus Claudes Kontext, sodass Claude es nie sieht. Eine eingegrenzte Regel wie `Bash(rm *)` lässt das Werkzeug verfügbar und blockiert übereinstimmende Aufrufe, wenn Claude sie versucht.

36 38 


42 Berechtigungsmodi44 Berechtigungsmodi

43</h2>45</h2>

44 46 

45Claude Code unterstützt mehrere Berechtigungsmodi, die steuern, wie Werkzeuge genehmigt werden. Siehe [Berechtigungsmodi](/de/permission-modes) für den Zeitpunkt der Verwendung jedes Modus. Legen Sie den `defaultMode` in Ihren [Einstellungsdateien](/de/settings#settings-files) fest:47Claude Code unterstützt mehrere Berechtigungsmodi, die steuern, wie Werkzeugaufrufe genehmigt werden. Siehe [Berechtigungsmodi](/de/permission-modes) für den Zeitpunkt der Verwendung jedes Modus. Legen Sie den `defaultMode` in Ihren [Einstellungsdateien](/de/settings#settings-files) fest:

46 48 

47| Modus | Beschreibung |49| Modus | Beschreibung |

48| :------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |50| :------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

49| `default` | Standardverhalten: fordert Genehmigung bei der ersten Verwendung jedes Werkzeugs auf |51| `default` | Standardverhalten: fordert Genehmigung bei der ersten Verwendung jedes Werkzeugs auf |

50| `acceptEdits` | Akzeptiert automatisch Dateiberechtigungen und häufige Dateisystem-Befehle (`mkdir`, `touch`, `mv`, `cp` usw.) für Pfade im Arbeitsverzeichnis oder `additionalDirectories` |52| `acceptEdits` | Akzeptiert automatisch Dateiberechtigungen und häufige Dateisystem-Befehle wie `mkdir`, `touch`, `mv` und `cp` für Pfade im Arbeitsverzeichnis oder `additionalDirectories` |

51| `plan` | Plan Mode: Claude liest Dateien und führt schreibgeschützte Shell-Befehle aus, um zu erkunden, bearbeitet aber nicht Ihre Quelldateien |53| `plan` | Plan Mode: Claude liest Dateien und führt schreibgeschützte Shell-Befehle aus, um zu erkunden, bearbeitet aber nicht Ihre Quelldateien |

52| `auto` | Genehmigt Werkzeugaufrufe automatisch mit Hintergrund-Sicherheitsprüfungen, die überprüfen, ob Aktionen mit Ihrer Anfrage übereinstimmen. Derzeit eine Forschungsvorschau |54| `auto` | Genehmigt Werkzeugaufrufe automatisch mit Hintergrund-Sicherheitsprüfungen, die überprüfen, ob Aktionen mit Ihrer Anfrage übereinstimmen. Derzeit eine Forschungsvorschau |

53| `dontAsk` | Verweigert Werkzeuge automatisch, es sei denn, sie sind vorab über `/permissions` oder `permissions.allow`-Regeln genehmigt |55| `dontAsk` | Verweigert Werkzeuge automatisch, es sei denn, sie sind vorab über `/permissions` oder `permissions.allow`-Regeln genehmigt |

54| `bypassPermissions` | Überspringt Berechtigungsaufforderungen, außer denen, die durch explizite `ask`-Regeln erzwungen werden. Entfernungen von Dateisystem-Root oder Home-Verzeichnis wie `rm -rf /` und `rm -rf ~` fordern weiterhin auf als Schutzschalter gegen Modellfehler |56| `bypassPermissions` | Überspringt Berechtigungsaufforderungen, außer denen, die durch explizite `ask`-Regeln erzwungen werden. Entfernungen von Dateisystem-Root oder Home-Verzeichnis wie `rm -rf /` fordern weiterhin auf als Schutzschalter |

55 57 

56<Warning>58<Warning>

57 Der Modus `bypassPermissions` überspringt Berechtigungsaufforderungen, einschließlich Schreibvorgänge in `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn` und `.mvn`. Explizite `ask`-Regeln erzwingen weiterhin eine Aufforderung, und Entfernungen, die auf das Dateisystem-Root oder Home-Verzeichnis abzielen, wie `rm -rf /` und `rm -rf ~`, fordern weiterhin auf als Schutzschalter gegen Modellfehler. Verwenden Sie diesen Modus nur in isolierten Umgebungen wie Containern oder VMs, in denen Claude Code keinen Schaden anrichten kann. Administratoren können diesen Modus verhindern, indem sie `permissions.disableBypassPermissionsMode` in [verwalteten Einstellungen](#managed-settings) auf `"disable"` setzen.59 Der Modus `bypassPermissions` überspringt Berechtigungsaufforderungen, einschließlich Schreibvorgänge in `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn` und `.mvn`. Explizite `ask`-Regeln erzwingen weiterhin eine Aufforderung, und Entfernungen, die auf das Dateisystem-Root oder Home-Verzeichnis abzielen, wie `rm -rf /` und `rm -rf ~`, fordern weiterhin auf als Schutzschalter gegen Modellfehler. Verwenden Sie diesen Modus nur in isolierten Umgebungen wie Containern oder VMs, in denen Claude Code keinen Schaden anrichten kann.

58</Warning>60</Warning>

59 61 

60Um zu verhindern, dass der Modus `bypassPermissions` oder `auto` verwendet wird, setzen Sie `permissions.disableBypassPermissionsMode` oder `permissions.disableAutoMode` in einer beliebigen [Einstellungsdatei](/de/settings#settings-files) auf `"disable"`. Diese sind am nützlichsten in [verwalteten Einstellungen](#managed-settings), wo sie nicht überschrieben werden können.62Um zu verhindern, dass der Modus `bypassPermissions` oder `auto` verwendet wird, setzen Sie `permissions.disableBypassPermissionsMode` oder `permissions.disableAutoMode` auf `"disable"` in einer beliebigen [Einstellungsdatei](/de/settings#settings-files). Diese sind am nützlichsten in [verwalteten Einstellungen](#managed-settings), wo sie nicht überschrieben werden können.

61 63 

62<h2 id="permission-rule-syntax">64<h2 id="permission-rule-syntax">

63 Berechtigungsregelsyntax65 Berechtigungsregelsyntax


95 Abgleich nach Eingabeparameter97 Abgleich nach Eingabeparameter

96</h3>98</h3>

97 99 

98Ablehnungs- und Anfrage-Regeln können einen Eingabeparameter auf oberster Ebene auf jedem Werkzeug mit `Tool(param:value)` abgleichen. Die Regel passt, wenn Claude das Werkzeug mit diesem Parameter aufruft, der auf diesen genauen Wert gesetzt ist. Diese Syntax ist für Ablehnungs- und Anfrage-Regeln; eine Zulassungsregel für einen Parameterwert würde nicht feststellen, dass der Aufruf insgesamt sicher ist, daher verwenden Zulassungsregeln weiterhin die eigene Spezifizierer-Syntax jedes Werkzeugs. Dies funktioniert für jeden Skalarparameter, den das Werkzeug akzeptiert:100Ablehnungs- und Anfrage-Regeln können einen Eingabeparameter auf oberster Ebene auf jedem Werkzeug mit `Tool(param:value)` abgleichen. Die Regel passt, wenn Claude das Werkzeug mit diesem Parameter aufruft, der auf diesen genauen Wert gesetzt ist. Eine Zulassungsregel für einen Parameterwert würde nicht feststellen, dass der Aufruf insgesamt sicher ist, daher verwenden Zulassungsregeln weiterhin die eigene Spezifizierer-Syntax jedes Werkzeugs. Dies funktioniert für jeden Skalarparameter, den das Werkzeug akzeptiert:

99 101 

100| Regel | Passt |102| Regel | Passt |

101| :----------------------------- | :------------------------------------------------- |103| :----------------------------- | :------------------------------------------------- |


220 222 

221 * Optionen vor URL: `curl -X GET http://github.com/...`223 * Optionen vor URL: `curl -X GET http://github.com/...`

222 * Anderes Protokoll: `curl https://github.com/...`224 * Anderes Protokoll: `curl https://github.com/...`

223 * Umleitungen: `curl -L http://bit.ly/xyz` (leitet zu github um)225 * Umleitungen: `curl -L http://bit.ly/xyz`, die zu GitHub umleitet

224 * Variablen: `URL=http://github.com && curl $URL`226 * Variablen: `URL=http://github.com && curl $URL`

225 * Zusätzliche Leerzeichen: `curl http://github.com`227 * Zusätzliche Leerzeichen: `curl http://github.com`

226 228 


270Read- und Edit-Regeln folgen beide der [gitignore](https://git-scm.com/docs/gitignore)-Spezifikation mit vier unterschiedlichen Mustertypen:272Read- und Edit-Regeln folgen beide der [gitignore](https://git-scm.com/docs/gitignore)-Spezifikation mit vier unterschiedlichen Mustertypen:

271 273 

272| Muster | Bedeutung | Beispiel | Gleicht ab |274| Muster | Bedeutung | Beispiel | Gleicht ab |

273| -------------------- | ------------------------------------------ | -------------------------------- | ------------------------------ |275| -------------------- | -------------------------------------- | -------------------------------- | ------------------------------ |

274| `//path` | **Absoluter** Pfad vom Dateisystem-Root | `Read(//Users/alice/secrets/**)` | `/Users/alice/secrets/**` |276| `//path` | Absoluter Pfad vom Dateisystem-Root | `Read(//Users/alice/secrets/**)` | `/Users/alice/secrets/**` |

275| `~/path` | Pfad vom **Home**-Verzeichnis | `Read(~/Documents/*.pdf)` | `/Users/alice/Documents/*.pdf` |277| `~/path` | Pfad vom Home-Verzeichnis | `Read(~/Documents/*.pdf)` | `/Users/alice/Documents/*.pdf` |

276| `/path` | Pfad **relativ zum Projekt-Root** | `Edit(/src/**/*.ts)` | `<project root>/src/**/*.ts` |278| `/path` | Pfad relativ zum Projekt-Root | `Edit(/src/**/*.ts)` | `<project root>/src/**/*.ts` |

277| `path` oder `./path` | Pfad **relativ zum aktuellen Verzeichnis** | `Read(*.env)` | `<cwd>/*.env` |279| `path` oder `./path` | Pfad relativ zum aktuellen Verzeichnis | `Read(*.env)` | `<cwd>/*.env` |

278 280 

279<Warning>281<Warning>

280 Ein Muster wie `/Users/alice/file` ist KEIN absoluter Pfad. Es ist relativ zum Projekt-Root. Verwenden Sie `//Users/alice/file` für absolute Pfade.282 Ein Muster wie `/Users/alice/file` ist KEIN absoluter Pfad. Es ist relativ zum Projekt-Root. Verwenden Sie `//Users/alice/file` für absolute Pfade.


284 286 

285Beispiele:287Beispiele:

286 288 

287* `Edit(/docs/**)`: Bearbeitungen in `<project>/docs/` (NICHT `/docs/` und NICHT `<project>/.claude/docs/`)289* `Edit(/docs/**)`: Bearbeitungen in `<project>/docs/`, nicht `/docs/` oder `<project>/.claude/docs/`

288* `Read(~/.zshrc)`: liest die `.zshrc` Ihres Home-Verzeichnisses290* `Read(~/.zshrc)`: liest die `.zshrc` Ihres Home-Verzeichnisses

289* `Edit(//tmp/scratch.txt)`: bearbeitet den absoluten Pfad `/tmp/scratch.txt`291* `Edit(//tmp/scratch.txt)`: bearbeitet den absoluten Pfad `/tmp/scratch.txt`

290* `Read(src/**)`: liest aus `<current-directory>/src/`292* `Read(src/**)`: liest aus `<current-directory>/src/`


323 MCP325 MCP

324</h3>326</h3>

325 327 

326* `mcp__puppeteer` gleicht jedes Werkzeug ab, das vom `puppeteer`-Server bereitgestellt wird (Name in Claude Code konfiguriert)328MCP-Regeln verwenden den Servernamen wie in Claude Code konfiguriert, optional gefolgt vom Namen eines Werkzeugs von diesem Server.

327* `mcp__puppeteer__*` Wildcard-Syntax, die auch alle Werkzeuge vom `puppeteer`-Server abgleicht329 

330* `mcp__puppeteer` gleicht jedes Werkzeug ab, das vom `puppeteer`-Server bereitgestellt wird

331* `mcp__puppeteer__*` verwendet Wildcard-Syntax und gleicht auch alle Werkzeuge vom `puppeteer`-Server ab

328* `mcp__puppeteer__puppeteer_navigate` gleicht das `puppeteer_navigate`-Werkzeug ab, das vom `puppeteer`-Server bereitgestellt wird332* `mcp__puppeteer__puppeteer_navigate` gleicht das `puppeteer_navigate`-Werkzeug ab, das vom `puppeteer`-Server bereitgestellt wird

329 333 

330<h3 id="agent-subagents">334<h3 id="agent-subagents">


418 422 

419Berechtigungen und [Sandboxing](/de/sandboxing) sind komplementäre Sicherheitsebenen:423Berechtigungen und [Sandboxing](/de/sandboxing) sind komplementäre Sicherheitsebenen:

420 424 

421* **Berechtigungen** steuern, welche Werkzeuge Claude Code verwenden kann und auf welche Dateien oder Domänen es zugreifen kann. Sie gelten für alle Werkzeuge (Bash, Read, Edit, WebFetch, MCP und andere).425* **Berechtigungen** steuern, welche Werkzeuge Claude Code verwenden kann und auf welche Dateien oder Domänen es zugreifen kann. Sie gelten für alle Werkzeuge, einschließlich Bash, Read, Edit, WebFetch und MCP.

422* **Sandboxing** bietet OS-Ebenen-Durchsetzung, die den Zugriff des Bash-Werkzeugs auf das Dateisystem und das Netzwerk einschränkt. Es gilt nur für Bash-Befehle und ihre untergeordneten Prozesse.426* **Sandboxing** bietet OS-Ebenen-Durchsetzung, die den Zugriff des Bash-Werkzeugs auf das Dateisystem und das Netzwerk einschränkt. Es gilt nur für Bash-Befehle und ihre untergeordneten Prozesse.

423 427 

424Verwenden Sie beide für Defense-in-Depth:428Verwenden Sie beide für Defense-in-Depth:


428* Dateisystem-Einschränkungen in der Sandbox kombinieren die [`sandbox.filesystem`](/de/sandboxing)-Einstellungen mit Read- und Edit-Deny-Regeln; beide werden in die endgültige Sandbox-Grenze zusammengeführt432* Dateisystem-Einschränkungen in der Sandbox kombinieren die [`sandbox.filesystem`](/de/sandboxing)-Einstellungen mit Read- und Edit-Deny-Regeln; beide werden in die endgültige Sandbox-Grenze zusammengeführt

429* Netzwerk-Einschränkungen kombinieren WebFetch-Berechtigungsregeln mit den `allowedDomains`- und `deniedDomains`-Listen der Sandbox433* Netzwerk-Einschränkungen kombinieren WebFetch-Berechtigungsregeln mit den `allowedDomains`- und `deniedDomains`-Listen der Sandbox

430 434 

431Wenn Sandboxing mit `autoAllowBashIfSandboxed: true` aktiviert ist, was die Standardeinstellung ist, laufen sandboxed Bash-Befehle ohne Aufforderung, selbst wenn Ihre Berechtigungen eine einfache `Bash` Ask-Regel oder die [äquivalente `Bash(*)` Form](#match-all-uses-of-a-tool) enthalten: die Sandbox-Grenze ersetzt diese Ganz-Werkzeug-Aufforderung. Inhaltsgebundene Ask-Regeln wie `Bash(git push *)` erzwingen weiterhin eine Aufforderung, explizite Deny-Regeln gelten weiterhin, und `rm`- oder `rmdir`-Befehle, die auf `/`, Ihr Home-Verzeichnis oder andere kritische Systempfade abzielen, lösen weiterhin eine Aufforderung aus. Befehle, die nicht sandboxed ausgeführt werden können, wie ausgeschlossene Befehle, respektieren die einfache `Bash` Ask-Regel wie gewöhnlich. Siehe [Sandbox-Modi](/de/sandboxing#sandbox-modes), um dieses Verhalten zu ändern.435Wenn Sandboxing mit `autoAllowBashIfSandboxed: true` aktiviert ist, was die Standardeinstellung ist, laufen sandboxed Bash-Befehle ohne Aufforderung, selbst wenn Ihre Berechtigungen eine einfache `Bash` Ask-Regel oder die [äquivalente `Bash(*)` Form](#match-all-uses-of-a-tool) enthalten: die Sandbox-Grenze ersetzt diese Ganz-Werkzeug-Aufforderung. Diese Überprüfungen gelten weiterhin:

436 

437* Inhaltsgebundene Ask-Regeln wie `Bash(git push *)` erzwingen weiterhin eine Aufforderung

438* Explizite Deny-Regeln gelten weiterhin

439* `rm`- oder `rmdir`-Befehle, die auf `/`, Ihr Home-Verzeichnis oder andere kritische Systempfade abzielen, lösen weiterhin eine Aufforderung aus

440 

441Befehle, die nicht sandboxed ausgeführt werden können, wie ausgeschlossene Befehle, respektieren die einfache `Bash` Ask-Regel wie gewöhnlich. Siehe [Sandbox-Modi](/de/sandboxing#sandbox-modes), um dieses Verhalten zu ändern.

432 442 

433<h2 id="managed-settings">443<h2 id="managed-settings">

434 Verwaltete Einstellungen444 Verwaltete Einstellungen

435</h2>445</h2>

436 446 

437Für Organisationen, die eine zentralisierte Kontrolle über die Claude Code-Konfiguration benötigen, können Administratoren verwaltete Einstellungen bereitstellen, die nicht von Benutzer- oder Projekteinstellungen überschrieben werden können. Diese Richtlinieneinstellungen folgen dem gleichen Format wie reguläre Einstellungsdateien und können über MDM/OS-Ebenen-Richtlinien, verwaltete Einstellungsdateien oder [servergesteuerte Einstellungen](/de/server-managed-settings) bereitgestellt werden. Siehe [Einstellungsdateien](/de/settings#settings-files) für Bereitstellungsmechanismen und Dateispeicherorte.447Für Organisationen, die eine zentralisierte Kontrolle über die Claude Code-Konfiguration benötigen, können Administratoren verwaltete Einstellungen bereitstellen, die nicht von Benutzer- oder Projekteinstellungen überschrieben werden können. Diese Richtlinieneinstellungen folgen dem gleichen Format wie reguläre Einstellungsdateien und können über MDM/OS-Ebenen-Richtlinien, verwaltete Einstellungsdateien, [servergesteuerte Einstellungen](/de/server-managed-settings) oder ein selbstgehostetes [Claude Apps Gateway](/de/claude-apps-gateway) bereitgestellt werden. Siehe [Einstellungsdateien](/de/settings#settings-files) für Bereitstellungsmechanismen und Dateispeicherorte.

438 448 

439<h3 id="managed-only-settings">449<h3 id="managed-only-settings">

440 Nur verwaltete Einstellungen450 Nur verwaltete Einstellungen


443Die folgenden Einstellungen sind nur in verwalteten Einstellungen wirksam. Das Platzieren in Benutzer- oder Projekteinstellungsdateien hat keine Auswirkung.453Die folgenden Einstellungen sind nur in verwalteten Einstellungen wirksam. Das Platzieren in Benutzer- oder Projekteinstellungsdateien hat keine Auswirkung.

444 454 

445| Einstellung | Beschreibung |455| Einstellung | Beschreibung |

446| :--------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |456| :--------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

447| `allowAllClaudeAiMcps` | Wenn `true`, werden claude.ai-Konnektoren zusammen mit einer bereitgestellten `managed-mcp.json` geladen, anstatt durch ihre exklusive Kontrolle unterdrückt zu werden. Siehe [Verwaltete MCP-Konfiguration](/de/managed-mcp) |457| `allowAllClaudeAiMcps` | Wenn `true`, werden claude.ai-Konnektoren zusammen mit einer bereitgestellten `managed-mcp.json` geladen, anstatt durch ihre exklusive Kontrolle unterdrückt zu werden. Siehe [Verwaltete MCP-Konfiguration](/de/managed-mcp) |

448| `allowedChannelPlugins` | Zulassungsliste von Channel-Plugins, die Nachrichten pushen dürfen. Ersetzt die Standard-Anthropic-Zulassungsliste, wenn gesetzt. Erfordert `channelsEnabled: true`. Siehe [Einschränken Sie, welche Channel-Plugins ausgeführt werden können](/de/channels#restrict-which-channel-plugins-can-run) |458| `allowedChannelPlugins` | Zulassungsliste von Channel-Plugins, die Nachrichten pushen dürfen. Ersetzt die Standard-Anthropic-Zulassungsliste, wenn gesetzt. Erfordert `channelsEnabled: true`. Siehe [Einschränken Sie, welche Channel-Plugins ausgeführt werden können](/de/channels#restrict-which-channel-plugins-can-run) |

449| `allowManagedHooksOnly` | Wenn `true`, werden nur verwaltete Hooks, SDK-Hooks und Hooks aus Plugins, die in verwalteten Einstellungen `enabledPlugins` erzwungen sind, geladen. Benutzer-, Projekt- und alle anderen Plugin-Hooks werden blockiert |459| `allowManagedHooksOnly` | Wenn `true`, werden nur verwaltete Hooks, SDK-Hooks und Hooks aus Plugins, die in verwalteten Einstellungen `enabledPlugins` erzwungen sind, geladen. Benutzer-, Projekt- und alle anderen Plugin-Hooks werden blockiert |


451| `allowManagedPermissionRulesOnly` | Wenn `true`, verhindert, dass Benutzer- und Projekteinstellungen `allow`-, `ask`- oder `deny`-Berechtigungsregeln definieren. Nur Regeln in verwalteten Einstellungen gelten. Dies wirkt sich nicht auf die MCP-Server-Zulassungsliste aus; dafür setzen Sie `allowManagedMcpServersOnly` |461| `allowManagedPermissionRulesOnly` | Wenn `true`, verhindert, dass Benutzer- und Projekteinstellungen `allow`-, `ask`- oder `deny`-Berechtigungsregeln definieren. Nur Regeln in verwalteten Einstellungen gelten. Dies wirkt sich nicht auf die MCP-Server-Zulassungsliste aus; dafür setzen Sie `allowManagedMcpServersOnly` |

452| `blockedMarketplaces` | Blocklist von Marketplace-Quellen. Blockierte Quellen werden vor dem Download überprüft, sodass sie das Dateisystem nie berühren. Siehe [verwaltete Marketplace-Einschränkungen](/de/plugin-marketplaces#managed-marketplace-restrictions) |462| `blockedMarketplaces` | Blocklist von Marketplace-Quellen. Blockierte Quellen werden vor dem Download überprüft, sodass sie das Dateisystem nie berühren. Siehe [verwaltete Marketplace-Einschränkungen](/de/plugin-marketplaces#managed-marketplace-restrictions) |

453| `channelsEnabled` | Ermöglichen Sie [Channels](/de/channels) für die Organisation. Siehe [Enterprise-Kontrollen](/de/channels#enterprise-controls) für die Standardeinstellung bei jedem Plan |463| `channelsEnabled` | Ermöglichen Sie [Channels](/de/channels) für die Organisation. Siehe [Enterprise-Kontrollen](/de/channels#enterprise-controls) für die Standardeinstellung bei jedem Plan |

464| `disableSideloadFlags` | {/* min-version: 2.1.193 */}Lehnen Sie die CLI-Flags `--plugin-dir`, `--plugin-url`, `--agents` und `--mcp-config` beim Start ab. Ohne dies können Benutzer `strictKnownMarketplaces` für einen einzelnen Durchlauf umgehen, indem sie diese Flags übergeben. Siehe [`disableSideloadFlags`](/de/settings#available-settings). Erfordert Claude Code v2.1.193 oder später |

454| `forceRemoteSettingsRefresh` | Wenn `true`, blockiert CLI-Start, bis remote verwaltete Einstellungen aktuell abgerufen werden, und beendet sich, wenn der Abruf fehlschlägt. Siehe [Fail-Closed-Durchsetzung](/de/server-managed-settings#enforce-fail-closed-startup) |465| `forceRemoteSettingsRefresh` | Wenn `true`, blockiert CLI-Start, bis remote verwaltete Einstellungen aktuell abgerufen werden, und beendet sich, wenn der Abruf fehlschlägt. Siehe [Fail-Closed-Durchsetzung](/de/server-managed-settings#enforce-fail-closed-startup) |

455| `pluginTrustMessage` | Benutzerdefinierte Nachricht, die der vor der Installation angezeigten Plugin-Vertrauenswarnung hinzugefügt wird |466| `pluginTrustMessage` | Benutzerdefinierte Nachricht, die der vor der Installation angezeigten Plugin-Vertrauenswarnung hinzugefügt wird |

456| `sandbox.filesystem.allowManagedReadPathsOnly` | Wenn `true`, werden nur `filesystem.allowRead`-Pfade aus verwalteten Einstellungen berücksichtigt. `denyRead` wird immer noch aus allen Quellen zusammengeführt |467| `sandbox.filesystem.allowManagedReadPathsOnly` | Wenn `true`, werden nur `filesystem.allowRead`-Pfade aus verwalteten Einstellungen berücksichtigt. `denyRead` wird immer noch aus allen Quellen zusammengeführt |


462`disableBypassPermissionsMode` wird normalerweise in verwalteten Einstellungen platziert, um Organisationsrichtlinien durchzusetzen, funktioniert aber aus jedem Bereich. Ein Benutzer kann es in seinen eigenen Einstellungen festlegen, um sich selbst aus dem Bypass-Modus auszusperren.473`disableBypassPermissionsMode` wird normalerweise in verwalteten Einstellungen platziert, um Organisationsrichtlinien durchzusetzen, funktioniert aber aus jedem Bereich. Ein Benutzer kann es in seinen eigenen Einstellungen festlegen, um sich selbst aus dem Bypass-Modus auszusperren.

463 474 

464<Note>475<Note>

465 Bei Team- und Enterprise-Plänen aktiviert oder deaktiviert ein Administrator [Remote Control](/de/remote-control) und [Web-Sitzungen](/de/claude-code-on-the-web) organisationsweit in [Claude Code-Administratoreinstellungen](https://claude.ai/admin-settings/claude-code). Remote Control kann zusätzlich pro Gerät mit der verwalteten Einstellung [`disableRemoteControl`](/de/settings#available-settings) deaktiviert werden. Web-Sitzungen haben keinen verwalteten Einstellungsschlüssel pro Gerät.476 Bei Team- und Enterprise-Plänen aktiviert oder deaktiviert ein Owner [Remote Control](/de/remote-control) und [Web-Sitzungen](/de/claude-code-on-the-web) organisationsweit in [Claude Code-Administratoreinstellungen](https://claude.ai/admin-settings/claude-code). Remote Control kann zusätzlich pro Gerät mit der Einstellung [`disableRemoteControl`](/de/settings#available-settings) deaktiviert werden. Web-Sitzungen haben keinen verwalteten Einstellungsschlüssel pro Gerät.

466</Note>477</Note>

467 478 

468<h2 id="settings-precedence">479<h2 id="settings-precedence">


479 490 

480Wenn ein Werkzeug auf einer beliebigen Ebene verweigert wird, kann keine andere Ebene es zulassen. Zum Beispiel kann eine verwaltete Einstellungs-Deny nicht durch `--allowedTools` überschrieben werden, und `--disallowedTools` kann Einschränkungen über das hinaus hinzufügen, was verwaltete Einstellungen definieren.491Wenn ein Werkzeug auf einer beliebigen Ebene verweigert wird, kann keine andere Ebene es zulassen. Zum Beispiel kann eine verwaltete Einstellungs-Deny nicht durch `--allowedTools` überschrieben werden, und `--disallowedTools` kann Einschränkungen über das hinaus hinzufügen, was verwaltete Einstellungen definieren.

481 492 

482Embedding-Hosts können zusätzliche verwaltete Richtlinien über die SDK-Option `managedSettings` bereitstellen, wenn [`parentSettingsBehavior`](/de/settings#settings-precedence) auf `"merge"` gesetzt ist; Embedder-Werte können die Richtlinie verschärfen, aber nicht lockern.493Das Gleiche gilt für Einstellungsbereiche: Wenn Benutzereinstellungen eine Berechtigung zulassen und Projekteinstellungen sie verweigern, blockiert die Deny-Regel sie. Das Gegenteil ist auch wahr: eine Deny-Regel auf Benutzerebene blockiert eine Allow-Regel auf Projektebene, da Deny-Regeln aus jedem Bereich vor Allow-Regeln ausgewertet werden.

483 494 

484Wenn beispielsweise Benutzereinstellungen eine Berechtigung zulassen und Projekteinstellungen sie verweigern, blockiert die Deny-Regel sie. Das Gegenteil ist auch wahr: eine Deny-Regel auf Benutzerebene blockiert eine Allow-Regel auf Projektebene, da Deny-Regeln aus jedem Bereich vor Allow-Regeln ausgewertet werden.495Embedding-Hosts können zusätzliche verwaltete Richtlinien über die SDK-Option `managedSettings` bereitstellen, wenn [`parentSettingsBehavior`](/de/settings#settings-precedence) auf `"merge"` gesetzt ist; Embedder-Werte können die Richtlinie verschärfen, aber nicht lockern.

485 496 

486<h2 id="example-configurations">497<h2 id="example-configurations">

487 Beispielkonfigurationen498 Beispielkonfigurationen

Details

102 102 

103Wenn Sie ein Plugin installieren, das `{ "name": "secrets-vault", "version": "~2.1.0" }` deklariert, listet Claude Code die Tags des Marketplace auf, filtert diejenigen, die mit `secrets-vault--v` beginnen, und ruft die höchste Version ab, die `~2.1.0` erfüllt. Wenn kein passender Tag vorhanden ist, wird das abhängige Plugin mit einem Fehler deaktiviert, der die verfügbaren Versionen auflistet.103Wenn Sie ein Plugin installieren, das `{ "name": "secrets-vault", "version": "~2.1.0" }` deklariert, listet Claude Code die Tags des Marketplace auf, filtert diejenigen, die mit `secrets-vault--v` beginnen, und ruft die höchste Version ab, die `~2.1.0` erfüllt. Wenn kein passender Tag vorhanden ist, wird das abhängige Plugin mit einem Fehler deaktiviert, der die verfügbaren Versionen auflistet.

104 104 

105Ein Marketplace, der als lokaler Ordnerpfad hinzugefügt wird, löst Tags auf die gleiche Weise auf, wenn der Ordner ein Git-Repository ist. Dies erfordert Claude Code v2.1.196 oder später. In zwei Fällen installiert Claude Code die Abhängigkeit stattdessen aus dem aktuellen Inhalt des Ordners:

106 

107* Frühere Versionen lesen keine Tags aus einem lokalen Ordner-Marketplace, daher wird eine eingeschränkte Abhängigkeit nur geladen, wenn diese Kopie den Bereich erfüllt.

108* Ein lokaler Ordner, der kein Git-Repository ist, hat keine Tags, unabhängig von der Version.

109 

105Das aufgelöste Tag's Semver wird separat vom `version`-Feld der `plugin.json` aufgezeichnet, sodass Beschränkungsprüfungen das Tag verwenden, das tatsächlich abgerufen wurde, auch wenn `plugin.json` bei diesem Commit einen veralteten Wert hat. Der Cache-Verzeichnisname für eine Tag-aufgelöste Installation enthält ein 12-stelliges Commit-SHA-Suffix, sodass wenn ein Maintainer ein Tag zu einem anderen Commit verschiebt, die nächste Installation ein frisches Cache-Verzeichnis erhält, anstatt veraltete Inhalte wiederzuverwenden.110Das aufgelöste Tag's Semver wird separat vom `version`-Feld der `plugin.json` aufgezeichnet, sodass Beschränkungsprüfungen das Tag verwenden, das tatsächlich abgerufen wurde, auch wenn `plugin.json` bei diesem Commit einen veralteten Wert hat. Der Cache-Verzeichnisname für eine Tag-aufgelöste Installation enthält ein 12-stelliges Commit-SHA-Suffix, sodass wenn ein Maintainer ein Tag zu einem anderen Commit verschiebt, die nächste Installation ein frisches Cache-Verzeichnis erhält, anstatt veraltete Inhalte wiederzuverwenden.

106 111 

107<Note>112<Note>

Details

6 6 

7> Erstellen und hosten Sie Plugin-Marktplätze, um Claude Code-Erweiterungen in Teams und Communities zu verteilen.7> Erstellen und hosten Sie Plugin-Marktplätze, um Claude Code-Erweiterungen in Teams und Communities zu verteilen.

8 8 

9Ein **Plugin-Marktplatz** ist ein Katalog, mit dem Sie Plugins an andere verteilen können. Marktplätze bieten zentrale Entdeckung, Versionsverfolgung, automatische Updates und Unterstützung für mehrere Quellentypen (Git-Repositories, lokale Pfade und mehr). Diese Anleitung zeigt Ihnen, wie Sie Ihren eigenen Marktplatz erstellen, um Plugins mit Ihrem Team oder Ihrer Community zu teilen.9Ein **Plugin-Marktplatz** ist ein Katalog, mit dem Sie Plugins an andere verteilen können. Marktplätze bieten zentrale Entdeckung, Versionsverfolgung, automatische Updates und Unterstützung für mehrere Quellentypen, einschließlich Git-Repositories und lokaler Pfade. Diese Anleitung zeigt Ihnen, wie Sie Ihren eigenen Marktplatz erstellen, um Plugins mit Ihrem Team oder Ihrer Community zu teilen.

10 10 

11Möchten Sie Plugins aus einem vorhandenen Marktplatz installieren? Siehe [Entdecken und Installieren vorgefertigter Plugins](/de/discover-plugins).11Möchten Sie Plugins aus einem vorhandenen Marktplatz installieren? Siehe [Entdecken und Installieren vorgefertigter Plugins](/de/discover-plugins).

12 12 


17Das Erstellen und Verteilen eines Marktplatzes umfasst:17Das Erstellen und Verteilen eines Marktplatzes umfasst:

18 18 

191. **Plugins erstellen**: Erstellen Sie ein oder mehrere Plugins mit skills, Agents, hooks, MCP servers oder LSP servers. Diese Anleitung setzt voraus, dass Sie bereits Plugins zum Verteilen haben; siehe [Plugins erstellen](/de/plugins) für Details zum Erstellen von Plugins.191. **Plugins erstellen**: Erstellen Sie ein oder mehrere Plugins mit skills, Agents, hooks, MCP servers oder LSP servers. Diese Anleitung setzt voraus, dass Sie bereits Plugins zum Verteilen haben; siehe [Plugins erstellen](/de/plugins) für Details zum Erstellen von Plugins.

202. **Marktplatzdatei erstellen**: Definieren Sie eine `marketplace.json`, die Ihre Plugins und deren Speicherorte auflistet (siehe [Marktplatzdatei erstellen](#create-the-marketplace-file)).202. **Marktplatzdatei erstellen**: Definieren Sie eine `marketplace.json`, die Ihre Plugins und deren Speicherorte auflistet. Siehe [Marktplatzdatei erstellen](#create-the-marketplace-file).

213. **Marktplatz hosten**: Pushen Sie zu GitHub, GitLab oder einem anderen Git-Host (siehe [Marktplätze hosten und verteilen](#host-and-distribute-marketplaces)).213. **Marktplatz hosten**: Pushen Sie zu GitHub, GitLab oder einem anderen Git-Host. Siehe [Marktplätze hosten und verteilen](#host-and-distribute-marketplaces).

224. **Mit Benutzern teilen**: Benutzer fügen Ihren Marktplatz mit `/plugin marketplace add` hinzu und installieren einzelne Plugins (siehe [Plugins entdecken und installieren](/de/discover-plugins)).224. **Mit Benutzern teilen**: Benutzer fügen Ihren Marktplatz mit `/plugin marketplace add` hinzu und installieren einzelne Plugins. Siehe [Plugins entdecken und installieren](/de/discover-plugins).

23 23 

24Sobald Ihr Marktplatz live ist, können Sie ihn aktualisieren, indem Sie Änderungen in Ihr Repository pushen. Benutzer aktualisieren ihre lokale Kopie mit `/plugin marketplace update`.24Sobald Ihr Marktplatz live ist, können Sie ihn aktualisieren, indem Sie Änderungen in Ihr Repository pushen. Benutzer aktualisieren ihre lokale Kopie mit `/plugin marketplace update`.

25 25 


44 ```markdown my-marketplace/plugins/quality-review-plugin/skills/quality-review/SKILL.md theme={null}44 ```markdown my-marketplace/plugins/quality-review-plugin/skills/quality-review/SKILL.md theme={null}

45 ---45 ---

46 description: Review code for bugs, security, and performance46 description: Review code for bugs, security, and performance

47 disable-model-invocation: true

48 ---47 ---

49 48 

50 Review the code I've selected or the recent changes for:49 Review the code I've selected or the recent changes for:


125 124 

126Erstellen Sie `.claude-plugin/marketplace.json` im Stammverzeichnis Ihres Repositories. Diese Datei definiert den Namen Ihres Marktplatzes, Eigentümerinformationen und eine Liste von Plugins mit ihren Quellen.125Erstellen Sie `.claude-plugin/marketplace.json` im Stammverzeichnis Ihres Repositories. Diese Datei definiert den Namen Ihres Marktplatzes, Eigentümerinformationen und eine Liste von Plugins mit ihren Quellen.

127 126 

128Jeder Plugin-Eintrag benötigt mindestens einen `name` und eine `source` (wo man ihn abrufen kann). Siehe das [vollständige Schema](#marketplace-schema) unten für alle verfügbaren Felder.127Jeder Plugin-Eintrag benötigt mindestens einen `name` und eine `source`, die Claude Code mitteilt, woher es abgerufen werden soll. Siehe das [vollständige Schema](#marketplace-schema) unten für alle verfügbaren Felder.

129 128 

130```json theme={null}129```json theme={null}

131{130{


188</h3>187</h3>

189 188 

190| Feld | Typ | Beschreibung |189| Feld | Typ | Beschreibung |

191| :------------------------------------ | :----- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |190| :------------------------------------ | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

192| `$schema` | string | JSON-Schema-URL für Editor-Autovervollständigung und Validierung. Claude Code ignoriert dieses Feld beim Laden. |191| `$schema` | string | JSON-Schema-URL für Editor-Autovervollständigung und Validierung. Claude Code ignoriert dieses Feld beim Laden. |

193| `description` | string | Kurze Marktplatzbeschreibung |192| `description` | string | Kurze Marktplatzbeschreibung |

194| `version` | string | Marktplatz-Manifest-Version |193| `version` | string | Marktplatz-Manifest-Version |

195| `metadata.pluginRoot` | string | Basisverzeichnis, das relativen Plugin-Quellpfaden vorangestellt wird (z. B. `"./plugins"` ermöglicht es Ihnen, `"source": "formatter"` statt `"source": "./plugins/formatter"` zu schreiben) |194| `metadata.pluginRoot` | string | Basisverzeichnis, das relativen Plugin-Quellpfaden vorangestellt wird (z. B. `"./plugins"` ermöglicht es Ihnen, `"source": "formatter"` statt `"source": "./plugins/formatter"` zu schreiben) |

196| `allowCrossMarketplaceDependenciesOn` | array | Andere Marktplätze, von denen Plugins in diesem Marktplatz abhängen können. Abhängigkeiten von einem Marktplatz, der hier nicht aufgelistet ist, werden bei der Installation blockiert. Siehe [Von einem Plugin aus einem anderen Marktplatz abhängen](/de/plugin-dependencies#depend-on-a-plugin-from-another-marketplace). |195| `allowCrossMarketplaceDependenciesOn` | array | Andere Marktplätze, von denen Plugins in diesem Marktplatz abhängen können. Abhängigkeiten von einem Marktplatz, der hier nicht aufgelistet ist, werden bei der Installation blockiert. Siehe [Von einem Plugin aus einem anderen Marktplatz abhängen](/de/plugin-dependencies#depend-on-a-plugin-from-another-marketplace). |

196| `renames` | object | {/* min-version: 2.1.193 */}Zuordnung von einem früheren Plugin-`name` zu seinem aktuellen Namen oder zu `null`, wenn das Plugin entfernt wurde. Ermöglicht es bestehenden Benutzern, automatisch zu migrieren, wenn Sie einen Eintrag in `plugins` umbenennen oder entfernen. Siehe [Plugin umbenennen oder entfernen](#rename-or-remove-a-plugin). Erfordert Claude Code v2.1.193 oder später. |

197 197 

198`description` und `version` werden auch unter `metadata` für Rückwärtskompatibilität akzeptiert.198`description` und `version` werden auch unter `metadata` für Rückwärtskompatibilität akzeptiert.

199 199 


201 Plugin-Einträge201 Plugin-Einträge

202</h2>202</h2>

203 203 

204Jeder Plugin-Eintrag im `plugins`-Array beschreibt ein Plugin und wo man es findet. Sie können jedes Feld aus dem [Plugin-Manifest-Schema](/de/plugins-reference#plugin-manifest-schema) einbeziehen (wie `description`, `version`, `author`, `commands`, `hooks` usw.), plus diese Marktplatz-spezifischen Felder: `source`, `category`, `tags`, `strict` und `relevance`.204Jeder Plugin-Eintrag im `plugins`-Array beschreibt ein Plugin und wo man es findet. Sie können jedes Feld aus dem [Plugin-Manifest-Schema](/de/plugins-reference#plugin-manifest-schema) einbeziehen, wie `description`, `version`, `author`, `commands` und `hooks`, plus diese Marktplatz-spezifischen Felder: `source`, `category`, `tags`, `strict` und `relevance`.

205 205 

206<h3 id="required-fields-1">206<h3 id="required-fields-1">

207 Erforderliche Felder207 Erforderliche Felder


251 251 

252Plugin-Quellen teilen Claude Code mit, wo jedes einzelne Plugin in Ihrem Marktplatz abgerufen werden soll. Diese werden im `source`-Feld jedes Plugin-Eintrags in `marketplace.json` festgelegt.252Plugin-Quellen teilen Claude Code mit, wo jedes einzelne Plugin in Ihrem Marktplatz abgerufen werden soll. Diese werden im `source`-Feld jedes Plugin-Eintrags in `marketplace.json` festgelegt.

253 253 

254Sobald ein Plugin geklont oder auf den lokalen Computer kopiert wird, wird es in den lokalen versionierten Plugin-Cache unter `~/.claude/plugins/cache` kopiert.254Sobald Claude Code ein Plugin klont oder auf den lokalen Computer herunterlädt, wird es in den lokalen versionierten Plugin-Cache unter `~/.claude/plugins/cache` kopiert.

255 255 

256| Quelle | Typ | Felder | Notizen |256| Quelle | Typ | Felder | Notizen |

257| -------------- | -------------------------------- | ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |257| -------------- | -------------------------------- | ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |


264<Note>264<Note>

265 **Marktplatz-Quellen vs. Plugin-Quellen**: Dies sind unterschiedliche Konzepte, die unterschiedliche Dinge steuern.265 **Marktplatz-Quellen vs. Plugin-Quellen**: Dies sind unterschiedliche Konzepte, die unterschiedliche Dinge steuern.

266 266 

267 * **Marktplatz-Quelle** wo der `marketplace.json`-Katalog selbst abgerufen werden soll. Wird festgelegt, wenn Benutzer `/plugin marketplace add` ausführen oder in `extraKnownMarketplaces`-Einstellungen. Unterstützt `ref` (Branch/Tag), aber nicht `sha`.267 * **Marktplatz-Quelle**: wo der `marketplace.json`-Katalog selbst abgerufen werden soll. Wird festgelegt, wenn Benutzer `/plugin marketplace add` ausführen oder in `extraKnownMarketplaces`-Einstellungen. Unterstützt `ref` (Branch/Tag), aber nicht `sha`.

268 * **Plugin-Quelle** wo ein einzelnes Plugin in der Marktplatz-Liste abgerufen werden soll. Wird im `source`-Feld jedes Plugin-Eintrags in `marketplace.json` festgelegt. Unterstützt sowohl `ref` (Branch/Tag) als auch `sha` (exakter Commit).268 * **Plugin-Quelle**: wo ein einzelnes Plugin in der Marktplatz-Liste abgerufen werden soll. Wird im `source`-Feld jedes Plugin-Eintrags in `marketplace.json` festgelegt. Unterstützt sowohl `ref` (Branch/Tag) als auch `sha` (exakter Commit).

269 269 

270 Beispielsweise kann ein Marktplatz, der unter `acme-corp/plugin-catalog` gehostet wird (Marktplatz-Quelle), ein Plugin auflisten, das von `acme-corp/code-formatter` abgerufen wird (Plugin-Quelle). Die Marktplatz-Quelle und die Plugin-Quelle verweisen auf unterschiedliche Repositories und werden unabhängig voneinander angeheftet.270 Beispielsweise kann ein Marktplatz, der unter `acme-corp/plugin-catalog` gehostet wird (Marktplatz-Quelle), ein Plugin auflisten, das von `acme-corp/code-formatter` abgerufen wird (Plugin-Quelle). Die Marktplatz-Quelle und die Plugin-Quelle verweisen auf unterschiedliche Repositories und werden unabhängig voneinander angeheftet.

271</Note>271</Note>

272 272 

273Die Git-basierten Quellentypen unten sind `github`, `url` und `git-subdir`. Wenn sowohl `ref` als auch `sha` auf einem von ihnen gesetzt sind, ist `sha` die effektive Anheftung. Claude Code ruft den angehefteten Commit direkt ab und checkt ihn aus. Auf den meisten Git-Hosts, einschließlich GitHub, GitLab und Bitbucket, bedeutet dies, dass die Installation erfolgreich ist, auch wenn der Branch oder Tag, der durch `ref` benannt wird, inzwischen upstream gelöscht wurde, solange der Commit noch vom Repository aus erreichbar ist. Einige Server, wie AWS CodeCommit, unterstützen das Abrufen von Commits nach SHA nicht. Auf diesen Servern muss `ref` noch vorhanden sein und der angeheftete Commit muss von ihm aus erreichbar sein.273Die Git-basierten Quellentypen unten sind `github`, `url` und `git-subdir`. Wenn sowohl `ref` als auch `sha` auf einem von ihnen gesetzt sind, ist `sha` die effektive Anheftung. Claude Code ruft den angehefteten Commit direkt ab und checkt ihn aus.

274 

275Auf den meisten Git-Hosts, einschließlich GitHub, GitLab und Bitbucket, bedeutet dies, dass die Installation erfolgreich ist, auch wenn der Branch oder Tag, der durch `ref` benannt wird, inzwischen upstream gelöscht wurde, solange der Commit noch vom Repository aus erreichbar ist. Einige Server, wie AWS CodeCommit, unterstützen das Abrufen von Commits nach SHA nicht. Auf diesen Servern muss `ref` noch vorhanden sein und der angeheftete Commit muss von ihm aus erreichbar sein.

274 276 

275<h3 id="relative-paths">277<h3 id="relative-paths">

276 Relative Pfade278 Relative Pfade


288Pfade werden relativ zum Marktplatz-Root aufgelöst, das ist das Verzeichnis, das `.claude-plugin/` enthält. Im obigen Beispiel verweist `./plugins/my-plugin` auf `<repo>/plugins/my-plugin`, obwohl `marketplace.json` unter `<repo>/.claude-plugin/marketplace.json` lebt. Verwenden Sie nicht `../`, um Pfade außerhalb des Marktplatz-Root zu referenzieren.290Pfade werden relativ zum Marktplatz-Root aufgelöst, das ist das Verzeichnis, das `.claude-plugin/` enthält. Im obigen Beispiel verweist `./plugins/my-plugin` auf `<repo>/plugins/my-plugin`, obwohl `marketplace.json` unter `<repo>/.claude-plugin/marketplace.json` lebt. Verwenden Sie nicht `../`, um Pfade außerhalb des Marktplatz-Root zu referenzieren.

289 291 

290<Note>292<Note>

291 Relative Pfade funktionieren nur, wenn Benutzer Ihren Marktplatz über Git hinzufügen (GitHub, GitLab oder Git-URL). Wenn Benutzer Ihren Marktplatz über eine direkte URL zur `marketplace.json`-Datei hinzufügen, werden relative Pfade nicht korrekt aufgelöst. Verwenden Sie für URL-basierte Verteilung stattdessen GitHub-, npm- oder Git-URL-Quellen. Siehe [Fehlerbehebung](#plugins-with-relative-paths-fail-in-url-based-marketplaces) für Details.293 Relative Pfade werden gegen eine lokale Kopie des Marktplatzes aufgelöst, daher funktionieren sie, wenn Benutzer Ihren Marktplatz aus einer Git-Quelle oder einem lokalen Verzeichnis hinzufügen. Wenn Benutzer Ihren Marktplatz über eine direkte URL zur `marketplace.json`-Datei hinzufügen, werden relative Pfade nicht aufgelöst, da nur diese Datei heruntergeladen wird. Verwenden Sie für URL-basierte Verteilung stattdessen GitHub-, npm- oder Git-URL-Quellen. Siehe [Fehlerbehebung](#plugins-with-relative-paths-fail-in-url-based-marketplaces) für Details.

292</Note>294</Note>

293 295 

294<h3 id="github-repositories">296<h3 id="github-repositories">


547 Auf GitHub hosten (empfohlen)549 Auf GitHub hosten (empfohlen)

548</h3>550</h3>

549 551 

550GitHub bietet die einfachste Verteilungsmethode:552GitHub ist die empfohlene Methode zum Hosten und Verteilen eines Marktplatzes:

551 553 

5521. **Repository erstellen**: Richten Sie ein neues Repository für Ihren Marktplatz ein5541. **Repository erstellen**: Richten Sie ein neues Repository für Ihren Marktplatz ein

5532. **Marktplatzdatei hinzufügen**: Erstellen Sie `.claude-plugin/marketplace.json` mit Ihren Plugin-Definitionen5552. **Marktplatzdatei hinzufügen**: Erstellen Sie `.claude-plugin/marketplace.json` mit Ihren Plugin-Definitionen


596Testen Sie Ihren Marktplatz lokal, bevor Sie ihn teilen:598Testen Sie Ihren Marktplatz lokal, bevor Sie ihn teilen:

597 599 

598```shell theme={null}600```shell theme={null}

599/plugin marketplace add ./my-local-marketplace601/plugin marketplace add ./my-marketplace

600/plugin install test-plugin@my-local-marketplace602/plugin install quality-review-plugin@my-plugins

601```603```

602 604 

603Für die vollständige Palette von Add-Befehlen (GitHub, Git-URLs, lokale Pfade, Remote-URLs) siehe [Marktplätze hinzufügen](/de/discover-plugins#add-marketplaces).605Für die vollständige Palette von Add-Befehlen (GitHub, Git-URLs, lokale Pfade, Remote-URLs) siehe [Marktplätze hinzufügen](/de/discover-plugins#add-marketplaces).


644 646 

645Für Container-Images und CI-Umgebungen können Sie ein Plugins-Verzeichnis zur Build-Zeit vorab ausfüllen, damit Claude Code mit bereits verfügbaren Marktplätzen und Plugins startet, ohne zur Laufzeit etwas zu klonen. Legen Sie die Umgebungsvariable `CLAUDE_CODE_PLUGIN_SEED_DIR` fest, um auf dieses Verzeichnis zu verweisen.647Für Container-Images und CI-Umgebungen können Sie ein Plugins-Verzeichnis zur Build-Zeit vorab ausfüllen, damit Claude Code mit bereits verfügbaren Marktplätzen und Plugins startet, ohne zur Laufzeit etwas zu klonen. Legen Sie die Umgebungsvariable `CLAUDE_CODE_PLUGIN_SEED_DIR` fest, um auf dieses Verzeichnis zu verweisen.

646 648 

647Um mehrere Seed-Verzeichnisse zu schichten, trennen Sie Pfade mit `:` auf Unix oder `;` auf Windows. Claude Code durchsucht jedes Verzeichnis in der Reihenfolge, und der erste Seed, der einen bestimmten Marktplatz oder Plugin-Cache enthält, gewinnt.649Um mehrere Seed-Verzeichnisse zu schichten, trennen Sie Pfade mit `:` auf Unix oder `;` auf Windows. Claude Code durchsucht jedes Verzeichnis in der Reihenfolge und verwendet den ersten Seed, der einen bestimmten Marktplatz oder Plugin-Cache enthält.

648 650 

649Das Seed-Verzeichnis spiegelt die Struktur von `~/.claude/plugins`:651Das Seed-Verzeichnis spiegelt die Struktur von `~/.claude/plugins`:

650 652 


680 Verwaltete Marktplatz-Einschränkungen682 Verwaltete Marktplatz-Einschränkungen

681</h3>683</h3>

682 684 

683Für Organisationen, die strikte Kontrolle über Plugin-Quellen benötigen, können Administratoren einschränken, welche Plugin-Marktplätze Benutzer hinzufügen dürfen, indem sie die Einstellung [`strictKnownMarketplaces`](/de/settings#strictknownmarketplaces) in verwalteten Einstellungen verwenden.685Für Organisationen, die strikte Kontrolle über Plugin-Quellen benötigen, können Administratoren einschränken, welche Plugin-Marktplätze Benutzer hinzufügen dürfen, indem sie die Einstellung [`strictKnownMarketplaces`](/de/settings#strictknownmarketplaces) in verwalteten Einstellungen verwenden. Um auch die CLI-Flags abzulehnen, die Plugins, Agenten und MCP-Server für einen einzelnen Durchlauf seitenladen, kombinieren Sie es mit [`disableSideloadFlags`](/de/settings#available-settings).

684 686 

685Wenn `strictKnownMarketplaces` in verwalteten Einstellungen konfiguriert ist, hängt das Einschränkungsverhalten vom Wert ab:687Wenn `strictKnownMarketplaces` in verwalteten Einstellungen konfiguriert ist, hängt das Einschränkungsverhalten vom Wert ab:

686 688 


881 883 

882Ein Plugin kann seine Abhängigkeiten auf einen Semver-Bereich beschränken, damit Updates einer Abhängigkeit das abhängige Plugin nicht unterbrechen. Siehe [Plugin-Abhängigkeitsversionen einschränken](/de/plugin-dependencies) für die `{plugin-name}--v{version}` Git-Tag-Konvention, Bereichssyntax und wie mehrere Einschränkungen auf die gleiche Abhängigkeit kombiniert werden.884Ein Plugin kann seine Abhängigkeiten auf einen Semver-Bereich beschränken, damit Updates einer Abhängigkeit das abhängige Plugin nicht unterbrechen. Siehe [Plugin-Abhängigkeitsversionen einschränken](/de/plugin-dependencies) für die `{plugin-name}--v{version}` Git-Tag-Konvention, Bereichssyntax und wie mehrere Einschränkungen auf die gleiche Abhängigkeit kombiniert werden.

883 885 

886<h3 id="rename-or-remove-a-plugin">

887 Ein Plugin umbenennen oder entfernen

888</h3>

889 

890Der `name` eines Plugins ist sein stabiler Bezeichner. Benutzer verweisen darauf in `enabledPlugins`, `pluginConfigs` und `/plugin install`-Befehlen, daher bricht das Ändern davon jede vorhandene Installation. Um das in der Benutzeroberfläche angezeigte Label zu ändern, ohne Installationen zu unterbrechen, legen Sie [`displayName`](#optional-plugin-fields) fest und behalten Sie `name` unverändert.

891 

892Wenn Sie den `name` eines Plugins ändern müssen oder ein Plugin aus dem `plugins`-Array entfernen, fügen Sie einen Top-Level-`renames`-Eintrag hinzu, damit bestehende Benutzer migrieren, anstatt einen `plugin-not-found`-Fehler zu sehen. Automatische Migration erfordert Claude Code v2.1.193 oder später. Ordnen Sie jeden früheren Namen seinem aktuellen Namen zu, oder zu `null`, wenn das Plugin nicht mehr existiert. Das folgende Beispiel benennt `formatter` in `code-formatter` um und verzeichnet, dass `legacy-linter` entfernt wurde:

893 

894```json theme={null}

895{

896 "name": "acme-tools",

897 "owner": { "name": "Acme" },

898 "plugins": [

899 { "name": "code-formatter", "source": "./plugins/code-formatter" }

900 ],

901 "renames": {

902 "formatter": "code-formatter",

903 "legacy-linter": null

904 }

905}

906```

907 

908Wenn ein Benutzer Claude Code mit dem alten Namen noch in seinen Einstellungen startet, folgt Claude Code der `renames`-Zuordnung:

909 

910* Wenn der Eintrag auf einen neuen Namen verweist, lädt Claude Code das Plugin unter seinem neuen Namen und zeigt eine einzeilige Mitteilung wie `Renamed to "code-formatter" in the "acme-tools" marketplace` an. Es schreibt dann den alten Schlüssel in den neuen Schlüssel in den Benutzer-, Projekt- und lokalen Einstellungsbereichen für sowohl `enabledPlugins` als auch `pluginConfigs` um, sodass die Mitteilung einmal angezeigt wird.

911* Für einen `null`-Eintrag löscht Claude Code den alten Schlüssel und die Mitteilung meldet, dass das Plugin aus dem Marktplatz entfernt wurde.

912* Wenn das umbenannte Plugin eine Remote-Quelle wie `github` oder `npm` verwendet, meldet Claude Code `plugin-cache-miss` nach der Umbenennung und der Benutzer muss `/plugin install` einmal ausführen, um es unter dem neuen Namen zu holen.

913 

914Behandeln Sie `renames` als Nur-Anhängen-Verlauf: Behalten Sie alte Einträge an Ort und Stelle, auch nachdem Sie erwarten, dass jeder Benutzer migriert hat. Claude Code folgt Ketten, daher wenn Sie später `code-formatter` in `formatter-pro` umbenennen, fügen Sie einen zweiten Eintrag hinzu, anstatt den ersten zu bearbeiten. Ein Benutzer, der immer noch das Original `formatter` aktiviert hat, löst sich dann durch beide Einträge zu `formatter-pro` auf.

915 

916Führen Sie `claude plugin validate .` nach dem Bearbeiten der Zuordnung aus; es lehnt jeden Eintrag ab, dessen Kette einen Zyklus bildet oder nicht bei `null` oder einem Namen in `plugins` endet.

917 

918<Note>

919 Verwaltete und Richtlinieneinstellungen sind schreibgeschützt für Claude Code, daher können dort aktivierte Plugins nicht automatisch umgeschrieben werden. Das umbenannte Plugin wird weiterhin jede Sitzung geladen, aber die Umbenennungsmitteilung wiederholt sich, bis ein Administrator `enabledPlugins` in der verwalteten Einstellungsdatei aktualisiert, um den neuen Namen zu verwenden. Das gleiche gilt für Plugins, die über andere schreibgeschützte Quellen wie `--add-dir` aktiviert werden.

920</Note>

921 

922Frühere Versionen von Claude Code ignorieren das `renames`-Feld und melden `plugin-not-found` für den alten Namen.

923 

884<h2 id="validation-and-testing">924<h2 id="validation-and-testing">

885 Validierung und Tests925 Validierung und Tests

886</h2>926</h2>


933 973 

934* `<source>`: GitHub `owner/repo` Kurzform, Git-URL, Remote-URL zu einer `marketplace.json`-Datei oder lokaler Verzeichnispfad. Um an einen Branch oder Tag anzuheften, fügen Sie `@ref` zur GitHub-Kurzform oder `#ref` zu einer Git-URL hinzu974* `<source>`: GitHub `owner/repo` Kurzform, Git-URL, Remote-URL zu einer `marketplace.json`-Datei oder lokaler Verzeichnispfad. Um an einen Branch oder Tag anzuheften, fügen Sie `@ref` zur GitHub-Kurzform oder `#ref` zu einer Git-URL hinzu

935 975 

976Eine URL muss ihr Schema enthalten. Ab Claude Code v2.1.196 wird ein Host, der ohne eines eingegeben wird, wie `gitlab.example.com/team/plugins`, als ungültige `owner/repo` Kurzform abgelehnt und die Fehlermeldung teilt Ihnen mit, dass Sie `https://` hinzufügen oder `./` für einen lokalen Pfad verwenden sollen. Frühere Versionen lasen es als GitHub-Repository-Pfad fehl und schlagen beim Klonen mit einem GitHub-Fehler fehl.

977 

936**Optionen:**978**Optionen:**

937 979 

938| Option | Beschreibung | Standard |980| Option | Beschreibung | Standard |


1061 Marktplatz-Validierungsfehler1103 Marktplatz-Validierungsfehler

1062</h3>1104</h3>

1063 1105 

1064Führen Sie `claude plugin validate .` oder `/plugin validate .` aus Ihrem Marktplatz-Verzeichnis aus, um auf Probleme zu überprüfen. Wenn der Validator auf ein Marktplatz-Verzeichnis verweist, überprüft er nur `marketplace.json`: Schema, doppelte Plugin-Namen, Quellpfad-Traversal und Versionskonflikte gegen jede referenzierte `plugin.json`.1106Führen Sie `claude plugin validate .` oder `/plugin validate .` aus Ihrem Marktplatz-Verzeichnis aus, um auf Probleme zu überprüfen. Wenn der Validator auf ein Marktplatz-Verzeichnis verweist, überprüft er `marketplace.json` auf Schema-Fehler, doppelte Plugin-Namen und Quellpfad-Traversal. Für jeden Eintrag, dessen `source` ein lokaler Pfad ist, validiert er auch die `plugin.json` dieses Plugins und warnt, wenn die `version` des Eintrags nicht mit der in `plugin.json` übereinstimmt. Probleme, die in der `plugin.json` eines Plugins gefunden werden, werden mit dem Eintrag-Index in der Form `plugins[2] plugin.json →` vorangestellt.

1107 

1108Ab Claude Code v2.1.196 umfasst die Pro-Eintrag-Überprüfung auch:

1109 

1110* Plugins, deren `source` `.` ist

1111* wird ausgeführt, wenn `marketplace.json` außerhalb eines `.claude-plugin`-Verzeichnisses liegt, wobei Quellen gegen das Verzeichnis der Datei selbst aufgelöst werden

1112* meldet die Probleme jedes Eintrags, auch wenn ein anderer Teil der Datei Schema-Fehler hat

1113 

1114Frühere Versionen überspringen Plugins im Marktplatz-Root und steigen nur von einer `.claude-plugin/marketplace.json` ab.

1065 1115 

1066Um die `plugin.json` eines einzelnen Plugins und seine Skill-, Agent-, Befehl- und Hook-Dateien zu validieren, führen Sie den Befehl für das Plugin-Verzeichnis selbst aus, zum Beispiel `claude plugin validate ./plugins/my-plugin`. Häufige Fehler:1116Um die `plugin.json` eines einzelnen Plugins und seine Skill-, Agent-, Befehl- und Hook-Dateien zu validieren, führen Sie den Befehl für das Plugin-Verzeichnis selbst aus, zum Beispiel `claude plugin validate ./plugins/my-plugin`. Häufige Fehler:

1067 1117 

Details

477Wenn Sie ein Manifest einschließen, ist `name` das einzige erforderliche Feld.477Wenn Sie ein Manifest einschließen, ist `name` das einzige erforderliche Feld.

478 478 

479| Feld | Typ | Beschreibung | Beispiel |479| Feld | Typ | Beschreibung | Beispiel |

480| :----- | :----- | :----------------------------------------------------- | :------------------- |480| :----- | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------- |

481| `name` | string | Eindeutiger Bezeichner (kebab-case, keine Leerzeichen) | `"deployment-tools"` |481| `name` | string | Eindeutiger Bezeichner (kebab-case, keine Leerzeichen). Wenn ein [Marktplatz-Eintrag](/de/plugin-marketplaces#plugin-entries) das Plugin unter einem anderen Namen auflistet, ist der Name des Marktplatz-Eintrags das, was `enabledPlugins` Schlüssel und `/plugin` verwenden | `"deployment-tools"` |

482 482 

483Dieser Name wird für die Namensgebung von Komponenten verwendet. Beispielsweise wird der Agent `agent-creator` für das Plugin mit dem Namen `plugin-dev` in der Benutzeroberfläche als `plugin-dev:agent-creator` angezeigt.483Dieser Name wird für die Namensgebung von Komponenten verwendet. Beispielsweise wird der Agent `agent-creator` für das Plugin mit dem Namen `plugin-dev` in der Benutzeroberfläche als `plugin-dev:agent-creator` angezeigt.

484 484 

quickstart.md +1 −0

Details

106* [Claude Pro, Max, Team oder Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_login) (empfohlen)106* [Claude Pro, Max, Team oder Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_login) (empfohlen)

107* [Claude Console](https://console.anthropic.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.107* [Claude Console](https://console.anthropic.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.

108* [Amazon Bedrock, Google Vertex AI oder Microsoft Foundry](/de/third-party-integrations) (Enterprise-Cloud-Anbieter)108* [Amazon Bedrock, Google Vertex AI oder Microsoft Foundry](/de/third-party-integrations) (Enterprise-Cloud-Anbieter)

109* Ein selbst gehostetes [Claude-Apps-Gateway](/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 anzumelden

109 110 

110Nach der Anmeldung werden Ihre Anmeldedaten gespeichert und Sie müssen sich nicht erneut anmelden.111Nach der Anmeldung werden Ihre Anmeldedaten gespeichert und Sie müssen sich nicht erneut anmelden.

111 112 

Details

34 34 

35* **Abonnement**: verfügbar in Pro-, Max-, Team- und Enterprise-Plänen. API-Schlüssel werden nicht unterstützt. Bei Team und Enterprise muss ein Owner zunächst den Remote Control-Schalter in den [Claude Code-Admin-Einstellungen](https://claude.ai/admin-settings/claude-code) aktivieren.35* **Abonnement**: verfügbar in Pro-, Max-, Team- und Enterprise-Plänen. API-Schlüssel werden nicht unterstützt. Bei Team und Enterprise muss ein Owner zunächst den Remote Control-Schalter in den [Claude Code-Admin-Einstellungen](https://claude.ai/admin-settings/claude-code) aktivieren.

36* **Authentifizierung**: Führen Sie `claude` aus und verwenden Sie `/login`, um sich über claude.ai anzumelden, falls Sie dies noch nicht getan haben.36* **Authentifizierung**: Führen Sie `claude` aus und verwenden Sie `/login`, um sich über claude.ai anzumelden, falls Sie dies noch nicht getan haben.

37* **API-Endpunkt**: nicht verfügbar auf Amazon Bedrock, Google Vertex AI oder Microsoft Foundry. {/* min-version: 2.1.196 */}Ab v2.1.196 ist Remote Control auch deaktiviert, wenn [`ANTHROPIC_BASE_URL`](/de/env-vars) auf einen anderen Host als `api.anthropic.com` verweist, z. B. ein [LLM-Gateway](/de/llm-gateway) oder Proxy. Heben Sie die Variablenzuweisung auf, um Remote Control zu verwenden.

37* **Workspace-Vertrauen**: Führen Sie `claude` mindestens einmal in Ihrem Projektverzeichnis aus, um den Workspace-Vertrauensdialog zu akzeptieren.38* **Workspace-Vertrauen**: Führen Sie `claude` mindestens einmal in Ihrem Projektverzeichnis aus, um den Workspace-Vertrauensdialog zu akzeptieren.

38 39 

39<h2 id="start-a-remote-control-session">40<h2 id="start-a-remote-control-session">


148 Aktivieren Sie Remote Control für alle Sitzungen149 Aktivieren Sie Remote Control für alle Sitzungen

149</h3>150</h3>

150 151 

151Standardmäßig wird Remote Control nur aktiviert, wenn Sie explizit `claude remote-control`, `claude --remote-control` oder `/remote-control` ausführen. Um es automatisch für jede interaktive Sitzung zu aktivieren, führen Sie `/config` in Claude Code aus und setzen Sie **Enable Remote Control for all sessions** auf `true`. Setzen Sie es auf `false` zurück, um es zu deaktivieren. In der Desktop-App können Sie dies auch unter **Einstellungen → Claude Code → Enable remote control by default** umschalten.152Remote Control wird nur aktiviert, wenn Sie explizit `claude remote-control`, `claude --remote-control` oder `/remote-control` ausführen, es sei denn, die automatische Verbindung ist aktiviert. Um es automatisch für jede interaktive Sitzung zu aktivieren, führen Sie `/config` in Claude Code aus und setzen Sie **Enable Remote Control for all sessions** auf `true`. Setzen Sie es auf `false`, um es nie automatisch zu verbinden, oder lassen Sie es ungesetzt, um dem Standard Ihrer Organisation zu folgen. In der Desktop-App können Sie dies auch unter **Einstellungen → Claude Code → Enable remote control by default** umschalten.

152 153 

153Mit dieser Einstellung registriert jeder interaktive Claude Code-Prozess eine Remote-Sitzung. Wenn Sie mehrere Instanzen ausführen, erhält jede ihre eigene Umgebung und Sitzung. Um mehrere gleichzeitige Sitzungen aus einem einzelnen Prozess auszuführen, verwenden Sie stattdessen den [Server-Modus](#start-a-remote-control-session).154Mit dieser Einstellung registriert jeder interaktive Claude Code-Prozess eine Remote-Sitzung. Wenn Sie mehrere Instanzen ausführen, erhält jede ihre eigene Umgebung und Sitzung. Um mehrere gleichzeitige Sitzungen aus einem einzelnen Prozess auszuführen, verwenden Sie stattdessen den [Server-Modus](#start-a-remote-control-session).

154 155 


318 319 

319Claude Code konnte den Feature-Flag-Service nicht erreichen, um zu überprüfen, ob Remote Control für Ihr Konto aktiviert ist, normalerweise weil Sie offline sind oder ein Proxy die Anfrage blockiert. Versuchen Sie es erneut, wenn Sie Netzwerkzugriff haben, oder führen Sie `claude doctor` aus, um Details zu erhalten. Die zugehörige Meldung „Organisationsrichtlinie für Remote Control konnte nicht überprüft werden" hat die gleiche Ursache und die gleiche Lösung. Beide Meldungen wurden in v2.1.178 hinzugefügt.320Claude Code konnte den Feature-Flag-Service nicht erreichen, um zu überprüfen, ob Remote Control für Ihr Konto aktiviert ist, normalerweise weil Sie offline sind oder ein Proxy die Anfrage blockiert. Versuchen Sie es erneut, wenn Sie Netzwerkzugriff haben, oder führen Sie `claude doctor` aus, um Details zu erhalten. Die zugehörige Meldung „Organisationsrichtlinie für Remote Control konnte nicht überprüft werden" hat die gleiche Ursache und die gleiche Lösung. Beide Meldungen wurden in v2.1.178 hinzugefügt.

320 321 

322<h3 id="remote-control-is-only-available-when-using-claude-via-api-anthropic-com">

323 „Remote Control ist nur verfügbar, wenn Sie Claude über api.anthropic.com verwenden"

324</h3>

325 

326Die Sitzung kommuniziert nicht direkt mit der Anthropic-API, daher gibt es kein claude.ai-Backend zum Koppeln. Dies geschieht auf Amazon Bedrock, Google Vertex AI und Microsoft Foundry. {/* min-version: 2.1.196 */}Ab v2.1.196 geschieht dies auch, wenn [`ANTHROPIC_BASE_URL`](/de/env-vars) auf einen anderen Host als `api.anthropic.com` verweist, z. B. ein [LLM-Gateway](/de/llm-gateway) oder Proxy, auch wenn Sie sich mit claude.ai anmelden. Heben Sie `ANTHROPIC_BASE_URL` auf und starten Sie die Sitzung neu, um Remote Control zu verwenden.

327 

321<h3 id="remote-control-is-disabled-by-your-organization’s-policy">328<h3 id="remote-control-is-disabled-by-your-organization’s-policy">

322 „Remote Control ist durch die Richtlinie Ihrer Organisation deaktiviert"329 „Remote Control ist durch die Richtlinie Ihrer Organisation deaktiviert"

323</h3>330</h3>

Details

48| Nur Prompt | `/loop check the deploy` | Ihr Prompt läuft in einem [Intervall, das Claude wählt](#let-claude-choose-the-interval) bei jeder Iteration |48| Nur Prompt | `/loop check the deploy` | Ihr Prompt läuft in einem [Intervall, das Claude wählt](#let-claude-choose-the-interval) bei jeder Iteration |

49| Nur Intervall oder nichts | `/loop` | Der [integrierte Wartungs-Prompt](#run-the-built-in-maintenance-prompt) läuft, oder Ihr `loop.md`, falls vorhanden |49| Nur Intervall oder nichts | `/loop` | Der [integrierte Wartungs-Prompt](#run-the-built-in-maintenance-prompt) läuft, oder Ihr `loop.md`, falls vorhanden |

50 50 

51Sie können auch einen anderen Befehl als Prompt übergeben, zum Beispiel `/loop 20m /review-pr 1234`, um einen verpackten Workflow bei jeder Iteration erneut auszuführen.51Sie können auch einen Skill als Prompt übergeben, zum Beispiel `/loop 20m /review-pr 1234`, um diesen Skill bei jeder Iteration erneut auszuführen. {/* min-version: 2.1.196 */}Ab v2.1.196 führt ein geplanter Auslöser nur Skills aus, die Claude [selbstständig aufrufen darf](/de/skills#control-who-invokes-a-skill). Die folgenden erreichen Claude als einfacher Text statt auszuführen:

52 

53* integrierte Befehle wie `/permissions`, `/model` oder `/clear`

54* Skills, die mit [`disable-model-invocation: true`](/de/skills#frontmatter-reference) gekennzeichnet sind

55* Skills, die Claude durch eine [`skillOverrides`](/de/skills#override-skill-visibility-from-settings)-Einstellung oder eine `Skill` [deny rule](/de/skills#restrict-claude’s-skill-access) vorenthalten werden

56* [MCP prompts](/de/mcp#use-mcp-prompts-as-commands) wie `/mcp__github__list_prs`; Skills, die ein MCP-Server bereitstellt, laufen weiterhin

52 57 

53<h3 id="run-on-a-fixed-interval">58<h3 id="run-on-a-fixed-interval">

54 Führen Sie nach einem festen Intervall aus59 Führen Sie nach einem festen Intervall aus


238 243 

239Die sitzungsbezogene Planung hat inhärente Einschränkungen:244Die sitzungsbezogene Planung hat inhärente Einschränkungen:

240 245 

241* Aufgaben laufen nur, während Claude Code läuft und untätig ist. Das Schließen des Terminals oder das Beenden der Sitzung stoppt sie.246* Aufgaben laufen nur, während Claude Code läuft und untätig ist. Das Schließen des Terminals oder das Beenden der Sitzung stoppt sie. [Backgrounding der Sitzung](/de/agent-view#from-inside-a-session) trägt `/loop`-Aufgaben zu einer Hintergrund-Sitzung über, die ohne Terminal weiterläuft.

242* Kein Aufholen für verpasste Läufe. Wenn die geplante Zeit einer Aufgabe verstreicht, während Claude mit einer langwierigen Anfrage beschäftigt ist, läuft sie einmal, wenn Claude untätig wird, nicht einmal pro verpasstem Intervall.247* Kein Aufholen für verpasste Läufe. Wenn die geplante Zeit einer Aufgabe verstreicht, während Claude mit einer langwierigen Anfrage beschäftigt ist, läuft sie einmal, wenn Claude untätig wird, nicht einmal pro verpasstem Intervall.

243* Neues Gespräch löscht alle sitzungsbezogenen Aufgaben. Das Fortsetzen mit `claude --resume` oder `claude --continue` stellt Aufgaben wieder her, die nicht abgelaufen sind: wiederkehrende Aufgaben innerhalb von sieben Tagen nach der Erstellung und einmalige Aufgaben, deren geplante Zeit noch nicht vergangen ist. Hintergrund-Bash- und Monitor-Aufgaben werden bei Fortsetzen nie wiederhergestellt.248* Neues Gespräch löscht alle sitzungsbezogenen Aufgaben. Das Fortsetzen mit `claude --resume` oder `claude --continue` stellt Aufgaben wieder her, die nicht abgelaufen sind: wiederkehrende Aufgaben innerhalb von sieben Tagen nach der Erstellung und einmalige Aufgaben, deren geplante Zeit noch nicht vergangen ist. Hintergrund-Bash- und Monitor-Aufgaben werden bei Fortsetzen nie wiederhergestellt.

244 249 

Details

153 153 

154Serververwaltete Einstellungen und [endpunktverwaltete Einstellungen](/de/settings#settings-files) nehmen beide die höchste Ebene in der Claude Code [Einstellungshierarchie](/de/settings#settings-precedence) ein. Keine andere Einstellungsebene kann sie überschreiben, einschließlich Befehlszeilenargumenten.154Serververwaltete Einstellungen und [endpunktverwaltete Einstellungen](/de/settings#settings-files) nehmen beide die höchste Ebene in der Claude Code [Einstellungshierarchie](/de/settings#settings-precedence) ein. Keine andere Einstellungsebene kann sie überschreiben, einschließlich Befehlszeilenargumenten.

155 155 

156Innerhalb der verwalteten Ebene gewinnt die erste Quelle, die eine nicht leere Konfiguration liefert. Serververwaltete Einstellungen werden zuerst überprüft, dann endpunktverwaltete Einstellungen. Quellen werden nicht zusammengeführt: Wenn serververwaltete Einstellungen überhaupt Schlüssel liefern, werden endpunktverwaltete Einstellungen vollständig ignoriert. Wenn serververwaltete Einstellungen nichts liefern, gelten endpunktverwaltete Einstellungen.156Innerhalb der verwalteten Ebene gewinnt eine konfigurierte [`policyHelper`](/de/settings#compute-managed-settings-with-a-policy-helper) vor jeder anderen verwalteten Quelle, einschließlich serververwalteter Einstellungen: Ihre Ausgabe wird die einzige verwaltete Konfiguration für den Lauf. Andernfalls gewinnt die erste Quelle, die eine nicht leere Konfiguration liefert. Serververwaltete Einstellungen werden zuerst überprüft, dann endpunktverwaltete Einstellungen. Quellen werden nicht zusammengeführt: Wenn serververwaltete Einstellungen überhaupt Schlüssel liefern, werden andere endpunktverwaltete Einstellungen ignoriert. Eine Ausnahme gilt: Ein kleiner Satz von [quellübergreifenden Sperr-Schlüsseln](/de/settings#settings-precedence), wie die Sandbox-Zulassungslisten-Sperren, wird berücksichtigt, wenn eine beliebige administratorgesteuerte verwaltete Quelle sie setzt; die benutzerbare HKCU-Registrierungsebene ist ausgeschlossen. Wenn serververwaltete Einstellungen nichts liefern, gelten endpunktverwaltete Einstellungen.

157 157 

158Wenn Sie Ihre serververwaltete Konfiguration in der Admin-Konsole mit der Absicht löschen, auf eine endpunktverwaltete plist oder Registrierungsrichtlinie zurückzugreifen, beachten Sie, dass [zwischengespeicherte Einstellungen](#fetch-and-caching-behavior) auf Client-Maschinen bestehen bleiben, bis der nächste erfolgreiche Abruf erfolgt. Führen Sie `/status` aus, um zu sehen, welche verwaltete Quelle aktiv ist.158Wenn Sie Ihre serververwaltete Konfiguration in der Admin-Konsole mit der Absicht löschen, auf eine endpunktverwaltete plist oder Registrierungsrichtlinie zurückzugreifen, beachten Sie, dass [zwischengespeicherte Einstellungen](#fetch-and-caching-behavior) auf Client-Maschinen bestehen bleiben, bis der nächste erfolgreiche Abruf erfolgt. Führen Sie `/status` aus, um zu sehen, welche verwaltete Quelle aktiv ist.

159 159 


222* **Shell-Befehlseinstellungen**: Einstellungen, die Shell-Befehle ausführen222* **Shell-Befehlseinstellungen**: Einstellungen, die Shell-Befehle ausführen

223* **Benutzerdefinierte Umgebungsvariablen**: Variablen, die nicht in der bekannten sicheren Zulassungsliste enthalten sind223* **Benutzerdefinierte Umgebungsvariablen**: Variablen, die nicht in der bekannten sicheren Zulassungsliste enthalten sind

224* **Hook-Konfigurationen**: jede Hook-Definition224* **Hook-Konfigurationen**: jede Hook-Definition

225* **Verwalteter CLAUDE.md-Inhalt**: ein `claudeMd`-Wert, der durch verwaltete Einstellungen bereitgestellt wird

225 226 

226Wenn diese Einstellungen vorhanden sind, sehen Benutzer einen Sicherheitsdialog, der erklärt, was konfiguriert wird. Benutzer müssen genehmigen, um fortzufahren. Wenn ein Benutzer die Einstellungen ablehnt, wird Claude Code beendet.227Wenn diese Einstellungen vorhanden sind, sehen Benutzer einen Sicherheitsdialog, der erklärt, was konfiguriert wird. Benutzer müssen genehmigen, um fortzufahren. Wenn ein Benutzer die Einstellungen ablehnt, wird Claude Code beendet.

227 228 


239* Google Vertex AI240* Google Vertex AI

240* Microsoft Foundry241* Microsoft Foundry

241* [Claude Platform on AWS](/de/claude-platform-on-aws)242* [Claude Platform on AWS](/de/claude-platform-on-aws)

242* Benutzerdefinierte API-Endpunkte über `ANTHROPIC_BASE_URL` oder [LLM-Gateways](/de/llm-gateway)243* Benutzerdefinierte API-Endpunkte über `ANTHROPIC_BASE_URL` oder Drittanbieter-[LLM-Gateways](/de/llm-gateway)

244 

245Für Bedrock-, Vertex AI- und Foundry-Bereitstellungen bietet ein selbstgehostetes [Claude-Apps-Gateway](/de/claude-apps-gateway) die entsprechende Remote-Verwaltung von Einstellungen: Mit dem Gateway angemeldete Clients rufen verwaltete Einstellungen vom Gateway statt von `api.anthropic.com` ab. Die Fehlerbehandlung unterscheidet sich beim Start: Ein Gateway-Client, der das Gateway nicht erreichen kann, beendet sich mit einem Fehler, anstatt auf zwischengespeicherte Einstellungen zurückzugreifen, während die stündliche Hintergrundaktualisierung auf beiden Kanälen fehleroffen ist.

243 246 

244<h2 id="audit-logging">247<h2 id="audit-logging">

245 Audit-Protokollierung248 Audit-Protokollierung


253 Sicherheitsüberlegungen256 Sicherheitsüberlegungen

254</h2>257</h2>

255 258 

256Serververwaltete Einstellungen bieten zentralisierte Richtliniendurchsetzung, funktionieren aber als clientseitige Kontrolle. Auf nicht verwalteten Geräten können Benutzer mit Admin- oder Sudo-Zugriff die Claude Code-Binärdatei, das Dateisystem oder die Netzwerkkonfiguration ändern.259Serververwaltete Einstellungen bieten zentralisierte Richtliniendurchsetzung, funktionieren aber als clientseitige Kontrolle, nicht als Sicherheitsgrenze. Auf nicht verwalteten Geräten benötigt ein Benutzer keinen Admin- oder Sudo-Zugriff, um diese zu umgehen.

257 260 

258| Szenario | Verhalten |261| Szenario | Verhalten |

259| :--------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |262| :--------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

260| Benutzer bearbeitet die zwischengespeicherte Einstellungsdatei | Manipulierte Datei wird beim Start angewendet, aber korrekte Einstellungen werden beim nächsten Serverfetch wiederhergestellt |263| Benutzer bearbeitet die zwischengespeicherte Einstellungsdatei | Manipulierte Datei wird beim Start angewendet, aber korrekte Einstellungen werden beim nächsten Serverfetch wiederhergestellt |

261| Benutzer löscht die zwischengespeicherte Einstellungsdatei | Verhalten beim ersten Start tritt auf: Einstellungen werden asynchron abgerufen mit einem kurzen nicht erzwungenen Fenster |264| Benutzer löscht die zwischengespeicherte Einstellungsdatei | Verhalten beim ersten Start tritt auf: Einstellungen werden asynchron abgerufen mit einem kurzen nicht erzwungenen Fenster |

265| Benutzer führt eine modifizierte Claude Code-Binärdatei aus | Ein Benutzer, der einen modifizierten Client ausführen kann, kann jede clientseitige Kontrolle umgehen |

266| Benutzer führt eine ältere Claude Code-Version aus | Versionen, die vor serververwalteten Einstellungen entstanden sind, rufen diese nicht ab oder wenden sie nicht an |

262| API ist nicht verfügbar | Zwischengespeicherte Einstellungen werden angewendet, falls verfügbar, andernfalls werden verwaltete Einstellungen nicht erzwungen, bis der nächste erfolgreiche Abruf erfolgt. Mit `forceRemoteSettingsRefresh: true` wird die CLI stattdessen beendet, außer für [`claude auth` Unterbefehle](#enforce-fail-closed-startup) |267| API ist nicht verfügbar | Zwischengespeicherte Einstellungen werden angewendet, falls verfügbar, andernfalls werden verwaltete Einstellungen nicht erzwungen, bis der nächste erfolgreiche Abruf erfolgt. Mit `forceRemoteSettingsRefresh: true` wird die CLI stattdessen beendet, außer für [`claude auth` Unterbefehle](#enforce-fail-closed-startup) |

263| Benutzer authentifiziert sich mit einer anderen Organisation | Einstellungen werden nicht für Konten außerhalb der verwalteten Organisation bereitgestellt |268| Benutzer authentifiziert sich mit einer anderen Organisation | Einstellungen werden nicht für Konten außerhalb der verwalteten Organisation bereitgestellt |

264| Benutzer konfiguriert einen [Drittanbieter-Modellprovider](#platform-availability) | Serververwaltete Einstellungen werden umgangen. Dies umfasst das Setzen von `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_MANTLE`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, `CLAUDE_CODE_USE_ANTHROPIC_AWS` oder einer nicht standardmäßigen `ANTHROPIC_BASE_URL` |269| Benutzer konfiguriert einen [Drittanbieter-Modellprovider](#platform-availability) | Serververwaltete Einstellungen werden umgangen. Dies umfasst das Setzen von `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_MANTLE`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, `CLAUDE_CODE_USE_ANTHROPIC_AWS` oder einer nicht standardmäßigen `ANTHROPIC_BASE_URL` |

270| Netzwerkverkehr wird abgefangen oder umgeleitet | Deaktivierte TLS-Validierung oder abgefangener Verkehr kann die Einstellungen ändern, die der Client erhält |

265 271 

266Um Laufzeitkonfigurationsänderungen zu erkennen, verwenden Sie [`ConfigChange` hooks](/de/hooks#configchange), um Änderungen zu protokollieren oder nicht autorisierte Änderungen zu blockieren, bevor sie wirksam werden.272Um Laufzeitkonfigurationsänderungen zu erkennen, verwenden Sie [`ConfigChange` hooks](/de/hooks#configchange), um Änderungen zu protokollieren oder nicht autorisierte Änderungen zu blockieren, bevor sie wirksam werden.

267 273 

268Für stärkere Durchsetzungsgarantien verwenden Sie [endpunktverwaltete Einstellungen](/de/settings#settings-files) auf Geräten, die in einer MDM-Lösung registriert sind.274Um einzuschränken, auf welche Organisationen Ihre Benutzer mit den vom Client bereitgestellten Anmeldedaten zugreifen können, siehe [Netzwerkzugriffskontrolle mit Tenant Restrictions durchsetzen](https://support.claude.com/en/articles/13198485-enforce-network-level-access-control-with-tenant-restrictions) im Claude Help Center. Für stärkere Durchsetzungsgarantien verwenden Sie [endpunktverwaltete Einstellungen](/de/settings#settings-files) auf Geräten, die in einer MDM-Lösung registriert sind.

269 275 

270<h2 id="see-also">276<h2 id="see-also">

271 Siehe auch277 Siehe auch

sessions.md +7 −1

Details

30 Wo die Sitzungsauswahl sucht30 Wo die Sitzungsauswahl sucht

31</h3>31</h3>

32 32 

33Sitzungen werden pro Projektverzeichnis gespeichert. Standardmäßig zeigt die Sitzungsauswahl interaktive Sitzungen aus dem aktuellen Worktree sowie Sitzungen, die anderswo gestartet wurden und das aktuelle Verzeichnis mit `/add-dir` hinzugefügt haben. {/* min-version: 2.1.169 */}Ab v2.1.169 verschiebt das Verschieben einer Sitzung mit [`/cd`](/de/commands) diese in den Projektspeicher des neuen Verzeichnisses, sodass sie danach in der Auswahl dieses Verzeichnisses angezeigt wird. Verwenden Sie `Ctrl+W`, um auf alle Worktrees des Repositorys zu erweitern, oder `Ctrl+A`, um auf jedes Projekt auf dieser Maschine zu erweitern.33Sitzungen werden pro Projektverzeichnis gespeichert. Standardmäßig zeigt die Sitzungsauswahl interaktive Sitzungen aus dem aktuellen Worktree sowie Sitzungen, die anderswo gestartet wurden und das aktuelle Verzeichnis mit `/add-dir` hinzugefügt haben. Verwenden Sie `Ctrl+W`, um auf alle Worktrees des Repositorys zu erweitern, oder `Ctrl+A`, um auf jedes Projekt auf dieser Maschine zu erweitern.

34 

35{/* min-version: 2.1.169 */}Ab v2.1.169 verschiebt das Verschieben einer Sitzung mit [`/cd`](/de/commands) diese in den Projektspeicher des neuen Verzeichnisses, sodass sie danach in der Auswahl dieses Verzeichnisses angezeigt wird. {/* min-version: 2.1.196 */}Ab v2.1.196 bleibt eine verschobene Sitzung aus der Auswahl des alten Verzeichnisses ausgeschlossen, auch nach einem Absturz oder erzwungenen Beenden. In früheren Versionen konnte sie auch nach einem nicht sauberen Beenden in der Liste des alten Verzeichnisses erneut angezeigt werden, wenn der alte Pfad Sonderzeichen wie Unterstriche enthielt.

34 36 

35Das Auswählen einer Sitzung aus einem anderen Worktree desselben Repositorys setzt sie an Ort und Stelle fort. Das Auswählen einer Sitzung aus einem nicht verwandten Projekt kopiert stattdessen einen `cd`- und Resume-Befehl in Ihre Zwischenablage.37Das Auswählen einer Sitzung aus einem anderen Worktree desselben Repositorys setzt sie an Ort und Stelle fort. Das Auswählen einer Sitzung aus einem nicht verwandten Projekt kopiert stattdessen einen `cd`- und Resume-Befehl in Ihre Zwischenablage.

36 38 


56 58 

57Sobald eine Sitzung benannt ist, kehren Sie mit `claude --resume <name>` oder `/resume <name>` zu ihr zurück. Siehe [Sitzung fortsetzen](#resume-a-session), um zu erfahren, wie die Namensauflösung über Worktrees hinweg funktioniert.59Sobald eine Sitzung benannt ist, kehren Sie mit `claude --resume <name>` oder `/resume <name>` zu ihr zurück. Siehe [Sitzung fortsetzen](#resume-a-session), um zu erfahren, wie die Namensauflösung über Worktrees hinweg funktioniert.

58 60 

61{/* min-version: 2.1.196 */}Interaktive Sitzungen, die Sie nie benennen, erhalten beim Start automatisch einen Standard-Anzeigenamen. Erfordert Claude Code v2.1.196 oder später. Der Standard kombiniert den Namen des Arbeitsverzeichnisses mit einem zweistelligen Suffix, beispielsweise `my-app-3f`, und identifiziert die Sitzung in Auflistungen laufender Sitzungen, wie z. B. [Agent-Ansicht](/de/agent-view) und `claude agents --json` Ausgabe.

62 

63Der Standard ist kein Resume-Handle: `claude --resume <name>`, `/resume <name>` und die Sitzungsauswahl stimmen nur mit Namen überein, die Sie festgelegt haben. Das Benennen der Sitzung ersetzt den Standard.

64 

59<h2 id="use-the-session-picker">65<h2 id="use-the-session-picker">

60 Verwenden Sie die Sitzungsauswahl66 Verwenden Sie die Sitzungsauswahl

61</h2>67</h2>

settings.md +37 −30

Details

12 Konfigurationsbereiche12 Konfigurationsbereiche

13</h2>13</h2>

14 14 

15Claude Code verwendet ein **Bereichssystem**, um zu bestimmen, wo Konfigurationen gelten und wer sie teilt. Das Verständnis von Bereichen hilft Ihnen zu entscheiden, wie Sie Claude Code für persönliche Nutzung, Teamzusammenarbeit oder Unternehmensbereitstellung konfigurieren.15Claude Code verwendet ein Bereichssystem, um zu bestimmen, wo Konfigurationen gelten und wer sie teilt. Das Verständnis von Bereichen hilft Ihnen zu entscheiden, wie Sie Claude Code für persönliche Nutzung, Teamzusammenarbeit oder Unternehmensbereitstellung konfigurieren.

16 16 

17<h3 id="available-scopes">17<h3 id="available-scopes">

18 Verfügbare Bereiche18 Verfügbare Bereiche


59 59 

60Wenn die gleiche Einstellung in mehreren Bereichen konfiguriert ist, wendet Claude Code sie in Prioritätsreihenfolge an:60Wenn die gleiche Einstellung in mehreren Bereichen konfiguriert ist, wendet Claude Code sie in Prioritätsreihenfolge an:

61 61 

621. **Verwaltet** (höchste) - kann von nichts überschrieben werden621. **Verwaltet** (höchste): kann von nichts überschrieben werden

632. **Befehlszeilenargumente** - temporäre Sitzungsüberschreibungen632. **Befehlszeilenargumente**: temporäre Sitzungsüberschreibungen

643. **Lokal** - überschreibt Projekt- und Benutzereinstellungen643. **Lokal**: überschreibt Projekt- und Benutzereinstellungen

654. **Projekt** - überschreibt Benutzereinstellungen654. **Projekt**: überschreibt Benutzereinstellungen

665. **Benutzer** (niedrigste) - gilt, wenn nichts anderes die Einstellung angibt665. **Benutzer** (niedrigste): gilt, wenn nichts anderes die Einstellung angibt

67 67 

68Wenn beispielsweise Ihre Benutzereinstellungen `spinnerTipsEnabled` auf `true` setzen und Projekteinstellungen es auf `false` setzen, gilt der Projektwert. Berechtigungsregeln verhalten sich anders, da sie über Bereiche hinweg zusammengeführt werden, anstatt sich zu überschreiben. Siehe [Einstellungspriorität](#settings-precedence).68Wenn beispielsweise Ihre Benutzereinstellungen `spinnerTipsEnabled` auf `true` setzen und Projekteinstellungen es auf `false` setzen, gilt der Projektwert. Berechtigungsregeln verhalten sich anders, da sie über Bereiche hinweg zusammengeführt werden, anstatt sich zu überschreiben. Siehe [Einstellungspriorität](#settings-precedence).

69 69 


97 * `.claude/settings.local.json` für Einstellungen, die nicht eingecheckt werden, nützlich für persönliche Voreinstellungen und Experimente. Wenn Claude Code `.claude/settings.local.json` erstellt, konfiguriert es Git so, dass die Datei ignoriert wird. Wenn Sie die Datei selbst erstellen, fügen Sie sie manuell zu Ihrer gitignore hinzu.97 * `.claude/settings.local.json` für Einstellungen, die nicht eingecheckt werden, nützlich für persönliche Voreinstellungen und Experimente. Wenn Claude Code `.claude/settings.local.json` erstellt, konfiguriert es Git so, dass die Datei ignoriert wird. Wenn Sie die Datei selbst erstellen, fügen Sie sie manuell zu Ihrer gitignore hinzu.

98* **Verwaltete Einstellungen**: Für Organisationen, die zentrale Kontrolle benötigen, unterstützt Claude Code mehrere Bereitstellungsmechanismen für verwaltete Einstellungen. Alle verwenden das gleiche JSON-Format und können nicht durch Benutzer- oder Projekteinstellungen überschrieben werden:98* **Verwaltete Einstellungen**: Für Organisationen, die zentrale Kontrolle benötigen, unterstützt Claude Code mehrere Bereitstellungsmechanismen für verwaltete Einstellungen. Alle verwenden das gleiche JSON-Format und können nicht durch Benutzer- oder Projekteinstellungen überschrieben werden:

99 99 

100 * **Serververwaltete Einstellungen**: von Anthropics Servern über die Claude.ai-Administratorkonsole bereitgestellt. Siehe [serververwaltete Einstellungen](/de/server-managed-settings).100 * **Serververwaltete Einstellungen**: von Anthropics Servern über die Claude.ai-Administratorkonsole bereitgestellt oder von einem selbstgehosteten [Claude-Apps-Gateway](/de/claude-apps-gateway). Siehe [serververwaltete Einstellungen](/de/server-managed-settings).

101 * **MDM/OS-Richtlinien**: über native Geräteverwaltung auf macOS und Windows bereitgestellt:101 * **MDM/OS-Richtlinien**: über native Geräteverwaltung auf macOS und Windows bereitgestellt:

102 * macOS: `com.anthropic.claudecode` verwaltete Präferenzdomäne. Die Schlüssel der obersten Ebene der plist spiegeln `managed-settings.json` wider, mit verschachtelten Einstellungen als Wörterbücher und Arrays als plist-Arrays. Bereitstellung über Konfigurationsprofile in Jamf, Iru (Kandji) oder ähnlichen MDM-Tools.102 * macOS: `com.anthropic.claudecode` verwaltete Präferenzdomäne. Die Schlüssel der obersten Ebene der plist spiegeln `managed-settings.json` wider, mit verschachtelten Einstellungen als Wörterbücher und Arrays als plist-Arrays. Bereitstellung über Konfigurationsprofile in Jamf, Iru (Kandji) oder ähnlichen MDM-Tools.

103 * Windows: `HKLM\SOFTWARE\Policies\ClaudeCode` Registrierungsschlüssel mit einem `Settings`-Wert (REG\_SZ oder REG\_EXPAND\_SZ) mit JSON (bereitgestellt über Gruppenrichtlinie oder Intune)103 * Windows: `HKLM\SOFTWARE\Policies\ClaudeCode` Registrierungsschlüssel mit einem `Settings`-Wert (REG\_SZ oder REG\_EXPAND\_SZ) mit JSON (bereitgestellt über Gruppenrichtlinie oder Intune)


229| `autoMemoryDirectory` | Benutzerdefiniertes Verzeichnis für [automatisches Speichern](/de/memory#storage-location). Akzeptiert einen absoluten Pfad oder einen `~/`-erweiterten Pfad. Aus Projekt- oder lokalen Einstellungen wird dies nur berücksichtigt, nachdem Sie den Workspace-Trust-Dialog akzeptieren, da ein geklontes Repository diese Datei bereitstellen kann | `"~/my-memory-dir"` |229| `autoMemoryDirectory` | Benutzerdefiniertes Verzeichnis für [automatisches Speichern](/de/memory#storage-location). Akzeptiert einen absoluten Pfad oder einen `~/`-erweiterten Pfad. Aus Projekt- oder lokalen Einstellungen wird dies nur berücksichtigt, nachdem Sie den Workspace-Trust-Dialog akzeptieren, da ein geklontes Repository diese Datei bereitstellen kann | `"~/my-memory-dir"` |

230| `autoMemoryEnabled` | **Standard**: `true`. Aktivieren Sie [automatisches Speichern](/de/memory#enable-or-disable-auto-memory). Wenn `false`, liest Claude nicht aus dem oder schreibt nicht in das automatische Speicherverzeichnis. Sie können dies auch während einer Sitzung mit `/memory` umschalten. Um dies über eine Umgebungsvariable zu deaktivieren, setzen Sie [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/de/env-vars) in `env` | `false` |230| `autoMemoryEnabled` | **Standard**: `true`. Aktivieren Sie [automatisches Speichern](/de/memory#enable-or-disable-auto-memory). Wenn `false`, liest Claude nicht aus dem oder schreibt nicht in das automatische Speicherverzeichnis. Sie können dies auch während einer Sitzung mit `/memory` umschalten. Um dies über eine Umgebungsvariable zu deaktivieren, setzen Sie [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/de/env-vars) in `env` | `false` |

231| `autoMode` | Passen Sie an, was der [Auto-Modus](/de/permission-modes#eliminate-prompts-with-auto-mode)-Klassifizierer blockiert und erlaubt. Enthält `environment`, `allow`, `soft_deny` und `hard_deny` Arrays von Prosa-Regeln. Schließen Sie die Literalzeichenkette `"$defaults"` in ein Array ein, um die integrierten Regeln an dieser Position zu erben. Siehe [Konfigurieren Sie den Auto-Modus](/de/auto-mode-config). Nicht aus gemeinsamen Projekteinstellungen gelesen | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |231| `autoMode` | Passen Sie an, was der [Auto-Modus](/de/permission-modes#eliminate-prompts-with-auto-mode)-Klassifizierer blockiert und erlaubt. Enthält `environment`, `allow`, `soft_deny` und `hard_deny` Arrays von Prosa-Regeln. Schließen Sie die Literalzeichenkette `"$defaults"` in ein Array ein, um die integrierten Regeln an dieser Position zu erben. Siehe [Konfigurieren Sie den Auto-Modus](/de/auto-mode-config). Nicht aus gemeinsamen Projekteinstellungen gelesen | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |

232| `autoMode.classifyAllShell` | {/* min-version: 2.1.193 */}**Standard**: `false`. Wenn `true`, setzt dies alle Bash- und PowerShell-Allow-Regeln aus, während der Auto-Modus aktiv ist, sodass alle Shell-Befehle durch den Klassifizierer geleitet werden, nicht nur Regeln, die willkürlichen Code-Ausführungsmustern entsprechen. Siehe [Leiten Sie alle Shell-Befehle durch den Klassifizierer](/de/auto-mode-config#route-all-shell-commands-through-the-classifier). Erfordert Claude Code v2.1.193 oder später | `true` |

232| `autoScrollEnabled` | **Standard**: `true`. Im [Fullscreen-Rendering](/de/fullscreen) folgen Sie neuer Ausgabe zum unteren Ende des Gesprächs. Wird in `/config` als **Auto-scroll** angezeigt. Berechtigungsaufforderungen scrollen weiterhin in die Ansicht, wenn dies ausgeschaltet ist | `false` |233| `autoScrollEnabled` | **Standard**: `true`. Im [Fullscreen-Rendering](/de/fullscreen) folgen Sie neuer Ausgabe zum unteren Ende des Gesprächs. Wird in `/config` als **Auto-scroll** angezeigt. Berechtigungsaufforderungen scrollen weiterhin in die Ansicht, wenn dies ausgeschaltet ist | `false` |

233| `autoUpdatesChannel` | **Standard**: `"latest"`. Release-Kanal zum Folgen von Updates. Verwenden Sie `"stable"` für eine Version, die normalerweise etwa eine Woche alt ist und Versionen mit großen Regressionen überspringt, oder `"latest"` für die neueste Version. Um Auto-Updates vollständig zu deaktivieren, setzen Sie [`DISABLE_AUTOUPDATER`](/de/setup#disable-auto-updates) in `env` | `"stable"` |234| `autoUpdatesChannel` | **Standard**: `"latest"`. Release-Kanal zum Folgen von Updates. Verwenden Sie `"stable"` für eine Version, die normalerweise etwa eine Woche alt ist und Versionen mit großen Regressionen überspringt, oder `"latest"` für die neueste Version. Um Auto-Updates vollständig zu deaktivieren, setzen Sie [`DISABLE_AUTOUPDATER`](/de/setup#disable-auto-updates) in `env` | `"stable"` |

234| `availableModels` | Beschränken Sie, welche Modelle Benutzer für die Hauptsitzung, [Subagents](/de/sub-agents), [Skills](/de/skills) und den [Advisor](/de/advisor) auswählen können. Beeinflusst nicht die Standardoption, es sei denn, `enforceAvailableModels` ist auch gesetzt. Siehe [Modellauswahl einschränken](/de/model-config#restrict-model-selection) | `["sonnet", "haiku"]` |235| `availableModels` | Beschränken Sie, welche Modelle Benutzer für die Hauptsitzung, [Subagents](/de/sub-agents), [Skills](/de/skills) und den [Advisor](/de/advisor) auswählen können. Beeinflusst nicht die Standardoption, es sei denn, `enforceAvailableModels` ist auch gesetzt. Siehe [Modellauswahl einschränken](/de/model-config#restrict-model-selection) | `["sonnet", "haiku"]` |


253| `disableDeepLinkRegistration` | Setzen Sie auf `"disable"`, um zu verhindern, dass Claude Code den `claude-cli://` Protokoll-Handler beim Start mit dem Betriebssystem registriert. [Deep Links](/de/deep-links) ermöglichen es externen Tools, eine Claude Code-Sitzung mit einer vorausgefüllten Aufforderung zu öffnen. Nützlich in Umgebungen, in denen die Protokoll-Handler-Registrierung eingeschränkt oder separat verwaltet wird | `"disable"` |254| `disableDeepLinkRegistration` | Setzen Sie auf `"disable"`, um zu verhindern, dass Claude Code den `claude-cli://` Protokoll-Handler beim Start mit dem Betriebssystem registriert. [Deep Links](/de/deep-links) ermöglichen es externen Tools, eine Claude Code-Sitzung mit einer vorausgefüllten Aufforderung zu öffnen. Nützlich in Umgebungen, in denen die Protokoll-Handler-Registrierung eingeschränkt oder separat verwaltet wird | `"disable"` |

254| `disabledMcpjsonServers` | Liste spezifischer MCP-Server aus `.mcp.json`-Dateien zum Ablehnen | `["filesystem"]` |255| `disabledMcpjsonServers` | Liste spezifischer MCP-Server aus `.mcp.json`-Dateien zum Ablehnen | `["filesystem"]` |

255| `disableRemoteControl` | {/* min-version: 2.1.128 */}Deaktivieren Sie [Remote Control](/de/remote-control): blockiert `claude remote-control`, das Flag `--remote-control`, Auto-Start und den In-Session-Toggle. Normalerweise in [verwalteten Einstellungen](/de/permissions#managed-settings) für die Pro-Gerät-MDM-Durchsetzung platziert, funktioniert aber aus jedem Bereich. Erfordert Claude Code v2.1.128 oder später | `true` |256| `disableRemoteControl` | {/* min-version: 2.1.128 */}Deaktivieren Sie [Remote Control](/de/remote-control): blockiert `claude remote-control`, das Flag `--remote-control`, Auto-Start und den In-Session-Toggle. Normalerweise in [verwalteten Einstellungen](/de/permissions#managed-settings) für die Pro-Gerät-MDM-Durchsetzung platziert, funktioniert aber aus jedem Bereich. Erfordert Claude Code v2.1.128 oder später | `true` |

257| `disableSideloadFlags` | {/* min-version: 2.1.193 */}(Nur verwaltete Einstellungen) Lehnen Sie die Flags `--plugin-dir`, `--plugin-url`, `--agents` und `--mcp-config` beim Start ab, die Benutzer ansonsten übergeben könnten, um [`strictKnownMarketplaces`](#strictknownmarketplaces) für einen einzelnen Lauf zu umgehen. Lehnt auch diese Flags von jeder Oberfläche ab, die die CLI intern mit ihnen startet, derzeit [Cowork](/de/desktop) lokale Sitzungen in der Desktop-App. Ein `--mcp-config`, dessen Server alle In-Process-`type: "sdk"`-Einträge sind, wird weiterhin akzeptiert, sodass das Agent SDK und die VS Code-Erweiterung weiterhin funktionieren. Blockiert nicht `claude mcp add`, `.mcp.json` oder SDK `setMcpServers()`; kombinieren Sie mit [`allowedMcpServers`](/de/managed-mcp) für Pro-Server-MCP-Kontrolle. Erfordert Claude Code v2.1.193 oder später | `true` |

256| `disableSkillShellExecution` | Deaktivieren Sie die Inline-Shell-Ausführung für `` !`...` `` und ` ```! ` Blöcke in [Skills](/de/skills) und benutzerdefinierten Befehlen aus Benutzer-, Projekt-, Plugin- oder zusätzlichen Verzeichnisquellen. Befehle werden durch `[shell command execution disabled by policy]` ersetzt, anstatt ausgeführt zu werden. Gebündelte und verwaltete Skills sind nicht betroffen. Am nützlichsten in [verwalteten Einstellungen](/de/permissions#managed-settings), wo Benutzer es nicht überschreiben können | `true` |258| `disableSkillShellExecution` | Deaktivieren Sie die Inline-Shell-Ausführung für `` !`...` `` und ` ```! ` Blöcke in [Skills](/de/skills) und benutzerdefinierten Befehlen aus Benutzer-, Projekt-, Plugin- oder zusätzlichen Verzeichnisquellen. Befehle werden durch `[shell command execution disabled by policy]` ersetzt, anstatt ausgeführt zu werden. Gebündelte und verwaltete Skills sind nicht betroffen. Am nützlichsten in [verwalteten Einstellungen](/de/permissions#managed-settings), wo Benutzer es nicht überschreiben können | `true` |

257| `disableWorkflows` | **Standard**: `false`. Deaktivieren Sie [dynamische Workflows](/de/workflows#turn-workflows-off) und die gebündelten Workflow-Befehle. Entspricht dem Setzen von `CLAUDE_CODE_DISABLE_WORKFLOWS` auf `1` | `true` |259| `disableWorkflows` | **Standard**: `false`. Deaktivieren Sie [dynamische Workflows](/de/workflows#turn-workflows-off) und die gebündelten Workflow-Befehle. Entspricht dem Setzen von `CLAUDE_CODE_DISABLE_WORKFLOWS` auf `1` | `true` |

258| `editorMode` | **Standard**: `"normal"`. Tastaturkürzel-Modus für die Eingabeaufforderung: `"normal"` oder `"vim"`. Wird in `/config` als **Editor mode** angezeigt | `"vim"` |260| `editorMode` | **Standard**: `"normal"`. Tastaturkürzel-Modus für die Eingabeaufforderung: `"normal"` oder `"vim"`. Wird in `/config` als **Editor mode** angezeigt | `"vim"` |

259| `effortLevel` | Persistieren Sie die [Anstrengungsstufe](/de/model-config#adjust-effort-level) über Sitzungen hinweg. Akzeptiert `"low"`, `"medium"`, `"high"` oder `"xhigh"`. Wird automatisch geschrieben, wenn Sie `/effort` mit einem dieser Werte ausführen. `--effort` und [`CLAUDE_CODE_EFFORT_LEVEL`](/de/env-vars) überschreiben dies für eine Sitzung. Siehe [Anstrengungsstufe anpassen](/de/model-config#adjust-effort-level) für unterstützte Modelle | `"xhigh"` |261| `effortLevel` | Persistieren Sie die [Anstrengungsstufe](/de/model-config#adjust-effort-level) über Sitzungen hinweg. Akzeptiert `"low"`, `"medium"`, `"high"` oder `"xhigh"`. Wird automatisch geschrieben, wenn Sie `/effort` mit einem dieser Werte ausführen. `--effort` und [`CLAUDE_CODE_EFFORT_LEVEL`](/de/env-vars) überschreiben dies für eine Sitzung. Siehe [Anstrengungsstufe anpassen](/de/model-config#adjust-effort-level) für unterstützte Modelle | `"xhigh"` |

260| `enableAllProjectMcpServers` | Genehmigen Sie automatisch alle MCP-Server, die in Projekt-`.mcp.json`-Dateien definiert sind | `true` |262| `enableAllProjectMcpServers` | Genehmigen Sie automatisch alle MCP-Server, die in Projekt-`.mcp.json`-Dateien definiert sind. {/* min-version: 2.1.196 */}Ab v2.1.196 berücksichtigen `claude mcp list` und `claude mcp get` diesen Schlüssel in einem nicht vertrauenswürdigen Ordner nur aus [Einstellungsdateien, die nicht in das Repository eingecheckt sind](/de/mcp#managing-your-servers) | `true` |

261| `enabledMcpjsonServers` | Liste spezifischer MCP-Server aus `.mcp.json`-Dateien zum Genehmigen | `["memory", "github"]` |263| `enableArtifact` | {/* min-version: 2.1.196 */}Aktivieren oder deaktivieren Sie das [Artifact](/de/artifacts)-Tool für diesen Benutzer. Wenn nicht gesetzt, folgt der Standard der [Verfügbarkeit](/de/artifacts#availability) der Funktion für Ihr Konto. Die Zeile **Artifacts** in `/config` schreibt diesen Schlüssel. Ein verwaltetes `disableArtifact` und die [Admin-Einstellung](/de/artifacts#manage-artifacts-for-your-organization) Ihrer Organisation haben Vorrang, und der Schlüssel wird in Projekt- und lokalen Einstellungen (`.claude/settings.json`, `.claude/settings.local.json`) ignoriert, die ein Repository ansonsten committen könnte. Erfordert Claude Code v2.1.196 oder später | `true` |

264| `enabledMcpjsonServers` | Liste spezifischer MCP-Server aus `.mcp.json`-Dateien zum Genehmigen. {/* min-version: 2.1.196 */}Ab v2.1.196 berücksichtigen `claude mcp list` und `claude mcp get` diesen Schlüssel in einem nicht vertrauenswürdigen Ordner nur aus [Einstellungsdateien, die nicht in das Repository eingecheckt sind](/de/mcp#managing-your-servers) | `["memory", "github"]` |

262| `enforceAvailableModels` | {/* min-version: 2.1.175 */}Erweitern Sie die `availableModels` Allowlist auf das Standardmodell. Wenn `true` in verwalteten Einstellungen und `availableModels` ist ein nicht leeres Array, fällt die Standardoption auf den ersten zulässigen Eintrag zurück, der verfügbar ist. Hat keine Auswirkung, wenn `availableModels` nicht gesetzt oder leer ist. Siehe [Erzwingen Sie die Allowlist für das Standardmodell](/de/model-config#enforce-the-allowlist-for-the-default-model). Erfordert Claude Code v2.1.175 oder später | `true` |265| `enforceAvailableModels` | {/* min-version: 2.1.175 */}Erweitern Sie die `availableModels` Allowlist auf das Standardmodell. Wenn `true` in verwalteten Einstellungen und `availableModels` ist ein nicht leeres Array, fällt die Standardoption auf den ersten zulässigen Eintrag zurück, der verfügbar ist. Hat keine Auswirkung, wenn `availableModels` nicht gesetzt oder leer ist. Siehe [Erzwingen Sie die Allowlist für das Standardmodell](/de/model-config#enforce-the-allowlist-for-the-default-model). Erfordert Claude Code v2.1.175 oder später | `true` |

263| `env` | Umgebungsvariablen, die auf jede Sitzung und auf Subprozesse angewendet werden, die Claude Code von ihr aus startet. {/* min-version: 2.1.143 */}Ab v2.1.143 werden `NO_COLOR` und `FORCE_COLOR`, die hier gesetzt sind, an Subprozesse übergeben, ändern aber nicht die Farben der Claude Code-Oberfläche selbst. Setzen Sie diese in Ihrer Shell, bevor Sie `claude` starten, um die Oberflächenfarben zu ändern | `{"FOO": "bar"}` |266| `env` | Umgebungsvariablen, die auf jede Sitzung und auf Subprozesse angewendet werden, die Claude Code von ihr aus startet. {/* min-version: 2.1.143 */}Ab v2.1.143 werden `NO_COLOR` und `FORCE_COLOR`, die hier gesetzt sind, an Subprozesse übergeben, ändern aber nicht die Farben der Claude Code-Oberfläche selbst. Setzen Sie diese in Ihrer Shell, bevor Sie `claude` starten, um die Oberflächenfarben zu ändern. {/* min-version: 2.1.195 */}Ab v2.1.195 werden Identitätsvariablen, die Claude Code's Hosting-Umgebungen setzen, z. B. `CLAUDE_CODE_REMOTE` und `CLAUDE_CODE_ACCOUNT_UUID`, ignoriert, wenn sie hier gesetzt sind | `{"FOO": "bar"}` |

264| `fallbackModel` | Fallback-Modell(e) zum Ausprobieren in der Reihenfolge, wenn das primäre Modell überlastet oder nicht verfügbar ist. Claude Code wechselt für den Rest der Runde zum nächsten verfügbaren Modell in der Kette und zeigt einen Hinweis an. `"default"` wird zum Standardmodell erweitert. Ketten sind auf drei Modelle begrenzt; zusätzliche Einträge werden ignoriert. Im Gegensatz zu den meisten Array-Einstellungen wird dieser Schlüssel nicht über Einstellungsdateien zusammengeführt: Die Datei mit der höchsten Priorität, die ihn definiert, liefert die gesamte Kette. Das Flag [`--fallback-model`](/de/cli-reference#cli-flags) überschreibt dies für eine Sitzung. Siehe [Fallback-Modellketten](/de/model-config#fallback-model-chains) | `["claude-sonnet-4-6", "claude-haiku-4-5"]` |267| `fallbackModel` | Fallback-Modell(e) zum Ausprobieren in der Reihenfolge, wenn das primäre Modell überlastet oder nicht verfügbar ist. Claude Code wechselt für den Rest der Runde zum nächsten verfügbaren Modell in der Kette und zeigt einen Hinweis an. `"default"` wird zum Standardmodell erweitert. Ketten sind auf drei Modelle begrenzt; zusätzliche Einträge werden ignoriert. Im Gegensatz zu den meisten Array-Einstellungen wird dieser Schlüssel nicht über Einstellungsdateien zusammengeführt: Die Datei mit der höchsten Priorität, die ihn definiert, liefert die gesamte Kette. Das Flag [`--fallback-model`](/de/cli-reference#cli-flags) überschreibt dies für eine Sitzung. Siehe [Fallback-Modellketten](/de/model-config#fallback-model-chains) | `["claude-sonnet-5", "claude-haiku-4-5"]` |

265| `fastModePerSessionOptIn` | Wenn `true`, bleibt der schnelle Modus nicht über Sitzungen hinweg bestehen. Jede Sitzung startet mit ausgeschaltetem schnellen Modus und erfordert, dass Benutzer ihn mit `/fast` aktivieren. Die Voreinstellung des Benutzers für den schnellen Modus wird weiterhin gespeichert. Siehe [Opt-in pro Sitzung erforderlich](/de/fast-mode#require-per-session-opt-in) | `true` |268| `fastModePerSessionOptIn` | Wenn `true`, bleibt der schnelle Modus nicht über Sitzungen hinweg bestehen. Jede Sitzung startet mit ausgeschaltetem schnellen Modus und erfordert, dass Benutzer ihn mit `/fast` aktivieren. Die Voreinstellung des Benutzers für den schnellen Modus wird weiterhin gespeichert. Siehe [Opt-in pro Sitzung erforderlich](/de/fast-mode#require-per-session-opt-in) | `true` |

266| `feedbackSurveyRate` | Wahrscheinlichkeit (0–1), dass die [Sitzungsqualitätsumfrage](/de/data-usage#session-quality-surveys) angezeigt wird, wenn berechtigt. Setzen Sie auf `0`, um vollständig zu unterdrücken, oder setzen Sie [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](/de/env-vars) in `env`. Nützlich bei Verwendung von Bedrock, Vertex oder Foundry, wo die Standard-Stichprobenquote nicht gilt | `0.05` |269| `feedbackSurveyRate` | Wahrscheinlichkeit (0–1), dass die [Sitzungsqualitätsumfrage](/de/data-usage#session-quality-surveys) angezeigt wird, wenn berechtigt. Setzen Sie auf `0`, um vollständig zu unterdrücken, oder setzen Sie [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](/de/env-vars) in `env`. Nützlich bei Verwendung von Bedrock, Vertex oder Foundry, wo die Standard-Stichprobenquote nicht gilt | `0.05` |

267| `fileCheckpointingEnabled` | {/* min-version: 2.1.119 */}**Standard**: `true`. Erstellen Sie Snapshots von Dateien vor jeder Bearbeitung, damit [`/rewind`](/de/checkpointing) sie wiederherstellen kann. Wird in `/config` als **Rewind code (checkpoints)** angezeigt. Um dies über eine Umgebungsvariable zu deaktivieren, setzen Sie [`CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING`](/de/env-vars) in `env` | `false` |270| `fileCheckpointingEnabled` | {/* min-version: 2.1.119 */}**Standard**: `true`. Erstellen Sie Snapshots von Dateien vor jeder Bearbeitung, damit [`/rewind`](/de/checkpointing) sie wiederherstellen kann. Wird in `/config` als **Rewind code (checkpoints)** angezeigt. Um dies über eine Umgebungsvariable zu deaktivieren, setzen Sie [`CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING`](/de/env-vars) in `env` | `false` |

268| `fileSuggestion` | Konfigurieren Sie ein benutzerdefiniertes Skript für `@` Datei-Autovervollständigung. Siehe [Dateivorschlag-Einstellungen](#file-suggestion-settings) | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}` |271| `fileSuggestion` | Konfigurieren Sie ein benutzerdefiniertes Skript für `@` Datei-Autovervollständigung. Siehe [Dateivorschlag-Einstellungen](#file-suggestion-settings) | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}` |

269| `footerLinksRegexes` | {/* min-version: 2.1.176 */}Rendern Sie zusätzliche anklickbare Badges in der Fußzeile, wenn ein Regex die Ausgabe der Runde abgleicht. Jeder Eintrag hat ein `pattern`, eine URL-Vorlage mit `{name}` Platzhaltern, die aus benannten Erfassungsgruppen gefüllt werden, und ein optionales `label`. Nur aus Benutzereinstellungen, dem Flag `--settings` und verwalteten Einstellungen gelesen. Siehe [Footer-Link-Badges](#footer-link-badges) für URL-Einschränkungen, Scheme-Allowlist und Limits. Erfordert Claude Code v2.1.176 oder später | `[{"type": "regex", "pattern": "\\b(?<key>PROJ-\\d+)\\b", "url": "https://issues.example.com/browse/{key}", "label": "{key}"}]` |272| `footerLinksRegexes` | {/* min-version: 2.1.176 */}Rendern Sie zusätzliche anklickbare Badges in der Fußzeile, wenn ein Regex die Ausgabe der Runde abgleicht. Jeder Eintrag hat ein `pattern`, eine URL-Vorlage mit `{name}` Platzhaltern, die aus benannten Erfassungsgruppen gefüllt werden, und ein optionales `label`. Nur aus Benutzereinstellungen, dem Flag `--settings` und verwalteten Einstellungen gelesen. Siehe [Footer-Link-Badges](#footer-link-badges) für URL-Einschränkungen, Scheme-Allowlist und Limits. Erfordert Claude Code v2.1.176 oder später | `[{"type": "regex", "pattern": "\\b(?<key>PROJ-\\d+)\\b", "url": "https://issues.example.com/browse/{key}", "label": "{key}"}]` |

270| `forceLoginMethod` | Verwenden Sie `claudeai`, um die Anmeldung auf Claude.ai-Konten zu beschränken, `console`, um die Anmeldung auf Claude Console-Konten zu beschränken. Wenn in verwalteten Einstellungen gesetzt, werden Sitzungen, die durch `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` oder `apiKeyHelper` authentifiziert sind, beim Start blockiert, da keiner der Werte ohne First-Party-OAuth erfüllt werden kann. Drittanbieter-Provider-Sitzungen wie Bedrock, Vertex und Foundry werden nicht blockiert: Sie authentifizieren sich gegen Ihren Cloud-Provider statt gegen Anthropic | `claudeai` |273| `forceLoginMethod` | Verwenden Sie `claudeai`, um die Anmeldung auf Claude.ai-Konten zu beschränken, `console`, um die Anmeldung auf Claude Console-Konten zu beschränken, oder `gateway`, um die Anmeldung auf ein Cloud-Gateway zu beschränken; siehe [Claude-Apps-Gateway](/de/claude-apps-gateway). Wenn in verwalteten Einstellungen gesetzt, werden Sitzungen, die durch `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` oder `apiKeyHelper` authentifiziert sind, beim Start blockiert, da eine Umgebungsanmeldedaten die erforderliche Anmeldungsmethode nicht erfüllen kann. Drittanbieter-Provider-Sitzungen wie Bedrock, Vertex und Foundry werden nicht blockiert: Sie authentifizieren sich gegen Ihren Cloud-Provider statt gegen Anthropic | `claudeai` |

274| `forceLoginGatewayUrl` | Füllt den Gateway-URL auf dem `/login` Cloud-Gateway-Bildschirm aus und sperrt ihn. Entweder dieser Schlüssel oder `forceLoginMethod: "gateway"` zeigt diesen Bildschirm an; setzen Sie beide, damit die URL ausgefüllt ist. Wird nur auf der verwalteten Richtlinienebene berücksichtigt; ignoriert in Benutzer- und Projekteinstellungen. Siehe [Claude-Apps-Gateway](/de/claude-apps-gateway#set-the-gateway-url) | `"https://claude-gateway.example.com"` |

271| `forceLoginOrgUUID` | Geben Sie die UUID einer Organisation an, um sie während der Anmeldung automatisch auszuwählen und den Organisationsauswahlschritt zu umgehen, oder akzeptieren Sie ein Array von UUIDs, wobei jede aufgelistete Organisation ohne Vorauswahl akzeptiert wird. Wenn in verwalteten Einstellungen gesetzt, schlägt die Anmeldung fehl, wenn das authentifizierte Konto nicht zu einer aufgelisteten Organisation gehört, und Sitzungen, die durch `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` oder `apiKeyHelper` authentifiziert sind, werden beim Start blockiert, da die Organisationszugehörigkeit für sie nicht überprüft werden kann. Drittanbieter-Provider-Sitzungen wie Bedrock, Vertex und Foundry werden nicht blockiert: Verwenden Sie Ihre Cloud-IAM, um einzuschränken, welche Cloud-Konten verwendet werden können. Ein leeres Array schlägt geschlossen fehl und blockiert die Anmeldung mit einer Fehlkonfigurationsmeldung | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` oder `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |275| `forceLoginOrgUUID` | Geben Sie die UUID einer Organisation an, um sie während der Anmeldung automatisch auszuwählen und den Organisationsauswahlschritt zu umgehen, oder akzeptieren Sie ein Array von UUIDs, wobei jede aufgelistete Organisation ohne Vorauswahl akzeptiert wird. Wenn in verwalteten Einstellungen gesetzt, schlägt die Anmeldung fehl, wenn das authentifizierte Konto nicht zu einer aufgelisteten Organisation gehört, und Sitzungen, die durch `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` oder `apiKeyHelper` authentifiziert sind, werden beim Start blockiert, da die Organisationszugehörigkeit für sie nicht überprüft werden kann. Drittanbieter-Provider-Sitzungen wie Bedrock, Vertex und Foundry werden nicht blockiert: Verwenden Sie Ihre Cloud-IAM, um einzuschränken, welche Cloud-Konten verwendet werden können. Ein leeres Array schlägt geschlossen fehl und blockiert die Anmeldung mit einer Fehlkonfigurationsmeldung | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` oder `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |

272| `forceRemoteSettingsRefresh` | (Nur verwaltete Einstellungen) Blockieren Sie den CLI-Start, bis verwaltete Einstellungen aus der Ferne vom Server abgerufen werden. Wenn der Abruf fehlschlägt, wird die CLI beendet, anstatt mit zwischengespeicherten oder keinen Einstellungen fortzufahren. Wenn nicht gesetzt, wird der Start ohne Warten auf Remote-Einstellungen fortgesetzt. Siehe [Fail-Closed-Durchsetzung](/de/server-managed-settings#enforce-fail-closed-startup) | `true` |276| `forceRemoteSettingsRefresh` | (Nur verwaltete Einstellungen) Blockieren Sie den CLI-Start, bis verwaltete Einstellungen aus der Ferne vom Server abgerufen werden. Wenn der Abruf fehlschlägt, wird die CLI beendet, anstatt mit zwischengespeicherten oder keinen Einstellungen fortzufahren. Wenn nicht gesetzt, wird der Start ohne Warten auf Remote-Einstellungen fortgesetzt. Siehe [Fail-Closed-Durchsetzung](/de/server-managed-settings#enforce-fail-closed-startup) | `true` |

273| `gcpAuthRefresh` | Benutzerdefiniertes Skript, das GCP Application Default Credentials aktualisiert, wenn sie ablaufen oder nicht geladen werden können. Siehe [erweiterte Anmeldedatenkonfiguration](/de/google-vertex-ai#advanced-credential-configuration) | `gcloud auth application-default login` |277| `gcpAuthRefresh` | Benutzerdefiniertes Skript, das GCP Application Default Credentials aktualisiert, wenn sie ablaufen oder nicht geladen werden können. Siehe [erweiterte Anmeldedatenkonfiguration](/de/google-vertex-ai#advanced-credential-configuration) | `gcloud auth application-default login` |


276| `includeGitInstructions` | **Standard**: `true`. Integrierte Commit- und PR-Workflow-Anweisungen und den Git-Status-Snapshot in Claudes Systemaufforderung einbeziehen. Setzen Sie auf `false`, um beide zu entfernen, z. B. wenn Sie Ihre eigenen Git-Workflow-Skills verwenden. Die Umgebungsvariable `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` hat Vorrang vor dieser Einstellung, wenn sie gesetzt ist | `false` |280| `includeGitInstructions` | **Standard**: `true`. Integrierte Commit- und PR-Workflow-Anweisungen und den Git-Status-Snapshot in Claudes Systemaufforderung einbeziehen. Setzen Sie auf `false`, um beide zu entfernen, z. B. wenn Sie Ihre eigenen Git-Workflow-Skills verwenden. Die Umgebungsvariable `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` hat Vorrang vor dieser Einstellung, wenn sie gesetzt ist | `false` |

277| `inputNeededNotifEnabled` | {/* min-version: 2.1.119 */}**Standard**: `false`. Wenn [Remote Control](/de/remote-control) verbunden ist, senden Sie eine Push-Benachrichtigung an Ihr Telefon, wenn eine Berechtigungsaufforderung oder Frage auf Ihre Eingabe wartet. Wird in `/config` als **Push when actions required** angezeigt. Siehe [Mobile Push-Benachrichtigungen](/de/remote-control#mobile-push-notifications). Erfordert Claude Code v2.1.119 oder später | `true` |281| `inputNeededNotifEnabled` | {/* min-version: 2.1.119 */}**Standard**: `false`. Wenn [Remote Control](/de/remote-control) verbunden ist, senden Sie eine Push-Benachrichtigung an Ihr Telefon, wenn eine Berechtigungsaufforderung oder Frage auf Ihre Eingabe wartet. Wird in `/config` als **Push when actions required** angezeigt. Siehe [Mobile Push-Benachrichtigungen](/de/remote-control#mobile-push-notifications). Erfordert Claude Code v2.1.119 oder später | `true` |

278| `language` | Konfigurieren Sie Claudes bevorzugte Antwortsprache (z. B. `"japanese"`, `"spanish"`, `"french"`). Claude wird standardmäßig in dieser Sprache antworten. Legt auch die Sprache für [Sprachdiktieren](/de/voice-dictation#change-the-dictation-language) und automatisch generierte Sitzungstitel fest. {/* min-version: 2.1.176 */}Ab v2.1.176 entsprechen Sitzungstitel, wenn nicht gesetzt, der Sprache Ihres Gesprächs | `"japanese"` |282| `language` | Konfigurieren Sie Claudes bevorzugte Antwortsprache (z. B. `"japanese"`, `"spanish"`, `"french"`). Claude wird standardmäßig in dieser Sprache antworten. Legt auch die Sprache für [Sprachdiktieren](/de/voice-dictation#change-the-dictation-language) und automatisch generierte Sitzungstitel fest. {/* min-version: 2.1.176 */}Ab v2.1.176 entsprechen Sitzungstitel, wenn nicht gesetzt, der Sprache Ihres Gesprächs | `"japanese"` |

279| `maxSkillDescriptionChars` | {/* min-version: 2.1.105 */}**Standard**: `1536`. Pro-Skill-Zeichenbegrenzung für den kombinierten `description` und `when_to_use` Text in der [Skill-Auflistung](/de/skills#skill-descriptions-are-cut-short), die Claude jede Runde sieht. Text, der länger als dies ist, wird gekürzt. Erhöhen Sie, um lange Beschreibungen intakt zu halten, auf Kosten von mehr Kontext pro Runde; senken Sie, um mehr Skills unter [`skillListingBudgetFraction`](#available-settings) zu passen. Erfordert Claude Code v2.1.105 oder später | `2048` |

280| `minimumVersion` | Verhindern Sie, dass der Auto-Updater und `claude update` eine Version unter dieser installieren. Das Wechseln vom `"latest"`-Kanal zu `"stable"` über `/config` fordert Sie auf, auf der aktuellen Version zu bleiben oder das Downgrade zu erlauben. Wenn Sie sich entscheiden zu bleiben, wird dieser Wert gesetzt. Auch nützlich in [verwalteten Einstellungen](/de/permissions#managed-settings) um eine organisationsweite Mindestversion festzulegen. Für einen Hard Floor, der den Start vollständig blockiert, siehe `requiredMinimumVersion` | `"2.1.100"` |283| `minimumVersion` | Verhindern Sie, dass der Auto-Updater und `claude update` eine Version unter dieser installieren. Das Wechseln vom `"latest"`-Kanal zu `"stable"` über `/config` fordert Sie auf, auf der aktuellen Version zu bleiben oder das Downgrade zu erlauben. Wenn Sie sich entscheiden zu bleiben, wird dieser Wert gesetzt. Auch nützlich in [verwalteten Einstellungen](/de/permissions#managed-settings) um eine organisationsweite Mindestversion festzulegen. Für einen Hard Floor, der den Start vollständig blockiert, siehe `requiredMinimumVersion` | `"2.1.100"` |

281| `model` | Überschreiben Sie das Standardmodell für Claude Code. `--model` und [`ANTHROPIC_MODEL`](/de/model-config#environment-variables) überschreiben dies für eine Sitzung | `"claude-sonnet-4-6"` |284| `model` | Überschreiben Sie das Standardmodell für Claude Code. `--model` und [`ANTHROPIC_MODEL`](/de/model-config#environment-variables) überschreiben dies für eine Sitzung | `"claude-sonnet-5"` |

282| `modelOverrides` | Ordnen Sie Anthropic-Modell-IDs Anbieter-spezifischen Modell-IDs wie Bedrock-Inferenzprofil-ARNs zu. Jeder Modellwähler-Eintrag verwendet seinen zugeordneten Wert beim Aufrufen der Anbieter-API. Siehe [Modell-IDs pro Version überschreiben](/de/model-config#override-model-ids-per-version) | `{"claude-opus-4-6": "arn:aws:bedrock:..."}` |285| `modelOverrides` | Ordnen Sie Anthropic-Modell-IDs Anbieter-spezifischen Modell-IDs wie Bedrock-Inferenzprofil-ARNs zu. Jeder Modellwähler-Eintrag verwendet seinen zugeordneten Wert beim Aufrufen der Anbieter-API. Siehe [Modell-IDs pro Version überschreiben](/de/model-config#override-model-ids-per-version) | `{"claude-opus-4-6": "arn:aws:bedrock:..."}` |

283| `otelHeadersHelper` | Skript zum Generieren dynamischer OpenTelemetry-Header. Wird beim Start und regelmäßig ausgeführt. Setzen Sie das Aktualisierungsintervall mit [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/de/env-vars). Siehe [Dynamische Header](/de/monitoring-usage#dynamic-headers) | `/bin/generate_otel_headers.sh` |286| `otelHeadersHelper` | Skript zum Generieren dynamischer OpenTelemetry-Header. Wird beim Start und regelmäßig ausgeführt. Setzen Sie das Aktualisierungsintervall mit [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/de/env-vars). Siehe [Dynamische Header](/de/monitoring-usage#dynamic-headers) | `/bin/generate_otel_headers.sh` |

284| `outputStyle` | Konfigurieren Sie einen Ausgabestil, um die Systemaufforderung anzupassen. Siehe [Ausgabestil-Dokumentation](/de/output-styles) | `"Explanatory"` |287| `outputStyle` | Konfigurieren Sie einen Ausgabestil, um die Systemaufforderung anzupassen. Siehe [Ausgabestil-Dokumentation](/de/output-styles) | `"Explanatory"` |


300| `showThinkingSummaries` | **Standard**: `false`. Zeigen Sie [erweitertes Denken](/de/model-config#extended-thinking) Zusammenfassungen in interaktiven Sitzungen an. Wenn nicht gesetzt oder `false`, werden Denk-Blöcke von der API redigiert und als zusammengeklappter Stub angezeigt. Redaktion ändert nur, was Sie sehen, nicht was das Modell generiert: Um Denk-Ausgaben zu reduzieren, [senken Sie das Budget oder deaktivieren Sie das Denken](/de/model-config#extended-thinking) stattdessen. Dieser Einstellung hat keine Auswirkung im nicht-interaktiven Modus (`-p`), dem Agent SDK oder IDE-Erweiterungen wie VS Code | `true` |303| `showThinkingSummaries` | **Standard**: `false`. Zeigen Sie [erweitertes Denken](/de/model-config#extended-thinking) Zusammenfassungen in interaktiven Sitzungen an. Wenn nicht gesetzt oder `false`, werden Denk-Blöcke von der API redigiert und als zusammengeklappter Stub angezeigt. Redaktion ändert nur, was Sie sehen, nicht was das Modell generiert: Um Denk-Ausgaben zu reduzieren, [senken Sie das Budget oder deaktivieren Sie das Denken](/de/model-config#extended-thinking) stattdessen. Dieser Einstellung hat keine Auswirkung im nicht-interaktiven Modus (`-p`), dem Agent SDK oder IDE-Erweiterungen wie VS Code | `true` |

301| `showTurnDuration` | **Standard**: `true`. Zeigen Sie Nachrichten zur Dauer der Runde nach Antworten an, z. B. "Cooked for 1m 6s". Wird in `/config` als **Show turn duration** angezeigt | `false` |304| `showTurnDuration` | **Standard**: `true`. Zeigen Sie Nachrichten zur Dauer der Runde nach Antworten an, z. B. "Cooked for 1m 6s". Wird in `/config` als **Show turn duration** angezeigt | `false` |

302| `skillListingBudgetFraction` | {/* min-version: 2.1.105 */}**Standard**: `0.01` (1%). Anteil des Kontextfensters des Modells, das für die [Skill-Auflistung](/de/skills#skill-descriptions-are-cut-short) reserviert ist, die Claude jede Runde sieht. Wenn die Auflistung das Budget überschreitet, werden Beschreibungen für die am wenigsten verwendeten Skills auf bloße Namen reduziert, sodass Claude sie weiterhin aufrufen kann, aber nicht sieht, warum. Erhöhen Sie, um mehr Beschreibungen sichtbar zu halten, auf Kosten von mehr Kontext pro Runde. `/doctor` zeigt die aktuelle Kürzungsanzahl und welche Skills betroffen sind. Erfordert Claude Code v2.1.105 oder später | `0.02` |305| `skillListingBudgetFraction` | {/* min-version: 2.1.105 */}**Standard**: `0.01` (1%). Anteil des Kontextfensters des Modells, das für die [Skill-Auflistung](/de/skills#skill-descriptions-are-cut-short) reserviert ist, die Claude jede Runde sieht. Wenn die Auflistung das Budget überschreitet, werden Beschreibungen für die am wenigsten verwendeten Skills auf bloße Namen reduziert, sodass Claude sie weiterhin aufrufen kann, aber nicht sieht, warum. Erhöhen Sie, um mehr Beschreibungen sichtbar zu halten, auf Kosten von mehr Kontext pro Runde. `/doctor` zeigt die aktuelle Kürzungsanzahl und welche Skills betroffen sind. Erfordert Claude Code v2.1.105 oder später | `0.02` |

306| `skillListingMaxDescChars` | {/* min-version: 2.1.105 */}**Standard**: `1536`. Pro-Skill-Zeichenbegrenzung für den kombinierten `description` und `when_to_use` Text in der [Skill-Auflistung](/de/skills#skill-descriptions-are-cut-short), die Claude jede Runde sieht. Text, der länger als dies ist, wird gekürzt. Erhöhen Sie, um lange Beschreibungen intakt zu halten, auf Kosten von mehr Kontext pro Runde; senken Sie, um mehr Skills unter [`skillListingBudgetFraction`](#available-settings) zu passen. Erfordert Claude Code v2.1.105 oder später | `2048` |

303| `skillOverrides` | {/* min-version: 2.1.129 */}Pro-Skill-Sichtbarkeitsüberschreibungen, die nach Skill-Name verschlüsselt sind. Der Wert ist `"on"`, `"name-only"`, `"user-invocable-only"` oder `"off"`. Ermöglicht es Ihnen, einen Skill auszublenden oder zu reduzieren, ohne seine SKILL.md zu bearbeiten. Gilt nicht für Plugin-Skills, die über `/plugin` verwaltet werden. Das Menü `/skills` schreibt diese in `.claude/settings.local.json`. Siehe [Skill-Sichtbarkeit aus Einstellungen überschreiben](/de/skills#override-skill-visibility-from-settings). Erfordert Claude Code v2.1.129 oder später | `{"legacy-context": "name-only", "deploy": "off"}` |307| `skillOverrides` | {/* min-version: 2.1.129 */}Pro-Skill-Sichtbarkeitsüberschreibungen, die nach Skill-Name verschlüsselt sind. Der Wert ist `"on"`, `"name-only"`, `"user-invocable-only"` oder `"off"`. Ermöglicht es Ihnen, einen Skill auszublenden oder zu reduzieren, ohne seine SKILL.md zu bearbeiten. Gilt nicht für Plugin-Skills, die über `/plugin` verwaltet werden. Das Menü `/skills` schreibt diese in `.claude/settings.local.json`. Siehe [Skill-Sichtbarkeit aus Einstellungen überschreiben](/de/skills#override-skill-visibility-from-settings). Erfordert Claude Code v2.1.129 oder später | `{"legacy-context": "name-only", "deploy": "off"}` |

304| `skipWebFetchPreflight` | Überspringen Sie die [WebFetch-Domänensicherheitsprüfung](/de/data-usage#webfetch-domain-safety-check), die jeden angeforderten Hostnamen an `api.anthropic.com` sendet, bevor Sie abrufen. Setzen Sie auf `true` in Umgebungen, die den Datenverkehr zu Anthropic blockieren, wie Bedrock, Vertex AI oder Foundry-Bereitstellungen mit restriktivem Ausgang. Wenn übersprungen, versucht WebFetch jede URL, ohne die Blocklist zu konsultieren | `true` |308| `skipWebFetchPreflight` | Überspringen Sie die [WebFetch-Domänensicherheitsprüfung](/de/data-usage#webfetch-domain-safety-check), die jeden angeforderten Hostnamen an `api.anthropic.com` sendet, bevor Sie abrufen. Setzen Sie auf `true` in Umgebungen, die den Datenverkehr zu Anthropic blockieren, wie Bedrock, Vertex AI oder Foundry-Bereitstellungen mit restriktivem Ausgang. Wenn übersprungen, versucht WebFetch jede URL, ohne die Blocklist zu konsultieren | `true` |

305| `spinnerTipsEnabled` | **Standard**: `true`. Zeigen Sie Tipps im Spinner an, während Claude arbeitet. Setzen Sie auf `false`, um Tipps zu deaktivieren | `false` |309| `spinnerTipsEnabled` | **Standard**: `true`. Zeigen Sie Tipps im Spinner an, während Claude arbeitet. Setzen Sie auf `false`, um Tipps zu deaktivieren | `false` |

306| `spinnerTipsOverride` | Überschreiben Sie Spinner-Tipps mit benutzerdefinierten Zeichenketten. `tips`: Array von Tipp-Zeichenketten. `excludeDefault`: wenn `true`, nur benutzerdefinierte Tipps anzeigen; wenn `false` oder nicht vorhanden, werden benutzerdefinierte Tipps mit integrierten Tipps zusammengeführt | `{ "excludeDefault": true, "tips": ["Use our internal tool X"] }` |310| `spinnerTipsOverride` | Überschreiben Sie Spinner-Tipps mit benutzerdefinierten Zeichenketten. `tips`: Array von Tipp-Zeichenketten. `excludeDefault`: wenn `true`, nur benutzerdefinierte Tipps anzeigen; wenn `false` oder nicht vorhanden, werden benutzerdefinierte Tipps mit integrierten Tipps zusammengeführt | `{ "excludeDefault": true, "tips": ["Use our internal tool X"] }` |

307| `spinnerVerbs` | Passen Sie die Aktionsverben an, die im Spinner angezeigt werden, während eine Runde läuft. Setzen Sie `mode` auf `"replace"`, um nur Ihre Verben zu verwenden, oder `"append"`, um sie zu den Standardwerten hinzuzufügen | `{"mode": "append", "verbs": ["Pondering", "Crafting"]}` |311| `spinnerVerbs` | Passen Sie die Aktionsverben an, die im Spinner angezeigt werden, während eine Runde läuft. Setzen Sie `mode` auf `"replace"`, um nur Ihre Verben zu verwenden, oder `"append"`, um sie zu den Standardwerten hinzuzufügen | `{"mode": "append", "verbs": ["Pondering", "Crafting"]}` |

308| `sshConfigs` | SSH-Verbindungen, die in der [Desktop](/de/desktop#pre-configure-ssh-connections-for-your-team)-Umgebungs-Dropdown angezeigt werden. Jeder Eintrag erfordert `id`, `name` und `sshHost`; `sshPort`, `sshIdentityFile` und `startDirectory` sind optional. Wenn in verwalteten Einstellungen gesetzt, sind Verbindungen für Benutzer schreibgeschützt. Nur aus verwalteten und Benutzereinstellungen gelesen | `[{"id": "dev-vm", "name": "Dev VM", "sshHost": "user@dev.example.com"}]` |312| `sshConfigs` | SSH-Verbindungen, die in der [Desktop](/de/desktop#pre-configure-ssh-connections-for-your-team)-Umgebungs-Dropdown angezeigt werden. Jeder Eintrag erfordert `id`, `name` und `sshHost`; `sshPort`, `sshIdentityFile` und `startDirectory` sind optional. Wenn in verwalteten Einstellungen gesetzt, sind Verbindungen für Benutzer schreibgeschützt. Nur aus verwalteten und Benutzereinstellungen gelesen | `[{"id": "dev-vm", "name": "Dev VM", "sshHost": "user@dev.example.com"}]` |

309| `statusLine` | Konfigurieren Sie eine benutzerdefinierte Statuszeile zur Anzeige von Kontext. Siehe [`statusLine`-Dokumentation](/de/statusline) | `{"type": "command", "command": "~/.claude/statusline.sh"}` |313| `statusLine` | Konfigurieren Sie eine benutzerdefinierte Statuszeile zur Anzeige von Kontext. Das Objekt's optionale Felder `padding`, `refreshInterval` und `hideVimModeIndicator` steuern Abstände, periodische Neuläufe und ob der integrierte Vim-Modus-Indikator unter der Aufforderung ausgeblendet wird. Siehe [`statusLine`-Dokumentation](/de/statusline#manually-configure-a-status-line) | `{"type": "command", "command": "~/.claude/statusline.sh"}` |

310| `strictKnownMarketplaces` | (Nur verwaltete Einstellungen) Allowlist von Plugin-Marketplace-Quellen. Undefined = keine Einschränkungen, leeres Array = Lockdown. Erzwungen bei Marketplace-Hinzufügung und bei Plugin-Installation, Update, Aktualisierung und Auto-Update, sodass ein Marketplace, der vor dem Setzen der Richtlinie hinzugefügt wurde, nicht zum Abrufen von Plugins verwendet werden kann. Siehe [Verwaltete Marketplace-Einschränkungen](/de/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |314| `strictKnownMarketplaces` | (Nur verwaltete Einstellungen) Allowlist von Plugin-Marketplace-Quellen. Undefined = keine Einschränkungen, leeres Array = Lockdown. Erzwungen bei Marketplace-Hinzufügung und bei Plugin-Installation, Update, Aktualisierung und Auto-Update, sodass ein Marketplace, der vor dem Setzen der Richtlinie hinzugefügt wurde, nicht zum Abrufen von Plugins verwendet werden kann. Siehe [Verwaltete Marketplace-Einschränkungen](/de/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |

311| `strictPluginOnlyCustomization` | (Nur verwaltete Einstellungen) Block Skills, Agenten, Hooks und MCP-Server aus Benutzer- und Projektquellen, sodass sie nur von Plugins oder verwalteten Einstellungen stammen können. `true` sperrt alle vier Oberflächen; ein Array sperrt nur die benannten. Siehe [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | `["skills", "hooks"]` |315| `strictPluginOnlyCustomization` | (Nur verwaltete Einstellungen) Block Skills, Agenten, Hooks und MCP-Server aus Benutzer- und Projektquellen, sodass sie nur von Plugins oder verwalteten Einstellungen stammen können. `true` sperrt alle vier Oberflächen; ein Array sperrt nur die benannten. Siehe [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | `["skills", "hooks"]` |

312| `syntaxHighlightingDisabled` | Deaktivieren Sie Syntax-Hervorhebung in Diffs, Code-Blöcken und Dateivorschau | `true` |316| `syntaxHighlightingDisabled` | Deaktivieren Sie Syntax-Hervorhebung in Diffs, Code-Blöcken und Dateivorschau | `true` |


483**Standard-Commit-Zuschreibung:**487**Standard-Commit-Zuschreibung:**

484 488 

485```text theme={null}489```text theme={null}

486Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>490Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

487```491```

488 492 

489Der Modellname im Trailer spiegelt das aktive Modell für die Sitzung wider.493Der Modellname im Trailer spiegelt das aktive Modell für die Sitzung wider.


6561. **Verwaltete Einstellungen** ([serververwaltete](/de/server-managed-settings), [MDM/OS-Richtlinien](#configuration-scopes) oder [verwaltete Einstellungen](/de/settings#settings-files))6601. **Verwaltete Einstellungen** ([serververwaltete](/de/server-managed-settings), [MDM/OS-Richtlinien](#configuration-scopes) oder [verwaltete Einstellungen](/de/settings#settings-files))

657 * Richtlinien, die von IT über Server-Bereitstellung, MDM-Konfigurationsprofile, Registry-Richtlinien oder verwaltete Einstellungsdateien bereitgestellt werden661 * Richtlinien, die von IT über Server-Bereitstellung, MDM-Konfigurationsprofile, Registry-Richtlinien oder verwaltete Einstellungsdateien bereitgestellt werden

658 * Können nicht durch andere Ebenen überschrieben werden, einschließlich Befehlszeilenargumenten662 * Können nicht durch andere Ebenen überschrieben werden, einschließlich Befehlszeilenargumenten

659 * Innerhalb der verwalteten Ebene ist die Priorität: serververwaltete > MDM/OS-Richtlinien > dateibasierte (`managed-settings.d/*.json` + `managed-settings.json`) > HKCU-Registry (nur Windows). Nur eine verwaltete Quelle wird verwendet; Quellen werden nicht zusammengeführt. Innerhalb der dateibasierten Ebene werden Drop-in-Dateien und die Basisdatei zusammengeführt.663 * Innerhalb der verwalteten Ebene ist die Priorität: [`policyHelper`](#compute-managed-settings-with-a-policy-helper) Ausgabe, die bei Konfiguration die einzige verwaltete Quelle ist > Remote (claude.ai [serververwaltete](/de/server-managed-settings) oder [Claude-Apps-Gateway](/de/claude-apps-gateway)-bereitgestellt) > MDM/OS-Richtlinien > dateibasierte (`managed-settings.d/*.json` + `managed-settings.json`) > HKCU-Registry (nur Windows). Nur eine verwaltete Quelle wird verwendet; Quellen werden nicht zusammengeführt, mit einer Ausnahme: die Sandbox-Sperr-Schlüssel `sandbox.network.allowManagedDomainsOnly` und `sandbox.filesystem.allowManagedReadPathsOnly`, mit ihren zugehörigen Allowlists, `allowAllClaudeAiMcps` und die Sandbox-Binär-Pfade `sandbox.bwrapPath` und `sandbox.socatPath` werden berücksichtigt, wenn eine Admin-kontrollierte verwaltete Quelle sie setzt; die benutzerbare HKCU-Ebene ist ausgeschlossen. Innerhalb der dateibasierten Ebene werden Drop-in-Dateien und die Basisdatei zusammengeführt.

664 * Eingebettete Hosts wie Claude Desktop können Richtlinien über die SDK `managedSettings` Option bereitstellen. Standardmäßig wird dies ignoriert, wenn eine Admin-bereitgestellte verwaltete Quelle vorhanden ist: serververwaltete Einstellungen, eine MDM- oder OS-Richtlinie oder eine verwaltete Einstellungsdatei. Der benutzerbare HKCU-Registry-Fallback zählt nicht als Admin-bereitgestellte Quelle. Administratoren können sich anmelden, indem sie [`parentSettingsBehavior`](#available-settings) auf `"merge"` setzen. Die Werte des Embedders werden gefiltert, sodass sie verwaltete Richtlinien verschärfen, aber nicht lockern können.

660 665 

6612. **Befehlszeilenargumente**6662. **Befehlszeilenargumente**

662 * Temporäre Überschreibungen für eine bestimmte Sitzung. JSON, das über `--settings <file-or-json>` übergeben wird, wird mit dateibasierten Einstellungen unter Verwendung der gleichen Regeln wie die anderen Ebenen zusammengeführt: Ein hier gesetzter Schlüssel überschreibt den gleichen Schlüssel in lokalen, Projekt- oder Benutzereinstellungen, und das Weglassen eines Schlüssels lässt den Wert der niedrigeren Ebene bestehen667 * Temporäre Überschreibungen für eine bestimmte Sitzung. JSON, das über `--settings <file-or-json>` übergeben wird, wird mit dateibasierten Einstellungen unter Verwendung der gleichen Regeln wie die anderen Ebenen zusammengeführt: Ein hier gesetzter Schlüssel überschreibt den gleichen Schlüssel in lokalen, Projekt- oder Benutzereinstellungen, und das Weglassen eines Schlüssels lässt den Wert der niedrigeren Ebene bestehen


692* Wenn eine Ebene wie `User settings` oder `Project local settings` angezeigt wird, wird diese Datei gelesen.697* Wenn eine Ebene wie `User settings` oder `Project local settings` angezeigt wird, wird diese Datei gelesen.

693* Wenn eine Ebene fehlt, wurde diese Datei nicht gefunden oder enthält keine Schlüssel.698* Wenn eine Ebene fehlt, wurde diese Datei nicht gefunden oder enthält keine Schlüssel.

694 699 

695Wenn [verwaltete Einstellungen](/de/admin-setup#decide-how-settings-reach-devices) wirksam sind, zeigt der Eintrag den Bereitstellungskanal in Klammern an, z. B. `Enterprise managed settings (remote)`, `(plist)`, `(HKLM)`, `(HKCU)` oder `(file)`.700Wenn [verwaltete Einstellungen](/de/admin-setup#decide-how-settings-reach-devices) wirksam sind, zeigt der Eintrag den Bereitstellungskanal in Klammern an, z. B. `Enterprise managed settings (remote)`, `(plist)`, `(HKLM)`, `(HKCU)` oder `(file)`. Der `remote` Kanal deckt sowohl claude.ai serververwaltete Einstellungen als auch [Claude-Apps-Gateway](/de/claude-apps-gateway)-bereitgestellte Richtlinien ab.

696 701 

697Die Zeile bestätigt, welche Dateien gelesen werden, nicht welche Ebene jeden einzelnen Schlüssel bereitgestellt hat. Die Registerkarte **Config** im gleichen Dialog bearbeitet integrierte Umschalter wie Thema und ausführliche Ausgabe, nicht Ihre `settings.json`-Inhalte.702Die Zeile bestätigt, welche Dateien gelesen werden, nicht welche Ebene jeden einzelnen Schlüssel bereitgestellt hat. Die Registerkarte **Config** im gleichen Dialog bearbeitet integrierte Umschalter wie Thema und ausführliche Ausgabe, nicht Ihre `settings.json`-Inhalte.

698 703 


715 720 

716Claudes interne Systemaufforderung wird nicht veröffentlicht. Um benutzerdefinierte Anweisungen hinzuzufügen, verwenden Sie `CLAUDE.md`-Dateien oder das Flag `--append-system-prompt`.721Claudes interne Systemaufforderung wird nicht veröffentlicht. Um benutzerdefinierte Anweisungen hinzuzufügen, verwenden Sie `CLAUDE.md`-Dateien oder das Flag `--append-system-prompt`.

717 722 

718<h3 id="excluding-sensitive-files">723<h3 id="exclude-sensitive-files">

719 Ausschließen sensibler Dateien724 Ausschließen sensibler Dateien

720</h3>725</h3>

721 726 


743 748 

744Claude Code unterstützt benutzerdefinierte KI-Subagents, die auf Benutzer- und Projektebene konfiguriert werden können. Diese Subagents werden als Markdown-Dateien mit YAML-Frontmatter gespeichert:749Claude Code unterstützt benutzerdefinierte KI-Subagents, die auf Benutzer- und Projektebene konfiguriert werden können. Diese Subagents werden als Markdown-Dateien mit YAML-Frontmatter gespeichert:

745 750 

746* **Benutzer-Subagents**: `~/.claude/agents/` - Verfügbar über alle Ihre Projekte751* **Benutzer-Subagents**: `~/.claude/agents/`, verfügbar über alle Ihre Projekte

747* **Projekt-Subagents**: `.claude/agents/` - Spezifisch für Ihr Projekt und können mit Ihrem Team geteilt werden752* **Projekt-Subagents**: `.claude/agents/`, spezifisch für Ihr Projekt und teilbar mit Ihrem Team

748 753 

749Subagent-Dateien definieren spezialisierte KI-Assistenten mit benutzerdefinierten Aufforderungen und Werkzeugberechtigungen. Erfahren Sie mehr über das Erstellen und Verwenden von Subagents in der [Subagents-Dokumentation](/de/sub-agents).754Subagent-Dateien definieren spezialisierte KI-Assistenten mit benutzerdefinierten Aufforderungen und Werkzeugberechtigungen. Erfahren Sie mehr über das Erstellen und Verwenden von Subagents in der [Subagents-Dokumentation](/de/sub-agents).

750 755 


795 Projekteinstellungen haben Vorrang vor Benutzereinstellungen, daher führt das Setzen eines Plugins auf `false` in `~/.claude/settings.json` nicht dazu, dass ein Plugin deaktiviert wird, das die `.claude/settings.json` des Projekts aktiviert. Um sich von einem projektaktivierten Plugin auf Ihrem Computer abzumelden, setzen Sie es stattdessen auf `false` in `.claude/settings.local.json`.800 Projekteinstellungen haben Vorrang vor Benutzereinstellungen, daher führt das Setzen eines Plugins auf `false` in `~/.claude/settings.json` nicht dazu, dass ein Plugin deaktiviert wird, das die `.claude/settings.json` des Projekts aktiviert. Um sich von einem projektaktivierten Plugin auf Ihrem Computer abzumelden, setzen Sie es stattdessen auf `false` in `.claude/settings.local.json`.

796 801 

797 Plugins, die durch verwaltete Einstellungen erzwungen aktiviert sind, können auf diese Weise nicht deaktiviert werden, da verwaltete Einstellungen lokale Einstellungen überschreiben.802 Plugins, die durch verwaltete Einstellungen erzwungen aktiviert sind, können auf diese Weise nicht deaktiviert werden, da verwaltete Einstellungen lokale Einstellungen überschreiben.

803 

804 Das Aktivieren eines Plugins aus einer externen Quelle wie einem GitHub-Repository oder npm-Paket in der `.claude/settings.json` eines Projekts installiert es nicht für andere Personen. Ab Claude Code v2.1.195 fragt jeder Pfad, der Plugins lädt, jeden Benutzer auf, [das Plugin zu installieren und zu vertrauen](/de/discover-plugins#configure-team-marketplaces), bevor es ausgeführt wird.

798</Note>805</Note>

799 806 

800**Beispiel**:807**Beispiel**:


897 904 

898* Nur in verwalteten Einstellungen verfügbar (`managed-settings.json`)905* Nur in verwalteten Einstellungen verfügbar (`managed-settings.json`)

899* Kann nicht durch Benutzer- oder Projekteinstellungen überschrieben werden (höchste Priorität)906* Kann nicht durch Benutzer- oder Projekteinstellungen überschrieben werden (höchste Priorität)

900* Durchgesetzt VOR Netzwerk-/Dateisystem-Operationen (blockierte Quellen werden nie ausgeführt)907* Durchgesetzt VOR Netzwerk-/Dateisystem-Operationen, sodass blockierte Quellen nie ausgeführt werden

901* Verwendet exakte Übereinstimmung für Quellspezifikationen (einschließlich `ref`, `path` für Git-Quellen), außer `hostPattern` und `pathPattern`, die Regex-Abgleich verwenden908* Verwendet exakte Übereinstimmung für Quellspezifikationen (einschließlich `ref`, `path` für Git-Quellen), außer `hostPattern` und `pathPattern`, die Regex-Abgleich verwenden

902 909 

903**Allowlist-Verhalten**:910**Allowlist-Verhalten**:

904 911 

905* `undefined` (Standard): Keine Einschränkungen - Benutzer können jeden Marketplace hinzufügen912* `undefined` (Standard): Keine Einschränkungen, sodass Benutzer jeden Marketplace hinzufügen können

906* Leeres Array `[]`: Vollständiger Lockdown - Benutzer können keine neuen Marketplaces hinzufügen913* Leeres Array `[]`: Vollständiger Lockdown, sodass Benutzer keine neuen Marketplaces hinzufügen können

907* Liste von Quellen: Benutzer können nur Marketplaces hinzufügen, die genau übereinstimmen914* Liste von Quellen: Benutzer können nur Marketplaces hinzufügen, die genau übereinstimmen

908 915 

909**Alle unterstützten Quellentypen**:916**Alle unterstützten Quellentypen**:


918{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }925{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }

919```926```

920 927 

921Felder: `repo` (erforderlich), `ref` (optional: Branch/Tag/SHA), `path` (optional: Unterverzeichnis)928Felder: `repo` (erforderlich), `ref` (optional: Branch oder Tag), `path` (optional: Unterverzeichnis)

922 929 

9232. **Git-Repositories**:9302. **Git-Repositories**:

924 931 


928{ "source": "git", "url": "ssh://git@git.example.com/plugins.git", "ref": "v3.1", "path": "approved" }935{ "source": "git", "url": "ssh://git@git.example.com/plugins.git", "ref": "v3.1", "path": "approved" }

929```936```

930 937 

931Felder: `url` (erforderlich), `ref` (optional: Branch/Tag/SHA), `path` (optional: Unterverzeichnis)938Felder: `url` (erforderlich), `ref` (optional: Branch oder Tag), `path` (optional: Unterverzeichnis)

932 939 

9333. **URL-basierte Marketplaces**:9403. **URL-basierte Marketplaces**:

934 941 


1027}1034}

1028```1035```

1029 1036 

1030Beispiel - Alle Marketplace-Ergänzungen deaktivieren:1037Beispiel: Alle Marketplace-Ergänzungen deaktivieren:

1031 1038 

1032```json theme={null}1039```json theme={null}

1033{1040{


1050 1057 

1051**Anforderungen für exakte Übereinstimmung**:1058**Anforderungen für exakte Übereinstimmung**:

1052 1059 

1053Marketplace-Quellen müssen **genau** übereinstimmen, damit eine Benutzer-Ergänzung erlaubt wird. Für Git-basierte Quellen (`github` und `git`) umfasst dies alle optionalen Felder:1060Marketplace-Quellen müssen genau übereinstimmen, damit eine Benutzer-Ergänzung erlaubt wird. Für Git-basierte Quellen (`github` und `git`) umfasst dies alle optionalen Felder:

1054 1061 

1055* Das `repo` oder `url` muss genau übereinstimmen1062* Das `repo` oder `url` muss genau übereinstimmen

1056* Das `ref`-Feld muss genau übereinstimmen (oder beide sind undefined)1063* Das `ref`-Feld muss genau übereinstimmen (oder beide sind undefined)

1057* Das `path`-Feld muss genau übereinstimmen (oder beide sind undefined)1064* Das `path`-Feld muss genau übereinstimmen (oder beide sind undefined)

1058 1065 

1059Beispiele von Quellen, die **NICHT übereinstimmen**:1066Beispiele von Quellen, die nicht übereinstimmen:

1060 1067 

1061```json theme={null}1068```json theme={null}

1062// Diese sind UNTERSCHIEDLICHE Quellen:1069// Diese sind UNTERSCHIEDLICHE Quellen:


1161 1168 

1162Oberflächennamen, die eine Claude Code-Version nicht erkennt, werden ignoriert, anstatt die Einstellungsdatei fehlschlagen zu lassen, sodass Sie neue Oberflächennamen hinzufügen können, bevor alle Clients aktualisiert wurden.1169Oberflächennamen, die eine Claude Code-Version nicht erkennt, werden ignoriert, anstatt die Einstellungsdatei fehlschlagen zu lassen, sodass Sie neue Oberflächennamen hinzufügen können, bevor alle Clients aktualisiert wurden.

1163 1170 

1164<h3 id="managing-plugins">1171<h3 id="manage-plugins">

1165 Verwalten von Plugins1172 Verwalten von Plugins

1166</h3>1173</h3>

1167 1174 

setup.md +1 −1

Details

36</h2>36</h2>

37 37 

38<Tip>38<Tip>

39 Bevorzugen Sie eine grafische Benutzeroberfläche? Die [Desktop-App](/de/desktop-quickstart) ermöglicht es Ihnen, Claude Code ohne das Terminal zu verwenden. Laden Sie sie für [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs) oder [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) herunter.39 Bevorzugen Sie eine grafische Benutzeroberfläche? Die [Desktop-App](/de/desktop-quickstart) ermöglicht es Ihnen, Claude Code ohne das Terminal zu verwenden. Laden Sie sie für [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs), [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) oder [Linux](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) herunter.

40 40 

41 Neu im Terminal? Siehe die [Terminalanleitung](/de/terminal-guide) für Schritt-für-Schritt-Anweisungen.41 Neu im Terminal? Siehe die [Terminalanleitung](/de/terminal-guide) für Schritt-für-Schritt-Anweisungen.

42</Tip>42</Tip>

skills.md +8 −3

Details

251| `when_to_use` | Nein | Zusätzlicher Kontext für den Zeitpunkt, zu dem Claude den Skill aufrufen sollte, z. B. Trigger-Phrasen oder Beispielanfragen. An `description` in der Skill-Auflistung angehängt und zählt zur 1.536-Zeichen-Obergrenze. |251| `when_to_use` | Nein | Zusätzlicher Kontext für den Zeitpunkt, zu dem Claude den Skill aufrufen sollte, z. B. Trigger-Phrasen oder Beispielanfragen. An `description` in der Skill-Auflistung angehängt und zählt zur 1.536-Zeichen-Obergrenze. |

252| `argument-hint` | Nein | Hinweis, der während der Autovervollständigung angezeigt wird, um erwartete Argumente anzuzeigen. Beispiel: `[issue-number]` oder `[filename] [format]`. |252| `argument-hint` | Nein | Hinweis, der während der Autovervollständigung angezeigt wird, um erwartete Argumente anzuzeigen. Beispiel: `[issue-number]` oder `[filename] [format]`. |

253| `arguments` | Nein | Benannte positionelle Argumente für [`$name`-Substitution](#available-string-substitutions) im Skill-Inhalt. Akzeptiert eine durch Leerzeichen getrennte Zeichenkette oder eine YAML-Liste. Namen werden in Reihenfolge auf Argumentpositionen abgebildet. |253| `arguments` | Nein | Benannte positionelle Argumente für [`$name`-Substitution](#available-string-substitutions) im Skill-Inhalt. Akzeptiert eine durch Leerzeichen getrennte Zeichenkette oder eine YAML-Liste. Namen werden in Reihenfolge auf Argumentpositionen abgebildet. |

254| `disable-model-invocation` | Nein | Setzen Sie auf `true`, um zu verhindern, dass Claude diesen Skill automatisch lädt. Verwenden Sie für Workflows, die Sie manuell mit `/name` auslösen möchten. Verhindert auch, dass der Skill [in Subagenten vorgeladen wird](/de/sub-agents#preload-skills-into-subagents). Standard: `false`. |254| `disable-model-invocation` | Nein | Setzen Sie auf `true`, um zu verhindern, dass Claude diesen Skill automatisch lädt. Verwenden Sie für Workflows, die Sie manuell mit `/name` auslösen möchten. Verhindert auch, dass der Skill [in Subagenten vorgeladen wird](/de/sub-agents#preload-skills-into-subagents). {/* min-version: 2.1.196 */}Ab v2.1.196 verhindert dies auch, dass der Skill ausgeführt wird, wenn eine [geplante Aufgabe](/de/scheduled-tasks) mit dem Skill als Eingabe ausgelöst wird. Standard: `false`. |

255| `user-invocable` | Nein | Setzen Sie auf `false`, um aus dem `/`-Menü auszublenden. Verwenden Sie für Hintergrundwissen, das Benutzer nicht direkt aufrufen sollten. Standard: `true`. |255| `user-invocable` | Nein | Setzen Sie auf `false`, um aus dem `/`-Menü auszublenden. Verwenden Sie für Hintergrundwissen, das Benutzer nicht direkt aufrufen sollten. Standard: `true`. |

256| `allowed-tools` | Nein | Tools, die Claude ohne Genehmigung verwenden kann, wenn dieser Skill aktiv ist. Akzeptiert eine durch Leerzeichen oder Komma getrennte Zeichenkette oder eine YAML-Liste. |256| `allowed-tools` | Nein | Tools, die Claude ohne Genehmigung verwenden kann, wenn dieser Skill aktiv ist. Akzeptiert eine durch Leerzeichen oder Komma getrennte Zeichenkette oder eine YAML-Liste. |

257| `disallowed-tools` | Nein | Tools, die aus Claudes verfügbarem Pool entfernt werden, während dieser Skill aktiv ist. Verwenden Sie für autonome Skills, die niemals bestimmte Tools aufrufen sollten, wie `AskUserQuestion` für eine Hintergrund-Schleife. Akzeptiert eine durch Leerzeichen oder Komma getrennte Zeichenkette oder eine YAML-Liste. Die Einschränkung wird gelöscht, wenn Sie Ihre nächste Nachricht senden. |257| `disallowed-tools` | Nein | Tools, die aus Claudes verfügbarem Pool entfernt werden, während dieser Skill aktiv ist. Verwenden Sie für autonome Skills, die niemals bestimmte Tools aufrufen sollten, wie `AskUserQuestion` für eine Hintergrund-Schleife. Akzeptiert eine durch Leerzeichen oder Komma getrennte Zeichenkette oder eine YAML-Liste. Die Einschränkung wird gelöscht, wenn Sie Ihre nächste Nachricht senden. |


288Skills unterstützen String-Substitution für dynamische Werte im Skill-Inhalt:288Skills unterstützen String-Substitution für dynamische Werte im Skill-Inhalt:

289 289 

290| Variable | Beschreibung |290| Variable | Beschreibung |

291| :--------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |291| :---------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

292| `$ARGUMENTS` | Alle Argumente, die beim Aufrufen des Skills übergeben werden. Wenn `$ARGUMENTS` nicht im Inhalt vorhanden ist, werden Argumente als `ARGUMENTS: <value>` angehängt. |292| `$ARGUMENTS` | Alle Argumente, die beim Aufrufen des Skills übergeben werden. Wenn `$ARGUMENTS` nicht im Inhalt vorhanden ist, werden Argumente als `ARGUMENTS: <value>` angehängt. |

293| `$ARGUMENTS[N]` | Greifen Sie auf ein bestimmtes Argument nach 0-basiertem Index zu, z. B. `$ARGUMENTS[0]` für das erste Argument. |293| `$ARGUMENTS[N]` | Greifen Sie auf ein bestimmtes Argument nach 0-basiertem Index zu, z. B. `$ARGUMENTS[0]` für das erste Argument. |

294| `$N` | Kurzform für `$ARGUMENTS[N]`, z. B. `$0` für das erste Argument oder `$1` für das zweite. |294| `$N` | Kurzform für `$ARGUMENTS[N]`, z. B. `$0` für das erste Argument oder `$1` für das zweite. |


296| `${CLAUDE_SESSION_ID}` | Die aktuelle Sitzungs-ID. Nützlich zum Protokollieren, Erstellen sitzungsspezifischer Dateien oder Korrelieren der Skill-Ausgabe mit Sitzungen. |296| `${CLAUDE_SESSION_ID}` | Die aktuelle Sitzungs-ID. Nützlich zum Protokollieren, Erstellen sitzungsspezifischer Dateien oder Korrelieren der Skill-Ausgabe mit Sitzungen. |

297| `${CLAUDE_EFFORT}` | Die aktuelle Anstrengungsstufe: `low`, `medium`, `high`, `xhigh` oder `max`. Ultracode ist keine separate Stufe und wird als `xhigh` gemeldet. Verwenden Sie dies, um Skill-Anweisungen an die aktive Anstrengungseinstellung anzupassen. |297| `${CLAUDE_EFFORT}` | Die aktuelle Anstrengungsstufe: `low`, `medium`, `high`, `xhigh` oder `max`. Ultracode ist keine separate Stufe und wird als `xhigh` gemeldet. Verwenden Sie dies, um Skill-Anweisungen an die aktive Anstrengungseinstellung anzupassen. |

298| `${CLAUDE_SKILL_DIR}` | Das Verzeichnis, das die `SKILL.md`-Datei des Skills enthält. Für Plugin-Skills ist dies das Skill-Unterverzeichnis im Plugin, nicht das Plugin-Root. Verwenden Sie dies in Bash-Injektionsbefehlen, um auf Scripts oder Dateien zu verweisen, die mit dem Skill gebündelt sind, unabhängig vom aktuellen Arbeitsverzeichnis. |298| `${CLAUDE_SKILL_DIR}` | Das Verzeichnis, das die `SKILL.md`-Datei des Skills enthält. Für Plugin-Skills ist dies das Skill-Unterverzeichnis im Plugin, nicht das Plugin-Root. Verwenden Sie dies in Bash-Injektionsbefehlen, um auf Scripts oder Dateien zu verweisen, die mit dem Skill gebündelt sind, unabhängig vom aktuellen Arbeitsverzeichnis. |

299| `${CLAUDE_PROJECT_DIR}` | Das Projekt-Root-Verzeichnis. Dies ist der gleiche Pfad, den [Hooks](/de/hooks#reference-scripts-by-path) und MCP-Server als `CLAUDE_PROJECT_DIR` erhalten. Verwenden Sie dies, um auf projektlokale Scripts oder Dateien zu verweisen, wie `${CLAUDE_PROJECT_DIR}/.claude/hooks/helper.sh`, unabhängig davon, wo der Skill installiert ist. |

300 

301Die `${CLAUDE_PROJECT_DIR}`-Substitution erfordert Claude Code v2.1.196 oder später. Sie gilt sowohl für den Skill-Text als auch für das [`allowed-tools`](#frontmatter-reference)-Frontmatter, sodass eine Berechtigungsregel wie `Bash(${CLAUDE_PROJECT_DIR}/scripts/lint.sh *)` zum gleichen Pfad aufgelöst wird, den der Skill-Text verwendet.

299 302 

300Indizierte Argumente verwenden Shell-ähnliche Anführungszeichen, daher müssen Sie mehrteilige Werte in Anführungszeichen setzen, um sie als einzelnes Argument zu übergeben. Zum Beispiel macht `/my-skill "hello world" second` `$0` zu `hello world` und `$1` zu `second`. Der `$ARGUMENTS`-Platzhalter wird immer zur vollständigen Argumentzeichenkette erweitert, wie eingegeben.303Indizierte Argumente verwenden Shell-ähnliche Anführungszeichen, daher müssen Sie mehrteilige Werte in Anführungszeichen setzen, um sie als einzelnes Argument zu übergeben. Zum Beispiel macht `/my-skill "hello world" second` `$0` zu `hello world` und `$1` zu `second`. Der `$ARGUMENTS`-Platzhalter wird immer zur vollständigen Argumentzeichenkette erweitert, wie eingegeben.

301 304 


899 902 

900Skill-Beschreibungen werden in den Kontext geladen, damit Claude weiß, was verfügbar ist. Alle Skill-Namen sind immer enthalten, aber wenn Sie viele Skills haben, werden Beschreibungen gekürzt, um in das Zeichenbudget zu passen, was die Schlüsselwörter entfernen kann, die Claude benötigt, um Ihre Anfrage zu erfüllen. Das Budget skaliert bei 1% des Kontextfensters des Modells. Wenn es überläuft, werden Beschreibungen für die Skills, die Sie am wenigsten aufrufen, zuerst gelöscht, sodass die Skills, die Sie tatsächlich verwenden, ihren vollständigen Text behalten. Führen Sie `/doctor` aus, um zu sehen, wie viele Skill-Beschreibungen gekürzt oder gelöscht werden und welche Skills betroffen sind.903Skill-Beschreibungen werden in den Kontext geladen, damit Claude weiß, was verfügbar ist. Alle Skill-Namen sind immer enthalten, aber wenn Sie viele Skills haben, werden Beschreibungen gekürzt, um in das Zeichenbudget zu passen, was die Schlüsselwörter entfernen kann, die Claude benötigt, um Ihre Anfrage zu erfüllen. Das Budget skaliert bei 1% des Kontextfensters des Modells. Wenn es überläuft, werden Beschreibungen für die Skills, die Sie am wenigsten aufrufen, zuerst gelöscht, sodass die Skills, die Sie tatsächlich verwenden, ihren vollständigen Text behalten. Führen Sie `/doctor` aus, um zu sehen, wie viele Skill-Beschreibungen gekürzt oder gelöscht werden und welche Skills betroffen sind.

901 904 

902Um das Budget zu erhöhen, setzen Sie die Einstellung [`skillListingBudgetFraction`](/de/settings#available-settings) (z. B. `0.02` = 2%) oder die Umgebungsvariable `SLASH_COMMAND_TOOL_CHAR_BUDGET` auf eine feste Zeichenanzahl. Um Budget für andere Skills freizugeben, setzen Sie Einträge mit niedriger Priorität auf `"name-only"` in [`skillOverrides`](#override-skill-visibility-from-settings), damit sie ohne Beschreibung aufgelistet werden. Sie können auch den Text `description` und `when_to_use` an der Quelle kürzen: Stellen Sie den wichtigsten Anwendungsfall an den Anfang, da der kombinierte Text jedes Eintrags unabhängig vom Budget auf 1.536 Zeichen begrenzt ist. Die Obergrenze ist mit [`maxSkillDescriptionChars`](/de/settings#available-settings) konfigurierbar.905Ab v2.1.196 zeigt die Skills-Zeile in `/context` die Größe der Auflistung nach Anwendung des Budgets an, sodass sie dem entspricht, was das Modell erhält. Frühere Versionen zählten den vollständigen Text jeder Beschreibung, sodass die Zeile einen Wert anzeigen konnte, der mehrmals größer als das Budget ist, das `/doctor` meldet.

906 

907Um das Budget zu erhöhen, setzen Sie die Einstellung [`skillListingBudgetFraction`](/de/settings#available-settings) (z. B. `0.02` = 2%) oder die Umgebungsvariable `SLASH_COMMAND_TOOL_CHAR_BUDGET` auf eine feste Zeichenanzahl. Um Budget für andere Skills freizugeben, setzen Sie Einträge mit niedriger Priorität auf `"name-only"` in [`skillOverrides`](#override-skill-visibility-from-settings), damit sie ohne Beschreibung aufgelistet werden. Sie können auch den Text `description` und `when_to_use` an der Quelle kürzen: Stellen Sie den wichtigsten Anwendungsfall an den Anfang, da der kombinierte Text jedes Eintrags unabhängig vom Budget auf 1.536 Zeichen begrenzt ist. Die Obergrenze ist mit [`skillListingMaxDescChars`](/de/settings#available-settings) konfigurierbar.

903 908 

904<h2 id="related-resources">909<h2 id="related-resources">

905 Verwandte Ressourcen910 Verwandte Ressourcen

statusline.md +4 −1

Details

194| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | Unix-Epochensekunden, wenn das 5-Stunden- oder 7-Tage-Ratenlimit-Fenster zurückgesetzt wird |194| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | Unix-Epochensekunden, wenn das 5-Stunden- oder 7-Tage-Ratenlimit-Fenster zurückgesetzt wird |

195| `session_id` | Eindeutige Sitzungskennung |195| `session_id` | Eindeutige Sitzungskennung |

196| `session_name` | Benutzerdefinierter Sitzungsname, der mit dem `--name` Flag oder `/rename` gesetzt wurde. Fehlt, wenn kein benutzerdefinierter Name gesetzt wurde |196| `session_name` | Benutzerdefinierter Sitzungsname, der mit dem `--name` Flag oder `/rename` gesetzt wurde. Fehlt, wenn kein benutzerdefinierter Name gesetzt wurde |

197| `prompt_id` | UUID, die die Benutzereingabe identifiziert, die gerade verarbeitet wird. Entspricht dem [`prompt.id` Attribut auf OpenTelemetry-Ereignissen](/de/monitoring-usage#event-correlation-attributes). Fehlt bis zur ersten Benutzereingabe. Erfordert Claude Code v2.1.196 oder später |

197| `transcript_path` | Pfad zur Gesprächstranskriptdatei |198| `transcript_path` | Pfad zur Gesprächstranskriptdatei |

198| `version` | Claude Code-Version |199| `version` | Claude Code-Version |

199| `output_style.name` | Name des aktuellen Ausgabestils |200| `output_style.name` | Name des aktuellen Ausgabestils |


215 "cwd": "/current/working/directory",216 "cwd": "/current/working/directory",

216 "session_id": "abc123...",217 "session_id": "abc123...",

217 "session_name": "my-session",218 "session_name": "my-session",

219 "prompt_id": "550e8400-e29b-41d4-a716-446655440000",

218 "transcript_path": "/path/to/transcript.jsonl",220 "transcript_path": "/path/to/transcript.jsonl",

219 "model": {221 "model": {

220 "id": "claude-opus-4-1-20250805",222 "id": "claude-opus-4-8",

221 "display_name": "Opus"223 "display_name": "Opus"

222 },224 },

223 "workspace": {225 "workspace": {


296 **Felder, die möglicherweise fehlen** (nicht in JSON vorhanden):298 **Felder, die möglicherweise fehlen** (nicht in JSON vorhanden):

297 299 

298 * `session_name`: erscheint nur, wenn ein benutzerdefinierter Name mit `--name` oder `/rename` gesetzt wurde300 * `session_name`: erscheint nur, wenn ein benutzerdefinierter Name mit `--name` oder `/rename` gesetzt wurde

301 * `prompt_id`: erscheint nur nach der ersten Benutzereingabe

299 * `workspace.git_worktree`: erscheint nur, wenn sich das aktuelle Verzeichnis in einem verknüpften Git-Worktree befindet302 * `workspace.git_worktree`: erscheint nur, wenn sich das aktuelle Verzeichnis in einem verknüpften Git-Worktree befindet

300 * `workspace.repo`: erscheint nur in einem Git-Repository mit einem konfigurierten `origin` Remote303 * `workspace.repo`: erscheint nur in einem Git-Repository mit einem konfigurierten `origin` Remote

301 * `effort`: erscheint nur, wenn das aktuelle Modell den Reasoning-Effort-Parameter unterstützt304 * `effort`: erscheint nur, wenn das aktuelle Modell den Reasoning-Effort-Parameter unterstützt

sub-agents.md +41 −27

Details

38 <Tab title="Explore">38 <Tab title="Explore">

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

40 40 

41 * **Modell**: Haiku (schnell, niedrige Latenz)41 * **Modell**: Haiku, das schnell und mit niedriger Latenz arbeitet

42 * **Werkzeuge**: Schreibgeschützte Werkzeuge (kein Zugriff auf Write- und Edit-Werkzeuge)42 * **Werkzeuge**: Schreibgeschützte Werkzeuge; Write und Edit sind nicht zulässig

43 * **Zweck**: Dateiermittlung, Codesuche, Codebase-Exploration43 * **Zweck**: Dateiermittlung, Codesuche, Codebase-Exploration

44 44 

45 Claude delegiert an Explore, wenn es eine Codebase durchsuchen oder verstehen muss, ohne Änderungen vorzunehmen. Dies hält Explorationsergebnisse aus Ihrem Hauptkonversationskontext heraus.45 Claude delegiert an Explore, wenn es eine Codebase durchsuchen oder verstehen muss, ohne Änderungen vorzunehmen. Dies hält Explorationsergebnisse aus Ihrem Hauptkonversationskontext heraus.


50 <Tab title="Plan">50 <Tab title="Plan">

51 Ein Forschungsagent, der während des [Plan-Modus](/de/permission-modes#analyze-before-you-edit-with-plan-mode) verwendet wird, um Kontext zu sammeln, bevor ein Plan präsentiert wird.51 Ein Forschungsagent, der während des [Plan-Modus](/de/permission-modes#analyze-before-you-edit-with-plan-mode) verwendet wird, um Kontext zu sammeln, bevor ein Plan präsentiert wird.

52 52 

53 * **Modell**: Erbt von Hauptkonversation53 * **Modell**: Erbt von der Hauptkonversation

54 * **Werkzeuge**: Schreibgeschützte Werkzeuge (kein Zugriff auf Write- und Edit-Werkzeuge)54 * **Werkzeuge**: Schreibgeschützte Werkzeuge; Write und Edit sind nicht zulässig

55 * **Zweck**: Codebase-Recherche für Planung55 * **Zweck**: Codebase-Recherche für Planung

56 56 

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


60 <Tab title="General-purpose">60 <Tab title="General-purpose">

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

62 62 

63 * **Modell**: Erbt von Hauptkonversation63 * **Modell**: Erbt von der Hauptkonversation

64 * **Werkzeuge**: Alle Werkzeuge64 * **Werkzeuge**: Alle Werkzeuge

65 * **Zweck**: Komplexe Recherche, mehrstufige Operationen, Code-Änderungen65 * **Zweck**: Komplexe Recherche, mehrstufige Operationen, Code-Änderungen

66 66 


77 </Tab>77 </Tab>

78</Tabs>78</Tabs>

79 79 

80Integrierte Subagenten sind in interaktiven Sitzungen immer registriert. Um einen bestimmten integrierten Typ zu blockieren, fügen Sie ihn zu `permissions.deny` hinzu, wie in [Spezifische Subagenten deaktivieren](#disable-specific-subagents) gezeigt. Um zu verhindern, dass Claude an einen Subagenten delegiert, verweigern Sie das `Agent`-Werkzeug selbst mit [`permissions.deny`](/de/permissions#tool-specific-permission-rules). Im [nicht-interaktiven Modus](/de/headless) und dem [Agent SDK](/de/agent-sdk/overview) setzen Sie [`CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1`](/de/env-vars), um alle integrierten Typen zu entfernen und nur Ihre eigenen bereitzustellen.80Integrierte Subagenten sind in interaktiven Sitzungen immer registriert. Um sie einzuschränken:

81 

82* Um einen bestimmten integrierten Typ zu blockieren, fügen Sie ihn zu `permissions.deny` hinzu, wie in [Spezifische Subagenten deaktivieren](#disable-specific-subagents) gezeigt.

83* Um zu verhindern, dass Claude an einen Subagenten delegiert, verweigern Sie das `Agent`-Werkzeug selbst mit [`permissions.deny`](/de/permissions#tool-specific-permission-rules).

84* Im [nicht-interaktiven Modus](/de/headless) und dem [Agent SDK](/de/agent-sdk/overview) setzen Sie [`CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1`](/de/env-vars), um alle integrierten Typen zu entfernen und nur Ihre eigenen bereitzustellen.

81 85 

82Über diese integrierten Subagenten hinaus können Sie Ihre eigenen mit benutzerdefinierten Prompts, Werkzeugbeschränkungen, Berechtigungsmodi, Hooks und Skills erstellen. Die folgenden Abschnitte zeigen, wie Sie anfangen und Subagenten anpassen.86Über diese integrierten Subagenten hinaus können Sie Ihre eigenen mit benutzerdefinierten Prompts, Werkzeugbeschränkungen, Berechtigungsmodi, Hooks und Skills erstellen. Die folgenden Abschnitte zeigen, wie Sie anfangen und Subagenten anpassen.

83 87 


93 <Step title="Öffnen Sie die Subagenten-Schnittstelle">97 <Step title="Öffnen Sie die Subagenten-Schnittstelle">

94 In Claude Code führen Sie aus:98 In Claude Code führen Sie aus:

95 99 

96 ```text theme={null}100 ```text wrap theme={null}

97 /agents101 /agents

98 ```102 ```

99 </Step>103 </Step>


105 <Step title="Mit Claude generieren">109 <Step title="Mit Claude generieren">

106 Wählen Sie **Generate with Claude**. Wenn Sie dazu aufgefordert werden, beschreiben Sie den Subagenten:110 Wählen Sie **Generate with Claude**. Wenn Sie dazu aufgefordert werden, beschreiben Sie den Subagenten:

107 111 

108 ```text theme={null}112 ```text wrap theme={null}

109 A code improvement agent that scans files and suggests improvements113 A code improvement agent that scans files and suggests improvements

110 for readability, performance, and best practices. It should explain114 for readability, performance, and best practices. It should explain

111 each issue, show the current code, and provide an improved version.115 each issue, show the current code, and provide an improved version.


133 <Step title="Speichern und testen Sie">137 <Step title="Speichern und testen Sie">

134 Überprüfen Sie die Konfigurationszusammenfassung. Drücken Sie `s` oder `Enter`, um zu speichern, oder drücken Sie `e`, um zu speichern und die Datei in Ihrem Editor zu bearbeiten. Der Subagent ist sofort verfügbar. Testen Sie ihn:138 Überprüfen Sie die Konfigurationszusammenfassung. Drücken Sie `s` oder `Enter`, um zu speichern, oder drücken Sie `e`, um zu speichern und die Datei in Ihrem Editor zu bearbeiten. Der Subagent ist sofort verfügbar. Testen Sie ihn:

135 139 

136 ```text theme={null}140 ```text wrap theme={null}

137 Use the code-improver agent to suggest improvements in this project141 Use the code-improver agent to suggest improvements in this project

138 ```142 ```

139 143 


167 Wählen Sie den Subagenten-Umfang171 Wählen Sie den Subagenten-Umfang

168</h3>172</h3>

169 173 

170Subagenten sind Markdown-Dateien mit YAML-Frontmatter. Speichern Sie sie an verschiedenen Orten je nach Umfang. Wenn mehrere Subagenten denselben Namen haben, gewinnt der höherrangige Ort.174Subagenten sind Markdown-Dateien mit YAML-Frontmatter. Speichern Sie sie an verschiedenen Orten je nach Umfang. Wenn mehrere Subagenten denselben Namen haben, verwendet Claude Code den aus dem höherrangigen Ort.

171 175 

172| Ort | Umfang | Priorität | Wie zu erstellen |176| Ort | Umfang | Priorität | Wie zu erstellen |

173| :--------------------------- | :---------------------- | :------------- | :----------------------------------------------------------- |177| :--------------------------- | :---------------------- | :------------- | :----------------------------------------------------------- |


185 189 

186**Benutzer-Subagenten** (`~/.claude/agents/`) sind persönliche Subagenten, die in allen Ihren Projekten verfügbar sind.190**Benutzer-Subagenten** (`~/.claude/agents/`) sind persönliche Subagenten, die in allen Ihren Projekten verfügbar sind.

187 191 

188Claude Code scannt `.claude/agents/` und `~/.claude/agents/` rekursiv, sodass Sie Definitionen in Unterordnern wie `agents/review/` oder `agents/research/` organisieren können. Der Unterverzeichnis-Pfad beeinflusst nicht, wie ein Subagent identifiziert oder aufgerufen wird, da die Identität nur vom `name`-Frontmatter-Feld stammt. Halten Sie `name`-Werte über den gesamten Baum eindeutig: Wenn zwei Dateien innerhalb eines Umfangs denselben Namen deklarieren, behält Claude Code eine und verwirft die andere ohne Warnung.192Claude Code scannt `.claude/agents/` und `~/.claude/agents/` rekursiv, sodass Sie Definitionen in Unterordnern wie `agents/review/` oder `agents/research/` organisieren können. Der Unterverzeichnis-Pfad beeinflusst nicht, wie ein Subagent identifiziert oder aufgerufen wird, da die Identität nur vom `name`-Frontmatter-Feld stammt.

193 

194Halten Sie `name`-Werte über den gesamten Baum eindeutig: Wenn zwei Dateien innerhalb eines Umfangs denselben Namen deklarieren, behält Claude Code eine und verwirft die andere ohne Warnung. {/* min-version: 2.1.196 */}Ab v2.1.196 meldet die Ausführung von `/doctor` Duplikate von Agenten mit gleichem Umfang und zeigt, welche Definition aktiv ist.

189 195 

190Plugin-`agents/`-Verzeichnisse werden ebenfalls rekursiv gescannt. Im Gegensatz zu Projekt- und Benutzer-Umfängen wird ein Unterordner in einem Plugin-`agents/`-Verzeichnis Teil des [scoped identifier](#invoke-subagents-explicitly): Eine Datei unter `agents/review/security.md` im Plugin `my-plugin` registriert sich als `my-plugin:review:security`.196Plugin-`agents/`-Verzeichnisse werden ebenfalls rekursiv gescannt. Im Gegensatz zu Projekt- und Benutzer-Umfängen wird ein Unterordner in einem Plugin-`agents/`-Verzeichnis Teil des [scoped identifier](#invoke-subagents-explicitly): Eine Datei unter `agents/review/security.md` im Plugin `my-plugin` registriert sich als `my-plugin:review:security`.

191 197 


299Das `model`-Feld steuert, welches [KI-Modell](/de/model-config) der Subagent verwendet:305Das `model`-Feld steuert, welches [KI-Modell](/de/model-config) der Subagent verwendet:

300 306 

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

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

303* **inherit**: Verwenden Sie dasselbe Modell wie die Hauptkonversation309* **inherit**: Verwenden Sie dasselbe Modell wie die Hauptkonversation

304* **Weggelassen**: Wenn nicht angegeben, wird standardmäßig `inherit` verwendet (verwendet dasselbe Modell wie die Hauptkonversation)310* **Weggelassen**: Wenn nicht angegeben, wird standardmäßig `inherit` verwendet (verwendet dasselbe Modell wie die Hauptkonversation)

305 311 


3103. Das `model`-Frontmatter der Subagenten-Definition3163. Das `model`-Frontmatter der Subagenten-Definition

3114. Das Modell der Hauptkonversation3174. Das Modell der Hauptkonversation

312 318 

319{/* min-version: 2.1.196 */}Ab v2.1.196 ist das Setzen von `CLAUDE_CODE_SUBAGENT_MODEL` auf `inherit` dasselbe wie das Nichtsetzen: Die Auflösung wird mit dem `model`-Parameter pro Invokation fortgesetzt, dann mit dem Frontmatter. In früheren Versionen zwang `inherit` Subagenten auf das Modell der Hauptkonversation und ignorierte beide dieser Quellen.

320 

313Die Umgebungsvariable, der Parameter pro Invokation und die Frontmatter-Werte werden gegen die [`availableModels`](/de/model-config#restrict-model-selection)-Allowlist Ihrer Organisation überprüft. Ein Wert, der sich zu einem ausgeschlossenen Modell auflöst, wird nicht verwendet und der Subagent läuft stattdessen auf dem geerbten Modell.321Die Umgebungsvariable, der Parameter pro Invokation und die Frontmatter-Werte werden gegen die [`availableModels`](/de/model-config#restrict-model-selection)-Allowlist Ihrer Organisation überprüft. Ein Wert, der sich zu einem ausgeschlossenen Modell auflöst, wird nicht verwendet und der Subagent läuft stattdessen auf dem geerbten Modell.

314 322 

315<h3 id="control-subagent-capabilities">323<h3 id="control-subagent-capabilities">


602 610 

603Subagenten können [Hooks](/de/hooks) definieren, die während des Lebenszyklus des Subagenten ausgeführt werden. Es gibt zwei Möglichkeiten, Hooks zu konfigurieren:611Subagenten können [Hooks](/de/hooks) definieren, die während des Lebenszyklus des Subagenten ausgeführt werden. Es gibt zwei Möglichkeiten, Hooks zu konfigurieren:

604 612 

6051. **Im Frontmatter des Subagenten**: Definieren Sie Hooks, die nur ausgeführt werden, während dieser Subagent aktiv ist613* **Im Frontmatter des Subagenten**: Definieren Sie Hooks, die nur ausgeführt werden, während dieser Subagent aktiv ist

6062. **In `settings.json`**: Definieren Sie Hooks, die in der Hauptsitzung ausgeführt werden, wenn Subagenten starten oder stoppen614* **In `settings.json`**: Definieren Sie Hooks, die in der Hauptsitzung ausgeführt werden, wenn Subagenten starten oder stoppen

607 615 

608<h4 id="hooks-in-subagent-frontmatter">616<h4 id="hooks-in-subagent-frontmatter">

609 Hooks im Subagenten-Frontmatter617 Hooks im Subagenten-Frontmatter


656| `SubagentStart` | Agent-Typname | Wenn ein Subagent mit der Ausführung beginnt |664| `SubagentStart` | Agent-Typname | Wenn ein Subagent mit der Ausführung beginnt |

657| `SubagentStop` | Agent-Typname | Wenn ein Subagent abgeschlossen ist |665| `SubagentStop` | Agent-Typname | Wenn ein Subagent abgeschlossen ist |

658 666 

659Beide Ereignisse unterstützen Matcher, um bestimmte Agent-Typen nach Name zu adressieren. Dieses Beispiel führt ein Setup-Skript nur aus, wenn der `db-agent`-Subagent startet, und ein Cleanup-Skript, wenn ein beliebiger Subagent stoppt:667Beide Ereignisse unterstützen Matcher, um bestimmte Agent-Typen nach Name zu adressieren. Der Matcher-Wert ist der `name` des Frontmatters des Agenten für Projekt- und Benutzer-Subagenten oder der Plugin-Umfang-Identifier wie `my-plugin:db-agent` für [Plugin-Subagenten](/de/plugins). Ein Umfang-Name enthält einen Doppelpunkt, daher wird er als [unverankerte reguläre Ausdrücke](/de/hooks#matcher-patterns) ausgewertet; verankern Sie ihn mit `^` und `$`, wie in `^my-plugin:db-agent$`, um nur diesen Agent zu treffen.

668 

669Dieses Beispiel führt ein Setup-Skript nur aus, wenn der `db-agent`-Subagent startet, und ein Cleanup-Skript, wenn ein beliebiger Subagent stoppt:

660 670 

661```json theme={null}671```json theme={null}

662{672{


680}690}

681```691```

682 692 

693Ein Matcher mit Bindestrichen wie `db-agent` passt genau auf Claude Code v2.1.195 oder später. In früheren Versionen wird er als unverankerte reguläre Ausdrücke ausgewertet und wird auch für jeden Agent-Typ ausgelöst, der ihn enthält, wie `prod-db-agent`; verankern Sie ihn als `^db-agent$` in diesen Versionen.

694 

683Siehe [Hooks](/de/hooks) für das vollständige Hook-Konfigurationsformat.695Siehe [Hooks](/de/hooks) für das vollständige Hook-Konfigurationsformat.

684 696 

685<h2 id="work-with-subagents">697<h2 id="work-with-subagents">


704 716 

705Für natürliche Sprache gibt es keine spezielle Syntax. Nennen Sie den Subagenten und Claude delegiert normalerweise:717Für natürliche Sprache gibt es keine spezielle Syntax. Nennen Sie den Subagenten und Claude delegiert normalerweise:

706 718 

707```text theme={null}719```text wrap theme={null}

708Use the test-runner subagent to fix failing tests720Use the test-runner subagent to fix failing tests

709Have the code-reviewer subagent look at my recent changes721Have the code-reviewer subagent look at my recent changes

710```722```

711 723 

712**@-Erwähnen Sie den Subagenten.** Geben Sie `@` ein und wählen Sie den Subagenten aus der Typeahead-Liste, genauso wie Sie Dateien @-erwähnen. Dies stellt sicher, dass dieser spezifische Subagent ausgeführt wird, anstatt die Wahl Claude zu überlassen:724**@-Erwähnen Sie den Subagenten.** Geben Sie `@` ein und wählen Sie den Subagenten aus der Typeahead-Liste, genauso wie Sie Dateien @-erwähnen. Dies stellt sicher, dass dieser spezifische Subagent ausgeführt wird, anstatt die Wahl Claude zu überlassen:

713 725 

714```text theme={null}726```text wrap theme={null}

715@"code-reviewer (agent)" look at the auth changes727@"code-reviewer (agent)" look at the auth changes

716```728```

717 729 

718Ihre vollständige Nachricht geht immer noch an Claude, das den Task-Prompt des Subagenten basierend auf Ihrer Anfrage schreibt. Die @-Erwähnung steuert, welcher Subagent Claude aufruft, nicht welchen Prompt er erhält.730Ihre vollständige Nachricht geht immer noch an Claude, das den Task-Prompt des Subagenten basierend auf Ihrer Anfrage schreibt. Die @-Erwähnung steuert, welcher Subagent Claude aufruft, nicht welchen Prompt er erhält.

719 731 

720Subagenten, die von einem aktivierten [Plugin](/de/plugins) bereitgestellt werden, erscheinen in der Typeahead-Liste unter ihrem scoped Namen, z. B. `my-plugin:code-reviewer` oder `my-plugin:review:security`, wenn das Plugin [Agenten in Unterordnern organisiert](#choose-the-subagent-scope). Benannte Hintergrund-Subagenten, die derzeit in der Sitzung ausgeführt werden, erscheinen auch in der Typeahead-Liste und zeigen ihren Status neben dem Namen an. Sie können die Erwähnung auch manuell eingeben, ohne den Picker zu verwenden: `@agent-<name>` für lokale Subagenten oder `@agent-` gefolgt vom scoped Namen für Plugin-Subagenten, z. B. `@agent-my-plugin:code-reviewer`.732Subagenten, die von einem aktivierten [Plugin](/de/plugins) bereitgestellt werden, erscheinen in der Typeahead-Liste unter ihrem scoped Namen, z. B. `my-plugin:code-reviewer` oder `my-plugin:review:security`, wenn das Plugin [Agenten in Unterordnern organisiert](#choose-the-subagent-scope). Benannte Hintergrund-Subagenten, die derzeit in der Sitzung ausgeführt werden, erscheinen auch in der Typeahead-Liste und zeigen ihren Status neben dem Namen an.

733 

734Sie können die Erwähnung auch manuell eingeben, ohne den Picker zu verwenden: `@agent-<name>` für lokale Subagenten, oder `@agent-` gefolgt vom scoped Namen für Plugin-Subagenten, z. B. `@agent-my-plugin:code-reviewer`.

721 735 

722**Führen Sie die gesamte Sitzung als Subagent aus.** Übergeben Sie [`--agent <name>`](/de/cli-reference), um eine Sitzung zu starten, in der der Hauptthread selbst den Systemprompt, die Werkzeugbeschränkungen und das Modell dieses Subagenten annimmt:736**Führen Sie die gesamte Sitzung als Subagent aus.** Übergeben Sie [`--agent <name>`](/de/cli-reference), um eine Sitzung zu starten, in der der Hauptthread selbst den Systemprompt, die Werkzeugbeschränkungen und das Modell dieses Subagenten annimmt:

723 737 


757 Führen Sie Subagenten im Vordergrund oder Hintergrund aus771 Führen Sie Subagenten im Vordergrund oder Hintergrund aus

758</h3>772</h3>

759 773 

760Subagenten können im Vordergrund (blockierend) oder Hintergrund (gleichzeitig) ausgeführt werden:774Subagenten können im Vordergrund oder im Hintergrund ausgeführt werden:

761 775 

762* **Vordergrund-Subagenten** blockieren die Hauptkonversation bis zur Fertigstellung. Berechtigungsaufforderungen werden an Sie weitergeleitet, wenn sie auftreten.776* **Vordergrund-Subagenten** blockieren die Hauptkonversation bis zur Fertigstellung. Berechtigungsaufforderungen werden an Sie weitergeleitet, wenn sie auftreten.

763* **Hintergrund-Subagenten** laufen gleichzeitig, während Sie weiterarbeiten. {/* min-version: 2.1.186 */}Ab v2.1.186 wird die Aufforderung in Ihrer Hauptsitzung angezeigt, wenn ein Hintergrund-Subagent einen Werkzeugaufruf erreicht, der Berechtigung benötigt, und nennt den Subagenten, der fragt. Genehmigen Sie, um den Subagenten fortzusetzen, oder drücken Sie Esc, um diesen einen Werkzeugaufruf zu verweigern, ohne den Subagenten zu stoppen. Vor v2.1.186 lehnten Hintergrund-Subagenten automatisch jeden Werkzeugaufruf ab, der eine Aufforderung ausgelöst hätte.777* **Hintergrund-Subagenten** laufen gleichzeitig, während Sie weiterarbeiten. {/* min-version: 2.1.186 */}Ab v2.1.186 wird die Aufforderung in Ihrer Hauptsitzung angezeigt, wenn ein Hintergrund-Subagent einen Werkzeugaufruf erreicht, der Berechtigung benötigt, und nennt den Subagenten, der fragt. Genehmigen Sie, um den Subagenten fortzusetzen, oder drücken Sie Esc, um diesen einen Werkzeugaufruf zu verweigern, ohne den Subagenten zu stoppen. Vor v2.1.186 lehnten Hintergrund-Subagenten automatisch jeden Werkzeugaufruf ab, der eine Aufforderung ausgelöst hätte.


781 795 

782Eine der effektivsten Verwendungen für Subagenten ist die Isolierung von Operationen, die große Mengen an Ausgaben erzeugen. Das Ausführen von Tests, das Abrufen von Dokumentation oder die Verarbeitung von Protokolldateien kann erheblichen Kontext verbrauchen. Durch die Delegierung an einen Subagenten bleibt die ausführliche Ausgabe im Kontext des Subagenten, während nur die relevante Zusammenfassung zu Ihrer Hauptkonversation zurückkehrt.796Eine der effektivsten Verwendungen für Subagenten ist die Isolierung von Operationen, die große Mengen an Ausgaben erzeugen. Das Ausführen von Tests, das Abrufen von Dokumentation oder die Verarbeitung von Protokolldateien kann erheblichen Kontext verbrauchen. Durch die Delegierung an einen Subagenten bleibt die ausführliche Ausgabe im Kontext des Subagenten, während nur die relevante Zusammenfassung zu Ihrer Hauptkonversation zurückkehrt.

783 797 

784```text theme={null}798```text wrap theme={null}

785Use a subagent to run the test suite and report only the failing tests with their error messages799Use a subagent to run the test suite and report only the failing tests with their error messages

786```800```

787 801 


791 805 

792Für unabhängige Untersuchungen spawnen Sie mehrere Subagenten, um gleichzeitig zu arbeiten:806Für unabhängige Untersuchungen spawnen Sie mehrere Subagenten, um gleichzeitig zu arbeiten:

793 807 

794```text theme={null}808```text wrap theme={null}

795Research the authentication, database, and API modules in parallel using separate subagents809Research the authentication, database, and API modules in parallel using separate subagents

796```810```

797 811 


809 823 

810Für mehrstufige Workflows bitten Sie Claude, Subagenten nacheinander zu verwenden. Jeder Subagent vervollständigt seine Aufgabe und gibt Ergebnisse an Claude zurück, das dann relevanten Kontext an den nächsten Subagenten übergibt.824Für mehrstufige Workflows bitten Sie Claude, Subagenten nacheinander zu verwenden. Jeder Subagent vervollständigt seine Aufgabe und gibt Ergebnisse an Claude zurück, das dann relevanten Kontext an den nächsten Subagenten übergibt.

811 825 

812```text theme={null}826```text wrap theme={null}

813Use the code-reviewer subagent to find performance issues, then use the optimizer subagent to fix them827Use the code-reviewer subagent to find performance issues, then use the optimizer subagent to fix them

814```828```

815 829 


820Verwenden Sie die **Hauptkonversation**, wenn:834Verwenden Sie die **Hauptkonversation**, wenn:

821 835 

822* Die Aufgabe häufiges Hin und Her oder iterative Verfeinerung benötigt836* Die Aufgabe häufiges Hin und Her oder iterative Verfeinerung benötigt

823* Mehrere Phasen teilen erheblichen Kontext (Planung Implementierung Testen)837* Mehrere Phasen teilen erheblichen Kontext, z. B. Planung, Implementierung und Testen

824* Sie eine schnelle, gezielte Änderung vornehmen838* Sie eine schnelle, gezielte Änderung vornehmen

825* Latenz ist wichtig. Subagenten starten von vorne und benötigen möglicherweise Zeit, um Kontext zu sammeln839* Latenz ist wichtig. Subagenten starten von vorne und benötigen möglicherweise Zeit, um Kontext zu sammeln

826 840 


840 854 

841{/* min-version: 2.1.172 */}Ab Claude Code v2.1.172 kann ein Subagent seine eigenen Subagenten spawnen. Verwenden Sie dies, wenn sich eine delegierte Aufgabe selbst in parallele Unteraufgaben aufteilt, z. B. ein Reviewer-Subagent, der einen Verifier pro Befund versendet, sodass die Zwischenausgabe niemals Ihre Hauptkonversation erreicht. Nur die Zusammenfassung des Top-Level-Subagenten kehrt zu Ihnen zurück.855{/* min-version: 2.1.172 */}Ab Claude Code v2.1.172 kann ein Subagent seine eigenen Subagenten spawnen. Verwenden Sie dies, wenn sich eine delegierte Aufgabe selbst in parallele Unteraufgaben aufteilt, z. B. ein Reviewer-Subagent, der einen Verifier pro Befund versendet, sodass die Zwischenausgabe niemals Ihre Hauptkonversation erreicht. Nur die Zusammenfassung des Top-Level-Subagenten kehrt zu Ihnen zurück.

842 856 

843Ein verschachtelter Subagent wird genauso konfiguriert wie ein Top-Level-Subagent und wird aus denselben [Scopes](#choose-the-subagent-scope) aufgelöst. Das Subagenten-Panel unter der Eingabeaufforderung zeigt den vollständigen Baum: Jede Zeile zeigt eine `(+N)`-Anzahl von Nachkommen, und das Öffnen einer Zeile zeigt die direkten Kinder dieses Subagenten mit einem Pfad zurück zu `main`. Die Registerkarte „Running" in [`/agents`](#use-the-%2Fagents-command) listet laufende Subagenten als flache Liste auf.857Ein verschachtelter Subagent wird genauso konfiguriert wie ein Top-Level-Subagent und wird aus denselben [Scopes](#choose-the-subagent-scope) aufgelöst. Das Subagenten-Panel unter der Eingabeaufforderung zeigt den vollständigen Baum: Jede Zeile zeigt eine `(+N)`-Anzahl von Nachkommen, und {/* min-version: 2.1.193 */}ab v2.1.193 zeigt das Öffnen einer Zeile die Geschwister und direkten Kinder dieses Subagenten mit einem Pfad zurück zu `main`. Die Registerkarte „Running" in [`/agents`](#use-the-%2Fagents-command) listet laufende Subagenten als flache Liste auf.

844 858 

845Die Tiefe wird als die Anzahl der Subagenten-Ebenen unter der Hauptkonversation gezählt, unabhängig davon, ob jede Ebene im [Vordergrund oder Hintergrund](#run-subagents-in-foreground-or-background) ausgeführt wird. Ein Subagent in Tiefe fünf erhält das Agent-Werkzeug nicht und kann nicht weiter spawnen. Das Limit ist fest und nicht konfigurierbar.859Die Tiefe wird als die Anzahl der Subagenten-Ebenen unter der Hauptkonversation gezählt, unabhängig davon, ob jede Ebene im [Vordergrund oder Hintergrund](#run-subagents-in-foreground-or-background) ausgeführt wird. Ein Subagent in Tiefe fünf erhält das Agent-Werkzeug nicht und kann nicht weiter spawnen. Das Limit ist fest und nicht konfigurierbar.

846 860 


884 898 

885Um einen Subagenten fortzusetzen, bitten Sie Claude, die vorherige Arbeit fortzusetzen:899Um einen Subagenten fortzusetzen, bitten Sie Claude, die vorherige Arbeit fortzusetzen:

886 900 

887```text theme={null}901```text wrap theme={null}

888Use the code-reviewer subagent to review the authentication module902Use the code-reviewer subagent to review the authentication module

889[Agent completes]903[Agent completes]

890 904 


900 914 

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

902* **Sitzungs-Persistenz**: Subagenten-Transkripte bleiben innerhalb ihrer Sitzung bestehen. Sie können [einen Subagenten fortsetzen](#resume-subagents), nachdem Sie Claude Code neu gestartet haben, indem Sie dieselbe Sitzung fortsetzen.916* **Sitzungs-Persistenz**: Subagenten-Transkripte bleiben innerhalb ihrer Sitzung bestehen. Sie können [einen Subagenten fortsetzen](#resume-subagents), nachdem Sie Claude Code neu gestartet haben, indem Sie dieselbe Sitzung fortsetzen.

903* **Automatische Bereinigung**: Transkripte werden basierend auf der `cleanupPeriodDays`-Einstellung bereinigt (Standard: 30 Tage).917* **Automatische Bereinigung**: Transkripte werden basierend auf der `cleanupPeriodDays`-Einstellung bereinigt, die standardmäßig 30 Tage beträgt.

904 918 

905<h4 id="auto-compaction">919<h4 id="auto-compaction">

906 Auto-Komprimierung920 Auto-Komprimierung


942 956 

943Sie können einen Fork selbst mit `/fork` gefolgt von einer Direktive starten, unabhängig davon, ob die Variable gesetzt ist oder nicht. Claude Code benennt den Fork aus den ersten Worten der Direktive. Das folgende Beispiel gabelt die Konversation, um Testfälle zu entwerfen, während Sie mit der Implementierung in der Hauptsitzung fortfahren:957Sie können einen Fork selbst mit `/fork` gefolgt von einer Direktive starten, unabhängig davon, ob die Variable gesetzt ist oder nicht. Claude Code benennt den Fork aus den ersten Worten der Direktive. Das folgende Beispiel gabelt die Konversation, um Testfälle zu entwerfen, während Sie mit der Implementierung in der Hauptsitzung fortfahren:

944 958 

945```text theme={null}959```text wrap theme={null}

946/fork draft unit tests for the parser changes so far960/fork draft unit tests for the parser changes so far

947```961```

948 962 

Details

196 196 

197* [Claude for Teams oder Enterprise](/de/authentication#claude-for-teams-or-enterprise)197* [Claude for Teams oder Enterprise](/de/authentication#claude-for-teams-or-enterprise)

198* [Anthropic Console](/de/authentication#claude-console-authentication)198* [Anthropic Console](/de/authentication#claude-console-authentication)

199* [Claude Apps Gateway](/de/claude-apps-gateway), ein selbst gehostetes Gateway, das IdP-Anmeldung vor Amazon Bedrock, Google Vertex AI, Microsoft Foundry oder der Anthropic API hinzufügt

199* [Amazon Bedrock](/de/amazon-bedrock)200* [Amazon Bedrock](/de/amazon-bedrock)

200* [Claude Platform on AWS](/de/claude-platform-on-aws)201* [Claude Platform on AWS](/de/claude-platform-on-aws)

201* [Google Vertex AI](/de/google-vertex-ai)202* [Google Vertex AI](/de/google-vertex-ai)

Details

11Um benutzerdefinierte Werkzeuge hinzuzufügen, verbinden Sie einen [MCP-Server](/de/mcp). Um Claude mit wiederverwendbaren Prompt-basierten Workflows zu erweitern, schreiben Sie einen [Skill](/de/skills), der über das vorhandene `Skill`-Werkzeug ausgeführt wird, anstatt einen neuen Werkzeugeintrag hinzuzufügen.11Um benutzerdefinierte Werkzeuge hinzuzufügen, verbinden Sie einen [MCP-Server](/de/mcp). Um Claude mit wiederverwendbaren Prompt-basierten Workflows zu erweitern, schreiben Sie einen [Skill](/de/skills), der über das vorhandene `Skill`-Werkzeug ausgeführt wird, anstatt einen neuen Werkzeugeintrag hinzuzufügen.

12 12 

13| Werkzeug | Beschreibung | Berechtigung erforderlich |13| Werkzeug | Beschreibung | Berechtigung erforderlich |

14| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------ |14| :--------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------ |

15| `Agent` | Erzeugt einen [Subagenten](/de/sub-agents) mit eigenem Kontextfenster zur Bewältigung einer Aufgabe. Siehe [Agent-Werkzeugverhalten](#agent-tool-behavior) | Nein |15| `Agent` | Erzeugt einen [Subagenten](/de/sub-agents) mit eigenem Kontextfenster zur Bewältigung einer Aufgabe. Siehe [Agent-Werkzeugverhalten](#agent-tool-behavior) | Nein |

16| `Artifact` | Veröffentlicht eine HTML- oder Markdown-Datei als [Artefakt](/de/artifacts): eine private, interaktive Seite auf claude.ai, die Sie in Ihrer Organisation freigeben können. {/* plan-availability: feature=artifacts plans=team,enterprise providers=anthropic */}Erfordert einen Team- oder Enterprise-Plan und `/login`-Authentifizierung; siehe [Verfügbarkeit](/de/artifacts#availability) | Ja |16| `Artifact` | Veröffentlicht eine HTML- oder Markdown-Datei als [Artefakt](/de/artifacts): eine private, interaktive Seite auf claude.ai, die Sie in Ihrer Organisation freigeben können. {/* plan-availability: feature=artifacts plans=team,enterprise providers=anthropic */}Erfordert einen Team- oder Enterprise-Plan und `/login`-Authentifizierung; siehe [Verfügbarkeit](/de/artifacts#availability) | Ja |

17| `AskUserQuestion` | Stellt Multiple-Choice-Fragen, um Anforderungen zu sammeln oder Mehrdeutigkeiten zu klären | Nein |17| `AskUserQuestion` | Stellt Multiple-Choice-Fragen, um Anforderungen zu sammeln oder Mehrdeutigkeiten zu klären | Nein |


28| `Grep` | Sucht nach Mustern in Dateiinhalten. Siehe [Grep-Werkzeugverhalten](#grep-tool-behavior) | Nein |28| `Grep` | Sucht nach Mustern in Dateiinhalten. Siehe [Grep-Werkzeugverhalten](#grep-tool-behavior) | Nein |

29| `ListMcpResourcesTool` | Listet Ressourcen auf, die von verbundenen [MCP-Servern](/de/mcp) bereitgestellt werden | Nein |29| `ListMcpResourcesTool` | Listet Ressourcen auf, die von verbundenen [MCP-Servern](/de/mcp) bereitgestellt werden | Nein |

30| `LSP` | Code-Intelligenz über Sprachserver: Sprung zu Definitionen, Suche nach Referenzen, Meldung von Typfehlern und Warnungen. Siehe [LSP-Werkzeugverhalten](#lsp-tool-behavior) | Nein |30| `LSP` | Code-Intelligenz über Sprachserver: Sprung zu Definitionen, Suche nach Referenzen, Meldung von Typfehlern und Warnungen. Siehe [LSP-Werkzeugverhalten](#lsp-tool-behavior) | Nein |

31| `Monitor` | Führt einen Befehl im Hintergrund aus und gibt jede Ausgabezeile an Claude zurück, damit er auf Protokolleinträge, Dateiänderungen oder abgerufene Status während des Gesprächs reagieren kann. Siehe [Monitor-Werkzeug](#monitor-tool) | Ja |31| `Monitor` | Führt einen Befehl im Hintergrund aus und gibt jede Ausgabezeile an Claude zurück, damit er auf Protokolleinträge, Dateiänderungen oder abgerufene Status während des Gesprächs reagieren kann. Kann auch einen WebSocket öffnen und jede eingehende Nachricht als Ereignis behandeln. Siehe [Monitor-Werkzeug](#monitor-tool) | Ja |

32| `NotebookEdit` | Ändert Jupyter-Notebook-Zellen. Siehe [NotebookEdit-Werkzeugverhalten](#notebookedit-tool-behavior) | Ja |32| `NotebookEdit` | Ändert Jupyter-Notebook-Zellen. Siehe [NotebookEdit-Werkzeugverhalten](#notebookedit-tool-behavior) | Ja |

33| `PowerShell` | Führt PowerShell-Befehle nativ aus. Siehe [PowerShell-Werkzeug](#powershell-tool) für Verfügbarkeit | Ja |33| `PowerShell` | Führt PowerShell-Befehle nativ aus. Siehe [PowerShell-Werkzeug](#powershell-tool) für Verfügbarkeit | Ja |

34| `PushNotification` | Sendet eine Desktop-Benachrichtigung und eine Telefon-Push-Benachrichtigung, wenn [Remote Control](/de/remote-control) verbunden ist, damit eine langfristige Aufgabe oder [geplante Aufgabe](/de/scheduled-tasks) Sie erreichen kann, wenn Sie weg sind. {/* plan-availability: feature=push-notifications providers=anthropic */}Push-Zustellung läuft über von Anthropic gehostete Infrastruktur, auf die von Amazon Bedrock, Google Vertex AI oder Microsoft Foundry nicht zugegriffen werden kann | Nein |34| `PushNotification` | Sendet eine Desktop-Benachrichtigung und eine Telefon-Push-Benachrichtigung, wenn [Remote Control](/de/remote-control) verbunden ist, damit eine langfristige Aufgabe oder [geplante Aufgabe](/de/scheduled-tasks) Sie erreichen kann, wenn Sie weg sind. {/* plan-availability: feature=push-notifications providers=anthropic */}Push-Zustellung läuft über von Anthropic gehostete Infrastruktur, auf die von Amazon Bedrock, Google Vertex AI oder Microsoft Foundry nicht zugegriffen werden kann | Nein |

35| `Read` | Liest den Inhalt von Dateien. Siehe [Read-Werkzeugverhalten](#read-tool-behavior) | Nein |35| `Read` | Liest den Inhalt von Dateien. Siehe [Read-Werkzeugverhalten](#read-tool-behavior) | Nein |

36| `ReadMcpResourceTool` | Liest eine bestimmte MCP-Ressource nach URI | Nein |36| `ReadMcpResourceTool` | Liest eine bestimmte MCP-Ressource nach URI | Nein |

37| `RemoteTrigger` | Erstellt, aktualisiert, führt aus und listet [Routinen](/de/routines) auf claude.ai auf. Unterstützt den `/schedule`-Befehl. {/* plan-availability: feature=routines plans=pro,max,team,enterprise providers=anthropic */}Routinen befinden sich auf claude.ai und erfordern einen Pro-, Max-, Team- oder Enterprise-Plan, daher ist dieses Werkzeug nicht über Amazon Bedrock, Google Vertex AI oder Microsoft Foundry zugänglich | Nein |37| `RemoteTrigger` | Erstellt, aktualisiert, führt aus und listet [Routinen](/de/routines) auf claude.ai auf. Unterstützt den `/schedule`-Befehl. {/* plan-availability: feature=routines plans=pro,max,team,enterprise providers=anthropic */}Routinen befinden sich auf claude.ai und erfordern einen Pro-, Max-, Team- oder Enterprise-Plan, daher ist dieses Werkzeug nicht über Amazon Bedrock, Google Vertex AI oder Microsoft Foundry zugänglich | Nein |

38| `ReportFindings` | Meldet Code-Review-Ergebnisse als strukturierte Liste mit einer Datei, Zusammenfassung und Fehlerfall pro Ergebnis, damit Claude Code sie rendern kann, anstatt sie als Text auszudrucken. Claude ruft es auf, wenn aktive Code-Review-Anweisungen dies vorsehen. {/* min-version: 2.1.196 */}Erfordert Claude Code v2.1.196 oder später | Nein |

38| `ScheduleWakeup` | Plant die nächste Iteration eines [selbstgesteuerten `/loop`](/de/scheduled-tasks#let-claude-choose-the-interval) neu. Claude ruft dies am Ende jeder Iteration auf, um auszuwählen, wann die nächste ausgeführt wird, zwischen einer Minute und einer Stunde später; Sie rufen es nicht direkt auf. Das ausstehende Wakeup wird in `session_crons` in [Stop-Hook-Eingabe](/de/hooks#stop-input) angezeigt. {/* plan-availability: feature=loop-dynamic providers=anthropic */}Nicht verfügbar auf Amazon Bedrock, Google Vertex AI oder Microsoft Foundry, wo ein `/loop`-Prompt ohne Intervall stattdessen nach einem festen Zeitplan ausgeführt wird | Nein |39| `ScheduleWakeup` | Plant die nächste Iteration eines [selbstgesteuerten `/loop`](/de/scheduled-tasks#let-claude-choose-the-interval) neu. Claude ruft dies am Ende jeder Iteration auf, um auszuwählen, wann die nächste ausgeführt wird, zwischen einer Minute und einer Stunde später; Sie rufen es nicht direkt auf. Das ausstehende Wakeup wird in `session_crons` in [Stop-Hook-Eingabe](/de/hooks#stop-input) angezeigt. {/* plan-availability: feature=loop-dynamic providers=anthropic */}Nicht verfügbar auf Amazon Bedrock, Google Vertex AI oder Microsoft Foundry, wo ein `/loop`-Prompt ohne Intervall stattdessen nach einem festen Zeitplan ausgeführt wird | Nein |

39| `SendMessage` | Sendet eine Nachricht an einen [Agent-Team](/de/agent-teams)-Mitarbeiter oder [setzt einen Subagenten](/de/sub-agents#resume-subagents) nach seiner Agent-ID fort. Gestoppte Subagenten werden automatisch im Hintergrund fortgesetzt. Strukturierte Team-Protokoll-Nachrichten erfordern Agent-Teams | Nein |40| `SendMessage` | Sendet eine Nachricht an einen [Agent-Team](/de/agent-teams)-Mitarbeiter oder [setzt einen Subagenten](/de/sub-agents#resume-subagents) nach seiner Agent-ID fort. Gestoppte Subagenten werden automatisch im Hintergrund fortgesetzt. Strukturierte Team-Protokoll-Nachrichten erfordern Agent-Teams | Nein |

41| `SendUserFile` | Sendet Dateien aus der Sitzung an Sie mit einer optionalen Beschriftung, damit ein generierter Bericht, Diagramm, Screenshot oder erstelltes Artefakt Ihr Gerät erreicht, anstatt nur im Transkript erwähnt zu werden. {/* min-version: 2.1.196 */}Ab v2.1.196 steuert die optionale `display`-Eingabe die Präsentation: `render` öffnet die Datei inline im Client, `attach` zeigt nur eine Download-Karte an, und wenn nicht gesetzt, entscheidet der Client nach Dateityp. Verfügbar, wenn ein [Remote Control](/de/remote-control)-Client verbunden ist oder die Sitzung in einer verwalteten Cloud-Umgebung wie [Claude Code im Web](/de/claude-code-on-the-web) ausgeführt wird. Die Zustellung läuft über von Anthropic gehostete Infrastruktur, daher ist das Werkzeug nicht auf Amazon Bedrock, Google Vertex AI oder Microsoft Foundry verfügbar | Nein |

40| `ShareOnboardingGuide` | {/* plan-availability: feature=onboarding-guide-share plans=pro,max,team,enterprise providers=anthropic */}Lädt `ONBOARDING.md` hoch und gibt einen Freigabelink zurück, den Mitarbeiter in Claude Code öffnen können. Wird nach dem Schreiben des Leitfadens von `/team-onboarding` aufgerufen. Verfügbar für claude.ai-Abonnenten mit Pro-, Max-, Team- und Enterprise-Plänen | Ja |42| `ShareOnboardingGuide` | {/* plan-availability: feature=onboarding-guide-share plans=pro,max,team,enterprise providers=anthropic */}Lädt `ONBOARDING.md` hoch und gibt einen Freigabelink zurück, den Mitarbeiter in Claude Code öffnen können. Wird nach dem Schreiben des Leitfadens von `/team-onboarding` aufgerufen. Verfügbar für claude.ai-Abonnenten mit Pro-, Max-, Team- und Enterprise-Plänen | Ja |

41| `Skill` | Führt einen [Skill](/de/skills#control-who-invokes-a-skill) innerhalb des Hauptgesprächs aus | Ja |43| `Skill` | Führt einen [Skill](/de/skills#control-who-invokes-a-skill) innerhalb des Hauptgesprächs aus | Ja |

42| `TaskCreate` | Erstellt eine neue Aufgabe in der Aufgabenliste | Nein |44| `TaskCreate` | Erstellt eine neue Aufgabe in der Aufgabenliste | Nein |


206* Eine PR oder CI-Job abzufragen und zu melden, wenn sich ihr Status ändert208* Eine PR oder CI-Job abzufragen und zu melden, wenn sich ihr Status ändert

207* Ein Verzeichnis auf Dateiänderungen zu überwachen209* Ein Verzeichnis auf Dateiänderungen zu überwachen

208* Ausgabe von einem beliebigen langfristigen Skript zu verfolgen, auf das Sie es hinweisen210* Ausgabe von einem beliebigen langfristigen Skript zu verfolgen, auf das Sie es hinweisen

211* Eine Verbindung zu einem WebSocket-Feed herzustellen und jede Nachricht zu melden, wenn sie ankommt

209 212 

210Claude schreibt ein kleines Skript für die Überwachung, führt es im Hintergrund aus und empfängt jede Ausgabezeile, wenn sie ankommt. Sie arbeiten weiter in der gleichen Sitzung und Claude interveniert, wenn ein Ereignis eintritt. Beenden Sie eine Überwachung, indem Sie Claude auffordern, sie zu stornieren, oder indem Sie die Sitzung beenden.213Für die meisten Überwachungen schreibt Claude ein kleines Skript, führt es im Hintergrund aus und empfängt jede Ausgabezeile, wenn sie ankommt. Für einen Server, der bereits Ereignisse pusht, kann Claude stattdessen eine [WebSocket](#websocket-source) öffnen, anstatt ein Skript auszuführen.

211 214 

212Monitor verwendet die gleichen [Berechtigungsregeln wie Bash](/de/permissions#tool-specific-permission-rules), daher gelten `allow`- und `deny`-Muster, die Sie für Bash festgelegt haben, auch hier. Es ist nicht auf Amazon Bedrock, Google Vertex AI oder Microsoft Foundry verfügbar. Es ist auch nicht verfügbar, wenn `DISABLE_TELEMETRY` oder `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` gesetzt ist.215Sie arbeiten weiter in der gleichen Sitzung und Claude interveniert, wenn ein Ereignis eintritt. Beenden Sie eine Überwachung, indem Sie Claude auffordern, sie zu stornieren, oder indem Sie die Sitzung beenden.

216 

217Wenn Monitor einen Befehl ausführt, verwendet es die gleichen [Berechtigungsregeln wie Bash](/de/permissions#tool-specific-permission-rules), daher gelten `allow`- und `deny`-Muster, die Sie für Bash festgelegt haben, auch hier. Die [WebSocket-Quelle](#websocket-source) hat ihre eigene Genehmigungsaufforderung.

218 

219Das Werkzeug ist nicht auf Amazon Bedrock, Google Vertex AI oder Microsoft Foundry verfügbar. Es ist auch nicht verfügbar, wenn `DISABLE_TELEMETRY` oder `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` gesetzt ist.

213 220 

214Plugins können Monitore deklarieren, die automatisch starten, wenn das Plugin aktiv ist, anstatt Claude zu bitten, sie zu starten. Siehe [Plugin-Monitore](/de/plugins-reference#monitors).221Plugins können Monitore deklarieren, die automatisch starten, wenn das Plugin aktiv ist, anstatt Claude zu bitten, sie zu starten. Siehe [Plugin-Monitore](/de/plugins-reference#monitors).

215 222 

223<h3 id="websocket-source">

224 WebSocket-Quelle

225</h3>

226 

227<Note>

228 Die WebSocket-Quelle erfordert Claude Code v2.1.195 oder später.

229</Note>

230 

231Wenn ein Server bereits Ereignisse über eine WebSocket pusht, kann Claude sich direkt damit verbinden, anstatt ein Abfrageskript zu schreiben. Jede Art von Socket-Aktivität wird entweder zu einem Ereignis oder beendet die Überwachung:

232 

233* **Textnachrichten**: jede wird zu einem Ereignis, auch wenn die Nachricht mehrere Zeilen umfasst.

234* **Binärnachrichten**: werden nicht weitergeleitet. Claude empfängt stattdessen eine Platzhalterzeile wie `[binary frame, 512 bytes]`.

235* **Nachrichten größer als 1 MiB**: die Überwachung endet, daher abonnieren Sie einen gefilterten Feed, falls vorhanden.

236* **Socket-Schließung**: die Überwachung endet und Claude empfängt den Schließungscode.

237 

238Eine WebSocket-Überwachung nimmt eine `ws`-Eingabe anstelle von `command` und ein einzelner Monitor-Aufruf kann die beiden nicht kombinieren. Die `ws`-Eingabe hat zwei Felder:

239 

240| Feld | Erforderlich | Beschreibung |

241| :---------- | :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

242| `url` | Ja | Der Endpunkt zum Verbinden. Muss eine `ws://`- oder `wss://`-URL ohne eingebettete Anmeldedaten oder Leerzeichen sein, nur ASCII-Zeichen verwenden |

243| `protocols` | Nein | WebSocket-Subprotokollnamen, die während des Handshake angeboten werden. Jeder Eintrag muss ein gültiges Subprotokoll-Token sein, und die Liste darf keine Duplikate enthalten |

244 

245Die Eingaben `timeout_ms` und `persistent` verhalten sich gleich wie bei einem Befehl: die Überwachung endet bei der Frist, es sei denn, `persistent` ist gesetzt, und `TaskStop` bricht sie früh ab.

246 

247Das Öffnen einer WebSocket fordert zur Genehmigung auf, und die Aufforderung bietet keine Option, zukünftige Aufforderungen für denselben Host zu überspringen.

248 

249Claude Code lehnt URLs ab, die auf eine private, Link-Local- oder Cloud-Metadaten-Adresse verweisen, einschließlich Hostnamen, die zu einer aufgelöst werden. Es lehnt auch Hosts in `sandbox.network.deniedDomains` ab, und wenn [`allowManagedDomainsOnly`](/de/settings#sandbox-settings) in verwalteten Einstellungen gesetzt ist, jeden Host außerhalb der verwalteten Zulassungsliste.

250 

216<h2 id="notebookedit-tool-behavior">251<h2 id="notebookedit-tool-behavior">

217 NotebookEdit-Werkzeugverhalten252 NotebookEdit-Werkzeugverhalten

218</h2>253</h2>


265 300 

266Das gleiche Verhalten zum Zurücksetzen des Arbeitsverzeichnisses in der Hauptsitzung, das im Abschnitt zum Bash-Werkzeug beschrieben ist, gilt für PowerShell-Befehle, einschließlich der Umgebungsvariable `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR`.301Das gleiche Verhalten zum Zurücksetzen des Arbeitsverzeichnisses in der Hauptsitzung, das im Abschnitt zum Bash-Werkzeug beschrieben ist, gilt für PowerShell-Befehle, einschließlich der Umgebungsvariable `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR`.

267 302 

303{/* min-version: 2.1.196 */}Ab v2.1.196 entspricht das PowerShell-Werkzeug der Behandlung von Such- und Diff-Exit-Codes durch das Bash-Werkzeug. Exit-Code 1 von `grep`, `egrep`, `fgrep` und `git grep` bedeutet keine Übereinstimmungen, und Exit-Code 1 von `git diff` bedeutet, dass Unterschiede vorhanden sind, daher werden diese Ergebnisse Claude nicht als Befehlsfehler gemeldet.

304 

268<h3 id="preview-limitations">305<h3 id="preview-limitations">

269 Vorschau-Einschränkungen306 Vorschau-Einschränkungen

270</h3>307</h3>


284 321 

285Read verarbeitet mehrere Dateitypen über einfachen Text hinaus:322Read verarbeitet mehrere Dateitypen über einfachen Text hinaus:

286 323 

287* **Bilder**: PNG, JPG und andere Bildformate werden als visueller Inhalt zurückgegeben, den Claude sehen kann, nicht als Rohbytes. Claude Code ändert die Größe großer Bilder und komprimiert sie neu, um sie in die Bildgrößenlimits des Modells zu passen, bevor sie gesendet werden, daher kann Claude eine herunterskalierte Version eines großen Screenshots sehen. Wenn Claude feines Pixel-Level-Detail in einem großen Bild vermisst, bitten Sie es, die Region von Interesse zuerst zuzuschneiden, zum Beispiel mit ImageMagick über Bash.324* **Bilder**: PNG, JPG und andere Bildformate werden als visueller Inhalt zurückgegeben, den Claude sehen kann, nicht als Rohbytes. Claude Code ändert die Größe großer Bilder und komprimiert sie neu, um sie in die Bildgrößenlimits des Modells zu passen, bevor sie gesendet werden, daher kann Claude eine herunterskalierte Version eines großen Screenshots sehen. {/* min-version: 2.1.196 */}Ab v2.1.196 wird ein Bild, das nach dieser Größenänderung immer noch größer als 500 KB ist, als JPEG mit reduzierter Qualität neu codiert, wobei seine Pixeldimensionen unverändert bleiben. Wenn Claude feines Pixel-Level-Detail in einem großen Bild vermisst, bitten Sie es, die Region von Interesse zuerst zuzuschneiden, zum Beispiel mit ImageMagick über Bash.

288* **PDFs**: Claude liest kurze `.pdf`-Dateien ganz. Für PDFs länger als 10 Seiten liest es in Bereichen mit einem `pages`-Parameter wie `"1-5"` bis zu 20 Seiten auf einmal.325* **PDFs**: Claude liest kurze `.pdf`-Dateien ganz. Für PDFs länger als 10 Seiten liest es in Bereichen mit einem `pages`-Parameter wie `"1-5"` bis zu 20 Seiten auf einmal.

289* **Jupyter-Notebooks**: `.ipynb`-Dateien geben alle Zellen mit ihren Ausgaben zurück, einschließlich Code, Markdown und Visualisierungen.326* **Jupyter-Notebooks**: `.ipynb`-Dateien geben alle Zellen mit ihren Ausgaben zurück, einschließlich Code, Markdown und Visualisierungen.

290 327 

Details

45Wenn Ihr Problem nicht aufgeführt ist, führen Sie die Diagnoseprüfungen unten durch, um die Ursache einzugrenzen.45Wenn Ihr Problem nicht aufgeführt ist, führen Sie die Diagnoseprüfungen unten durch, um die Ursache einzugrenzen.

46 46 

47<Tip>47<Tip>

48 Wenn Sie das Terminal lieber ganz vermeiden möchten, können Sie mit der [Claude Code Desktop-App](/de/desktop-quickstart) Claude Code über eine grafische Benutzeroberfläche installieren und verwenden. Laden Sie sie für [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs) oder [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) herunter und beginnen Sie zu programmieren, ohne dass Sie eine Befehlszeileneinrichtung benötigen.48 Wenn Sie das Terminal lieber ganz vermeiden möchten, können Sie mit der [Claude Code Desktop-App](/de/desktop-quickstart) Claude Code über eine grafische Benutzeroberfläche installieren und verwenden. Laden Sie sie für [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs), [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) oder [Linux](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) herunter und beginnen Sie zu programmieren, ohne dass Sie eine Befehlszeileneinrichtung benötigen.

49</Tip>49</Tip>

50 50 

51<h2 id="run-diagnostic-checks">51<h2 id="run-diagnostic-checks">

Details

18 Anforderungen18 Anforderungen

19</h2>19</h2>

20 20 

21Die Spracherfassung streamt Ihre aufgenommene Audiodatei an Anthropic-Server zur Transkription. Audio wird nicht lokal verarbeitet. Der Sprache-zu-Text-Dienst ist nur verfügbar, wenn Sie sich mit einem Claude.ai-Konto authentifizieren, und ist nicht verfügbar, wenn Claude Code für die Verwendung eines Anthropic API-Schlüssels direkt, Amazon Bedrock, Google Vertex AI oder Microsoft Foundry konfiguriert ist. Die Spracherfassung ist auch nicht verfügbar, wenn Ihre Organisation HIPAA-Compliance aktiviert hat. Die Transkription verbraucht keine Claude-Nachrichten oder Token und wird nicht auf die in `/usage` angezeigten Limits angerechnet. Siehe [Datennutzung](/de/data-usage) für Informationen darüber, wie Anthropic Ihre Daten verarbeitet.21Die Spracherfassung streamt Ihre aufgenommene Audiodatei an Anthropic-Server zur Transkription. Audio wird nicht lokal verarbeitet. Dies erfordert alle folgenden Voraussetzungen:

22 22 

23Die Spracherfassung benötigt auch lokalen Mikrofonzugriff, daher funktioniert sie nicht in Remote-Umgebungen wie [Claude Code im Web](/de/claude-code-on-the-web) oder SSH-Sitzungen. In WSL erfordert die Spracherfassung WSLg für Audiozugriff. WSLg ist in WSL2 enthalten, wenn es unter Windows 10 oder 11 aus dem Microsoft Store installiert wird. Wenn WSLg nicht verfügbar ist, beispielsweise unter WSL1, führen Sie Claude Code stattdessen nativ unter Windows aus.23* **Ein Claude.ai-Konto**: Der Sprache-zu-Text-Dienst ist nur verfügbar, wenn Sie sich mit einem authentifizieren, und ist nicht verfügbar, wenn Claude Code für die Verwendung eines Anthropic API-Schlüssels direkt, Amazon Bedrock, Google Vertex AI oder Microsoft Foundry konfiguriert ist.

24* **Eine Organisation ohne aktivierte HIPAA-Compliance**: `/voice` zeigt `Voice mode is disabled by your organization's policy` an, wenn diese Einschränkung gilt.

25* **Ein lokales Mikrofon**: Die Spracherfassung funktioniert nicht in Remote-Umgebungen wie [Claude Code im Web](/de/claude-code-on-the-web) oder SSH-Sitzungen.

26* **WSLg, wenn Sie Claude Code in WSL ausführen**: WSLg ist in WSL2 enthalten, wenn es unter Windows 10 oder 11 aus dem Microsoft Store installiert wird. Wenn WSLg nicht verfügbar ist, beispielsweise unter WSL1, führen Sie Claude Code stattdessen nativ unter Windows aus.

27 

28Die Transkription verbraucht keine Claude-Nachrichten oder Token und wird nicht auf die in `/usage` angezeigten Limits angerechnet. Siehe [Datennutzung](/de/data-usage) für Informationen darüber, wie Anthropic Ihre Daten verarbeitet.

24 29 

25Die Audioaufnahme verwendet ein integriertes natives Modul unter macOS, Linux und Windows. Unter Linux wird Claude Code auf `arecord` aus ALSA-Dienstprogrammen oder `rec` aus SoX zurückgreifen, wenn das native Modul nicht geladen werden kann. Wenn keines verfügbar ist, gibt `/voice` einen Installationsbefehl für Ihren Paketmanager aus.30Die Audioaufnahme verwendet ein integriertes natives Modul unter macOS, Linux und Windows. Unter Linux wird Claude Code auf `arecord` aus ALSA-Dienstprogrammen oder `rec` aus SoX zurückgreifen, wenn das native Modul nicht geladen werden kann. Wenn keines verfügbar ist, gibt `/voice` einen Installationsbefehl für Ihren Paketmanager aus.

26 31 


91 96 

92Der Tippen-Modus schaltet die Aufnahme mit einem einzelnen Tastendruck um: Tippen Sie einmal zum Starten, sprechen Sie, dann tippen Sie erneut zum Senden der Eingabeaufforderung. Es gibt keine Aufwärmphase und Sie müssen die Taste nicht gedrückt halten.97Der Tippen-Modus schaltet die Aufnahme mit einem einzelnen Tastendruck um: Tippen Sie einmal zum Starten, sprechen Sie, dann tippen Sie erneut zum Senden der Eingabeaufforderung. Es gibt keine Aufwärmphase und Sie müssen die Taste nicht gedrückt halten.

93 98 

94Aktivieren Sie den Tippen-Modus mit `/voice tap`. Wenn die Eingabeaufforderung leer ist, tippen Sie auf `Space`, um die Aufnahme zu starten. Die Fußzeile zeigt eine Live-Wellenform während der Aufnahme. Tippen Sie erneut auf `Space`, um zu stoppen. Claude Code fügt das Transkript ein und sendet die Eingabeaufforderung automatisch, wenn das Transkript mindestens drei Wörter lang ist. Kürzere Transkripte werden eingefügt, aber nicht gesendet, daher sendet ein versehentliches Tippen kein einzelnes Wort.99Aktivieren Sie den Tippen-Modus mit `/voice tap`. Wenn die Eingabeaufforderung leer ist, tippen Sie auf `Space`, um die Aufnahme zu starten. Die Fußzeile zeigt eine Live-Wellenform während der Aufnahme. Tippen Sie erneut auf `Space`, um zu stoppen.

100 

101Claude Code fügt das Transkript ein und sendet die Eingabeaufforderung automatisch, wenn das Transkript mindestens drei Wörter lang ist. Kürzere Transkripte werden eingefügt, aber nicht gesendet, daher sendet ein versehentliches Tippen kein einzelnes Wort.

102 

103Die Schwelle von drei Wörtern zählt Wörter für Sprachen, die ohne Leerzeichen geschrieben werden. Ab v2.1.195 zählen japanische, chinesische und thailändische Transkripte einzelne Wörter, sodass sie im Tippen-Modus und im Halte-Modus mit `autoSubmit` automatisch gesendet werden. Frühere Versionen zählten ein Transkript ohne Leerzeichen als ein Wort und sendeten es nie automatisch.

95 104 

96Das erste Tippen startet die Aufnahme nur, wenn die Eingabeaufforderung leer ist, sodass Sie immer noch normal Leerzeichen eingeben können, während Sie eine Nachricht verfassen. Das zweite Tippen stoppt die Aufnahme unabhängig vom Eingabeinhalt. Die Aufnahme stoppt auch automatisch nach 15 Sekunden Stille oder zwei Minuten insgesamt.105Das erste Tippen startet die Aufnahme nur, wenn die Eingabeaufforderung leer ist, sodass Sie immer noch normal Leerzeichen eingeben können, während Sie eine Nachricht verfassen. Das zweite Tippen stoppt die Aufnahme unabhängig vom Eingabeinhalt. Die Aufnahme stoppt auch automatisch nach 15 Sekunden Stille oder zwei Minuten insgesamt.

97 106 


169Häufige Probleme, wenn die Spracherfassung nicht aktiviert wird oder nicht aufnimmt:178Häufige Probleme, wenn die Spracherfassung nicht aktiviert wird oder nicht aufnimmt:

170 179 

171* **`Voice mode requires a Claude.ai account`**: Sie sind mit einem API-Schlüssel oder einem Drittanbieter authentifiziert. Führen Sie `/login` aus, um sich mit einem Claude.ai-Konto anzumelden.180* **`Voice mode requires a Claude.ai account`**: Sie sind mit einem API-Schlüssel oder einem Drittanbieter authentifiziert. Führen Sie `/login` aus, um sich mit einem Claude.ai-Konto anzumelden.

181* **`Voice mode is disabled by your organization's policy`**: Die Spracherfassungsfunktion ist durch die Compliance-Konfiguration Ihrer Organisation deaktiviert, wie in [Anforderungen](#requirements) beschrieben. Kontaktieren Sie Ihren Organisationsadministrator, um zu bestätigen, ob die Spracherfassung für Ihre Organisation verfügbar ist.

172* **`Microphone access is denied`**: Gewähren Sie Ihrem Terminal in den Systemeinstellungen Mikrofonberechtigung. Unter macOS gehen Sie zu Systemeinstellungen → Datenschutz & Sicherheit → Mikrofon und aktivieren Sie Ihre Terminal-App, führen Sie dann `/voice` erneut aus. Unter Windows gehen Sie zu Einstellungen → Datenschutz & Sicherheit → Mikrofon und aktivieren Sie den Mikrofonzugriff für Desktop-Apps, führen Sie dann `/voice` erneut aus. Wenn Ihr Terminal nicht in den macOS-Einstellungen aufgeführt ist, siehe [Terminal nicht in macOS-Mikrofoneinstellungen aufgeführt](#terminal-not-listed-in-macos-microphone-settings).182* **`Microphone access is denied`**: Gewähren Sie Ihrem Terminal in den Systemeinstellungen Mikrofonberechtigung. Unter macOS gehen Sie zu Systemeinstellungen → Datenschutz & Sicherheit → Mikrofon und aktivieren Sie Ihre Terminal-App, führen Sie dann `/voice` erneut aus. Unter Windows gehen Sie zu Einstellungen → Datenschutz & Sicherheit → Mikrofon und aktivieren Sie den Mikrofonzugriff für Desktop-Apps, führen Sie dann `/voice` erneut aus. Wenn Ihr Terminal nicht in den macOS-Einstellungen aufgeführt ist, siehe [Terminal nicht in macOS-Mikrofoneinstellungen aufgeführt](#terminal-not-listed-in-macos-microphone-settings).

173* **`No audio recording tool found` unter Linux**: Das native Audiomodul konnte nicht geladen werden und kein Fallback ist installiert. Installieren Sie SoX mit dem im Fehlermeldung angezeigten Befehl, z. B. `sudo apt-get install sox`.183* **`No audio recording tool found` unter Linux**: Das native Audiomodul konnte nicht geladen werden und kein Fallback ist installiert. Installieren Sie SoX mit dem im Fehlermeldung angezeigten Befehl, z. B. `sudo apt-get install sox`.

184* **`Voice mode requires a microphone, but SoX could not open an audio capture device`**: SoX ist installiert, aber der Host hat kein Audioaufnahmegerät, z. B. einen Server ohne Kopfhörer oder einen Container. Führen Sie Claude Code auf einem Computer mit einem Mikrofon aus. {/* min-version: 2.1.195 */}Ab v2.1.195 meldet Claude Code unter Linux diese Meldung in dieser Situation; frühere Versionen forderten Sie auf, SoX zu installieren, auch wenn es bereits installiert war.

174* **`Voice mode could not find a working audio recorder in WSL`**: WSLg leitet Audio über PulseAudio statt über ein ALSA-Gerät weiter, daher muss das PulseAudio-Backend von SoX explizit installiert werden. Führen Sie `sudo apt install sox libsox-fmt-pulse` aus. Die Installation von `sox` allein zieht das ALSA-Backend mit sich, das unter WSL nicht aufnehmen kann, da es kein `/dev/snd`-Gerät gibt.185* **`Voice mode could not find a working audio recorder in WSL`**: WSLg leitet Audio über PulseAudio statt über ein ALSA-Gerät weiter, daher muss das PulseAudio-Backend von SoX explizit installiert werden. Führen Sie `sudo apt install sox libsox-fmt-pulse` aus. Die Installation von `sox` allein zieht das ALSA-Backend mit sich, das unter WSL nicht aufnehmen kann, da es kein `/dev/snd`-Gerät gibt.

175* **`Voice input is failing repeatedly and has been paused`**: Die Spracherfassung ist mehrmals hintereinander fehlgeschlagen und hat versucht, neue Sitzungen zu stoppen, bis eine erfolgreich ist. Dies bedeutet normalerweise, dass das Mikrofon oder der Audiostapel auf diesem Host keinen Audio erfassen kann, z. B. ein Server ohne Kopfhörer, eine Remote-Shell ohne Audio-Durchleitung oder eine verweigerte Mikrofonberechtigung. Bestätigen Sie ein funktionierendes Eingabegerät, beheben Sie die zugrunde liegende Ursache aus den obigen Einträgen und lösen Sie dann die Spracherfassung erneut aus.186* **`Voice input is failing repeatedly and has been paused`**: Die Spracherfassung ist mehrmals hintereinander fehlgeschlagen und hat versucht, neue Sitzungen zu stoppen, bis eine erfolgreich ist. Dies bedeutet normalerweise, dass das Mikrofon oder der Audiostapel auf diesem Host keinen Audio erfassen kann, z. B. ein Server ohne Kopfhörer, eine Remote-Shell ohne Audio-Durchleitung oder eine verweigerte Mikrofonberechtigung. Bestätigen Sie ein funktionierendes Eingabegerät, beheben Sie die zugrunde liegende Ursache aus den obigen Einträgen und lösen Sie dann die Spracherfassung erneut aus.

176* **Nichts passiert, wenn Sie `Space` im Halten-Modus halten**: Beobachten Sie die Eingabeaufforderung, während Sie halten. Wenn sich Leerzeichen weiter ansammeln, ist die Spracherfassung wahrscheinlich aus; führen Sie `/voice hold` aus, um sie zu aktivieren. Wenn nur ein oder zwei Leerzeichen erscheinen und dann nichts, ist die Spracherfassung an, aber die Halten-Erkennung wird nicht ausgelöst. Die Halten-Erkennung erfordert, dass Ihr Terminal Tastenwiederholungsereignisse sendet, daher kann es eine gehaltene Taste nicht erkennen, wenn die Tastenwiederholung auf Betriebssystemebene deaktiviert ist. Wechseln Sie mit `/voice tap` zum Tippen-Modus, um die Tastenwiederholungsanforderung zu vermeiden.187* **Nichts passiert, wenn Sie `Space` im Halten-Modus halten**: Beobachten Sie die Eingabeaufforderung, während Sie halten. Wenn sich Leerzeichen weiter ansammeln, ist die Spracherfassung wahrscheinlich aus; führen Sie `/voice hold` aus, um sie zu aktivieren. Wenn nur ein oder zwei Leerzeichen erscheinen und dann nichts, ist die Spracherfassung an, aber die Halten-Erkennung wird nicht ausgelöst. Die Halten-Erkennung erfordert, dass Ihr Terminal Tastenwiederholungsereignisse sendet, daher kann es eine gehaltene Taste nicht erkennen, wenn die Tastenwiederholung auf Betriebssystemebene deaktiviert ist. Wechseln Sie mit `/voice tap` zum Tippen-Modus, um die Tastenwiederholungsanforderung zu vermeiden.

whats-new.md +16 −0

Details

8 8 

9Die wöchentliche Entwickler-Zusammenfassung hebt die Funktionen hervor, die am ehesten ändern, wie Sie arbeiten. Jeder Eintrag enthält ausführbaren Code, eine kurze Demo und einen Link zur vollständigen Dokumentation. Für jeden Fehlerbehebung und kleinere Verbesserung siehe das [Changelog](/de/changelog).9Die wöchentliche Entwickler-Zusammenfassung hebt die Funktionen hervor, die am ehesten ändern, wie Sie arbeiten. Jeder Eintrag enthält ausführbaren Code, eine kurze Demo und einen Link zur vollständigen Dokumentation. Für jeden Fehlerbehebung und kleinere Verbesserung siehe das [Changelog](/de/changelog).

10 10 

11<Update label="Woche 26" description="22.–26. Juni 2026" tags={["v2.1.185–v2.1.193"]}>

12 **`claude mcp login`**: Authentifizieren Sie einen konfigurierten MCP-Server von Ihrer Shell aus, anstatt das interaktive `/mcp`-Menü zu verwenden, und löschen Sie später seine gespeicherten Anmeldedaten mit `claude mcp logout`.

13 

14 Auch diese Woche: **Shell-Modus reagiert auf Befehlsausgabe** (`! npm test` erhält eine Erklärung ohne eine zweite Eingabeaufforderung); **`/rewind`** kann ein Gespräch von vor dem Ausführen von `/clear` fortsetzen; und **Hintergrund-Subagenten** zeigen Genehmigungsaufforderungen jetzt in der Hauptsitzung an, anstatt sie automatisch abzulehnen.

15 

16 [Lesen Sie die Woche-26-Zusammenfassung →](/de/whats-new/2026-w26)

17</Update>

18 

19<Update label="Woche 25" description="15.–19. Juni 2026" tags={["v2.1.178–v2.1.183"]}>

20 **Artifacts**: Verwandeln Sie die Ausgabe einer Sitzung in eine Live-, teilbare Seite auf claude.ai, die sich aktualisiert, während die Sitzung funktioniert, jetzt in Beta auf Team- und Enterprise-Plänen.

21 

22 Auch diese Woche: **Deny- und Ask-Regeln stimmen mit Tool-Parametern überein** mit `Tool(param:value)`, zum Beispiel `Agent(model:opus)`; **`/config key=value`** setzt jede Einstellung von der Eingabeaufforderung aus, im `-p`-Modus und von Remote Control; und **Auto-Modus blockiert destruktive Git-Befehle**, wenn Sie nicht gefragt haben, lokale Arbeit zu verwerfen.

23 

24 [Lesen Sie die Woche-25-Zusammenfassung →](/de/whats-new/2026-w25)

25</Update>

26 

11<Update label="Woche 24" description="8.–12. Juni 2026" tags={["v2.1.166–v2.1.176"]}>27<Update label="Woche 24" description="8.–12. Juni 2026" tags={["v2.1.166–v2.1.176"]}>

12 **`/cd`**: Verschieben Sie die aktuelle Sitzung in ein neues Arbeitsverzeichnis mitten im Gespräch, ohne den Prompt-Cache neu zu erstellen.28 **`/cd`**: Verschieben Sie die aktuelle Sitzung in ein neues Arbeitsverzeichnis mitten im Gespräch, ohne den Prompt-Cache neu zu erstellen.

13 29 

Details

73 <p className="digest-feature-try">Fügen Sie eine Untergrenze zu Ihren verwalteten Einstellungen hinzu, damit ältere Clients sich weigern zu starten:</p>73 <p className="digest-feature-try">Fügen Sie eine Untergrenze zu Ihren verwalteten Einstellungen hinzu, damit ältere Clients sich weigern zu starten:</p>

74 74 

75 ```json managed-settings.json theme={null}75 ```json managed-settings.json theme={null}

76 {

76 "requiredMinimumVersion": "2.1.163"77 "requiredMinimumVersion": "2.1.163"

78 }

77 ```79 ```

78 80 

79 <a className="digest-feature-link" href="/docs/de/admin-setup#decide-what-to-enforce">Entscheiden Sie, was Sie durchsetzen möchten</a>81 <a className="digest-feature-link" href="/docs/de/admin-setup#decide-what-to-enforce">Entscheiden Sie, was Sie durchsetzen möchten</a>

whats-new/2026-w25.md +90 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Woche 25 · 15.–19. Juni 2026

6 

7> Veröffentlichen Sie eine Live-Seite, die Sie freigeben können, aus Ihrer Sitzung mit Artifacts, gleichen Sie Tool-Parameter in Deny- und Ask-Regeln ab, und legen Sie jede Einstellung über die Eingabeaufforderung mit /config fest.

8 

9<div className="digest-meta">

10 <span>Releases <a href="/de/changelog#2-1-178">v2.1.178 → v2.1.183</a></span>

11 <span>3 Features · 15.–19. Juni</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Artifacts</span>

17 </div>

18 

19 <p className="digest-feature-lede">Ein Artifact ist eine Live-Seite, die Claude Code aus Ihrer Sitzung auf einer privaten URL auf claude.ai veröffentlicht, und sie wird aktualisiert, während die Sitzung weiterarbeitet. Fordern Sie eines an, wenn Terminaltext das falsche Medium ist, z. B. eine PR-Durchführung mit dem Diff inline kommentiert oder ein Dashboard, das aus Sitzungsdaten erstellt wurde. Artifacts befinden sich in der Beta-Phase für Team- und Enterprise-Pläne.</p>

20 

21 <Frame>

22 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/1ylKDoQynT1UgfEK/images/whats-new/artifacts.mp4?fit=max&auto=format&n=1ylKDoQynT1UgfEK&q=85&s=7f5391559d2bc69989621b36322fcff1" data-path="images/whats-new/artifacts.mp4" />

23 </Frame>

24 

25 <p className="digest-feature-try">Fordern Sie Claude auf, eine Seite zu erstellen, und genehmigen Sie dann die Veröffentlichungsaufforderung:</p>

26 

27 ```text Claude Code theme={null}

28 > Make an artifact that walks through this PR with the diff annotated inline.

29 ```

30 

31 <a className="digest-feature-link" href="/de/artifacts#create-an-artifact">Artifact erstellen</a>

32</div>

33 

34<div className="digest-feature">

35 <div className="digest-feature-header">

36 <span className="digest-feature-title">Nach Eingabeparameter abgleichen</span>

37 <span className="digest-feature-pill">v2.1.178</span>

38 </div>

39 

40 <p className="digest-feature-lede">Deny- und Ask-Berechtigungsregeln können nun die Eingabeparameter eines Tools mit der Syntax <code>Tool(param:value)</code> abgleichen. Beispielsweise passt <code>Agent(model:opus)</code> auf Subagent-Spawns, die das Opus-Modell-Tier anfordern. Der Wert akzeptiert `*` als Platzhalter, daher passt `Agent(isolation:*)` auf jeden expliziten Isolationswert.</p>

41 

42 <p className="digest-feature-try">Fügen Sie eine Parameterregel zur Deny-Liste in <code>settings.json</code> hinzu:</p>

43 

44 ```json .claude/settings.json {3} theme={null}

45 {

46 "permissions": {

47 "deny": ["Agent(model:opus)"]

48 }

49 }

50 ```

51 

52 <a className="digest-feature-link" href="/de/permissions#match-by-input-parameter">Nach Eingabeparameter abgleichen</a>

53</div>

54 

55<div className="digest-feature">

56 <div className="digest-feature-header">

57 <span className="digest-feature-title">Jede Einstellung über die Eingabeaufforderung festlegen</span>

58 <span className="digest-feature-pill">v2.1.181</span>

59 </div>

60 

61 <p className="digest-feature-lede">Übergeben Sie <code>key=value</code> an <code>/config</code>, um eine Einstellung direkt zu ändern, ohne die Einstellungsschnittstelle zu öffnen. Die Syntax funktioniert auch im nicht-interaktiven Modus mit dem Flag <code>-p</code> und von Remote Control aus.</p>

62 

63 <p className="digest-feature-try">Legen Sie die Einstellung <code>thinking</code> über die Eingabeaufforderung fest:</p>

64 

65 ```text Claude Code theme={null}

66 > /config thinking=false

67 ```

68 

69 <a className="digest-feature-link" href="/de/commands#all-commands">Befehlsreferenz</a>

70</div>

71 

72<div className="digest-wins">

73 <p className="digest-wins-title">Weitere Verbesserungen</p>

74 

75 <div className="digest-wins-grid">

76 <div>Der Auto-Modus blockiert nun destruktive Git-Befehle (`git reset --hard`, `git clean -fd`, `git stash drop`), wenn Sie nicht aufgefordert haben, lokale Änderungen zu verwerfen, und blockiert <code>terraform destroy</code>, es sei denn, Sie haben den spezifischen Stack angefordert</div>

77 <div>Legen Sie die neue Einstellung <code>attribution.sessionUrl</code> auf <code>false</code> fest, um den claude.ai-Sitzungslink aus Commits und PRs in Web- und Remote-Control-Sitzungen auszulassen</div>

78 <div>In der Schnittstelle <code>/config</code> ändern sowohl Enter als auch Leertaste die ausgewählte Einstellung, und Esc speichert und schließt jetzt, anstatt rückgängig zu machen</div>

79 <div>Die neue Opt-in-Einstellung <code>sandbox.allowAppleEvents</code> ermöglicht es Sandbox-Befehlen, Apple Events auf macOS zu senden</div>

80 <div>Zeigen Sie <code>CLAUDE\_CLIENT\_PRESENCE\_FILE</code> auf eine Markierungsdatei, um Mobile-Push-Benachrichtigungen zu unterdrücken, während Sie am Computer sind</div>

81 <div>Lange Absätze werden nun Zeile für Zeile gestreamt, anstatt auf den ersten Zeilenumbruch zu warten</div>

82 <div>API-Verbindungsabbrüche während des Denkens werden nun automatisch wiederholt, anstatt „Verbindung während des Denkens geschlossen" anzuzeigen</div>

83 <div>Mit <code>CLAUDE\_CODE\_EXPERIMENTAL\_AGENT\_TEAMS=1</code> gesetzt, hat jede Sitzung ein implizites Team, daher können Sie Teamkollegen direkt mit dem Parameter <code>name</code> des Agent-Tools spawnen</div>

84 <div>Skills in verschachtelten <code>.claude/skills</code>-Verzeichnissen werden geladen, wenn Sie an Dateien dort arbeiten; bei einem Namenskonflikt wird der verschachtelte Skill als `<dir>:<name>` angezeigt, damit beide verfügbar bleiben</div>

85 <div>Behoben: Prompt Caching liest nicht auf einer benutzerdefinierten <code>ANTHROPIC\_BASE\_URL</code> und auf Foundry</div>

86 <div>Behoben: Write und Edit erzeugen Null-Byte- oder abgeschnittene Dateien auf Netzlaufwerken und Cloud-synchronisierten Ordnern</div>

87 </div>

88</div>

89 

90[Vollständiges Changelog für v2.1.178–v2.1.183 →](/de/changelog#2-1-178)

whats-new/2026-w26.md +66 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Woche 26 · 22.–26. Juni 2026

6 

7> Authentifizieren Sie MCP-Server von Ihrer Shell mit claude mcp login, erhalten Sie eine Antwort auf die Ausgabe von Shell-Mode-Befehlen mit dem !-Präfix, und setzen Sie ein Gespräch vor /clear mit /rewind fort.

8 

9<div className="digest-meta">

10 <span>Releases <a href="/de/docs/changelog#2-1-185">v2.1.185 → v2.1.193</a></span>

11 <span>2 Features · 22.–26. Juni</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">MCP-Server von der CLI authentifizieren</span>

17 <span className="digest-feature-pill">v2.1.186</span>

18 </div>

19 

20 <p className="digest-feature-lede">Die neuen Befehle `claude mcp login <name>` und `claude mcp logout <name>` authentifizieren einen konfigurierten MCP-Server von Ihrer Shell aus statt über das interaktive <code>/mcp</code>-Menü. `claude mcp login` führt den OAuth-Flow des Servers direkt aus, und `claude mcp logout` löscht die gespeicherten Anmeldedaten.</p>

21 

22 <p className="digest-feature-try">Führen Sie den OAuth-Flow für einen konfigurierten Server aus, ohne eine Sitzung zu öffnen:</p>

23 

24 ```bash terminal theme={null}

25 claude mcp login sentry

26 ```

27 

28 <a className="digest-feature-link" href="/de/docs/mcp#authenticate-from-the-command-line">Von der Befehlszeile authentifizieren</a>

29</div>

30 

31<div className="digest-feature">

32 <div className="digest-feature-header">

33 <span className="digest-feature-title">Shell-Mode antwortet auf Befehlsausgabe</span>

34 <span className="digest-feature-pill">v2.1.186</span>

35 </div>

36 

37 <p className="digest-feature-lede">Befehle, die Sie mit dem <code>!</code>-Präfix ausführen, erhalten jetzt eine Antwort von Claude, sobald die Ausgabe im Transkript angezeigt wird. Sie können also <code>! npm test</code> ausführen und eine Erklärung der Fehler erhalten, ohne eine zweite Eingabeaufforderung zu benötigen. Die Antwort kostet genauso viel wie das Senden einer normalen Eingabeaufforderung. Um das frühere Verhalten beizubehalten, bei dem die Ausgabe ohne Antwort zum Kontext hinzugefügt wird, setzen Sie <code>respondToBashCommands</code> in <code>settings.json</code> auf <code>false</code>.</p>

38 

39 <p className="digest-feature-try">Führen Sie einen Befehl aus und erhalten Sie eine Antwort auf seine Ausgabe:</p>

40 

41 ```text Claude Code theme={null}

42 > ! npm test

43 ```

44 

45 <a className="digest-feature-link" href="/de/docs/interactive-mode#shell-mode-with-prefix">Shell-Mode mit dem !-Präfix</a>

46</div>

47 

48<div className="digest-wins">

49 <p className="digest-wins-title">Weitere Verbesserungen</p>

50 

51 <div className="digest-wins-grid">

52 <div><code>/rewind</code> kann jetzt ein Gespräch von vor der Ausführung von <code>/clear</code> fortsetzen</div>

53 <div>Neue <code>sandbox.credentials</code>-Einstellung blockiert sandboxed Befehle vom Lesen von Anmeldedatendateien und geheimen Umgebungsvariablen</div>

54 <div>Von der Organisation konfigurierte Modellbeschränkungen gelten jetzt für die Modellauswahl, `--model`, <code>/model</code> und <code>ANTHROPIC\_MODEL</code>, mit einer Meldung „Eingeschränkt durch die Einstellungen Ihrer Organisation", wenn ein eingeschränktes Modell ausgewählt wird</div>

55 <div>Neue <code>autoMode.classifyAllShell</code>-Einstellung leitet alle Bash- und PowerShell-Befehle durch den Auto-Mode-Klassifizierer, und Ablehnungsgründe werden jetzt im Transkript, im Ablehnungs-Toast und in <code>/permissions</code> angezeigt</div>

56 <div>Neues <code>claude\_code.assistant\_response</code> OpenTelemetry-Protokollereignis trägt den Antworttext des Modells; Bereitstellungen, die bereits Eingabeaufforderungsinhalte protokollieren, beginnen damit beim Upgrade, daher setzen Sie <code>OTEL\_LOG\_ASSISTANT\_RESPONSES=0</code>, um nur Eingabeaufforderungen zu behalten</div>

57 <div>Hintergrund-Subagenten zeigen jetzt Berechtigungsaufforderungen in der Hauptsitzung statt automatisch zu verweigern; der Dialog zeigt, welcher Agent fragt, und Esc verweigert nur dieses Tool</div>

58 <div><code>/install-github-app</code> kann jetzt nur die GitHub App installieren und die Actions-Workflow- und Geheimschritte überspringen</div>

59 <div>Hosts, die Sie im Sandbox-Netzwerk-Berechtigungsdialog zulassen, werden für den Rest der Sitzung gespeichert, statt bei jeder Verbindung erneut zu fragen</div>

60 <div>Streaming-Antworten verwenden etwa 37 % weniger CPU, und das Speicherwachstum von Langzeitsitzungen aus dem Terminal-Ausgabe-Cache wird reduziert</div>

61 <div>`/review <pr>` verwendet jetzt die gleiche Review-Engine wie <code>/code-review medium</code></div>

62 <div>Bash-Mode <code>!</code>-Befehle erhalten Live-Dateipfad-Autovervollständigung</div>

63 </div>

64</div>

65 

66[Vollständiges Änderungsprotokoll für v2.1.185–v2.1.193 →](/de/changelog#2-1-185)

workflows.md +2 −0

Details

68 68 

69 <Step title="Lesen Sie den Bericht">69 <Step title="Lesen Sie den Bericht">

70 Wenn die Ausführung abgeschlossen ist, landet der Bericht in Ihrer Sitzung. Er zitiert die Quellen, aus denen jeder Anspruch stammt, wobei Ansprüche, die die Überprüfung nicht überlebt haben, bereits gefiltert sind.70 Wenn die Ausführung abgeschlossen ist, landet der Bericht in Ihrer Sitzung. Er zitiert die Quellen, aus denen jeder Anspruch stammt, wobei Ansprüche, die die Überprüfung nicht überlebt haben, bereits gefiltert sind.

71 

72 {/* min-version: 2.1.196 */}Ab v2.1.196 listet der Bericht einen Anspruch als unverified auf, wenn die Verifier-Agenten einen Anspruch nicht überprüfen können, z. B. nach einem Rate Limit oder API-Fehler, anstatt ihn als widerlegt zu zählen.

71 </Step>73 </Step>

72</Steps>74</Steps>

73 75