SpyBara
Go Premium

Documentation 2026-10-25 23:58 UTC to 2026-10-26 22:57 UTC

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

admin-setup.md +1 −1

Details

93| [Sandboxing](https://code.claude.com/docs/de/sandboxing.md) | Isolierung auf Betriebssystemebene des Dateisystems und Netzwerks mit Domain-Allowlists | `sandbox.enabled`, `sandbox.network.allowedDomains` |93| [Sandboxing](https://code.claude.com/docs/de/sandboxing.md) | Isolierung auf Betriebssystemebene des Dateisystems und Netzwerks mit Domain-Allowlists | `sandbox.enabled`, `sandbox.network.allowedDomains` |

94| [Verwaltete Richtlinie CLAUDE.md](https://code.claude.com/docs/de/memory.md#deploy-organization-wide-claude-md) | Organisationsweite Verhaltensrichtlinien für Claude statt einer vom Client durchgesetzten Regel | Datei im verwalteten Richtlinienpfad |94| [Verwaltete Richtlinie CLAUDE.md](https://code.claude.com/docs/de/memory.md#deploy-organization-wide-claude-md) | Organisationsweite Verhaltensrichtlinien für Claude statt einer vom Client durchgesetzten Regel | Datei im verwalteten Richtlinienpfad |

95| [MCP-Server-Kontrolle](https://code.claude.com/docs/de/managed-mcp.md) | Einschränken, welche MCP-Server Benutzer hinzufügen oder verbinden können, einen festen Satz bereitstellen oder Remote-Server neben ihren eigenen für jeden Benutzer bereitstellen | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, `managedMcpServers` oder eine bereitgestellte `managed-mcp.json`-Datei |95| [MCP-Server-Kontrolle](https://code.claude.com/docs/de/managed-mcp.md) | Einschränken, welche MCP-Server Benutzer hinzufügen oder verbinden können, einen festen Satz bereitstellen oder Remote-Server neben ihren eigenen für jeden Benutzer bereitstellen | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, `managedMcpServers` oder eine bereitgestellte `managed-mcp.json`-Datei |

96| [Plugin-Marketplace-Kontrolle](https://code.claude.com/docs/de/plugins/org.md#restrict-what-users-can-install) | Einschränken, von welchen Marketplace-Quellen Benutzer hinzufügen und installieren können, CLI-Flags ablehnen, die Plugins, Agenten und MCP-Server für einen einzelnen Lauf sideloaden, [`command`-Plugin-Quellen](https://code.claude.com/docs/de/plugins/marketplace-reference#command-plugin-source) blockieren und per Allowlist festlegen, welche Plugins von Marketplaces vorgeschlagen werden können | `strictKnownMarketplaces`, `blockedMarketplaces`, `disableSideloadFlags`, `disableCommandPluginSources`, `pluginSuggestionMarketplaces` |96| [Plugin-Marketplace-Kontrolle](https://code.claude.com/docs/de/plugins/org.md#restrict-what-users-can-install) | Einschränken, von welchen Marketplace-Quellen Benutzer hinzufügen und installieren können, und CLI-Flags ablehnen, die Plugins, Agenten und MCP-Server für einen einzelnen Lauf sideloaden. [`command`-Plugin-Quellen](https://code.claude.com/docs/de/plugins/marketplace-reference#command-plugin-source) blockieren und per Allowlist festlegen, aus welchen Marketplaces Plugins im Terminal vorgeschlagen werden können | `strictKnownMarketplaces`, `blockedMarketplaces`, `disableSideloadFlags`, `disableCommandPluginSources`, `pluginSuggestionMarketplaces` |

97| [Anpassungssperre](https://code.claude.com/docs/de/settings-reference.md#strictpluginonlycustomization) | Blockieren Sie Skills, Agenten, Hooks und MCP-Server aus Benutzer- und Projektquellen, damit sie nur aus Plugins oder verwalteten Einstellungen stammen können. Das Sperren von Skills stoppt auch die [Skills, die Ihre Entwickler auf claude.ai aktivieren](https://code.claude.com/docs/de/skills.md#where-synced-skills-load) vom Synchronisieren | `strictPluginOnlyCustomization` |97| [Anpassungssperre](https://code.claude.com/docs/de/settings-reference.md#strictpluginonlycustomization) | Blockieren Sie Skills, Agenten, Hooks und MCP-Server aus Benutzer- und Projektquellen, damit sie nur aus Plugins oder verwalteten Einstellungen stammen können. Das Sperren von Skills stoppt auch die [Skills, die Ihre Entwickler auf claude.ai aktivieren](https://code.claude.com/docs/de/skills.md#where-synced-skills-load) vom Synchronisieren | `strictPluginOnlyCustomization` |

98| [Claude.ai-Synchronisierung deaktivieren](https://code.claude.com/docs/de/settings-reference.md#syncclaudeaiskills) | Verhindern Sie, dass Claude Code die [Skills](https://code.claude.com/docs/de/skills.md#how-synced-skills-behave) und [Plugins](https://code.claude.com/docs/de/plugins/loading.md#synced-plugins) lädt, die Ihre Entwickler auf claude.ai aktivieren. Wenn Sie Skills für Ihre Organisation auf claude.ai ausschalten, stoppt Claude Code die Synchronisierung beider, und in v2.1.273 oder später entfernt es auch die bereits synchronisierten. Um eines davon zu stoppen, ohne Skills auszuschalten, setzen Sie seinen Schlüssel in verwalteten Einstellungen auf `false` | `syncClaudeAiSkills`, `syncClaudeAiPlugins` |98| [Claude.ai-Synchronisierung deaktivieren](https://code.claude.com/docs/de/settings-reference.md#syncclaudeaiskills) | Verhindern Sie, dass Claude Code die [Skills](https://code.claude.com/docs/de/skills.md#how-synced-skills-behave) und [Plugins](https://code.claude.com/docs/de/plugins/loading.md#synced-plugins) lädt, die Ihre Entwickler auf claude.ai aktivieren. Wenn Sie Skills für Ihre Organisation auf claude.ai ausschalten, stoppt Claude Code die Synchronisierung beider, und in v2.1.273 oder später entfernt es auch die bereits synchronisierten. Um eines davon zu stoppen, ohne Skills auszuschalten, setzen Sie seinen Schlüssel in verwalteten Einstellungen auf `false` | `syncClaudeAiSkills`, `syncClaudeAiPlugins` |

99| [Hook-Einschränkungen](https://code.claude.com/docs/de/settings-reference.md#allowmanagedhooksonly) | Einschränken, welche Hooks ausgeführt werden, und HTTP-Hook-URLs einschränken; siehe [was unter `allowManagedHooksOnly` ausgeführt wird](https://code.claude.com/docs/de/settings-reference#what-runs-under-allowmanagedhooksonly) für die vollständige Effektliste | `allowManagedHooksOnly`, `allowedHttpHookUrls` |99| [Hook-Einschränkungen](https://code.claude.com/docs/de/settings-reference.md#allowmanagedhooksonly) | Einschränken, welche Hooks ausgeführt werden, und HTTP-Hook-URLs einschränken; siehe [was unter `allowManagedHooksOnly` ausgeführt wird](https://code.claude.com/docs/de/settings-reference#what-runs-under-allowmanagedhooksonly) für die vollständige Effektliste | `allowManagedHooksOnly`, `allowedHttpHookUrls` |

Details

233| `"default"` | Tool-Aufrufe, die Genehmigung benötigen und nicht durch Allow-Regeln abgedeckt sind, lösen Ihren `canUseTool`-Callback aus; kein Callback bedeutet Ablehnung | Interaktive Anwendungen mit einem benutzerdefinierten Genehmigungsrückruf |233| `"default"` | Tool-Aufrufe, die Genehmigung benötigen und nicht durch Allow-Regeln abgedeckt sind, lösen Ihren `canUseTool`-Callback aus; kein Callback bedeutet Ablehnung | Interaktive Anwendungen mit einem benutzerdefinierten Genehmigungsrückruf |

234| `"acceptEdits"` | Genehmigt automatisch Dateibearbeitungen und häufige Dateisystem-Befehle (`mkdir`, `touch`, `mv`, `cp` usw.); andere Bash-Befehle folgen Standardregeln | Sie vertrauen Claudes Bearbeitungen und möchten schnellere Iterationen, z. B. während des Prototyping oder beim Arbeiten in einem isolierten Verzeichnis |234| `"acceptEdits"` | Genehmigt automatisch Dateibearbeitungen und häufige Dateisystem-Befehle (`mkdir`, `touch`, `mv`, `cp` usw.); andere Bash-Befehle folgen Standardregeln | Sie vertrauen Claudes Bearbeitungen und möchten schnellere Iterationen, z. B. während des Prototyping oder beim Arbeiten in einem isolierten Verzeichnis |

235| `"plan"` | Claude erkundet und plant, ohne Ihre Quelldateien zu bearbeiten; Dateibearbeitungen werden nie automatisch genehmigt und werden durch Ihren `canUseTool`-Callback angefordert | Sie möchten, dass Claude Änderungen vorschlägt, ohne sie auszuführen, z. B. während einer Code-Überprüfung oder wenn Sie Änderungen genehmigen müssen, bevor sie vorgenommen werden |235| `"plan"` | Claude erkundet und plant, ohne Ihre Quelldateien zu bearbeiten; Dateibearbeitungen werden nie automatisch genehmigt und werden durch Ihren `canUseTool`-Callback angefordert | Sie möchten, dass Claude Änderungen vorschlägt, ohne sie auszuführen, z. B. während einer Code-Überprüfung oder wenn Sie Änderungen genehmigen müssen, bevor sie vorgenommen werden |

236| `"dontAsk"` | Fragt nie nach. Tools, die durch [Berechtigungsregeln](https://code.claude.com/docs/de/settings-reference.md#permission-settings) vorab genehmigt sind, werden ausgeführt, ebenso wie Aufrufe, die im `default`-Modus keine Genehmigung benötigen, z. B. Datei-Lesevorgänge in Ihren Arbeitsverzeichnissen. Jeder Aufruf, bei dem sonst nachgefragt würde, wird abgelehnt, wobei ein von Ihnen installierter [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) [einige dieser Aufrufe](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods) dennoch genehmigen kann. `AskUserQuestion`, Konnektor-Tools, [die Ihre Organisation auf `ask` gesetzt hat](https://code.claude.com/docs/de/mcp#organization-controls-on-connector-tools), MCP-Tools, die als [`requiresUserInteraction`](https://code.claude.com/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind, und [Lesevorgänge von Netzwerkpfaden](https://code.claude.com/docs/de/permissions.md#network-paths) werden auch dann abgelehnt, wenn Sie sie erlaubt haben | Sie möchten eine feste, explizite Tool-Oberfläche für einen Headless-Agenten und bevorzugen eine harte Ablehnung gegenüber stiller Abhängigkeit davon, dass `canUseTool` abwesend ist |236| `"dontAsk"` | Fragt nie nach. Tools, die durch [Berechtigungsregeln](https://code.claude.com/docs/de/settings-reference.md#permission-settings) vorab genehmigt sind, werden ausgeführt, ebenso wie Aufrufe, die im `default`-Modus keine Genehmigung benötigen, z. B. Datei-Lesevorgänge in Ihren Arbeitsverzeichnissen. Jeder Aufruf, bei dem sonst nachgefragt würde, wird abgelehnt, wobei ein von Ihnen installierter [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) [einige dieser Aufrufe](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods) dennoch genehmigen kann. Einige Aufrufe, z. B. [Lesevorgänge von Netzwerkpfaden](https://code.claude.com/docs/de/permissions.md#network-paths), werden auch dann abgelehnt, wenn Sie sie erlaubt haben. Die Liste finden Sie unter [Don't ask mode](https://code.claude.com/docs/de/agent-sdk/permissions.md#don’t-ask-mode-dontask) | Headless-Agenten, bei denen niemand Aufrufe genehmigen kann |

237| `"auto"` | Verwendet einen Modell-Klassifizierer, um Aktionen wie Shell-Befehle und Netzwerkanfragen zu überprüfen und jede einzelne zu genehmigen oder zu blockieren. Siehe [Auto mode](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) für Verfügbarkeit und die Entscheidungsreihenfolge | Autonome Agenten, die immer noch Sicherheitsvorkehrungen bei der Tool-Nutzung wünschen |237| `"auto"` | Verwendet einen Modell-Klassifizierer, um Aktionen wie Shell-Befehle und Netzwerkanfragen zu überprüfen und jede einzelne zu genehmigen oder zu blockieren. Siehe [Auto mode](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) für Verfügbarkeit und die Entscheidungsreihenfolge | Autonome Agenten, die immer noch Sicherheitsvorkehrungen bei der Tool-Nutzung wünschen |

238| `"bypassPermissions"` | Führt alle zulässigen Tools aus, ohne zu fragen, außer Tools, die einer expliziten [`ask`-Regel](https://code.claude.com/docs/de/settings-reference#permission-settings) entsprechen, Connector-Tools [die Ihre Organisation auf `ask` gesetzt hat](https://code.claude.com/docs/de/mcp#organization-controls-on-connector-tools) und Tools, die Benutzerinteraktion erfordern. Die [Cross-Session-Messaging-Schutzmaßnahmen](https://code.claude.com/docs/de/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) gelten weiterhin. Siehe [How permissions are evaluated](https://code.claude.com/docs/de/agent-sdk/permissions.md#how-permissions-are-evaluated) für die Rangfolge. Im TypeScript SDK ist auch `allowDangerouslySkipPermissions: true` in `options` erforderlich. Kann nicht verwendet werden, wenn als Root auf Unix ausgeführt wird. Verwenden Sie nur in isolierten Umgebungen, in denen die Aktionen des Agenten keine Systeme beeinflussen können, die Ihnen wichtig sind | CI, Container oder andere isolierte Umgebungen |238| `"bypassPermissions"` | Führt Tool-Aufrufe aus, ohne um Genehmigung zu fragen, einschließlich Aufrufen von Tools, die Sie nicht in `allowedTools` aufgeführt haben. Einige Aufrufe gehen dennoch an Ihren `canUseTool`-Callback; diese sind unter [Bypass permissions mode](https://code.claude.com/docs/de/agent-sdk/permissions.md#bypass-permissions-mode-bypasspermissions) aufgeführt. Im TypeScript SDK ist auch `allowDangerouslySkipPermissions: true` in `options` erforderlich. Kann nicht verwendet werden, wenn als Root auf Unix ausgeführt wird. Verwenden Sie nur in isolierten Umgebungen, in denen die Aktionen des Agenten keine Systeme beeinflussen können, die Ihnen wichtig sind | CI, Container oder andere isolierte Umgebungen |

239 239 

240Verwenden Sie für interaktive Anwendungen `"default"` mit einem Tool-Genehmigungsrückruf, um Genehmigungsaufforderungen anzuzeigen. Für autonome Agenten auf einem Dev-Computer genehmigt `"acceptEdits"` automatisch Dateibearbeitungen und häufige Dateisystem-Befehle (`mkdir`, `touch`, `mv`, `cp` usw.), während andere `Bash`-Befehle immer noch durch Allow-Regeln kontrolliert werden. Reservieren Sie `"bypassPermissions"` für CI, Container oder andere isolierte Umgebungen. Siehe [Permissions](https://code.claude.com/docs/de/agent-sdk/permissions.md) für vollständige Details.240Verwenden Sie für interaktive Anwendungen `"default"` mit einem Tool-Genehmigungsrückruf, um Genehmigungsaufforderungen anzuzeigen. Für autonome Agenten auf einem Dev-Computer genehmigt `"acceptEdits"` automatisch Dateibearbeitungen und häufige Dateisystem-Befehle (`mkdir`, `touch`, `mv`, `cp` usw.), während andere `Bash`-Befehle immer noch durch Allow-Regeln kontrolliert werden. Reservieren Sie `"bypassPermissions"` für CI, Container oder andere isolierte Umgebungen. Siehe [Permissions](https://code.claude.com/docs/de/agent-sdk/permissions.md) für vollständige Details.

241 241 

Details

16| Einen Parameter optional machen | Deklarieren Sie ihn im Schema als optional und wenden Sie den Standardwert im Handler an. Siehe [Einen Parameter optional machen](#make-a-parameter-optional). |16| Einen Parameter optional machen | Deklarieren Sie ihn im Schema als optional und wenden Sie den Standardwert im Handler an. Siehe [Einen Parameter optional machen](#make-a-parameter-optional). |

17| Ein Tool bei Claude registrieren | Wickeln Sie in `create_sdk_mcp_server` / `createSdkMcpServer` ein und übergeben Sie es an `mcpServers` in `query()`. Siehe [Rufen Sie ein benutzerdefiniertes Tool auf](#call-a-custom-tool). |17| Ein Tool bei Claude registrieren | Wickeln Sie in `create_sdk_mcp_server` / `createSdkMcpServer` ein und übergeben Sie es an `mcpServers` in `query()`. Siehe [Rufen Sie ein benutzerdefiniertes Tool auf](#call-a-custom-tool). |

18| Ein Tool vorab genehmigen | Fügen Sie es zu Ihren zulässigen Tools hinzu. Siehe [Konfigurieren Sie zulässige Tools](#configure-allowed-tools). |18| Ein Tool vorab genehmigen | Fügen Sie es zu Ihren zulässigen Tools hinzu. Siehe [Konfigurieren Sie zulässige Tools](#configure-allowed-tools). |

19| Genehmigung für Aufrufe eines Tools verlangen oder das Tool blockieren | Fügen Sie im TypeScript SDK eine `permission_policy` für das Tool zu dem Konfigurationsobjekt hinzu, das `createSdkMcpServer()` zurückgibt. Siehe [Genehmigung für bestimmte Tools verlangen](#require-approval-for-specific-tools). |

19| Entfernen Sie ein integriertes Tool aus Claudes Kontext | Übergeben Sie ein `tools`-Array, das nur die gewünschten integrierten Tools auflistet. Siehe [Konfigurieren Sie zulässige Tools](#configure-allowed-tools). |20| Entfernen Sie ein integriertes Tool aus Claudes Kontext | Übergeben Sie ein `tools`-Array, das nur die gewünschten integrierten Tools auflistet. Siehe [Konfigurieren Sie zulässige Tools](#configure-allowed-tools). |

20| Lassen Sie Claude Tools parallel aufrufen | Setzen Sie `readOnlyHint: true` auf Tools ohne Nebenwirkungen. Siehe [Fügen Sie Tool-Annotationen hinzu](#add-tool-annotations). |21| Lassen Sie Claude Tools parallel aufrufen | Setzen Sie `readOnlyHint: true` auf Tools ohne Nebenwirkungen. Siehe [Fügen Sie Tool-Annotationen hinzu](#add-tool-annotations). |

21| Kontrollieren Sie die Fehlermeldung, die Claude liest | Geben Sie `isError: true` zurück, um die Nachricht zu verfassen, anstatt die rohe Ausnahme zu zeigen. Siehe [Fehler behandeln](#handle-errors). |22| Kontrollieren Sie die Fehlermeldung, die Claude liest | Geben Sie `isError: true` zurück, um die Nachricht zu verfassen, anstatt die rohe Ausnahme zu zeigen. Siehe [Fehler behandeln](#handle-errors). |


327| Feld | Standard | Bedeutung |328| Feld | Standard | Bedeutung |

328| :- | :- | :- |329| :- | :- | :- |

329| `readOnlyHint` | `false` | Tool ändert seine Umgebung nicht. Steuert, ob das Tool parallel mit anderen schreibgeschützten Tools aufgerufen werden kann. |330| `readOnlyHint` | `false` | Tool ändert seine Umgebung nicht. Steuert, ob das Tool parallel mit anderen schreibgeschützten Tools aufgerufen werden kann. |

330| `destructiveHint` | `true` | Tool kann destruktive Aktualisierungen durchführen. Nur informativ. |331| `destructiveHint` | `true` | Tool kann destruktive Aktualisierungen durchführen. Setzen Sie es bei jedem Tool, das Sie [mit `always_ask` markieren](#require-approval-for-specific-tools), explizit auf `true`. |

331| `idempotentHint` | `false` | Wiederholte Aufrufe mit denselben Argumenten haben keine zusätzliche Auswirkung. Nur informativ. |332| `idempotentHint` | `false` | Wiederholte Aufrufe mit denselben Argumenten haben keine zusätzliche Auswirkung. Nur informativ. |

332| `openWorldHint` | `true` | Tool erreicht Systeme außerhalb Ihres Prozesses. Nur informativ. |333| `openWorldHint` | `true` | Tool erreicht Systeme außerhalb Ihres Prozesses. Nur informativ. |

333 334 


383 384 

384Um ein integriertes Tool vollständig zu entfernen, lassen Sie es aus `tools` weg oder listen Sie seinen Namen ohne Bereichsangabe in `disallowedTools` auf (Python: `disallowed_tools`); beide halten das Tool aus dem Kontext heraus, sodass Claude es nie versucht. Eine Regel in `disallowedTools` mit Bereichsangabe blockiert übereinstimmende Aufrufe, behält das Tool aber sichtbar, sodass Claude möglicherweise einen Zug damit verschwenden kann. Siehe [Berechtigungen konfigurieren](https://code.claude.com/docs/de/agent-sdk/permissions.md) für die vollständige Evaluierungsreihenfolge.385Um ein integriertes Tool vollständig zu entfernen, lassen Sie es aus `tools` weg oder listen Sie seinen Namen ohne Bereichsangabe in `disallowedTools` auf (Python: `disallowed_tools`); beide halten das Tool aus dem Kontext heraus, sodass Claude es nie versucht. Eine Regel in `disallowedTools` mit Bereichsangabe blockiert übereinstimmende Aufrufe, behält das Tool aber sichtbar, sodass Claude möglicherweise einen Zug damit verschwenden kann. Siehe [Berechtigungen konfigurieren](https://code.claude.com/docs/de/agent-sdk/permissions.md) für die vollständige Evaluierungsreihenfolge.

385 386 

387### Genehmigung für bestimmte Tools verlangen

388 

389Setzen Sie die `permission_policy` eines Tools auf `always_ask`, dann genehmigt `allowedTools` die Aufrufe dieses Tools nicht mehr, sodass sie Ihren [`canUseTool`](https://code.claude.com/docs/de/agent-sdk/user-input)-Callback erreichen können, obwohl das Tool aufgelistet ist. Setzen Sie stattdessen `always_deny`, wird [ein Aufruf des Tools verweigert](https://code.claude.com/docs/de/agent-sdk/permissions.md#how-permissions-are-evaluated), aber ein [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) in einem von Ihnen geladenen Plugin [kann ihn dennoch genehmigen](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods). Das Feld ist nur in TypeScript verfügbar und erfordert Agent SDK v0.3.301 oder höher.

390 

391Platzieren Sie den Richtlinieneintrag in einem `tools`-Array im Konfigurationsobjekt, das `createSdkMcpServer()` zurückgibt, und nicht in der Option `tools`, die Sie an diese Funktion übergeben. Dieses Beispiel übernimmt `weatherServer` per Spread-Syntax aus dem [Wetter-Tool-Beispiel](#weather-tool-example) und fügt ein `tools`-Array hinzu, das `get_temperature` die Richtlinie `always_ask` zuweist:

392 

393```typescript TypeScript theme={null}

394options: {

395 mcpServers: {

396 weather: {

397 ...weatherServer,

398 tools: [{ name: "get_temperature", permission_policy: "always_ask" as const }]

399 }

400 },

401 allowedTools: ["mcp__weather__get_temperature"],

402 permissionMode: "default",

403 canUseTool: async (toolName, input) => {

404 console.log(`Approval requested for ${toolName}`);

405 return { behavior: "allow", updatedInput: input };

406 }

407}

408```

409 

410Um die Richtlinie auszuprobieren, ersetzen Sie die `options` im Skript aus [Ein benutzerdefiniertes Tool aufrufen](#call-a-custom-tool) durch die `options` dieses Beispiels und führen Sie das Skript dann in Ihrem Terminal aus. Das Skript gibt `Approval requested for mcp__weather__get_temperature` aus, gefolgt von Claudes Antwort zur Temperatur. Ein vollständiges Skript finden Sie in der [TypeScript-Referenz](https://code.claude.com/docs/de/agent-sdk/typescript.md#mcpsdkserverconfigwithinstance).

411 

412Wenn Sie den [Berechtigungsmodus](https://code.claude.com/docs/de/agent-sdk/permissions.md#permission-modes) `auto` oder `plan` verwenden, setzen Sie `destructiveHint: true` in den [Annotationen](#add-tool-annotations) des Tools, damit Aufrufe des Tools weiterhin Ihren Callback erreichen. Andernfalls kann der [Klassifikator des Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) einige `always_ask`-Aufrufe unter den [in der TypeScript-Referenz aufgeführten Bedingungen](https://code.claude.com/docs/de/agent-sdk/typescript.md#permission-modes-that-can-approve-an-always_ask-call) genehmigen, und ein von ihm genehmigter Aufruf erreicht Ihren Callback nicht. Setzen Sie den Hinweis explizit, da ein nicht gesetzter `destructiveHint` bei `always_ask`-Aufrufen als `false` gilt, anstatt standardmäßig `true` zu sein.

413 

386## Fehler behandeln414## Fehler behandeln

387 415 

388Ein Handler-Fehler stoppt die Agent-Schleife nicht. Der In-Process-MCP-Server des SDK fängt unerwartete Ausnahmen ab und gibt sie als Fehler-Ergebnisse zurück. Daher bestimmt, wie Sie einen Fehler melden, was Claude liest, nicht ob die Abfrage fehlschlägt:416Ein Handler-Fehler stoppt die Agent-Schleife nicht. Der In-Process-MCP-Server des SDK fängt unerwartete Ausnahmen ab und gibt sie als Fehler-Ergebnisse zurück. Daher bestimmt, wie Sie einen Fehler melden, was Claude liest, nicht ob die Abfrage fehlschlägt:

Details

10 10 

11## Wie Berechtigungen ausgewertet werden11## Wie Berechtigungen ausgewertet werden

12 12 

13> [!NOTE]

14>

15> Wenn Sie ein Plugin laden, das einen [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) enthält, erfahren Sie unter [wo sich die Entscheidungen eines Mods zwischen Regeln und Hooks einordnen](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods) mehr.

16 

13Wenn Claude ein Tool anfordert, prüft das SDK Berechtigungen in dieser Reihenfolge:17Wenn Claude ein Tool anfordert, prüft das SDK Berechtigungen in dieser Reihenfolge:

14 18 

15**1. Hooks**19**1. Hooks**


20 24 

21**2. Deny-Regeln**25**2. Deny-Regeln**

22 26 

23Prüfen Sie `deny` Regeln (aus `disallowed_tools` und [settings.json](https://code.claude.com/docs/de/settings-reference.md#permission-settings)). Wenn eine Deny-Regel zutrifft, wird das Tool blockiert, auch im `bypassPermissions` Modus. Bare-Name Deny-Regeln wie `Bash` entfernen das Tool aus Claudes Kontext, bevor diese Auswertung beginnt, daher werden nur scoped Regeln wie `Bash(rm *)` in diesem Schritt geprüft.27Wenn eine Deny-Regel aus `disallowed_tools` oder [settings.json](https://code.claude.com/docs/de/settings-reference.md#permission-settings) zutrifft, wird der Aufruf abgelehnt und [`canUseTool`](https://code.claude.com/docs/de/agent-sdk/user-input) wird nicht aufgerufen, selbst im [`bypassPermissions`](#bypass-permissions-mode-bypasspermissions) Modus und selbst wenn ein Hook `allow` zurückgegeben hat.

28 

29Wenn Sie im TypeScript SDK die `permission_policy` eines [benutzerdefinierten Tools](https://code.claude.com/docs/de/agent-sdk/custom-tools.md#require-approval-for-specific-tools) auf [`always_deny`](https://code.claude.com/docs/de/agent-sdk/typescript#mcpservertoolpolicy) setzen, wird ein Aufruf dieses Tools in diesem Schritt abgelehnt.

24 30 

25**3. Ask-Regeln**31**3. Ask-Regeln**

26 32 


30 36 

31[claude.ai Connector](https://code.claude.com/docs/de/mcp.md#organization-controls-on-connector-tools) Tools, die Ihre Organisation auf `ask` gesetzt hat, verlassen den Fluss auch in diesem Schritt. Jeder Aufruf fällt in den Callback, auch im `bypassPermissions` Modus und auch wenn eine Allow-Regel zutrifft. Der Callback erhält den Grund `Your organization requires approval for this tool`. Im `dontAsk` Modus wird der Aufruf stattdessen abgelehnt, da dieser Modus niemals auffordert.37[claude.ai Connector](https://code.claude.com/docs/de/mcp.md#organization-controls-on-connector-tools) Tools, die Ihre Organisation auf `ask` gesetzt hat, verlassen den Fluss auch in diesem Schritt. Jeder Aufruf fällt in den Callback, auch im `bypassPermissions` Modus und auch wenn eine Allow-Regel zutrifft. Der Callback erhält den Grund `Your organization requires approval for this tool`. Im `dontAsk` Modus wird der Aufruf stattdessen abgelehnt, da dieser Modus niemals auffordert.

32 38 

39Wenn Sie im TypeScript SDK die `permission_policy` eines benutzerdefinierten Tools auf [`always_ask`](https://code.claude.com/docs/de/agent-sdk/custom-tools#require-approval-for-specific-tools) setzen, genehmigt keine Allow-Regel dessen Aufrufe, nicht einmal ein `allowedTools`-Eintrag. Im `dontAsk` Modus lehnt Claude Code diese Aufrufe ab, und im `auto`, `plan` oder `bypassPermissions` Modus [kann es sie genehmigen](https://code.claude.com/docs/de/agent-sdk/typescript.md#permission-modes-that-can-approve-an-always_ask-call), bevor Ihr Callback ausgeführt wird.

40 

33**4. Berechtigungsmodus**41**4. Berechtigungsmodus**

34 42 

35Wenden Sie den aktiven [Berechtigungsmodus](#permission-modes) an:43Wenden Sie den aktiven [Berechtigungsmodus](#permission-modes) an:

36 44 

37* Im `bypassPermissions` Modus genehmigt Claude Code alles, das diesen Schritt erreicht, außer erkannten [Entfernungen kritischer Pfade](https://code.claude.com/docs/de/permission-modes.md#critical-paths), die stattdessen weitergeleitet werden.45* Im `bypassPermissions` Modus genehmigt Claude Code alles, das diesen Schritt erreicht, außer erkannten [Entfernungen kritischer Pfade](https://code.claude.com/docs/de/permission-modes.md#critical-paths) und Bash-Befehlen, die mit [`Dangerous rm operation not ruled out`](https://code.claude.com/docs/de/permission-modes#dangerous-rm-operation-not-ruled-out) markiert sind; diese werden stattdessen weitergeleitet.

38* Im `acceptEdits` Modus genehmigt Claude Code die unter [Accept edits mode](#accept-edits-mode-acceptedits) aufgelisteten Dateivorgänge.46* Im `acceptEdits` Modus genehmigt Claude Code die unter [Accept edits mode](#accept-edits-mode-acceptedits) aufgelisteten Dateivorgänge.

39* Im `plan` Modus sendet Claude Code Datei-Edit- und Shell-Write-Tools an Ihren `canUseTool` Callback unabhängig von Allow-Regeln, damit Schreibvorgänge während der Planung nicht automatisch genehmigt werden können.47* Im `plan` Modus sendet Claude Code Tools zur Dateibearbeitung unabhängig von Allow-Regeln an Ihren `canUseTool` Callback.

40* In anderen Modi fällt die Anfrage durch.48* In anderen Modi fällt die Anfrage durch.

41 49 

42**5. Allow-Regeln**50**5. Allow-Regeln**

43 51 

44Prüfen Sie `allow` Regeln (aus `allowed_tools` und settings.json). Wenn eine Regel zutrifft, wird das Tool genehmigt. Ein Aufruf, den das Tool selbst genehmigt, wird auch in diesem Schritt aufgelöst, ohne dass eine Regel erforderlich ist: zum Beispiel ein Dateilesezugriff in Ihren Arbeitsverzeichnissen oder ein [schreibgeschützter Bash-Befehl](https://code.claude.com/docs/de/permissions.md#read-only-commands).52Prüfen Sie `allow` Regeln (aus `allowed_tools` und settings.json). Wenn eine Regel zutrifft, wird das Tool genehmigt. Ein Aufruf, den das Tool selbst genehmigt, wird auch in diesem Schritt aufgelöst, ohne dass eine Regel erforderlich ist: zum Beispiel ein Dateilesezugriff in Ihren Arbeitsverzeichnissen oder ein [nur lesender Bash-Befehl](https://code.claude.com/docs/de/permissions.md#read-only-commands).

45 53 

46Erkannte [Entfernungen kritischer Pfade](https://code.claude.com/docs/de/permission-modes.md#critical-paths) werden nicht durch eine Allow-Regel genehmigt. Ob sie dann Ihren Callback erreichen, hängt vom Berechtigungsmodus ab: in einer Agent SDK Sitzung im `auto` Modus lehnt Claude Code sie beispielsweise standardmäßig ab, ohne ihn aufzurufen. Die [Modustabelle für kritische Pfade](https://code.claude.com/docs/de/permission-modes.md#critical-path-removals-in-each-permission-mode) listet auf, was jeder Modus mit ihnen tut.54Erkannte [Entfernungen kritischer Pfade](https://code.claude.com/docs/de/permission-modes.md#critical-paths) werden nicht durch eine Allow-Regel genehmigt, und mit `Dangerous rm operation not ruled out` markierte Befehle werden nicht durch eine `Bash`- oder `Bash(*)`-Regel genehmigt. Ob sie dann Ihren Callback erreichen, hängt vom Berechtigungsmodus ab: in einer Agent SDK Sitzung im `auto` Modus lehnt Claude Code sie beispielsweise standardmäßig ab, ohne ihn aufzurufen. Die [Modustabelle für kritische Pfade](https://code.claude.com/docs/de/permission-modes.md#critical-path-removals-in-each-permission-mode) listet auf, was jeder Modus mit ihnen tut.

47 55 

48Eine Allow-Regel genehmigt keinen Lesezugriff auf einen [Netzwerkpfad](https://code.claude.com/docs/de/permissions.md#network-paths).56Eine Allow-Regel genehmigt keinen Lesezugriff auf einen [Netzwerkpfad](https://code.claude.com/docs/de/permissions.md#network-paths).

49 57 


57 65 

58Wenn Sie einen `canUseTool` Callback in einer Konfiguration übergeben, in der das TypeScript SDK erwartet, dass die Auswertungsreihenfolge Aufrufe automatisch genehmigt, bevor der Callback konsultiert wird, gibt das SDK eine Node.js-Prozesswarnung aus, wenn die Abfrage konstruiert wird. Der Code der Warnung ist `CLAUDE_SDK_CAN_USE_TOOL_SHADOWED`. Zwei Konfigurationen lösen sie aus:66Wenn Sie einen `canUseTool` Callback in einer Konfiguration übergeben, in der das TypeScript SDK erwartet, dass die Auswertungsreihenfolge Aufrufe automatisch genehmigt, bevor der Callback konsultiert wird, gibt das SDK eine Node.js-Prozesswarnung aus, wenn die Abfrage konstruiert wird. Der Code der Warnung ist `CLAUDE_SDK_CAN_USE_TOOL_SHADOWED`. Zwei Konfigurationen lösen sie aus:

59 67 

60* `permissionMode: 'bypassPermissions'`, das jeden Aufruf automatisch genehmigt, der den Berechtigungsmodus-Schritt erreicht, außer den [Aktionen, die kein Modus automatisch genehmigt](https://code.claude.com/docs/de/permission-modes.md#actions-no-mode-auto-approves)68* `permissionMode: 'bypassPermissions'`: Der Warnungstext beginnt mit `canUseTool will not be invoked: permissionMode 'bypassPermissions'`. Tool-Aufrufe werden genehmigt, bevor `canUseTool` konsultiert wird, sodass Ihr Callback nur für wenige Aufrufe ausgeführt wird, etwa für die unter [Bypass permissions mode](#bypass-permissions-mode-bypasspermissions) aufgeführten Aufrufe. Um auch die genehmigten Aufrufe zu prüfen, verlagern Sie die Prüfungen Ihres Callbacks in einen [`PreToolUse` Hook](https://code.claude.com/docs/de/agent-sdk/hooks)

61* Jeder bare `allowedTools` Eintrag wie `"Read"`, der dieses ganze Tool automatisch genehmigt, bevor der Callback konsultiert wird, außer den [Aktionen, die kein Modus automatisch genehmigt](https://code.claude.com/docs/de/permission-modes.md#actions-no-mode-auto-approves) und [Lesezugriffen auf Netzwerkpfade](https://code.claude.com/docs/de/permissions.md#network-paths)69* Ein `allowedTools`-Eintrag, der nur aus einem Tool-Namen besteht, etwa `"Read"`: Die Warnung listet jeden solchen Eintrag nach `canUseTool will not be invoked for:` auf. Aufrufe eines aufgeführten Tools werden genehmigt, bevor `canUseTool` konsultiert wird, abgesehen von den [Aufrufen, die eine Allow-Regel nie genehmigt](#calls-an-allow-rule-never-approves). Damit Ihr Callback für Aufrufe eines aufgeführten Tools ausgeführt wird, die eine Genehmigung benötigen, entfernen Sie den Eintrag dieses Tools aus `allowedTools`

62 70 

63Einträge mit einem Spezifizierer wie `Bash(ls *)` und der `acceptEdits` Modus lösen es nicht aus, und Allow-Regeln aus Einstellungsdateien sind für die Prüfung nicht sichtbar.71Einträge mit einem Spezifizierer wie `Bash(ls *)` und der `acceptEdits` Modus lösen es nicht aus, und Allow-Regeln aus Einstellungsdateien sind für die Prüfung nicht sichtbar.

64 72 

65Hören Sie mit `process.on('warning', ...)` zu und gleichen Sie den Code ab, um ihn zu protokollieren oder zu unterdrücken. Um jeden Tool-Aufruf unabhängig von Modus und Regeln zu steuern, verwenden Sie stattdessen einen [`PreToolUse` Hook](https://code.claude.com/docs/de/agent-sdk/hooks).73Die Warnung blockiert keinen Aufruf und ändert keine Option. Wenn Ihr Callback bereits jeden Aufruf erhält, den Sie prüfen möchten, lassen Sie Ihre Konfiguration unverändert. Um die Warnung zu protokollieren, hören Sie mit `process.on('warning', ...)` zu und gleichen Sie den Code `CLAUDE_SDK_CAN_USE_TOOL_SHADOWED` ab.

66 74 

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

68 76 


90>98>

91> **Automatisch genehmigte Tools erreichen `canUseTool` niemals.** Ein Tool-Aufruf, der in einem früheren Schritt genehmigt wird, durch `acceptEdits` oder `bypassPermissions` oder durch eine Allow-Regel, überspringt Ihren `canUseTool`-Callback, daher werden Berechtigungsprüfungen, die Sie dort durchführen, für dieses Tool stillschweigend umgangen.99> **Automatisch genehmigte Tools erreichen `canUseTool` niemals.** Ein Tool-Aufruf, der in einem früheren Schritt genehmigt wird, durch `acceptEdits` oder `bypassPermissions` oder durch eine Allow-Regel, überspringt Ihren `canUseTool`-Callback, daher werden Berechtigungsprüfungen, die Sie dort durchführen, für dieses Tool stillschweigend umgangen.

92>100>

93> Eine Allow-Regel genehmigt niemals automatisch `AskUserQuestion`, MCP-Tools, die mit [`_meta["anthropic/requiresUserInteraction"]`](https://code.claude.com/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind, Konnektor-Tools, [die Ihre Organisation auf `ask` gesetzt hat](https://code.claude.com/docs/de/mcp#organization-controls-on-connector-tools), oder erkannte `rm`- und `rmdir`-[Entfernungen kritischer Pfade](https://code.claude.com/docs/de/permission-modes.md#critical-paths). Im `dontAsk`-Modus lehnt Claude Code diese Aufrufe ab, ohne den Callback aufzurufen. In anderen Modi erreichen die ersten drei den Callback. Die [Tabelle der Modi für kritische Pfade](https://code.claude.com/docs/de/permission-modes.md#critical-path-removals-in-each-permission-mode) listet auf, was jeder Modus mit einer Entfernung eines kritischen Pfads macht. Die Prüfung, die diese Entfernungen erkennt, [kann einige Befehle übersehen](https://code.claude.com/docs/de/permission-modes.md#critical-paths).101> Wenn Aufrufe eines Tools in `allowed_tools` dennoch Ihren `canUseTool`-Callback erreichen oder im `dontAsk`-Modus abgelehnt werden, prüfen Sie, ob es sich um [Lesezugriffe auf Netzwerkpfade](https://code.claude.com/docs/de/permissions.md#network-paths) oder um einen der folgenden Aufrufe handelt. Keine Allow-Regel genehmigt diese Aufrufe. Im `dontAsk`-Modus, der nie nachfragt, lehnt Claude Code sie ab, ohne `canUseTool` aufzurufen, und in den anderen Berechtigungsmodi behandeln Sie sie so, wie es der jeweilige Punkt beschreibt:

102>

103> * `AskUserQuestion`, MCP-Tools, die mit [`_meta["anthropic/requiresUserInteraction"]`](https://code.claude.com/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind, und Konnektor-Tools, [die Ihre Organisation auf `ask` gesetzt hat](https://code.claude.com/docs/de/mcp#organization-controls-on-connector-tools): Beantworten Sie sie im Callback. [Rückfragen behandeln](https://code.claude.com/docs/de/agent-sdk/user-input.md#handle-clarifying-questions) zeigt, wie Sie `AskUserQuestion` beantworten, und ein Konnektor-Aufruf kommt mit dem Grund `Your organization requires approval for this tool` an

104>

105> * Benutzerdefinierte Tools, die Ihre Anwendung mit [`always_ask`](https://code.claude.com/docs/de/agent-sdk/custom-tools#require-approval-for-specific-tools) kennzeichnet: Entscheiden Sie über den Aufruf im Callback. Damit diese Aufrufe nicht mehr ankommen, [ändern Sie die Richtlinie während der Sitzung](https://code.claude.com/docs/de/agent-sdk/typescript.md#mcpsdkserverconfigwithinstance). In den Modi `auto`, `plan` und `bypassPermissions` kann der Aufruf stattdessen vor dem Callback genehmigt werden, und zwar in den Fällen, die unter [Berechtigungsmodi, die einen `always_ask`-Aufruf genehmigen können](https://code.claude.com/docs/de/agent-sdk/typescript#permission-modes-that-can-approve-an-always_ask-call) aufgeführt sind

94>106>

95> Die Abdeckung hängt von der Form des Eintrags ab: ein bloßer Name wie `Read` oder `mcp__github__get_issue` genehmigt automatisch jeden Aufruf dieses Tools außer den oben genannten Ausnahmen und [Lesezugriffen auf Netzwerkpfade](https://code.claude.com/docs/de/permissions.md#network-paths), während eine begrenzte Regel wie `Bash(npm test *)` nur übereinstimmende Aufrufe automatisch genehmigt, und andere `Bash`-Aufrufe, die Genehmigung benötigen, fallen immer noch durch zum Callback. Für Prüfungen, die bei jedem Tool-Aufruf ausgeführt werden müssen, verwenden Sie einen [`PreToolUse`-Hook](https://code.claude.com/docs/de/agent-sdk/hooks): Hooks werden vor jedem anderen Schritt ausgeführt, und eine Hook-Ablehnung gilt auch im `bypassPermissions`-Modus.107> * Erkannte `rm`- und `rmdir`-[Entfernungen kritischer Pfade](https://code.claude.com/docs/de/permission-modes.md#critical-paths): Im Modus `default`, `acceptEdits` und `bypassPermissions` erlauben oder verweigern Sie die Entfernung im Callback, wobei [`decisionReason`](https://code.claude.com/docs/de/agent-sdk/typescript#canusetool) mit `Dangerous rm` beginnt. Für die Modi `auto` und `plan` siehe [Entfernungen kritischer Pfade in jedem Berechtigungsmodus](https://code.claude.com/docs/de/permission-modes.md#critical-path-removals-in-each-permission-mode). Die Prüfung, die diese Entfernungen erkennt, [kann einige Befehle übersehen](https://code.claude.com/docs/de/permission-modes.md#critical-paths)

108>

109> * **Bloßer Name**: Ein Eintrag wie `Read` oder `mcp__github__get_issue` genehmigt automatisch jeden Aufruf dieses Tools, abgesehen von den [Aktionen, die kein Modus automatisch genehmigt](https://code.claude.com/docs/de/permission-modes.md#actions-no-mode-auto-approves), und [Lesezugriffen auf Netzwerkpfade](https://code.claude.com/docs/de/permissions.md#network-paths).

110>

111> * **Begrenzte Regel**: Ein Eintrag wie `Bash(npm test *)` genehmigt nur übereinstimmende Aufrufe automatisch, und andere `Bash`-Aufrufe, die Genehmigung benötigen, fallen weiterhin durch zum Callback.

112>

113> Für Prüfungen, die bei jedem Tool-Aufruf ausgeführt werden müssen, verwenden Sie einen [`PreToolUse`-Hook](https://code.claude.com/docs/de/agent-sdk/hooks): Hooks werden vor jedem anderen Schritt ausgeführt, und eine Hook-Ablehnung gilt auch im `bypassPermissions`-Modus.

96 114 

97Für einen abgesperrten Agent kombinieren Sie `allowedTools` mit `permissionMode: "dontAsk"`:115Für einen abgesperrten Agent kombinieren Sie `allowedTools` mit `permissionMode: "dontAsk"`:

98 116 


103};121};

104```122```

105 123 

106Aufgelistete Tools werden genehmigt, außer den [Aktionen, die kein Modus automatisch genehmigt](https://code.claude.com/docs/de/permission-modes.md#actions-no-mode-auto-approves), und [Lesezugriffen auf Netzwerkpfade](https://code.claude.com/docs/de/permissions.md#network-paths). Jeder andere Aufruf, der sonst eine Berechtigungsabfrage auslösen würde, wird stattdessen abgelehnt, wobei ein von Ihnen installierter [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) [einige dieser Aufrufe](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods) dennoch genehmigen kann.124Die aufgelisteten `Read`-, `Glob`- und `Grep`-Aufrufe werden genehmigt, außer den [Aktionen, die kein Modus automatisch genehmigt](https://code.claude.com/docs/de/permission-modes.md#actions-no-mode-auto-approves), und [Lesezugriffen auf Netzwerkpfade](https://code.claude.com/docs/de/permissions.md#network-paths). Jeder andere Aufruf, der sonst eine Berechtigungsabfrage auslösen würde, wird stattdessen abgelehnt, wobei ein von Ihnen installierter [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) [einige dieser Aufrufe](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods) dennoch genehmigen kann.

107 125 

108Aufrufe, die im `default`-Modus keine Genehmigung benötigen, werden ausgeführt, unabhängig davon, ob Sie sie aufgelistet haben oder nicht. Dazu gehören [nur lesende Bash-Befehle](https://code.claude.com/docs/de/permissions.md#read-only-commands), Tools wie `Agent`, die vor dem Ausführen nicht fragen, und Dateilesevorgänge in Ihren Arbeitsverzeichnissen. Um ein Tool vollständig aus der Anfrage zu entfernen, fügen Sie seinen bloßen Namen zu `disallowedTools` hinzu.126Aufrufe, die im `default`-Modus keine Genehmigung benötigen, werden ausgeführt, unabhängig davon, ob Sie sie aufgelistet haben oder nicht. Dazu gehören [nur lesende Bash-Befehle](https://code.claude.com/docs/de/permissions.md#read-only-commands), Tools wie `Agent`, die vor dem Ausführen nicht fragen, und Dateilesevorgänge in Ihren Arbeitsverzeichnissen. Um ein integriertes Tool vollständig vor Claude zu verbergen, statt seine Aufrufe abzulehnen, fügen Sie seinen bloßen Namen zu `disallowedTools` hinzu.

109 127 

110> [!WARNING]128> [!WARNING]

111>129>


128| `default` | Standardberechtigungsverhalten | Keine modusbasierten automatischen Genehmigungen; Aufrufe, die eine Genehmigung benötigen und keine Allow-Regel erfüllen, lösen Ihren `canUseTool`-Callback aus |146| `default` | Standardberechtigungsverhalten | Keine modusbasierten automatischen Genehmigungen; Aufrufe, die eine Genehmigung benötigen und keine Allow-Regel erfüllen, lösen Ihren `canUseTool`-Callback aus |

129| `dontAsk` | Ablehnung statt Nachfrage | Jeder Aufruf, der sonst eine Nachfrage auslösen würde, wird abgelehnt, ohne `canUseTool` aufzurufen, wobei ein von Ihnen installierter [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) [einige dieser Aufrufe](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods) dennoch genehmigen kann. Aufrufe, die von `allowed_tools` oder `settings.json`-Allow-Regeln genehmigt werden, werden ausgeführt, ebenso wie Aufrufe, die im `default`-Modus keine Genehmigung benötigen. Einige Aufrufe, wie [Lesezugriffe auf Netzwerkpfade](https://code.claude.com/docs/de/permissions.md#network-paths), werden abgelehnt, auch wenn `allowed_tools` oder eine Allow-Regel auf sie zutrifft. Die Liste finden Sie unter [Nicht-Fragen-Modus](#don’t-ask-mode-dontask) |147| `dontAsk` | Ablehnung statt Nachfrage | Jeder Aufruf, der sonst eine Nachfrage auslösen würde, wird abgelehnt, ohne `canUseTool` aufzurufen, wobei ein von Ihnen installierter [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) [einige dieser Aufrufe](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods) dennoch genehmigen kann. Aufrufe, die von `allowed_tools` oder `settings.json`-Allow-Regeln genehmigt werden, werden ausgeführt, ebenso wie Aufrufe, die im `default`-Modus keine Genehmigung benötigen. Einige Aufrufe, wie [Lesezugriffe auf Netzwerkpfade](https://code.claude.com/docs/de/permissions.md#network-paths), werden abgelehnt, auch wenn `allowed_tools` oder eine Allow-Regel auf sie zutrifft. Die Liste finden Sie unter [Nicht-Fragen-Modus](#don’t-ask-mode-dontask) |

130| `acceptEdits` | Dateibearbeitungen automatisch akzeptieren | Dateibearbeitungen und [Dateisystemoperationen](#accept-edits-mode-acceptedits) (`mkdir`, `rm`, `mv` usw.) werden automatisch genehmigt |148| `acceptEdits` | Dateibearbeitungen automatisch akzeptieren | Dateibearbeitungen und [Dateisystemoperationen](#accept-edits-mode-acceptedits) (`mkdir`, `rm`, `mv` usw.) werden automatisch genehmigt |

131| `bypassPermissions` | Berechtigungsprüfungen umgehen | Tools werden ohne Berechtigungsaufforderungen ausgeführt, außer für die [Aktionen, die kein Modus automatisch genehmigt](https://code.claude.com/docs/de/permission-modes.md#actions-no-mode-auto-approves). Mit Vorsicht verwenden |149| `bypassPermissions` | Berechtigungsprüfungen umgehen | Tools werden ohne Berechtigungsabfragen ausgeführt, außer für die [Aktionen, die kein Modus automatisch genehmigt](https://code.claude.com/docs/de/permission-modes.md#actions-no-mode-auto-approves) und, außerhalb einer [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md), benutzerdefinierte Tools, die Ihre Anwendung [als `always_ask` kennzeichnet](https://code.claude.com/docs/de/agent-sdk/custom-tools#require-approval-for-specific-tools). Mit Vorsicht verwenden |

132| `plan` | Planungsmodus | Claude erkundet und plant, ohne Ihre Quelldateien zu bearbeiten; Dateibearbeitungen werden nie automatisch genehmigt und werden durch Ihren `canUseTool`-Callback abgefragt |150| `plan` | Planungsmodus | Claude erkundet und plant, ohne Ihre Quelldateien zu bearbeiten; Dateibearbeitungen werden nie automatisch genehmigt und werden durch Ihren `canUseTool`-Callback abgefragt |

133| `auto` | Modellklassifizierte Genehmigungen | Ein Modellklassifizierer überprüft Aktionen wie Shell-Befehle und Netzwerkanfragen und genehmigt oder blockiert jede überprüfte Aktion. Siehe [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) für Verfügbarkeit und die Entscheidungsreihenfolge |151| `auto` | Modellklassifizierte Genehmigungen | Ein Modellklassifizierer überprüft Aktionen wie Shell-Befehle und Netzwerkanfragen und genehmigt oder blockiert jede überprüfte Aktion. Siehe [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) für Verfügbarkeit und die Entscheidungsreihenfolge |

134 152 


256* An einem Pfad außerhalb dieses Bereichs arbeitet274* An einem Pfad außerhalb dieses Bereichs arbeitet

257* In einen geschützten Pfad schreibt275* In einen geschützten Pfad schreibt

258* Einen Pfad, den Claude Code als [kritischen Pfad](https://code.claude.com/docs/de/permission-modes.md#critical-paths) erkennt, mit `rm` oder `rmdir` löscht276* Einen Pfad, den Claude Code als [kritischen Pfad](https://code.claude.com/docs/de/permission-modes.md#critical-paths) erkennt, mit `rm` oder `rmdir` löscht

277* [`touch`](https://code.claude.com/docs/de/permission-modes#auto-approve-file-edits-with-acceptedits-mode) beispielsweise mit einer Option, einem Glob oder einem Präfix wie `timeout 5` oder `LANG=C` ausführt

259 278 

260**Verwenden Sie, wenn:** Sie Claudes Bearbeitungen vertrauen und schnellere Iteration wünschen, z. B. während der Prototypenerstellung oder beim Arbeiten in einem isolierten Verzeichnis.279**Verwenden Sie, wenn:** Sie Claudes Bearbeitungen vertrauen und schnellere Iteration wünschen, z. B. während der Prototypenerstellung oder beim Arbeiten in einem isolierten Verzeichnis.

261 280 


263 282 

264Konvertiert jede Berechtigungsabfrage in eine Ablehnung, ohne `canUseTool` aufzurufen, wobei ein von Ihnen installierter [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) [einige dieser Aufrufe](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods) dennoch genehmigen kann. Tools, die von `allowed_tools`, `settings.json`-Allow-Regeln oder einem Hook vorab genehmigt wurden, werden normal ausgeführt. Aufrufe, die im `default`-Modus keine Genehmigung benötigen, werden ebenfalls ausgeführt, wie Dateilesevorgänge in Ihren Arbeitsverzeichnissen und Aufrufe an `Agent`.283Konvertiert jede Berechtigungsabfrage in eine Ablehnung, ohne `canUseTool` aufzurufen, wobei ein von Ihnen installierter [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) [einige dieser Aufrufe](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods) dennoch genehmigen kann. Tools, die von `allowed_tools`, `settings.json`-Allow-Regeln oder einem Hook vorab genehmigt wurden, werden normal ausgeführt. Aufrufe, die im `default`-Modus keine Genehmigung benötigen, werden ebenfalls ausgeführt, wie Dateilesevorgänge in Ihren Arbeitsverzeichnissen und Aufrufe an `Agent`.

265 284 

266Konnektor-Tools, [die Ihre Organisation auf `ask` gesetzt hat](https://code.claude.com/docs/de/mcp#organization-controls-on-connector-tools), Tools, die Benutzerinteraktion erfordern, [Lesezugriffe auf Netzwerkpfade](https://code.claude.com/docs/de/permissions.md#network-paths) und erkannte [Löschungen kritischer Pfade](https://code.claude.com/docs/de/permission-modes.md#critical-paths) werden abgelehnt, auch wenn eine Allow-Regel übereinstimmt. Ein `PreToolUse`-Hook-Allow hebt weder eine erkannte Löschung eines kritischen Pfads noch einen Lesezugriff auf einen Netzwerkpfad auf. Die Prüfung, die diese Löschungen erkennt, [kann einige Befehle übersehen](https://code.claude.com/docs/de/permission-modes.md#critical-paths).285Diese Aufrufe werden abgelehnt, auch wenn eine Allow-Regel übereinstimmt:

286 

287* Konnektor-Tools, [die Ihre Organisation auf `ask` gesetzt hat](https://code.claude.com/docs/de/mcp#organization-controls-on-connector-tools)

288* Tools, die Benutzerinteraktion erfordern, wie `AskUserQuestion` und MCP-Tools, deren Server [`_meta["anthropic/requiresUserInteraction"]`](https://code.claude.com/docs/de/mcp#require-approval-for-a-specific-tool) setzt

289* Benutzerdefinierte Tools, deren `permission_policy` Ihre Anwendung auf [`always_ask`](https://code.claude.com/docs/de/agent-sdk/custom-tools#require-approval-for-specific-tools) setzt

290* [Lesezugriffe auf Netzwerkpfade](https://code.claude.com/docs/de/permissions.md#network-paths)

291* Erkannte [Löschungen kritischer Pfade](https://code.claude.com/docs/de/permission-modes.md#critical-paths)

292 

293Wenn Ihr `PreToolUse`-Hook `allow` für eine erkannte Löschung eines kritischen Pfads, einen Lesezugriff auf einen Netzwerkpfad oder einen Aufruf eines als `always_ask` gekennzeichneten Tools zurückgibt, wird der Aufruf dennoch abgelehnt. Die Prüfung, die diese Löschungen erkennt, [kann einige Befehle übersehen](https://code.claude.com/docs/de/permission-modes.md#critical-paths).

267 294 

268**Verwenden Sie, wenn:** Sie eine feste, explizite Tool-Oberfläche für einen Headless-Agent wünschen und eine harte Ablehnung gegenüber stiller Abhängigkeit von fehlender `canUseTool` bevorzugen.295**Verwenden Sie, wenn:** Sie eine feste, explizite Tool-Oberfläche für einen Headless-Agent wünschen und eine harte Ablehnung gegenüber stiller Abhängigkeit von fehlender `canUseTool` bevorzugen.

269 296 

270#### Berechtigungen umgehen-Modus (`bypassPermissions`)297#### Berechtigungen umgehen-Modus (`bypassPermissions`)

271 298 

272Genehmigt Tool-Nutzungen automatisch ohne Aufforderung, außer in den unten aufgeführten Fällen. Hooks werden weiterhin ausgeführt und können Vorgänge bei Bedarf blockieren. Auf Linux und macOS weigert sich Claude Code, in diesem Modus als Root oder unter `sudo` außerhalb einer [erkannten Sandbox](https://code.claude.com/docs/de/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) zu starten, und die Abfrage schlägt vor dem ersten Turn fehl.299Genehmigt Tool-Nutzungen automatisch ohne Nachfrage, außer bei den [Aktionen, die kein Modus automatisch genehmigt](https://code.claude.com/docs/de/permission-modes.md#actions-no-mode-auto-approves). Hooks werden weiterhin ausgeführt und können Vorgänge bei Bedarf blockieren. Auf Linux und macOS weigert sich Claude Code, in diesem Modus als Root oder unter `sudo` außerhalb einer [erkannten Sandbox](https://code.claude.com/docs/de/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) zu starten, und die Abfrage schlägt vor dem ersten Turn fehl.

273 300 

274> [!WARNING]301> [!WARNING]

275>302>


278> `allowed_tools` beschränkt diesen Modus nicht. Jedes Tool wird genehmigt, nicht nur die, die Sie aufgelistet haben. Diese Kontrollen gelten weiterhin:305> `allowed_tools` beschränkt diesen Modus nicht. Jedes Tool wird genehmigt, nicht nur die, die Sie aufgelistet haben. Diese Kontrollen gelten weiterhin:

279>306>

280> * Deny-Regeln, explizite `ask`-Regeln und Hooks werden vor der Modusüberprüfung ausgewertet und können ein Tool weiterhin blockieren.307> * Deny-Regeln, explizite `ask`-Regeln und Hooks werden vor der Modusüberprüfung ausgewertet und können ein Tool weiterhin blockieren.

281> * Konnektor-Tools, [die Ihre Organisation auf `ask` gesetzt hat](https://code.claude.com/docs/de/mcp#organization-controls-on-connector-tools), Tools, die Benutzerinteraktion erfordern, und erkannte [Löschungen kritischer Pfade](https://code.claude.com/docs/de/permission-modes.md#critical-paths) fallen weiterhin in Ihren `canUseTool`-Callback. Die Prüfung, die diese Löschungen erkennt, [kann einige Befehle übersehen](https://code.claude.com/docs/de/permission-modes.md#critical-paths).308> * Konnektor-Tools, [die Ihre Organisation auf `ask` gesetzt hat](https://code.claude.com/docs/de/mcp#organization-controls-on-connector-tools), Tools, die Benutzerinteraktion erfordern, und erkannte [Löschungen kritischer Pfade](https://code.claude.com/docs/de/permission-modes.md#critical-paths) fallen weiterhin in Ihren `canUseTool`-Callback. Die Prüfung, die diese Löschungen erkennt, [kann einige Befehle übersehen](https://code.claude.com/docs/de/permission-modes.md#critical-paths). Außerhalb einer [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md) fallen auch Aufrufe benutzerdefinierter Tools, die Ihre Anwendung [als `always_ask` kennzeichnet](https://code.claude.com/docs/de/agent-sdk/custom-tools#require-approval-for-specific-tools), in den Callback.

282> * Die [Sitzungsübergreifenden Messaging-Schutzmaßnahmen](https://code.claude.com/docs/de/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) gelten weiterhin.309> * Die [Sitzungsübergreifenden Messaging-Schutzmaßnahmen](https://code.claude.com/docs/de/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) gelten weiterhin.

283 310 

284#### Planungsmodus (`plan`)311#### Planungsmodus (`plan`)

285 312 

286Claude erkundet die Codebasis und erstellt einen Plan, ohne Ihre Quelldateien zu bearbeiten. Read-only-Tools werden wie im `default`-Berechtigungsmodus ausgeführt.313Claude erkundet die Codebasis und erstellt einen Plan, ohne Ihre Quelldateien zu bearbeiten. Dateibearbeitungen werden im Plan-Modus nie automatisch genehmigt, auch wenn eine Allow-Regel übereinstimmt oder ein `PreToolUse`-Hook `allow` zurückgibt. Sie werden stattdessen durch Ihren `canUseTool`-Callback abgefragt.

287 314 

288Dateibearbeitungen werden im Plan-Modus nie automatisch genehmigt, auch wenn eine Allow-Regel übereinstimmt oder ein `PreToolUse`-Hook `allow` zurückgibt. Sie werden stattdessen durch Ihren `canUseTool`-Callback abgefragt. In Claude Code v2.1.212 oder später erreichen Shell-Befehle, die Dateien ändern, wie `touch` und `rm`, Ihren `canUseTool`-Callback auf die gleiche Weise.315Solange der Auto-Modus für die Sitzung verfügbar ist, erreichen Befehle, die Claude während der Planung ausführt, Ihren Callback standardmäßig nicht, da das Klassifikatormodell, das der [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) verwendet, [sie stattdessen überprüft](https://code.claude.com/docs/de/permission-modes.md#analyze-before-you-edit-with-plan-mode). Ist diese Überprüfung aktiv, kann der Klassifikator auch nur lesende Aufrufe genehmigen, die sonst Ihren Callback erreichen würden, etwa einen `WebFetch`-Aufruf ohne Allow-Regel.

289 316 

290Wenn Sie im TypeScript SDK `allowDangerouslySkipPermissions: true` zusammen mit `permissionMode: 'plan'` festlegen, erreichen Dateibearbeitungen und Shell-Befehle, die Dateien ändern, weiterhin Ihren `canUseTool`-Callback. Die Option ermöglicht es Ihnen, später mit `setPermissionMode()` zu `bypassPermissions` zu wechseln.317> [!NOTE]

318>

319> Wenn Sie im TypeScript SDK `allowDangerouslySkipPermissions: true` zusammen mit `permissionMode: 'plan'` festlegen, erreichen Dateibearbeitungen weiterhin Ihren `canUseTool`-Callback. Um eine Sitzung, die im Plan-Modus startet, später mit `setPermissionMode()` auf `bypassPermissions` umzustellen, muss `allowDangerouslySkipPermissions` von Anfang an gesetzt sein.

291 320 

292Claude kann `AskUserQuestion` verwenden, um Anforderungen zu klären, bevor der Plan abgeschlossen wird. Siehe [Genehmigungen und Benutzereingaben verarbeiten](https://code.claude.com/docs/de/agent-sdk/user-input.md#handle-clarifying-questions) für die Verarbeitung dieser Aufforderungen.321Claude kann `AskUserQuestion` verwenden, um Anforderungen zu klären, bevor der Plan abgeschlossen wird. Siehe [Genehmigungen und Benutzereingaben verarbeiten](https://code.claude.com/docs/de/agent-sdk/user-input.md#handle-clarifying-questions) für die Verarbeitung dieser Aufforderungen.

293 322 

Details

70>70>

71> Der Pfad sollte auf das Root-Verzeichnis des Plugins verweisen: das übergeordnete Verzeichnis von `skills/`, `agents/`, `hooks/`, `commands/` oder `.claude-plugin/`.71> Der Pfad sollte auf das Root-Verzeichnis des Plugins verweisen: das übergeordnete Verzeichnis von `skills/`, `agents/`, `hooks/`, `commands/` oder `.claude-plugin/`.

72 72 

73### Plugins zu einer laufenden Sitzung hinzufügen

74 

75Rufen Sie im TypeScript SDK [`reloadPlugins()`](https://code.claude.com/docs/de/agent-sdk/typescript#load-more-plugin-folders-with-addplugins) für das `Query`-Objekt auf, das `query()` zurückgegeben hat, und geben Sie das Plugin-Verzeichnis in der Option `addPlugins` dieses Aufrufs an. Jeder Eintrag in `addPlugins` ist ein `{ type: "local", path }`-Objekt mit einem absoluten `path`. Erfordert TypeScript Agent SDK v0.3.301 oder höher.

76 

77In diesem Beispiel ist `q` das `Query`-Objekt, das `query()` zurückgegeben hat. Das Beispiel fügt der laufenden Sitzung ein Plugin-Verzeichnis hinzu und gibt, nachdem `reloadPlugins()` zurückgekehrt ist, den Pfad jedes Plugins in der Sitzung aus:

78 

79```typescript theme={null}

80const result = await q.reloadPlugins({

81 addPlugins: [{ type: "local", path: "/home/user/plugins/another-plugin" }]

82});

83 

84console.log(result.plugins.map((plugin) => plugin.path));

85```

86 

87Wenn das Plugin geladen wurde, enthält die ausgegebene Liste `/home/user/plugins/another-plugin`. Wenn dieser Pfad in der Liste fehlt oder `reloadPlugins()` abgelehnt wird, finden Sie die Ursachen unter [Wenn `reloadPlugins()` die `addPlugins`-Ordner nicht lädt](https://code.claude.com/docs/de/agent-sdk/typescript#when-reloadplugins-doesnt-load-the-addplugins-folders).

88 

73## Plugin-Installation überprüfen89## Plugin-Installation überprüfen

74 90 

75Wenn Plugins erfolgreich geladen werden, erscheinen sie in der Systeminitalisierungsmeldung. Sie können überprüfen, dass Ihre Plugins verfügbar sind:91Wenn Plugins erfolgreich geladen werden, erscheinen sie in der Systeminitalisierungsmeldung. Sie können überprüfen, dass Ihre Plugins verfügbar sind:

Details

200| :- | :- | :- | :- |200| :- | :- | :- | :- |

201| `title` | `string` | `undefined` | Benutzerfreundlicher Titel für das Tool |201| `title` | `string` | `undefined` | Benutzerfreundlicher Titel für das Tool |

202| `readOnlyHint` | `boolean` | `false` | Wenn `true`, ändert das Tool seine Umgebung nicht |202| `readOnlyHint` | `boolean` | `false` | Wenn `true`, ändert das Tool seine Umgebung nicht |

203| `destructiveHint` | `boolean` | `true` | Wenn `true`, kann das Tool destruktive Aktualisierungen durchführen (nur sinnvoll, wenn `readOnlyHint` `false` ist) |203| `destructiveHint` | `boolean` | `true` | Wenn `true`, kann das Tool destruktive Aktualisierungen durchführen. Setzen Sie `destructiveHint: true` explizit für jedes Tool, das Sie als [`always_ask`](#mcpservertoolpolicy) markieren, da sonst der Klassifikator des Auto-Modus die Aufrufe dieses Tools anstelle Ihres `canUseTool`-Callbacks genehmigen kann. Es reicht nicht aus, `destructiveHint` ungesetzt zu lassen, da Claude Code ein nicht gesetztes `destructiveHint` bei der Verarbeitung von `always_ask`-Aufrufen als `false` behandelt, obwohl der Standardwert der MCP-Spezifikation `true` ist |

204| `idempotentHint` | `boolean` | `false` | Wenn `true`, haben wiederholte Aufrufe mit denselben Argumenten keine zusätzliche Auswirkung (nur sinnvoll, wenn `readOnlyHint` `false` ist) |204| `idempotentHint` | `boolean` | `false` | Wenn `true`, haben wiederholte Aufrufe mit denselben Argumenten keine zusätzliche Auswirkung (nur sinnvoll, wenn `readOnlyHint` `false` ist) |

205| `openWorldHint` | `boolean` | `true` | Wenn `true`, interagiert das Tool mit externen Entitäten (beispielsweise Websuche). Wenn `false`, ist die Domäne des Tools geschlossen (beispielsweise ein Memory-Tool) |205| `openWorldHint` | `boolean` | `true` | Wenn `true`, interagiert das Tool mit externen Entitäten (beispielsweise Websuche). Wenn `false`, ist die Domäne des Tools geschlossen (beispielsweise ein Memory-Tool) |

206 206 


630 ): Promise<SDKControlReadFileResponse | null>;630 ): Promise<SDKControlReadFileResponse | null>;

631 reloadPlugins(options?: {631 reloadPlugins(options?: {

632 holdOnCacheImpact?: boolean;632 holdOnCacheImpact?: boolean;

633 addPlugins?: SdkPluginConfig[];

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

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

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


669| `mcpServerStatus()` | Gibt den Status verbundener MCP-Server als [`McpServerStatus`](#mcpserverstatus)`[]` zurück |670| `mcpServerStatus()` | Gibt den Status verbundener MCP-Server als [`McpServerStatus`](#mcpserverstatus)`[]` zurück |

670| `getContextUsage(opts?)` | Gibt eine [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) zurück, die die Nutzung des Kontextfensters der Sitzung nach Kategorie, Skill und Tool aufschlüsselt. Mit dem Standardwert von `detail` enthält sie die Daten, die `/context` in einer interaktiven Sitzung anzeigt, berechnet mit Token-Counting-API-Anfragen, die nicht im Nachrichtenstream erscheinen; siehe [wie diese Anfragen behandelt werden](#sdkcontrolgetcontextusageresponse). Die [Option `detail`](#sdkcontrolgetcontextusageresponse) erfordert Agent SDK v0.3.257 oder höher |671| `getContextUsage(opts?)` | Gibt eine [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) zurück, die die Nutzung des Kontextfensters der Sitzung nach Kategorie, Skill und Tool aufschlüsselt. Mit dem Standardwert von `detail` enthält sie die Daten, die `/context` in einer interaktiven Sitzung anzeigt, berechnet mit Token-Counting-API-Anfragen, die nicht im Nachrichtenstream erscheinen; siehe [wie diese Anfragen behandelt werden](#sdkcontrolgetcontextusageresponse). Die [Option `detail`](#sdkcontrolgetcontextusageresponse) erfordert Agent SDK v0.3.257 oder höher |

671| `readFile(path, options?)` | Liest eine Datei aus dem Dateisystem der Sitzung. Claude Code löst den Pfad relativ zu `cwd` auf; [Was `readFile()` lesen kann](#what-readfile-can-read) listet die Dateien auf, die bereitgestellt werden. Übergeben Sie `{ maxBytes }`, um die Leseobergrenze zu ändern (Standard 1 MB, Maximum 10 MB), und `{ encoding: 'base64' }` für Binärdateien wie Bilder. Wird mit einer [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse) aufgelöst oder bei verweigerter Berechtigung, fehlender Datei oder Transportfehler mit `null`. Erfordert TypeScript SDK v0.2.121 oder höher |672| `readFile(path, options?)` | Liest eine Datei aus dem Dateisystem der Sitzung. Claude Code löst den Pfad relativ zu `cwd` auf; [Was `readFile()` lesen kann](#what-readfile-can-read) listet die Dateien auf, die bereitgestellt werden. Übergeben Sie `{ maxBytes }`, um die Leseobergrenze zu ändern (Standard 1 MB, Maximum 10 MB), und `{ encoding: 'base64' }` für Binärdateien wie Bilder. Wird mit einer [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse) aufgelöst oder bei verweigerter Berechtigung, fehlender Datei oder Transportfehler mit `null`. Erfordert TypeScript SDK v0.2.121 oder höher |

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

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

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

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


1135 1136 

1136`cache_impact` ist nur zusammen mit `held: true` vorhanden. `mcp_servers_added` und `mcp_servers_removed` nennen die Plugin-MCP-Server, die das Neuladen registrieren oder entfernen würde, als eingeschränkte Namen der Form `plugin:<plugin>:<server>`. Die Namen stammen von Plugin-Autoren; validieren Sie sie daher, bevor Sie sie anzeigen. `lsp_tool_change` gibt an, ob das Anwenden das LSP-Tool hinzufügen oder entfernen würde, oder ist `null`, wenn beides nicht zutrifft. Die `may-`-Formen bedeuten, dass die Prüfung die ausstehende Plugin-Menge nicht vollständig einsehen konnte.1137`cache_impact` ist nur zusammen mit `held: true` vorhanden. `mcp_servers_added` und `mcp_servers_removed` nennen die Plugin-MCP-Server, die das Neuladen registrieren oder entfernen würde, als eingeschränkte Namen der Form `plugin:<plugin>:<server>`. Die Namen stammen von Plugin-Autoren; validieren Sie sie daher, bevor Sie sie anzeigen. `lsp_tool_change` gibt an, ob das Anwenden das LSP-Tool hinzufügen oder entfernen würde, oder ist `null`, wenn beides nicht zutrifft. Die `may-`-Formen bedeuten, dass die Prüfung die ausstehende Plugin-Menge nicht vollständig einsehen konnte.

1137 1138 

1139#### Weitere Plugin-Ordner mit `addPlugins` laden

1140 

1141Um Plugin-Ordner zu laden, die beim Start nicht in der Option [`plugins`](#options) enthalten waren, übergeben Sie sie an `reloadPlugins()` als `addPlugins`, eine Liste von [`SdkPluginConfig`](#sdkpluginconfig)-Einträgen, deren `path` absolut ist. Claude Code lädt die neuen Ordner und lädt die vorhandenen Plugins der Sitzung in einem Durchgang neu. Die MCP-Server jedes hinzugefügten Plugins werden ebenfalls verbunden, sofern Sie nicht [`skipMcpDiscovery`](#sdkpluginconfig) im Eintrag dieses Ordners setzen. Erfordert Agent SDK v0.3.301 oder höher und Claude Code v2.1.301 oder höher.

1142 

1143Dieses Beispiel fügt einer laufenden Abfrage `q` einen Ordner hinzu und gibt den Installationspfad jedes Plugins aus, das die Sitzung geladen hat, wenn der Aufruf zurückkehrt:

1144 

1145```typescript theme={null}

1146const result = await q.reloadPlugins({

1147 addPlugins: [{ type: "local", path: "/opt/my-app/plugins/reports" }]

1148});

1149 

1150console.log(result.plugins.map((plugin) => plugin.path));

1151```

1152 

1153Wenn der Ordner geladen wurde, enthält die ausgegebene Liste `/opt/my-app/plugins/reports`, und die Befehle und Subagenten des Plugins erscheinen in `result.commands` und `result.agents`.

1154 

1155Ein hinzugefügter Ordner bleibt Teil der Sitzung. Wenn Sie `reloadPlugins()` erneut aufrufen, lädt Claude Code ihn zusammen mit den anderen Plugins neu, und Sie übergeben ihn nicht erneut in `addPlugins`.

1156 

1157##### Wenn `reloadPlugins()` die `addPlugins`-Ordner nicht lädt

1158 

1159Wenn `reloadPlugins()` mit einem Fehler abgelehnt wird, wird keiner der `addPlugins`-Ordner hinzugefügt; übergeben Sie sie daher bei einem erneuten Versuch wieder in `addPlugins`. Wenn die Ablehnung eine der folgenden Ursachen hat, behält die Sitzung die Plugins, die sie bereits hatte:

1160 

1161* **Ein relativer `path` oder ein fehlerhafter Eintrag**: Die Fehlermeldung lautet `add_plugins must be a list of { type: "local", path } entries with absolute paths`. Claude Code lehnt wegen eines einzigen fehlerhaften Eintrags die gesamte Liste ab, übergeben Sie daher jeden Eintrag als `{ type: "local", path }` mit einem absoluten `path`

1162* **Ein Administrator hat [`disableSideloadFlags`](https://code.claude.com/docs/de/settings-reference#disablesideloadflags) in Ihren verwalteten Einstellungen aktiviert**: Die Meldung lautet `reload_plugins add_plugins is disabled by managed settings (disableSideloadFlags)`. Um den Ordner zu laden, bitten Sie diesen Administrator, die Einstellung zu entfernen

1163* **Die [Sandbox](https://code.claude.com/docs/de/sandboxing.md) konnte nicht neu aufgebaut werden**: Bei aktiviertem [Sandboxing](#sandboxsettings) baut Claude Code die Sandbox-Konfiguration neu auf, damit in der Sandbox ausgeführte Shell-Befehle nicht in die von Ihnen hinzugefügten Ordner schreiben können. Die Meldung lautet `the sandbox could not be rebuilt to keep shell commands out of this folder`. Prüfen Sie, ob Ihre [Sandbox-Einstellungen](#sandboxsettings) weiterhin eine gültige Konfiguration ergeben

1164 

1165Wenn Sie `holdOnCacheImpact` übergeben und der Aufruf mit [`held: true`](#sdkcontrolreloadpluginsresponse) aufgelöst wird, werden die `addPlugins`-Ordner nicht hinzugefügt. Um sie trotzdem hinzuzufügen, rufen Sie `reloadPlugins()` erneut mit derselben `addPlugins`-Liste und ohne `holdOnCacheImpact` auf.

1166 

1167Wenn der Aufruf ohne `held: true` aufgelöst wird und ein Ordner dennoch in `result.plugins` fehlt, prüfen Sie zunächst diese Ursachen:

1168 

1169* **Der Ordner existiert nicht oder sein Plugin konnte nicht geladen werden**: `result.error_count` ist `1` oder höher. Der Ordner bleibt trotzdem Teil der Sitzung. Nachdem Sie den Ordner korrigiert haben, rufen Sie `reloadPlugins()` erneut auf, um ihn zu laden, diesmal ohne ihn in `addPlugins` aufzuführen

1170* **Die Claude Code-Programmdatei ist älter als v2.1.301**: Eine Programmdatei älter als v2.1.301 ignoriert `addPlugins` und lädt nur die Plugins neu, die die Sitzung bereits hatte. Prüfen Sie `claude_code_version` in der [Init-Nachricht](#sdksystemmessage), und verwenden Sie eine Programmdatei ab v2.1.301

1171 

1138### `SDKControlReloadSkillsResponse`1172### `SDKControlReloadSkillsResponse`

1139 1173 

1140Rückgabetyp von [`reloadSkills()`](#query-object).1174Rückgabetyp von [`reloadSkills()`](#query-object).


1430 1464 

1431#### `McpSdkServerConfigWithInstance`1465#### `McpSdkServerConfigWithInstance`

1432 1466 

1467Die Konfiguration für einen In-Process-MCP-Server, also einen, den [`createSdkMcpServer()`](#createsdkmcpserver) erstellt und der innerhalb des Prozesses Ihrer Anwendung läuft. Sie ist das Objekt, das `createSdkMcpServer()` zurückgibt, plus eine optionale `tools`-Liste mit [`McpServerToolPolicy`](#mcpservertoolpolicy)-Einträgen, die Sie selbst hinzufügen. Um für Aufrufe eines der Tools des Servers eine Genehmigung zu verlangen oder sie zu verweigern, fügen Sie einen Eintrag hinzu, der das Tool benennt.

1468 

1433```typescript theme={null}1469```typescript theme={null}

1434type McpSdkServerConfigWithInstance = {1470type McpSdkServerConfigWithInstance = {

1435 type: "sdk";1471 type: "sdk";

1436 name: string;1472 name: string;

1437 timeout?: number;1473 timeout?: number;

1474 tools?: McpServerToolPolicy[];

1438 instance: McpServer;1475 instance: McpServer;

1439};1476};

1440```1477```

1441 1478 

1479Um eine Richtlinie festzulegen, übernehmen Sie das von `createSdkMcpServer()` zurückgegebene Objekt per Spread in ein neues Objekt in `mcpServers` und fügen diesem neuen Objekt die `tools`-Liste hinzu. Die Option `tools` von `createSdkMcpServer()` selbst ist eine andere Liste, die die Tool-Definitionen enthält und keine Richtlinieneinträge akzeptiert. Die Richtlinienliste erfordert Agent SDK v0.3.301 oder höher, und [`McpServerToolPolicy`](#mcpservertoolpolicy) beschreibt, was jeder `permission_policy`-Wert bewirkt.

1480 

1481Dieses Beispiel genehmigt alle Tools auf dem Server `records` vorab mit einem `allowedTools`-Platzhalter und markiert dann `delete_record` als `always_ask`, sodass Aufrufe dieses Tools trotzdem an `canUseTool` gehen. Mit der Annotation `destructiveHint: true` erreicht der Aufruf den Callback auch dann, wenn die Sitzung im `auto`-Modus läuft, in dem der [Klassifikator](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) des Auto-Modus ihn andernfalls genehmigen könnte.

1482 

1483```typescript theme={null}

1484import { query, tool, createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";

1485import { z } from "zod";

1486 

1487const deleteRecord = tool(

1488 "delete_record",

1489 "Delete a customer record by ID",

1490 { id: z.string() },

1491 async ({ id }) => ({ content: [{ type: "text", text: `Deleted record ${id}` }] }),

1492 { annotations: { destructiveHint: true } }

1493);

1494 

1495const records = createSdkMcpServer({ name: "records", tools: [deleteRecord] });

1496 

1497for await (const message of query({

1498 prompt: "Delete customer record 42",

1499 options: {

1500 mcpServers: {

1501 // Spread the returned config and add the policy list beside it

1502 records: {

1503 ...records,

1504 tools: [{ name: "delete_record", permission_policy: "always_ask" as const }]

1505 }

1506 },

1507 allowedTools: ["mcp__records__*"],

1508 canUseTool: async (toolName, input) => {

1509 console.log(`Approval requested for ${toolName}`);

1510 return { behavior: "allow", updatedInput: input };

1511 }

1512 }

1513})) {

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

1515 console.log(message.result);

1516 }

1517}

1518```

1519 

1520Wenn Claude das Tool aufruft, gibt das Skript `Approval requested for mcp__records__delete_record` aus, bevor das Tool `delete_record` ausgeführt wird, obwohl der `allowedTools`-Eintrag den Aufruf andernfalls genehmigt hätte.

1521 

1522Um die Richtlinie eines Tools während der laufenden Sitzung zu ändern oder aufzuheben, übergeben Sie die Konfiguration des Servers mit einem neuen `tools`-Wert an [`setMcpServers()`](#mcpsetserversresult). Der übergebene `tools`-Wert gilt ab Claudes nächstem Aufruf der Tools dieses Servers:

1523 

1524* **Eine Liste mit Einträgen**: Die Einträge ersetzen die aktuellen Richtlinien

1525* **Eine leere Liste**: Alle Richtlinien des Servers werden gelöscht

1526* **Kein `tools`-Schlüssel**: Die aktuellen Richtlinien bleiben bestehen

1527 

1528Nehmen Sie in diesen Aufruf Ihre anderen In-Process-Server und alle Server auf, die ein früherer `setMcpServers()`-Aufruf hinzugefügt hat, sonst trennt der Aufruf deren Verbindung.

1529 

1530#### `McpServerToolPolicy`

1531 

1532Ein Eintrag in der `tools`-Liste einer [`McpSdkServerConfigWithInstance`](#mcpsdkserverconfigwithinstance), der eines der Tools des Servers benennt und die Berechtigungsrichtlinie für Aufrufe dieses Tools festlegt. Die Liste erfordert Agent SDK v0.3.301 oder höher und Claude Code v2.1.301 oder höher. Eine ältere Claude Code-Programmdatei, etwa eine, auf die Sie `pathToClaudeCodeExecutable` verweisen, ignoriert die Liste. Dann werden `always_ask` und `always_deny` nicht durchgesetzt, und jeder Aufruf durchläuft den [Berechtigungsablauf](https://code.claude.com/docs/de/agent-sdk/permissions.md#how-permissions-are-evaluated).

1533 

1534```typescript theme={null}

1535type McpServerToolPolicy = {

1536 name: string;

1537 permission_policy?: "always_allow" | "always_ask" | "always_deny";

1538 org_max_permission?: "allow" | "ask" | "blocked";

1539};

1540```

1541 

1542| Feld | Typ | Beschreibung |

1543| :- | :- | :- |

1544| `name` | `string` | Der reine Name des Tools, wie er an [`tool()`](#tool) übergeben wird, ohne das Präfix `mcp__<server>__` |

1545| `permission_policy` | `'always_allow' \| 'always_ask' \| 'always_deny'` | Die Genehmigungsrichtlinie für die Aufrufe des Tools, [`always_ask` oder `always_deny`](#permission-policy-values). `always_allow` wird auf einem In-Process-Server ignoriert: Um ein Tool vorab zu genehmigen, führen Sie es stattdessen in [`allowedTools`](#options) auf |

1546| `org_max_permission` | `'allow' \| 'ask' \| 'blocked'` | Eine Obergrenze pro Tool, die ein Organisations-Admin festlegt. Wird auf einem In-Process-Server ignoriert, lassen Sie das Feld daher ungesetzt |

1547 

1548##### `permission_policy`-Werte

1549 

1550Wählen Sie `always_ask`, um jeden Aufruf selbst zu genehmigen, oder `always_deny`, um das Tool vollständig zu blockieren:

1551 

1552* **`always_ask`**: Jeder Aufruf des Tools [erfordert eine Genehmigung](https://code.claude.com/docs/de/agent-sdk/permissions.md#how-permissions-are-evaluated), auch wenn ein `allowedTools`-Eintrag oder eine Allow-Regel ihn abdeckt. Der Aufruf geht an Ihren `canUseTool`-Callback oder Ihr [`permissionPromptToolName`](#options)-Tool, sofern er nicht vorher entschieden wird. Ein [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) in einem von Ihnen geladenen Plugin [kann ihn vorher genehmigen](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods). Andernfalls wird er im `dontAsk`-Modus verweigert, und im [`auto`-, `plan`- und `bypassPermissions`-Modus](#permission-modes-that-can-approve-an-always_ask-call) kann er genehmigt werden, bevor er Ihren Callback erreicht

1553* **`always_deny`**: Ein Aufruf des Tools [wird in jedem Berechtigungsmodus verweigert](https://code.claude.com/docs/de/agent-sdk/permissions.md#how-permissions-are-evaluated), einschließlich `bypassPermissions`, aber ein Mod in einem von Ihnen geladenen Plugin [kann ihn dennoch genehmigen](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods)

1554 

1555Wenn Sie weder `canUseTool` noch `permissionPromptToolName` übergeben oder [`permissionPrompts`](#options) auf `'none'` setzen, wird ein `always_ask`-Aufruf, der nicht vorher entschieden wird, verweigert, sofern kein [`PermissionRequest`-Hook](https://code.claude.com/docs/de/hooks#permissionrequest) ihn erlaubt.

1556 

1557##### Berechtigungsmodi, die einen `always_ask`-Aufruf genehmigen können

1558 

1559Im `auto`-, `plan`- und `bypassPermissions`-Modus kann ein Aufruf eines mit [`always_ask`](#permission-policy-values) markierten Tools genehmigt werden, bevor er Ihren `canUseTool`-Callback erreicht. Suchen Sie den Modus Ihrer Sitzung in dieser Liste, um zu sehen, wann diese Genehmigung erfolgt und was Sie festlegen müssen, damit der Aufruf Ihren Callback trotzdem erreicht:

1560 

1561* **`auto`**: Der [Klassifikator](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) des Auto-Modus prüft den Aufruf und kann ihn erlauben. Damit im `auto`-Modus jeder Aufruf Ihren Callback erreicht, setzen Sie `destructiveHint: true` in den [Annotationen](#toolannotations) des Tools

1562* **`plan`**: Solange der [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) für die Sitzung verfügbar ist, gehen Aufrufe eines `always_ask`-Tools mit der Annotation `readOnlyHint: true` an den Klassifikator des Auto-Modus, der sie erlauben kann. Aufrufe anderer `always_ask`-Tools erreichen Ihren Callback. Damit auch die Aufrufe eines nur lesenden Tools Ihren Callback erreichen, fügen Sie den Annotationen dieses Tools zusätzlich zu `readOnlyHint: true` auch `destructiveHint: true` hinzu. Alternativ setzen Sie [`useAutoModeDuringPlan`](https://code.claude.com/docs/de/settings-reference#useautomodeduringplan) auf `false`, wodurch der Klassifikator während der Planung ausgeschaltet wird

1563* **`bypassPermissions`**: Wenn die [`CLAUDE_CODE_REMOTE`](https://code.claude.com/docs/de/env-vars#variables)-Umgebungsvariable `true` ist, wie in einer [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md), wird der Aufruf ohne Ihren Callback genehmigt, unabhängig von den Annotationen des Tools. Überall sonst erreicht der Aufruf Ihren Callback. Damit er auch in einer Cloud-Sitzung Ihren Callback erreicht, führen Sie die Sitzung stattdessen im `default`- oder `acceptEdits`-Modus aus

1564 

1565Setzen Sie `destructiveHint` im `auto`- und `plan`-Modus explizit auf `true`. Bei `always_ask`-Aufrufen wertet Claude Code ein nicht gesetztes `destructiveHint` als `false`, obwohl der unter [`ToolAnnotations`](#toolannotations) aufgeführte Standardwert `true` ist.

1566 

1442#### `McpClaudeAIProxyServerConfig`1567#### `McpClaudeAIProxyServerConfig`

1443 1568 

1444```typescript theme={null}1569```typescript theme={null}


1464| Feld | Typ | Beschreibung |1589| Feld | Typ | Beschreibung |

1465| :- | :- | :- |1590| :- | :- | :- |

1466| `type` | `'local'` | Muss `'local'` sein (derzeit werden nur lokale Plugins unterstützt) |1591| `type` | `'local'` | Muss `'local'` sein (derzeit werden nur lokale Plugins unterstützt) |

1467| `path` | `string` | Absoluter oder relativer Pfad zum Plugin-Verzeichnis |1592| `path` | `string` | Pfad zum Plugin-Verzeichnis. Ein relativer Pfad wird beim Start der Sitzung relativ zur Option [`cwd`](#options) aufgelöst. Der Pfad muss absolut sein, wenn Sie das Plugin während der Sitzung mit [`addPlugins`](#load-more-plugin-folders-with-addplugins) laden |

1468| `skipMcpDiscovery` | `boolean` | Bei `true` lädt das SDK Skills, Hooks, Agenten und Befehle aus diesem Plugin, liest aber weder dessen `.mcp.json` noch die `mcpServers` des Manifests. Setzen Sie dies, wenn Ihre Anwendung die MCP-Verbindungen des Plugins selbst verwaltet. |1593| `skipMcpDiscovery` | `boolean` | Bei `true` lädt das SDK Skills, Hooks, Agenten und Befehle aus diesem Plugin, liest aber weder dessen `.mcp.json` noch die `mcpServers` des Manifests. Setzen Sie dies, wenn Ihre Anwendung die MCP-Verbindungen des Plugins selbst verwaltet. |

1469 1594 

1470**Beispiel:**1595**Beispiel:**


5074};5199};

5075```5200```

5076 5201 

5077`source` sagt, woher die Definition des Servers kam, mit den gleichen Werten und Vertrauensregel wie [`McpServerProvenance`](#mcpserverprovenance)'s `source`. Das Feld erfordert Agent SDK v0.3.274 oder später und fehlt in früheren Versionen.5202Verwenden Sie `source`, um zu entscheiden, wie weit Sie einem Server vertrauen, und das `_meta` in jedem `tools`-Eintrag, um eine UI-Ressource zu finden, die der Server an dieses Tool angehängt hat:

5203 

5204* **`source`**: woher die Definition des Servers kam, mit denselben Werten wie `source` in [`McpServerProvenance`](#mcpserverprovenance). Basieren Sie Vertrauensentscheidungen auf `source` statt auf `name`, weil nur Ihr eigener In-Process-Server `sdk` meldet, unabhängig davon, unter welchem Namen ein anderer Server registriert ist. Wenn Sie einen `source`-Wert nicht erkennen, behandeln Sie diesen Server so wie jeden Server, dessen `source` nicht `sdk` ist. Erfordert Agent SDK v0.3.274 oder später

5205* **`_meta`**: das `ui`-Objekt und die `ui/resourceUri`-Zeichenkette aus dem `_meta`, das der Server für das Tool deklariert hat. Claude Code behält jeden anderen `_meta`-Schlüssel zurück. `ui/resourceUri` ist eine ältere Top-Level-Schreibweise von `ui.resourceUri`. Wenn der Server eine [MCP-Apps-UI-Ressource](https://code.claude.com/docs/de/mcp.md#reference-mcp-resources) an das Tool anhängt, enthält `ui.resourceUri` oder `ui/resourceUri` den `ui://`-URI der Ressource. Rufen Sie diesen URI mit [`readMcpResource()`](#query-object) ab und rendern Sie die Ressource in Ihrer Anwendung. Erfordert Agent SDK v0.3.280 oder später

5206 

5207Claude Code sendet `_meta` nur, wenn das [`capabilities`](#sdksystemmessage)-Array der `system`-Nachricht mit dem Subtyp `init` `mcp_tool_ui_meta_v1` enthält. Sie aktivieren `mcp_tool_ui_meta_v1` nicht selbst.

5208 

5209#### Wenn `_meta.ui` eines Tools nur `visibility` enthält

5210 

5211Wenn Ihr Server `ui.resourceUri` für ein Tool deklariert, das `_meta.ui`, das Ihre Anwendung empfängt, aber nur `visibility` enthält, hat das vom Server gesendete `ui`-Objekt eine der Prüfungen von Claude Code nicht bestanden. Claude Code prüft `ui` und `ui/resourceUri` getrennt, sodass ein Schlüssel Ihre Anwendung erreichen kann, wenn der andere die Prüfung nicht besteht. Vergleichen Sie das `_meta` in der `tools/list`-Antwort Ihres Servers mit den Prüfungen für jeden Schlüssel:

5212 

5213* **`ui`**: erreicht Ihre Anwendung unverändert, einschließlich aller Mitglieder außer `resourceUri` und `visibility`, wenn alle drei Prüfungen bestanden werden:

5214 

5215 * `resourceUri` fehlt oder ist eine Zeichenkette, die mit `ui://` beginnt

5216 * `visibility` fehlt oder listet nur `"model"` und `"app"` auf

5217 * Das gesamte Objekt umfasst als JSON serialisiert höchstens 4.096 Zeichen

5218 

5219 Wenn eine der Prüfungen fehlschlägt, empfängt Ihre Anwendung höchstens ein `ui`, dessen einziges Mitglied ein `visibility`-Array mit den vom Server aufgelisteten Einträgen `"model"` und `"app"` ist.

5220* **`ui/resourceUri`**: erreicht Ihre Anwendung, wenn es eine Zeichenkette ist, die mit `ui://` beginnt und höchstens 4.096 Zeichen lang ist. Andernfalls verwirft Claude Code es

5078 5221 

5079`_meta` auf einem `tools`-Eintrag trägt die MCP-Apps-Mitglieder des `_meta` dieses Tools, sodass Ihre Anwendung die `ui://`-Ressource finden kann, um sie mit [`readMcpResource()`](#query-object) zu rendern. Claude Code leitet das `ui`-Objekt und die veraltete flache `ui/resourceUri`-Zeichenkette durch und behält jeden anderen Schlüssel zurück. Innerhalb von `ui` ist `resourceUri` eine `ui://`-Zeichenkette und `visibility` ein Array von `"model"` und `"app"`, wenn der Server sie setzt, und jedes andere Mitglied wird unverändert durchgeleitet. Claude Code verwirft jeden Schlüssel, wenn der Wert fehlerhaft ist, und lässt `_meta` von einem Tool weg, das weder deklariert. Das Feld ist nur vorhanden, wenn die [`capabilities`](#sdksystemmessage) der Init-Nachricht `mcp_tool_ui_meta_v1` enthalten, und erfordert TypeScript Agent SDK v0.3.280 oder später.5222Wenn Claude Code weder ein `ui`-Mitglied noch eine `ui/resourceUri`-Zeichenkette zum Senden übrig bleibt, hat der `tools`-Eintrag überhaupt kein `_meta`.

5080 5223 

5081### `McpServerStatusConfig`5224### `McpServerStatusConfig`

5082 5225 


5311Wenn Sie `setMcpServers()` aufrufen, wendet Claude Code diese Regeln an:5454Wenn Sie `setMcpServers()` aufrufen, wendet Claude Code diese Regeln an:

5312 5455 

5313* **Server, die der Aufruf nicht benennt**: Außerhalb einer [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md) trennt Claude Code die Server, die ein früherer `setMcpServers()`-Aufruf hinzugefügt hat, sowie die In-Process-SDK-Server und listet sie in `removed` auf. Andere Server laufen weiter und werden nicht in `removed` aufgeführt, darunter die Stdio-, HTTP- und SSE-Server aus der [`mcpServers`](#options)-Option, Server aus Einstellungsdateien und von Plugins bereitgestellte Server.5456* **Server, die der Aufruf nicht benennt**: Außerhalb einer [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md) trennt Claude Code die Server, die ein früherer `setMcpServers()`-Aufruf hinzugefügt hat, sowie die In-Process-SDK-Server und listet sie in `removed` auf. Andere Server laufen weiter und werden nicht in `removed` aufgeführt, darunter die Stdio-, HTTP- und SSE-Server aus der [`mcpServers`](#options)-Option, Server aus Einstellungsdateien und von Plugins bereitgestellte Server.

5314* **Server, die der Aufruf benennt**: Claude Code ersetzt einen Stdio-, HTTP- oder SSE-Server, den ein früherer `setMcpServers()`-Aufruf hinzugefügt hat, nur, wenn sich seine Konfiguration von der unterscheidet, die Sie übergeben haben. Ein In-Process-SDK-Server, der bereits unter diesem Namen registriert ist, bleibt unverändert; um einen auszutauschen, lassen Sie ihn in einem Aufruf weg und fügen Sie ihn im nächsten hinzu.5457* **Stdio-, HTTP- und SSE-Server, die ein früherer `setMcpServers()`-Aufruf hinzugefügt hat**: Außerhalb einer Cloud-Sitzung behält ein Server, den Sie erneut mit identischer Konfiguration benennen, seine Verbindung und seine Tools. Er erscheint weder in `added` noch in `removed`. Wenn Sie eine geänderte Konfiguration übergeben, verbindet Claude Code den Server mit dieser Konfiguration neu und listet ihn in `added` auf, nicht in `removed`.

5458* **Stdio-, HTTP- und SSE-Server, die der Aufruf benennt und die kein früherer Aufruf hinzugefügt hat**: Außerhalb einer Cloud-Sitzung fügt Claude Code den Server hinzu und listet ihn in `added` auf, oder in `errors`, wenn es den Server ablehnt.

5459* **In-Process-SDK-Server, die der Aufruf benennt**: Ein Server, der bereits über `mcpServers` oder einen früheren Aufruf registriert ist, behält seine laufende Instanz und seinen Timeout. Wenn Sie eine [`tools`-Richtlinienliste](#mcpsdkserverconfigwithinstance) für ihn übergeben, auch eine leere, ersetzen Sie seine Richtlinien; andernfalls bleiben sie erhalten. Um außerhalb einer Cloud-Sitzung eine neue Instanz auszuführen, lassen Sie den Server in einem Aufruf weg und benennen Sie ihn im nächsten.

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

5316* **Stdio-, HTTP- oder SSE-Server, die ihren Namen mit einem Server aus einem MCP-Installations-Geltungsbereich wie `.mcp.json` teilen**: Unter diesem Namen verwendet die Sitzung die Tools Ihres Servers statt die des [Servers aus dem Installations-Geltungsbereich](https://code.claude.com/docs/de/mcp.md#mcp-installation-scopes). Vor Claude Code v2.1.305 konnte Claude Code Ihren Server trennen und den Server aus dem Installations-Geltungsbereich verbinden, wenn Ihre App [Plugins neu lud](#query-object).5461* **Stdio-, HTTP- oder SSE-Server, die ihren Namen mit einem Server aus einem MCP-Installations-Geltungsbereich wie `.mcp.json` teilen**: Unter diesem Namen verwendet die Sitzung die Tools Ihres Servers statt die des [Servers aus dem Installations-Geltungsbereich](https://code.claude.com/docs/de/mcp.md#mcp-installation-scopes). Vor Claude Code v2.1.305 konnte Claude Code Ihren Server trennen und den Server aus dem Installations-Geltungsbereich verbinden, wenn Ihre App [Plugins neu lud](#query-object).

5317 5462 


5798 5943 

5799Die veröffentlichten Typings des SDK deklarieren `SDKConversationResetMessage` in Claude Code v2.1.203 und später. Vor v2.1.203 referenzierte `SDKMessage` den Typ, ohne ihn zu deklarieren, daher schlug die Eingrenzung auf `type === "conversation_reset"` bei der Typprüfung fehl, wenn `skipLibCheck` deaktiviert war.5944Die veröffentlichten Typings des SDK deklarieren `SDKConversationResetMessage` in Claude Code v2.1.203 und später. Vor v2.1.203 referenzierte `SDKMessage` den Typ, ohne ihn zu deklarieren, daher schlug die Eingrenzung auf `type === "conversation_reset"` bei der Typprüfung fehl, wenn `skipLibCheck` deaktiviert war.

5800 5945 

5946### `BUILTIN_TOOL_NAMES` und `LEGACY_TOOL_NAME_ALIASES`

5947 

5948Verwenden Sie diese beiden Konstanten, um Tool-Namen zu prüfen, die die Benutzer Ihrer Anwendung eingeben. Beide schreiben jeden Namen so, wie Sie ihn in Berechtigungsregeln, Hook-Matchern und den Optionen `tools` und `disallowedTools` schreiben. Importieren Sie sie aus `@anthropic-ai/claude-agent-sdk` oder aus `@anthropic-ai/claude-agent-sdk/core`. Sie erfordern Agent SDK v0.3.301 oder später und befinden sich im Alpha-Stadium.

5949 

5950Die Typdeklarationen des SDK geben `BUILTIN_TOOL_NAMES` einen schreibgeschützten Tupeltyp und `LEGACY_TOOL_NAME_ALIASES` einen Record-Typ von Zeichenkette zu Zeichenkette:

5951 

5952```typescript theme={null}

5953const BUILTIN_TOOL_NAMES: readonly ["Agent", /* ...more names... */ "Write"];

5954const LEGACY_TOOL_NAME_ALIASES: Readonly<Record<string, string>>;

5955```

5956 

5957* **`BUILTIN_TOOL_NAMES`**: Namen der integrierten Tools von Claude Code in alphabetischer Reihenfolge, z. B. `Agent`, `Bash` und `Read`. MCP-Tool-Namen sind nicht enthalten. Da der Typ ein Tupel von String-Literalen ist, liefert Ihnen `(typeof BUILTIN_TOOL_NAMES)[number]` einen Union-Typ der Namen

5958* **`LEGACY_TOOL_NAME_ALIASES`**: frühere Tool-Namen, die Berechtigungsregeln, Hook-Matcher und die Optionen `tools` und `disallowedTools` weiterhin akzeptieren. Jeder Schlüssel ist ein früherer Name und sein Wert der aktuelle: Beispielsweise wird `Task` auf `Agent` abgebildet, und `KillShell` und `KillBash` werden auf `TaskStop` abgebildet

5959 

5960Sie können einen Namen mit einem von zwei Tests bestätigen: `BUILTIN_TOOL_NAMES` enthält ihn, oder `Object.hasOwn(LEGACY_TOOL_NAME_ALIASES, name)` gibt `true` zurück. Ein Name, der beide Tests nicht besteht, kann trotzdem gültig sein, weil `BUILTIN_TOOL_NAMES` MCP-Tools und einige integrierte Tools auslässt. Wenn Sie eine Sperrliste aus `BUILTIN_TOOL_NAMES` erstellen, kann Claude die Tools, die die Konstante auslässt, weiterhin verwenden. Um jedes Tool zu sperren, setzen Sie stattdessen [`disallowedTools: ["*"]`](https://code.claude.com/docs/de/agent-sdk/permissions#allow-and-deny-rules).

5961 

5962Dass ein Name in `BUILTIN_TOOL_NAMES` vorkommt, sagt Ihnen nicht, dass die Sitzung dieses Tool hat: `TodoWrite` ist aufgeführt, obwohl es [standardmäßig deaktiviert](https://code.claude.com/docs/de/tools-reference.md) ist. Um zu sehen, welche Tools eine Sitzung hat, lesen Sie das `tools`-Array ihrer [`SDKSystemMessage`](#sdksystemmessage). Dieses Array enthält MCP-Tools und führt das Agent-Tool als `Task` auf; bilden Sie daher jeden Namen über `LEGACY_TOOL_NAME_ALIASES` ab, bevor Sie ihn mit `BUILTIN_TOOL_NAMES` vergleichen.

5963 

5801### `AbortError`5964### `AbortError`

5802 5965 

5803Benutzerdefinierte Fehlerklasse für Abbruchoperationen.5966Benutzerdefinierte Fehlerklasse für Abbruchoperationen.

agent-teams.md +1 −1

Details

188 188 

189### Aufgaben zuweisen und übernehmen189### Aufgaben zuweisen und übernehmen

190 190 

191Die gemeinsame Aufgabenliste koordiniert die Arbeit im gesamten Team. Der Lead erstellt Aufgaben, und die Teammitglieder arbeiten sie ab. Aufgaben haben drei Zustände: ausstehend, in Bearbeitung und abgeschlossen. Aufgaben können auch von anderen Aufgaben abhängen: Eine ausstehende Aufgabe mit ungelösten Abhängigkeiten kann erst übernommen werden, wenn diese Abhängigkeiten abgeschlossen sind.191Die gemeinsame Aufgabenliste koordiniert die Arbeit im gesamten Team. Der Lead erstellt Aufgaben, und die Teammitglieder arbeiten sie ab. Aufgaben haben drei Zustände: ausstehend, in Bearbeitung und abgeschlossen. Eine Aufgabe kann auch von anderen Aufgaben abhängen und wird in der Aufgabenliste als blockiert angezeigt, bis diese abgeschlossen sind. Teammitglieder übernehmen eine blockierte Aufgabe nicht selbst, aber Sie oder der Lead können sie dennoch zuweisen.

192 192 

193Agenten [ohne die Task-Tools](https://code.claude.com/docs/de/tools-reference.md#task-tool-availability) koordinieren sich stattdessen über Nachrichten statt über die gemeinsame Aufgabenliste.193Agenten [ohne die Task-Tools](https://code.claude.com/docs/de/tools-reference.md#task-tool-availability) koordinieren sich stattdessen über Nachrichten statt über die gemeinsame Aufgabenliste.

194 194 

agent-view.md +18 −9

Details

206* Eine abgeschlossene Sitzung: ihr Ergebnis206* Eine abgeschlossene Sitzung: ihr Ergebnis

207* Eine arbeitende Sitzung: ihr vollständiger Status-Satz207* Eine arbeitende Sitzung: ihr vollständiger Status-Satz

208 208 

209Alle Pull Requests, die mit der Sitzung verlinkt sind, werden als nächstes aufgelistet. Für eine Sitzung, die auf Sie wartet, zeigt eine Zeile wie `waiting 3m` darunter, wie lange sie wartet, und es ist die einzige Zeit, die im Panel angezeigt wird. Das Alter am rechten Rand der Zeile ist eine andere Zahl: Es zählt ab dem Start der Sitzung.209Alle Pull Requests, die mit der Sitzung verlinkt sind, werden als nächstes aufgelistet. Für eine Sitzung, die auf Sie wartet oder im abgesicherten Modus läuft, erscheint darunter eine weitere Zeile:

210 

211* Eine Zeile wie `waiting 3m`: wie lange die Sitzung bereits auf Sie wartet. Das Alter am rechten Rand der Zeile ist eine andere Zahl: Es zählt ab dem Start der Sitzung

212* `safe mode · customizations are off`: Diese Sitzung läuft mit [deaktivierten Anpassungen](https://code.claude.com/docs/de/debug-your-config.md#test-against-a-clean-configuration), weil Sie sie aus Ihrer Shell mit `claude --bg --safe-mode` gestartet haben. Sie können sie so belassen. Um die Konversation mit wieder aktivierten Anpassungen fortzusetzen, führen Sie [`claude stop <id>`](#manage-sessions-from-the-shell) und dann [`claude --resume`](https://code.claude.com/docs/de/sessions#resume-a-session) aus, beide in Ihrer Shell

210 213 

211Meistens ist das Peek-Panel ausreichend und Sie müssen das vollständige Transkript nicht öffnen.214Meistens ist das Peek-Panel ausreichend und Sie müssen das vollständige Transkript nicht öffnen.

212 215 


468 471 

469#### Was beim Verschieben in den Hintergrund übernommen wird472#### Was beim Verschieben in den Hintergrund übernommen wird

470 473 

471Das Verschieben in den Hintergrund startet einen neuen Prozess, der die gespeicherte Konversation fortsetzt, und laufende Hintergrundarbeit wird dorthin übertragen. Laufende Hintergrund-Shell-Befehle, in den Hintergrund verschobene Subagenten, dynamische Workflows, geplante Aufgaben, die Sie mit [`/loop`](https://code.claude.com/docs/de/scheduled-tasks) erstellt haben, und Claudes [automatische Antworten auf Artefakt-Kommentare](https://code.claude.com/docs/de/artifacts.md#let-claude-reply-to-comments-on-its-own) werden alle übernommen und laufen dort weiter. Ein Subagent wird zusammen mit allem übertragen, was er gestartet hat, daher wird er nur übernommen, wenn all diese Arbeit ebenfalls übertragen werden kann.474Wenn Sie die Sitzung in den Hintergrund verschieben, wird jede Art laufender Hintergrundarbeit entweder in die Hintergrund-Sitzung übernommen, dort nur fortgesetzt, wenn Claude sie neu startet, oder gestoppt:

472 

473Wenn in einem [dynamischen Workflow](https://code.claude.com/docs/de/workflows.md) noch Subagenten laufen, fragt Claude Code vor dem Verschieben in den Hintergrund mit dem Dialog `Background this session?` nach, der angibt, wie viele Subagenten neu starten würden. Wählen Sie `Stay`, um sie zuerst fertig laufen zu lassen. Wenn Sie bestätigen, spielt Claude Code den Lauf in der Hintergrund-Sitzung erneut ab: Subagenten, die noch liefen, beginnen von vorn, sodass die bisher verbrauchten Token erneut anfallen. Siehe [Nach einer Pause fortsetzen](https://code.claude.com/docs/de/workflows.md#resume-after-a-pause), um zu erfahren, welche abgeschlossenen Subagenten ihre gespeicherten Ergebnisse zurückgeben und welche erneut ausgeführt werden.

474 475 

475Claude Code stoppt Hintergrundarbeit, die nicht übernommen werden kann, etwa einen laufenden [Monitor](https://code.claude.com/docs/de/tools-reference.md#monitor-tool), und stoppt zusammen damit einen in den Hintergrund verschobenen Subagenten, dem ein Monitor gehört. Wenn solche Arbeit läuft, zeigt Claude Code den Dialog `Background this session?` an, damit Sie bestätigen können, bevor die Arbeit gestoppt wird.476* **Wird übernommen**: Laufende Hintergrund-Shell-Befehle, in den Hintergrund verschobene Subagenten, geplante Aufgaben, die Sie mit [`/loop`](https://code.claude.com/docs/de/scheduled-tasks) erstellt haben, und Claudes [automatische Antworten auf Artefakt-Kommentare](https://code.claude.com/docs/de/artifacts.md#let-claude-reply-to-comments-on-its-own) laufen in der Hintergrund-Sitzung weiter. Ein Subagent wird zusammen mit allem übertragen, was er gestartet hat, daher wird er nur übernommen, wenn all diese Arbeit ebenfalls übertragen werden kann.

477* **Wird nur fortgesetzt, wenn Claude sie neu startet**: ein laufender [dynamischer Workflow](https://code.claude.com/docs/de/workflows.md). Wenn der Workflow nicht fortgesetzt wurde, wenn Sie nach der Hintergrund-Sitzung sehen, [bitten Sie Claude, ihn neu zu starten](#dynamic-workflows-when-you-background).

478* **Wird gestoppt**: Arbeit, die nicht in die Hintergrund-Sitzung übertragen werden kann, etwa ein laufender [Monitor](https://code.claude.com/docs/de/tools-reference.md#monitor-tool). Wenn solche Arbeit läuft, zeigt Claude Code den Dialog `Background this session?` an, damit Sie bestätigen können, bevor die Arbeit gestoppt wird. Ein in den Hintergrund verschobener Subagent, dem ein Monitor gehört, wird zusammen mit dem Monitor gestoppt.

476 479 

477Sobald sich die Sitzung im Hintergrund befindet, kann sie neue Subagenten, Monitore und Hintergrund-Befehle starten, und diese laufen über spätere Trennungen und erneutes Anhängen hinweg weiter.480Sobald sich die Sitzung im Hintergrund befindet, kann sie neue Subagenten, Monitore und Hintergrund-Befehle starten, und diese laufen über spätere Trennungen und erneutes Anhängen hinweg weiter.

478 481 


488 491 

489Verzeichnisse, die Sie während der Sitzung mit [`/add-dir`](https://code.claude.com/docs/de/permissions#additional-directories-grant-file-access-not-configuration) hinzugefügt haben, werden ebenfalls übernommen. Die Übernahme von `--allow-dangerously-skip-permissions` hält `bypassPermissions` in der Hintergrund-Sitzung erreichbar, gewährt aber nichts Neues: Der Modus erfordert weiterhin, dass Ihre [Akzeptanz des Bypass-Haftungsausschlusses](https://code.claude.com/docs/de/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) hinterlegt ist.492Verzeichnisse, die Sie während der Sitzung mit [`/add-dir`](https://code.claude.com/docs/de/permissions#additional-directories-grant-file-access-not-configuration) hinzugefügt haben, werden ebenfalls übernommen. Die Übernahme von `--allow-dangerously-skip-permissions` hält `bypassPermissions` in der Hintergrund-Sitzung erreichbar, gewährt aber nichts Neues: Der Modus erfordert weiterhin, dass Ihre [Akzeptanz des Bypass-Haftungsausschlusses](https://code.claude.com/docs/de/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) hinterlegt ist.

490 493 

494##### Dynamische Workflows beim Verschieben in den Hintergrund

495 

496Wenn ein [dynamischer Workflow](https://code.claude.com/docs/de/workflows.md) nicht fortgesetzt wurde, nachdem Sie seine Sitzung in den Hintergrund verschoben haben, bitten Sie Claude, [den Workflow neu zu starten](https://code.claude.com/docs/de/workflows.md#resume-after-you-leave-the-session). Der Lauf wird nur fortgesetzt, wenn Claude ihn in der Hintergrund-Sitzung neu startet, und Claude Code kann Sie bitten, diesen Neustart zuerst zu genehmigen. Die Konversation der Sitzung zeigt einen Hinweis an, dass der Workflow `could not be resumed`.

497 

498Wenn Claude den Workflow neu startet, beginnen alle seine Subagenten, die beim Verschieben der Sitzung in den Hintergrund noch liefen, von vorn und verbrauchen ihre Token erneut. Wenn Sie `←` drücken oder `/background` ausführen, während noch welche laufen, gibt der Dialog `Background this session?` an, wie viele es sind. Um sie zuerst fertig laufen zu lassen, wählen Sie `Stay`.

499 

491### Einen Agenten aus Ihrer Shell versenden500### Einen Agenten aus Ihrer Shell versenden

492 501 

493Übergeben Sie `--bg` oder seine Langform `--background`, um eine Sitzung zu starten, die direkt in den Hintergrund geht:502Übergeben Sie `--bg` oder seine Langform `--background`, um eine Sitzung zu starten, die direkt in den Hintergrund geht:


844* **Nach einem automatischen Update**: Der Supervisor startet sich selbst in der neuen Version neu und verschiebt untätige Sitzungen im Hintergrund. Sitzungen, die arbeiten, auf Sie warten oder angehängt sind, werden nicht unterbrochen.853* **Nach einem automatischen Update**: Der Supervisor startet sich selbst in der neuen Version neu und verschiebt untätige Sitzungen im Hintergrund. Sitzungen, die arbeiten, auf Sie warten oder angehängt sind, werden nicht unterbrochen.

845* **Der Supervisor selbst stoppt**, beispielsweise weil sein Prozess von außerhalb von Claude Code beendet wurde: Unter macOS und Linux stoppen Ihre Sitzungen, sofern sich nicht innerhalb von etwa einer Minute ein neuer Supervisor verbindet. Um einen zu starten, führen Sie `claude agents` in Ihrer Shell aus. Wenn diese Minute verstrichen ist, siehe [Sitzungen nach dem Stoppen des Supervisors am Laufen halten](#keep-sessions-running-after-the-supervisor-stops).854* **Der Supervisor selbst stoppt**, beispielsweise weil sein Prozess von außerhalb von Claude Code beendet wurde: Unter macOS und Linux stoppen Ihre Sitzungen, sofern sich nicht innerhalb von etwa einer Minute ein neuer Supervisor verbindet. Um einen zu starten, führen Sie `claude agents` in Ihrer Shell aus. Wenn diese Minute verstrichen ist, siehe [Sitzungen nach dem Stoppen des Supervisors am Laufen halten](#keep-sessions-running-after-the-supervisor-stops).

846 855 

847Wenn ein Sitzungsprozess stoppt oder neu gestartet wird, werden die Hintergrund-Shell-Befehle, dynamischen Workflows und Hintergrund-Subagenten, die Claude darin gestartet hat, in seinen nächsten Prozess übernommen; laufende Monitore und Shell-Befehle, die ein Subagent gestartet hat, stoppen mit dem Prozess. Das Löschen der Sitzung stoppt alles, das sie übernommen hat. Um stattdessen all dies mit dem Prozess zu stoppen, setzen Sie [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](https://code.claude.com/docs/de/env-vars#variables) auf `1`.856Wenn ein Sitzungsprozess stoppt oder neu gestartet wird, werden die Hintergrund-Shell-Befehle und Hintergrund-Subagenten, die Claude darin gestartet hat, in seinen nächsten Prozess übernommen. Ein dynamischer Workflow [wird nur fortgesetzt, wenn Claude ihn neu startet](#dynamic-workflows-when-you-background). Laufende Monitore und Shell-Befehle, die ein Subagent gestartet hat, stoppen mit dem Prozess. Wenn Sie die Sitzung löschen, stoppt alles, was sie übernommen hat. Um stattdessen all dies mit dem Prozess zu stoppen, setzen Sie [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](https://code.claude.com/docs/de/env-vars#variables) auf `1`.

848 857 

849Der Supervisor und seine Sitzungen authentifizieren sich mit denselben gespeicherten Anmeldedaten wie Ihre interaktiven Sitzungen. Welche Einstellungen und Shell-Variablen eine Sitzung erreichen, einschließlich `PATH`, finden Sie unter [Einstellungen und Anbieter](#settings-and-provider). Für Gateway-Endpunkte siehe [LLM-Gateway](#llm-gateway).858Der Supervisor und seine Sitzungen authentifizieren sich mit denselben gespeicherten Anmeldedaten wie Ihre interaktiven Sitzungen. Welche Einstellungen und Shell-Variablen eine Sitzung erreichen, einschließlich `PATH`, finden Sie unter [Einstellungen und Anbieter](#settings-and-provider). Für Gateway-Endpunkte siehe [LLM-Gateway](#llm-gateway).

850 859 


897 906 

898### Backgrounding zeigt einen `Background this session?`-Dialog907### Backgrounding zeigt einen `Background this session?`-Dialog

899 908 

900Wenn Sie `←` drücken, um die aktuelle Sitzung in den Hintergrund zu verschieben, und Claude Code zeigt einen `Background this session?`-Dialog, hat die Sitzung laufende Hintergrundarbeit, die das Backgrounding stoppen, neu starten oder unbeaufsichtigt laufen lassen würde, und Claude Code fragt, bevor es eines dieser Dinge tut:909Wenn Sie `←` drücken, um eine Sitzung in den Hintergrund zu verschieben, bedeutet ein `Background this session?`-Dialog, dass die Sitzung laufende Hintergrundarbeit hat, die gestoppt, unterbrochen oder unbeaufsichtigt weiterlaufen würde:

901 910 

902* **Arbeit, die nicht verschoben werden kann**: Die Sitzung hat Arbeit, die nicht zur Hintergrund-Sitzung verschoben werden kann, wie z. B. ein laufender [Monitor](https://code.claude.com/docs/de/tools-reference.md#monitor-tool). Der Dialog benennt die Hintergrundarbeit, die Claude Code stoppen würde, und zählt separat die Aufgaben, die übertragen werden.911* **Arbeit, die nicht verschoben werden kann**: Die Sitzung hat Arbeit, die nicht zur Hintergrund-Sitzung verschoben werden kann, wie z. B. ein laufender [Monitor](https://code.claude.com/docs/de/tools-reference.md#monitor-tool). Der Dialog benennt die Hintergrundarbeit, die Claude Code stoppen würde, und zählt separat die Aufgaben, die übertragen werden.

903* **Ein Workflow mit laufenden Subagenten**: Ein [dynamischer Workflow](https://code.claude.com/docs/de/workflows.md) hat noch laufende Subagenten. Der Workflow selbst wird übertragen, aber seine laufenden Subagenten starten von vorne neu, und der Dialog sagt, wie viele.912* **Ein Workflow mit laufenden Subagenten**: Ein [dynamischer Workflow](https://code.claude.com/docs/de/workflows.md) hat noch laufende Subagenten. Diese Subagenten werden gestoppt, wenn Sie trotzdem in den Hintergrund verschieben, und der Dialog sagt, wie viele. Sie beginnen wieder von vorne, wenn Claude [den Workflow in der Hintergrund-Sitzung neu startet](#dynamic-workflows-when-you-background).

904* **Automatische Artefakt-Antworten**: Claude [antwortet auf Kommentare zu einem Artefakt von selbst](https://code.claude.com/docs/de/artifacts.md#let-claude-reply-to-comments-on-its-own). Diese Antworten werden in der Hintergrund-Sitzung fortgesetzt, und der Dialog sagt dies.913* **Automatische Artefakt-Antworten**: Claude [antwortet auf Kommentare zu einem Artefakt von selbst](https://code.claude.com/docs/de/artifacts.md#let-claude-reply-to-comments-on-its-own). Diese Antworten werden in der Hintergrund-Sitzung fortgesetzt, und der Dialog sagt dies.

905 914 

906Führen Sie `/tasks` aus, um alles 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 laufen zu lassen. Siehe [Was beim Verschieben in den Hintergrund übernommen wird](#what-carries-over-when-you-background), um zu sehen, welche Arten von Arbeit übertragen werden und welche Claude Code stoppt.915Führen Sie `/tasks` aus, um alles 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 laufen zu lassen. Siehe [Was beim Verschieben in den Hintergrund übernommen wird](#what-carries-over-when-you-background), um zu sehen, welche Arten von Arbeit übertragen werden und welche Claude Code stoppt.


1118| v2.1.200 | Eine ältere Claude-Code-Version, die die Sitzungsliste in `roster.json` neu schreibt, bewahrt die von einer neueren Version geschriebenen Felder, entsprechend der bestehenden Garantie für `state.json`, sodass von der neueren Version gestartete Sitzungen nach einem Neustart des Supervisors weiterhin Eingaben annehmen. Wenn Sie eine Sitzung öffnen, die nicht mehr reagiert, startet der Supervisor ihren Prozess neu, und die Sitzung setzt die unterbrochene Antwort dort fort, wo sie aufgehört hat. Die Agentenansicht wendet ein nach `agents` angegebenes `--plugin-dir`-Flag sowohl auf ihre eigene Autovervollständigung für Subagenten und Skills in der Dispatch-Eingabe als auch auf gestartete Sitzungen an. |1127| v2.1.200 | Eine ältere Claude-Code-Version, die die Sitzungsliste in `roster.json` neu schreibt, bewahrt die von einer neueren Version geschriebenen Felder, entsprechend der bestehenden Garantie für `state.json`, sodass von der neueren Version gestartete Sitzungen nach einem Neustart des Supervisors weiterhin Eingaben annehmen. Wenn Sie eine Sitzung öffnen, die nicht mehr reagiert, startet der Supervisor ihren Prozess neu, und die Sitzung setzt die unterbrochene Antwort dort fort, wo sie aufgehört hat. Die Agentenansicht wendet ein nach `agents` angegebenes `--plugin-dir`-Flag sowohl auf ihre eigene Autovervollständigung für Subagenten und Skills in der Dispatch-Eingabe als auch auf gestartete Sitzungen an. |

1119| v2.1.199 | Eine Hintergrundsitzung, deren Prozess auf einem Host mit wenig Arbeitsspeicher beendet wird, bevor er vollständig gestartet ist, zeigt in ihrem Zeilenstatus `possibly low memory — free some up and retry` an statt nur des reinen Beendigungsgrunds. Das Verschieben einer Sitzung in den Hintergrund mit `←` oder `/background` überträgt ihre `/color` auf die neue Zeile. |1128| v2.1.199 | Eine Hintergrundsitzung, deren Prozess auf einem Host mit wenig Arbeitsspeicher beendet wird, bevor er vollständig gestartet ist, zeigt in ihrem Zeilenstatus `possibly low memory — free some up and retry` an statt nur des reinen Beendigungsgrunds. Das Verschieben einer Sitzung in den Hintergrund mit `←` oder `/background` überträgt ihre `/color` auf die neue Zeile. |

1120| v2.1.198 | Die Agentenansicht sendet eine Benachrichtigung über `preferredNotifChannel`, wenn eine Hintergrundsitzung eine Eingabe benötigt, fertig wird oder fehlschlägt, und löst den `Notification`-Hook mit dem Typ `agent_needs_input` oder `agent_completed` aus. `←` und `/exit` innerhalb von `claude attach <id>` kehren zur Agentenansicht zurück, statt zur Shell zu beenden; `Ctrl+Z` kehrt zur Shell zurück. Eine Hintergrundsitzung, die ihre Arbeit in einem Worktree isoliert hat, committet, pusht ihren eigenen isolierten Branch, niemals `main` oder `master`, und öffnet einen Draft-Pull-Request, wenn sie fertig ist, statt vorher nachzufragen. `/login` läuft in der Agentenansicht und öffnet den Anmeldedialog. Der Beenden-Dialog `Background work is running` bietet `Move to background and exit` an. Die Übergabe beim Beenden umfasst auch Hintergrund-Subagenten, die beim nächsten Aufwecken aus ihrem Transkript fortgesetzt werden, statt als fehlgeschlagen gemeldet zu werden. `claude --bg` in Kombination mit `-p` oder `--print` wird mit einem Fehler abgelehnt. Der Host für Hintergrundsitzungen fordert beim ersten LAN-Zugriff die macOS-Berechtigung für das lokale Netzwerk an, statt mit `connect: no route to host` fehlzuschlagen. |1129| v2.1.198 | Die Agentenansicht sendet eine Benachrichtigung über `preferredNotifChannel`, wenn eine Hintergrundsitzung eine Eingabe benötigt, fertig wird oder fehlschlägt, und löst den `Notification`-Hook mit dem Typ `agent_needs_input` oder `agent_completed` aus. `←` und `/exit` innerhalb von `claude attach <id>` kehren zur Agentenansicht zurück, statt zur Shell zu beenden; `Ctrl+Z` kehrt zur Shell zurück. Eine Hintergrundsitzung, die ihre Arbeit in einem Worktree isoliert hat, committet, pusht ihren eigenen isolierten Branch, niemals `main` oder `master`, und öffnet einen Draft-Pull-Request, wenn sie fertig ist, statt vorher nachzufragen. `/login` läuft in der Agentenansicht und öffnet den Anmeldedialog. Der Beenden-Dialog `Background work is running` bietet `Move to background and exit` an. Die Übergabe beim Beenden umfasst auch Hintergrund-Subagenten, die beim nächsten Aufwecken aus ihrem Transkript fortgesetzt werden, statt als fehlgeschlagen gemeldet zu werden. `claude --bg` in Kombination mit `-p` oder `--print` wird mit einem Fehler abgelehnt. Der Host für Hintergrundsitzungen fordert beim ersten LAN-Zugriff die macOS-Berechtigung für das lokale Netzwerk an, statt mit `connect: no route to host` fehlzuschlagen. |

1121| v2.1.196 | Ein einziges Drücken von `←` verschiebt eine Vordergrundsitzung in den Hintergrund; frühere Versionen erforderten zwei Tastendrücke, mit einem Hinweis in der Fußzeile und einer Bestätigung. An `claude agents` übergebenes `--dangerously-skip-permissions` zeigt den Bypass-Hinweis an, statt unbemerkt verworfen zu werden. Interaktive Sitzungen, die Sie nie benannt haben, tragen in Sitzungslisten und in `claude agents --json` einen Standardnamen wie `my-app-3f`. Hintergrund-Shell-Befehle und dynamische Workflows überstehen das Stoppen, Neustarten oder Aktualisieren des Sitzungsprozesses, auch unter Windows; setzen Sie `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1`, um die Übergabe zu deaktivieren. Ein Transkript, das beim Neustart fälschlich als leer gelesen wird, wird mit einem `.orphaned-`-Suffix umbenannt statt gelöscht. |1130| v2.1.196 | Ein einziges Drücken von `←` verschiebt eine Vordergrundsitzung in den Hintergrund; frühere Versionen erforderten zwei Tastendrücke, mit einem Hinweis in der Fußzeile und einer Bestätigung. An `claude agents` übergebenes `--dangerously-skip-permissions` zeigt den Bypass-Hinweis an, statt unbemerkt verworfen zu werden. Interaktive Sitzungen, die Sie nie benannt haben, tragen in Sitzungslisten und in `claude agents --json` einen Standardnamen wie `my-app-3f`. Hintergrund-Shell-Befehle überstehen das Stoppen, Neustarten oder Aktualisieren des Sitzungsprozesses, auch unter Windows; setzen Sie `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1`, um die Übergabe zu deaktivieren. Ein Transkript, das beim Neustart fälschlich als leer gelesen wird, wird mit einem `.orphaned-`-Suffix umbenannt statt gelöscht. |

1122| v2.1.195 | Laufende Hintergrundarbeit wird auch unter Windows übernommen, wenn Sie eine Sitzung in den Hintergrund verschieben. Die Gruppe `Completed` füllt den verbleibenden vertikalen Platz, und die Kopfzeile wird auf kurzen Terminals kompakter. Eine ältere Claude-Code-Version verwirft keine `state.json`-Felder neuerer Sitzungen mehr und blendet diese Sitzungen nicht mehr in `claude agents` aus. Das Verbinden mit einer gestoppten Sitzung wechselt sofort, statt bis zu fünf Sekunden lang einen leeren Bildschirm anzuzeigen. Ein Supervisor, der keine Verbindungen annehmen kann, beendet sich und gibt seine Sperre selbstständig frei. |1131| v2.1.195 | Laufende Hintergrundarbeit wird auch unter Windows übernommen, wenn Sie eine Sitzung in den Hintergrund verschieben. Die Gruppe `Completed` füllt den verbleibenden vertikalen Platz, und die Kopfzeile wird auf kurzen Terminals kompakter. Eine ältere Claude-Code-Version verwirft keine `state.json`-Felder neuerer Sitzungen mehr und blendet diese Sitzungen nicht mehr in `claude agents` aus. Das Verbinden mit einer gestoppten Sitzung wechselt sofort, statt bis zu fünf Sekunden lang einen leeren Bildschirm anzuzeigen. Ein Supervisor, der keine Verbindungen annehmen kann, beendet sich und gibt seine Sperre selbstständig frei. |

1123| v2.1.191 | `claude --bg` mit einem `--agent`-Namen, der keinem Ihrer Subagenten entspricht, lässt den Start fehlschlagen: Die Sitzung beendet sich sofort mit einem `--agent '<name>' not found`-Fehler, statt mit dem Standard-Agenten zu laufen. |1132| v2.1.191 | `claude --bg` mit einem `--agent`-Namen, der keinem Ihrer Subagenten entspricht, lässt den Start fehlschlagen: Die Sitzung beendet sich sofort mit einem `--agent '<name>' not found`-Fehler, statt mit dem Standard-Agenten zu laufen. |

1124| v2.1.174 | Hintergrundsitzungen erben keine Gateway-Endpunkt-Variablen wie `ANTHROPIC_BASE_URL` mehr aus der Start-Shell des Supervisors; der Supervisor liefert vorab gestarteten Workern einen frischen Snapshot der Anmeldedaten, wodurch fälschliche `Could not resolve authentication method`-Fehler behoben werden. |1133| v2.1.174 | Hintergrundsitzungen erben keine Gateway-Endpunkt-Variablen wie `ANTHROPIC_BASE_URL` mehr aus der Start-Shell des Supervisors; der Supervisor liefert vorab gestarteten Workern einen frischen Snapshot der Anmeldedaten, wodurch fälschliche `Could not resolve authentication method`-Fehler behoben werden. |

Details

927 927 

928Wenn Sie wechseln, löschen Sie jede `serve_to_desktop`-Zeile in derselben Bearbeitung, in der Sie die Blöcke umbenennen. Wo eine Anweisung den `cli`-Block nennt, verwenden Sie Ihren `code`-Block.928Wenn Sie wechseln, löschen Sie jede `serve_to_desktop`-Zeile in derselben Bearbeitung, in der Sie die Blöcke umbenennen. Wo eine Anweisung den `cli`-Block nennt, verwenden Sie Ihren `code`-Block.

929 929 

930`serve_to_desktop: true` ist eine Legacy-Methode, um die `cli`-Einstellungen einer Richtlinie dem Code-Tab anzubieten. Sie hat keine Wirkung, wenn sich Claude Desktop über [`bootstrapUrl`](#claude-desktop-overlay) verbindet. Solange Ihre Richtlinien `cli` verwenden, bedeutet eine Startwarnung, die diesen Schlüssel nennt, dass diese Einstellungen den Code-Tab nicht erreichen:

931 

932* **Um den Code-Tab abzudecken**: Wechseln Sie zu `code`, sobald die Rechner der Benutzer die Bedingungen in [`code`-Einstellungen im Code-Tab anwenden](#apply-code-settings-in-the-code-tab) erfüllen

933* **Um bei `cli` zu bleiben**: Setzen Sie `serve_to_desktop: false` neben `cli` in einer Richtlinie, um die Warnung zu unterdrücken

934 

930#### Was in `cli` geht935#### Was in `cli` geht

931 936 

932Jeder `code`- oder `cli`-Wert ist ein vollständiges Claude-Code-Dokument `managed-settings.json`, mit demselben Schema, das Sie per MDM oder über `/etc/claude-code/managed-settings.json` bereitstellen würden, hier als YAML ausgedrückt. Die CLI wendet das gelieferte Dokument auf der verwalteten Ebene an, oberhalb der Benutzer- und Projekteinstellungen, anstelle der serververwalteten Einstellungen. Sie ignoriert daher die Einstellungen, die [auf Richtlinienquellen auf Betriebssystemebene beschränkt sind](https://code.claude.com/docs/de/server-managed-settings.md#current-limitations), etwa `policyHelper` und `wslInheritsWindowsSettings`.937Jeder `code`- oder `cli`-Wert ist ein vollständiges Claude-Code-Dokument `managed-settings.json`, mit demselben Schema, das Sie per MDM oder über `/etc/claude-code/managed-settings.json` bereitstellen würden, hier als YAML ausgedrückt. Die CLI wendet das gelieferte Dokument auf der verwalteten Ebene an, oberhalb der Benutzer- und Projekteinstellungen, anstelle der serververwalteten Einstellungen. Sie ignoriert daher die Einstellungen, die [auf Richtlinienquellen auf Betriebssystemebene beschränkt sind](https://code.claude.com/docs/de/server-managed-settings.md#current-limitations), etwa `policyHelper` und `wslInheritsWindowsSettings`.


974| - | - | - |979| - | - | - |

975| `availableModels` | Gateway + CLI | Modell-Zulassungsliste. Auch unter `/v1/messages` geprüft, sodass ein gepatchter Client sie nicht umgehen kann. |980| `availableModels` | Gateway + CLI | Modell-Zulassungsliste. Auch unter `/v1/messages` geprüft, sodass ein gepatchter Client sie nicht umgehen kann. |

976| [`deniedModels`](https://code.claude.com/docs/de/settings-reference#deniedmodels), [`availableModelsMatch`](https://code.claude.com/docs/de/settings-reference#availablemodelsmatch) | Gateway + CLI | [Bestimmte Modelle oder Versionen blockieren](https://code.claude.com/docs/de/model-config.md#block-specific-models-or-versions), die `availableModels` sonst zulassen würde. Ein blockiertes Modell wird an `/v1/messages` mit `400` abgelehnt und erscheint nicht in `/v1/models`. Die eigene Prüfung des Gateways erfordert Claude Code v2.1.299 oder höher auf dem Gateway-Server. Die Prüfung der CLI erfordert v2.1.283 oder höher auf den Clients; frühere Clients ignorieren beide Schlüssel. |981| [`deniedModels`](https://code.claude.com/docs/de/settings-reference#deniedmodels), [`availableModelsMatch`](https://code.claude.com/docs/de/settings-reference#availablemodelsmatch) | Gateway + CLI | [Bestimmte Modelle oder Versionen blockieren](https://code.claude.com/docs/de/model-config.md#block-specific-models-or-versions), die `availableModels` sonst zulassen würde. Ein blockiertes Modell wird an `/v1/messages` mit `400` abgelehnt und erscheint nicht in `/v1/models`. Die eigene Prüfung des Gateways erfordert Claude Code v2.1.299 oder höher auf dem Gateway-Server. Die Prüfung der CLI erfordert v2.1.283 oder höher auf den Clients; frühere Clients ignorieren beide Schlüssel. |

977| `permissions.allow` / `.deny` | CLI | Tool- und Befehlsregeln. Siehe [Berechtigungen](https://code.claude.com/docs/de/permissions.md). |982| `permissions.allow` / `.deny` | CLI | Regeln für Tools und Befehle. Siehe [Berechtigungen](https://code.claude.com/docs/de/permissions.md) und [was eine Bash-Regel nicht erfasst](https://code.claude.com/docs/de/permissions.md#bash-rule-limits). |

978| `permissions.disableBypassPermissionsMode` | CLI | Setzen Sie auf `disable`, um [`bypassPermissions`](https://code.claude.com/docs/de/permission-modes#skip-all-checks-with-bypasspermissions-mode), den Modus, der Berechtigungsabfragen überspringt, und das Flag `--dangerously-skip-permissions` zu blockieren |983| `permissions.disableBypassPermissionsMode` | CLI | Setzen Sie auf `disable`, um [`bypassPermissions`](https://code.claude.com/docs/de/permission-modes#skip-all-checks-with-bypasspermissions-mode), den Modus, der Berechtigungsabfragen überspringt, und das Flag `--dangerously-skip-permissions` zu blockieren |

979| `allowManagedPermissionRulesOnly` | CLI | Wenn `true`, werden verwaltete Einstellungen zur einzigen Einstellungsquelle von Berechtigungsregeln. Der Eintrag [`allowManagedPermissionRulesOnly`](https://code.claude.com/docs/de/settings-reference#allowmanagedpermissionrulesonly) listet jede Quelle auf, die Claude Code dann ignoriert. |984| `allowManagedPermissionRulesOnly` | CLI | Wenn `true`, werden verwaltete Einstellungen zur einzigen Einstellungsquelle von Berechtigungsregeln. Der Eintrag [`allowManagedPermissionRulesOnly`](https://code.claude.com/docs/de/settings-reference#allowmanagedpermissionrulesonly) listet jede Quelle auf, die Claude Code dann ignoriert. |

980| `env` | CLI | Umgebungsvariablen, die in den CLI-Prozess zusammengeführt werden. Verwenden Sie für Telemetrie, Auto-Update und Modellnamen-Überschreibungen. |985| `env` | CLI | Umgebungsvariablen, die in den CLI-Prozess zusammengeführt werden. Verwenden Sie für Telemetrie, Auto-Update und Modellnamen-Überschreibungen. |


1003 1008 

1004Der Schlüssel `cli` hieß in früheren Versionen `settings`, und das Gateway akzeptiert diese Schreibweise weiterhin als Alias. Verwenden Sie für neue Bereitstellungen [`code`](#choose-cli-or-code).1009Der Schlüssel `cli` hieß in früheren Versionen `settings`, und das Gateway akzeptiert diese Schreibweise weiterhin als Alias. Verwenden Sie für neue Bereitstellungen [`code`](#choose-cli-or-code).

1005 1010 

1011#### Eine Richtlinie vor der Bereitstellung testen

1012 

1013Um eine Richtlinienänderung zu testen, starten Sie das Gateway mit einer Wegwerf-Postgres-Datenbank. Das Gateway verbindet sich mit Postgres und wendet seine Schemamigrationen an, bevor es den Inhalt der Blöcke `cli`, `code` und `desktop` prüft. Wenn es die Datenbank nicht erreichen kann, bricht der Start bei `could not connect to Postgres` ab und meldet nichts über deren Inhalt.

1014 

1006#### Kontextfenster in Terminal-Sitzungen1015#### Kontextfenster in Terminal-Sitzungen

1007 1016 

1008Terminal-Sitzungen, die über `/login` angemeldet sind, verwenden das 1M-Kontextfenster für Opus 4.7 und später, Sonnet 5 und später sowie die Fable-Modelle. Die Modell-ID benötigt kein `[1m]`-Suffix, und Sitzungen komprimieren bei etwa 967K Token. Vor Claude Code v2.1.287 auf der Maschine des Entwicklers behandelte Claude Code die Opus- und Fable-Modelle so, als hätten sie ein 200K-Fenster, sofern die Modell-ID nicht auf `[1m]` endete.1017Terminal-Sitzungen, die über `/login` angemeldet sind, verwenden das 1M-Kontextfenster für Opus 4.7 und später, Sonnet 5 und später sowie die Fable-Modelle. Die Modell-ID benötigt kein `[1m]`-Suffix, und Sitzungen komprimieren bei etwa 967K Token. Vor Claude Code v2.1.287 auf der Maschine des Entwicklers behandelte Claude Code die Opus- und Fable-Modelle so, als hätten sie ein 200K-Fenster, sofern die Modell-ID nicht auf `[1m]` endete.


1589 # Die Contractor-Richtlinie erbt diesen Schlüssel.1598 # Die Contractor-Richtlinie erbt diesen Schlüssel.

1590 enforceAvailableModels: true1599 enforceAvailableModels: true

1591 permissions:1600 permissions:

1592 allow: [Read, Grep, Bash, Edit]1601 allow: [Read, Grep, Edit]

1593 deny: ["WebFetch"]1602 deny: ["WebFetch"]

1594 env: { HTTP_PROXY: http://proxy.example.com:8080 }1603 env: { HTTP_PROXY: http://proxy.example.com:8080 }

1595 1604 

Details

393| 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](https://code.claude.com/docs/de/claude-apps-gateway#set-the-gateway-url) auf dem Gerät bereit; `/login` liest die Gateway-URL von dort |393| 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](https://code.claude.com/docs/de/claude-apps-gateway#set-the-gateway-url) auf dem Gerät bereit; `/login` liest die Gateway-URL von dort |

394| Die Anfragen eines Entwicklers schlagen mit `Not signed in to the Cloud gateway — run /login.` fehl | Die verwalteten Einstellungen der Maschine setzen `forceLoginMethod: "gateway"` oder `forceLoginGatewayUrl`, und die Sitzung hat keine Gateway-Anmeldung. Eine verbleibende claude.ai-Anmeldung erfüllt die Anforderung nicht. | Lassen Sie den Entwickler `/login` ausführen und die Gateway-Anmeldung abschließen. Siehe auch [Administrator-Richtlinie erfordert eine Cloud-Gateway-Anmeldung](https://code.claude.com/docs/de/errors.md#administrator-policy-requires-a-cloud-gateway-sign-in). |394| Die Anfragen eines Entwicklers schlagen mit `Not signed in to the Cloud gateway — run /login.` fehl | Die verwalteten Einstellungen der Maschine setzen `forceLoginMethod: "gateway"` oder `forceLoginGatewayUrl`, und die Sitzung hat keine Gateway-Anmeldung. Eine verbleibende claude.ai-Anmeldung erfüllt die Anforderung nicht. | Lassen Sie den Entwickler `/login` ausführen und die Gateway-Anmeldung abschließen. Siehe auch [Administrator-Richtlinie erfordert eine Cloud-Gateway-Anmeldung](https://code.claude.com/docs/de/errors.md#administrator-policy-requires-a-cloud-gateway-sign-in). |

395| Claude Desktop meldet, dass seine Bootstrap-Konfiguration nicht abgerufen werden konnte | `/user/bootstrap` gab 404 zurück: die Richtlinie, die dem Benutzer entspricht, trägt keinen `desktop`-Schlüssel, oder es wurde keine Richtlinie gefunden. Das Gateway-Audit-Protokoll zeichnet jede Ablehnung als `desktop_bootstrap.denied` mit dem Grund auf. | Fügen Sie einen `desktop`-Block zur Richtlinie hinzu, die dem Benutzer entspricht, oder zur `match: {}`-Basisebene; ein leeres `desktop: {}` reicht aus. Siehe [Claude-Desktop-Overlay](https://code.claude.com/docs/de/claude-apps-gateway-config.md#claude-desktop-overlay). |395| Claude Desktop meldet, dass seine Bootstrap-Konfiguration nicht abgerufen werden konnte | `/user/bootstrap` gab 404 zurück: die Richtlinie, die dem Benutzer entspricht, trägt keinen `desktop`-Schlüssel, oder es wurde keine Richtlinie gefunden. Das Gateway-Audit-Protokoll zeichnet jede Ablehnung als `desktop_bootstrap.denied` mit dem Grund auf. | Fügen Sie einen `desktop`-Block zur Richtlinie hinzu, die dem Benutzer entspricht, oder zur `match: {}`-Basisebene; ein leeres `desktop: {}` reicht aus. Siehe [Claude-Desktop-Overlay](https://code.claude.com/docs/de/claude-apps-gateway-config.md#claude-desktop-overlay). |

396| Das Audit-Log zeigt `auth.denied` mit `reason: invalid_token` auf `/v1/logs` oder `/v1/metrics` | Sie haben [`otelHeadersHelper`](https://code.claude.com/docs/de/settings-reference#otelheadershelper) in den verwalteten Einstellungen einer Maschine gesetzt. In einer Claude-Desktop-Sitzung auf dieser Maschine sendet Claude Code den `Authorization`-Header aus dem Helper anstelle des Sitzungs-Tokens an das Telemetrie-Relay des Gateways. Wo Claude Desktop eine Claude-Code-Version vor v2.1.307 bündelt, erhalten Sie dieselbe Ablehnung, wenn Sie in diesen Einstellungen einen `Authorization`-Header in `OTEL_EXPORTER_OTLP_HEADERS` oder in einer signalspezifischen Form setzen. | Entfernen Sie den Helper aus diesen Einstellungen. Wo Claude Desktop eine Claude-Code-Version vor v2.1.307 bündelt, entfernen Sie die Variable. |

396| 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 |397| 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 |

397| Startup beendet mit `Administrator policy requires a Cloud gateway sign-in on this machine` | Die Umgebung des Entwicklers setzt `ANTHROPIC_API_KEY` oder `ANTHROPIC_AUTH_TOKEN`, ihre Einstellungen konfigurieren einen [`apiKeyHelper`](https://code.claude.com/docs/de/settings-reference#apikeyhelper), oder ein API-Schlüssel aus einer früheren Claude-Console-Anmeldung ist noch gespeichert | Lassen Sie den Entwickler jeden löschen, der zutrifft: die Variable aufheben, den `apiKeyHelper`-Eintrag entfernen, oder `claude auth logout` ausführen, um den gespeicherten Schlüssel zu entfernen. Eine Sitzung, die einen Cloud-Provider mit `CLAUDE_CODE_USE_*` auswählt, startet dann ohne Anmeldung; für jede andere Sitzung lassen Sie ihn `claude` starten und sich mit `/login` anmelden. Siehe auch [Administrator-Richtlinie erfordert eine Cloud-Gateway-Anmeldung](https://code.claude.com/docs/de/errors.md#administrator-policy-requires-a-cloud-gateway-sign-in). |398| Startup beendet mit `Administrator policy requires a Cloud gateway sign-in on this machine` | Die Umgebung des Entwicklers setzt `ANTHROPIC_API_KEY` oder `ANTHROPIC_AUTH_TOKEN`, ihre Einstellungen konfigurieren einen [`apiKeyHelper`](https://code.claude.com/docs/de/settings-reference#apikeyhelper), oder ein API-Schlüssel aus einer früheren Claude-Console-Anmeldung ist noch gespeichert | Lassen Sie den Entwickler jeden löschen, der zutrifft: die Variable aufheben, den `apiKeyHelper`-Eintrag entfernen, oder `claude auth logout` ausführen, um den gespeicherten Schlüssel zu entfernen. Eine Sitzung, die einen Cloud-Provider mit `CLAUDE_CODE_USE_*` auswählt, startet dann ohne Anmeldung; für jede andere Sitzung lassen Sie ihn `claude` starten und sich mit `/login` anmelden. Siehe auch [Administrator-Richtlinie erfordert eine Cloud-Gateway-Anmeldung](https://code.claude.com/docs/de/errors.md#administrator-policy-requires-a-cloud-gateway-sign-in). |

398| Startup oder `/login` meldet `Claude Code may not be enabled for your organization` nach einer 403 beim Laden der verwalteten Einstellungen | Das Gateway oder etwas davor hat die `/managed/settings`-Anfrage mit 403 beantwortet. Die Gateway-eigene Einstellungsroute antwortet niemals mit 403. Der Status stammt von den [`access_control`](https://code.claude.com/docs/de/claude-apps-gateway-config#http-tuning)-IP-Überprüfungen oder von einem Proxy oder WAF vor dem Gateway. Das Audit-Protokoll zeichnet eine IP-Überprüfungs-Ablehnung als `access.denied` mit dem Grund auf. Der Entwickler bleibt angemeldet. | Überprüfen Sie das Audit-Protokoll auf `access.denied` zum Zeitpunkt des Fehlers und beheben Sie die `access_control`-Listen oder das Front-End, dann lassen Sie den Entwickler `claude` erneut starten |399| Startup oder `/login` meldet `Claude Code may not be enabled for your organization` nach einer 403 beim Laden der verwalteten Einstellungen | Das Gateway oder etwas davor hat die `/managed/settings`-Anfrage mit 403 beantwortet. Die Gateway-eigene Einstellungsroute antwortet niemals mit 403. Der Status stammt von den [`access_control`](https://code.claude.com/docs/de/claude-apps-gateway-config#http-tuning)-IP-Überprüfungen oder von einem Proxy oder WAF vor dem Gateway. Das Audit-Protokoll zeichnet eine IP-Überprüfungs-Ablehnung als `access.denied` mit dem Grund auf. Der Entwickler bleibt angemeldet. | Überprüfen Sie das Audit-Protokoll auf `access.denied` zum Zeitpunkt des Fehlers und beheben Sie die `access_control`-Listen oder das Front-End, dann lassen Sie den Entwickler `claude` erneut starten |

Details

288 288 

289[Agent-Teams](https://code.claude.com/docs/de/agent-teams.md) sind standardmäßig deaktiviert, können aber aktiviert werden, indem Sie `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` zu Ihren [Umgebungsvariablen](https://code.claude.com/docs/de/cloud-environments.md#set-environment-variables) hinzufügen.289[Agent-Teams](https://code.claude.com/docs/de/agent-teams.md) sind standardmäßig deaktiviert, können aber aktiviert werden, indem Sie `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` zu Ihren [Umgebungsvariablen](https://code.claude.com/docs/de/cloud-environments.md#set-environment-variables) hinzufügen.

290 290 

291### Plugin-Vorschläge in der Konversation

292 

293Eine Karte in der Konversation, die ein oder mehrere [Plugins](https://code.claude.com/docs/de/plugins/overview.md) mit einer Schaltfläche **Add** auflistet, bedeutet, dass Claude Plugins für Ihre Aufgabe vorschlägt. Claude kann diese Vorschläge machen, ohne dass Sie danach fragen. Sie müssen nicht reagieren, und Claude setzt die Aufgabe in jedem Fall fort.

294 

295#### Ein vorgeschlagenes Plugin hinzufügen oder entfernen

296 

297Wählen Sie bei einem Plugin **Add**, um es für Ihr claude.ai-Konto zu aktivieren, wo es auch nach dem Ende der Sitzung aktiviert bleibt. Um dies rückgängig zu machen, öffnen Sie das hinzugefügte Plugin über die Karte, wählen Sie **Manage**, um zur Seite des Plugins auf claude.ai zu gelangen, und entfernen Sie das Plugin auf dieser Seite.

298 

299#### Plugin-Vorschläge deaktivieren

300 

301Um zu verhindern, dass Claude Plugins vorschlägt, verweigern Sie die Tools `SearchPlugins` und `SuggestPluginInstall` mit [Berechtigungsregeln](https://code.claude.com/docs/de/permissions.md#manage-permissions). In einer Sitzung mit einem Repository außerhalb eines [Projekts](https://code.claude.com/docs/de/claude-projects.md) committen Sie die Regeln in die `.claude/settings.json` dieses Repositorys und listen beide Tool-Namen unter `permissions.deny` auf:

302 

303```json theme={null}

304{

305 "permissions": {

306 "deny": ["SearchPlugins", "SuggestPluginInstall"]

307 }

308}

309```

310 

311Claude Code ignoriert Berechtigungsregeln in der `.claude/settings.json` des Repositorys, einschließlich dieser deny-Regeln, wenn die [verwalteten Einstellungen](https://code.claude.com/docs/de/managed-settings.md), die für die Sitzung gelten, [`allowManagedPermissionRulesOnly`](https://code.claude.com/docs/de/settings-reference#allowmanagedpermissionrulesonly) setzen. Legen Sie die Regeln in diesem Fall stattdessen in diesen verwalteten Einstellungen fest. Für andere Konfigurationen, etwa eine Sitzung mit mehreren Repositorys oder einen Cloud-Thread in einem Projekt, sehen Sie nach, welche [Einstellungen eine Cloud-Sitzung erreichen](https://code.claude.com/docs/de/settings.md#settings-in-cloud-sessions).

312 

291### Eine eingereihte Nachricht zurücknehmen313### Eine eingereihte Nachricht zurücknehmen

292 314 

293Wenn Sie eine Nachricht senden, während Claude arbeitet, wird die Nachricht eingereiht, bis Claude sie liest. Um eine eingereihte Nachricht zurückzunehmen, klicken Sie auf das ✕ darauf. Der Text kehrt in das Nachrichtenfeld zurück, damit Sie ihn bearbeiten oder etwas anderes senden können.315Wenn Sie eine Nachricht senden, während Claude arbeitet, wird die Nachricht eingereiht, bis Claude sie liest. Um eine eingereihte Nachricht zurückzunehmen, klicken Sie auf das ✕ darauf. Der Text kehrt in das Nachrichtenfeld zurück, damit Sie ihn bearbeiten oder etwas anderes senden können.

Details

103 103 

104Über die Konfiguration, die Sie erstellen, hinaus, enthält `~/.claude` Daten, die Claude Code während Sitzungen schreibt. Diese Dateien sind Klartext. Alles, das durch ein Tool läuft, wird in einem Transkript auf der Festplatte geschrieben: Dateiinhalte, Befehlsausgabe, eingefügter Text.104Über die Konfiguration, die Sie erstellen, hinaus, enthält `~/.claude` Daten, die Claude Code während Sitzungen schreibt. Diese Dateien sind Klartext. Alles, das durch ein Tool läuft, wird in einem Transkript auf der Festplatte geschrieben: Dateiinhalte, Befehlsausgabe, eingefügter Text.

105 105 

106Das Transkript kann auch enthalten, was Claude Code zusammen mit Ihren Nachrichten an das Modell sendet:

107 

108* Den System-Prompt

109* Tool-Definitionen

110* Anfrageparameter

111* Die geladenen Anweisungsdateien, z. B. CLAUDE.md

112 

106### Automatisch bereinigt113### Automatisch bereinigt

107 114 

108Claude Code löscht die Dateien in den folgenden Pfaden, sobald sie älter als [`cleanupPeriodDays`](https://code.claude.com/docs/de/settings-reference#cleanupperioddays) sind, solange es die Aufbewahrungsfrist sicher bestimmen kann. Der Standard ist 30 Tage und das Minimum ist 1; das Setzen von `0` schlägt mit einem Validierungsfehler fehl. Die gleiche Altersgrenze gilt für die automatische Entfernung von [verwaisten Worktrees](https://code.claude.com/docs/de/worktrees.md#clean-up-subagent-and-background-session-worktrees).115Claude Code löscht die Dateien in den folgenden Pfaden, sobald sie älter als [`cleanupPeriodDays`](https://code.claude.com/docs/de/settings-reference#cleanupperioddays) sind, solange es die Aufbewahrungsfrist sicher bestimmen kann. Der Standard ist 30 Tage und das Minimum ist 1; das Setzen von `0` schlägt mit einem Validierungsfehler fehl. Die gleiche Altersgrenze gilt für die automatische Entfernung von [verwaisten Worktrees](https://code.claude.com/docs/de/worktrees.md#clean-up-subagent-and-background-session-worktrees).

109 116 

110| Pfad unter `~/.claude/` | Inhalte |117| Pfad unter `~/.claude/` | Inhalte |

111| - | - |118| - | - |

112| `projects/<project>/<session>.jsonl` | Vollständiges Gesprächstranskript: jede Nachricht, jeder Tool-Aufruf und jedes Tool-Ergebnis |119| `projects/<project>/<session>.jsonl` | Konversationstranskript: Nachrichten, Tool-Aufrufe und Tool-Ergebnisse sowie der System-Prompt, die Tool-Definitionen und die Parameter der Anfragen, die Claude Code an das Modell gesendet hat |

113| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`, `projects/<project>/<session>.jsonl.superseded-<timestamp>` | Ein vorheriges Transkript für die Sitzung, das Claude Code beiseite gelegt hat, anstatt es zu überschreiben oder zu löschen. Es wird nicht in der Sitzungsauswahl angezeigt |120| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`, `projects/<project>/<session>.jsonl.superseded-<timestamp>` | Ein vorheriges Transkript für die Sitzung, das Claude Code beiseite gelegt hat, anstatt es zu überschreiben oder zu löschen. Es wird nicht in der Sitzungsauswahl angezeigt |

114| `projects/<project>/<session>/subagents/` | [Subagent](https://code.claude.com/docs/de/sub-agents.md) Gesprächstranskripte, entfernt mit dem übergeordneten Sitzungstranskript, wenn es veraltet |121| `projects/<project>/<session>/subagents/` | [Subagent](https://code.claude.com/docs/de/sub-agents.md)-Transkripte im gleichen Format wie das Sitzungstranskript, entfernt mit dem übergeordneten Sitzungstranskript, wenn es veraltet |

115| `projects/<project>/<session>/tool-results/` | Große Tool-Ausgaben, die in separate Dateien verschoben werden, und vollständige Kopien von [Bildern, die MCP-Tools zurückgeben](https://code.claude.com/docs/de/mcp.md#images-in-tool-results) |122| `projects/<project>/<session>/tool-results/` | Große Tool-Ausgaben, die in separate Dateien verschoben werden, und vollständige Kopien von [Bildern, die MCP-Tools zurückgeben](https://code.claude.com/docs/de/mcp.md#images-in-tool-results) |

116| `projects/<project>/<session>/mcp-tasks/` | Was eine fortgesetzte Sitzung benötigt, um ihren laufenden [MCP-Tasks](https://code.claude.com/docs/de/mcp.md#mcp-tasks-that-run-on-the-server) wieder zu folgen, und die Ergebnisse abgeschlossener Tasks, die Claude noch nicht gelesen hat |123| `projects/<project>/<session>/mcp-tasks/` | Was eine fortgesetzte Sitzung benötigt, um ihren laufenden [MCP-Tasks](https://code.claude.com/docs/de/mcp.md#mcp-tasks-that-run-on-the-server) wieder zu folgen, und die Ergebnisse abgeschlossener Tasks, die Claude noch nicht gelesen hat |

117| `file-history/<session>/` | Vor-Bearbeitungs-Snapshots von Dateien, die Claude geändert hat, verwendet für [Checkpoint-Wiederherstellung](https://code.claude.com/docs/de/checkpointing.md). Enthält Snapshots für die 100 neuesten Checkpoints; Snapshot-Dateien, auf die kein beibehaltener Checkpoint verweist, werden gelöscht, außer dem ersten Snapshot jeder Datei |124| `file-history/<session>/` | Vor-Bearbeitungs-Snapshots von Dateien, die Claude geändert hat, verwendet für [Checkpoint-Wiederherstellung](https://code.claude.com/docs/de/checkpointing.md). Enthält Snapshots für die 100 neuesten Checkpoints; Snapshot-Dateien, auf die kein beibehaltener Checkpoint verweist, werden gelöscht, außer dem ersten Snapshot jeder Datei |

Details

6 6 

7> Installieren Sie das Claude Security Plugin, um Ihre Codebasis in einer Claude Code-Sitzung auf Sicherheitslücken zu scannen und Erkenntnisse in Patches umzuwandeln, die Sie überprüfen und anwenden.7> Installieren Sie das Claude Security Plugin, um Ihre Codebasis in einer Claude Code-Sitzung auf Sicherheitslücken zu scannen und Erkenntnisse in Patches umzuwandeln, die Sie überprüfen und anwenden.

8 8 

9Das Claude Security Plugin führt einen Multi-Agent-Sicherheitslückenscan Ihrer Codebasis innerhalb einer Claude Code-Sitzung durch. Ein Team von Claude-Agenten kartiert Ihre Architektur, erstellt ein Bedrohungsmodell, sucht nach Sicherheitslücken und überprüft unabhängig jeden Fund, bevor der Bericht geschrieben wird. Verwenden Sie das Plugin, um ein ganzes Repository zu scannen oder [nur einen Satz von Änderungen](#scan-only-your-changes), wie das Diff eines Branches, das Diff eines Pull Requests oder einen einzelnen Commit, und wandeln Sie dann die Erkenntnisse Ihrer Wahl in Patches um, die Sie selbst überprüfen und anwenden.9Das Claude Security Plugin führt einen Multi-Agent-Sicherheitslückenscan Ihrer Codebasis innerhalb einer Claude Code-Sitzung durch. [Standardmäßig](#choose-a-scan-effort) kartieren Claude-Agenten beim Scannen eines ganzen Repositorys Ihre Architektur, erstellen ein Bedrohungsmodell, suchen nach Sicherheitslücken und überprüfen unabhängig jeden Fund, bevor der Bericht geschrieben wird.

10 

11Verwenden Sie das Plugin, um ein ganzes Repository zu scannen oder [nur einen Satz von Änderungen](#scan-only-your-changes), wie das Diff eines Branches, das Diff eines Pull Requests oder einen einzelnen Commit, und wandeln Sie dann die Erkenntnisse Ihrer Wahl in Patches um, die Sie selbst überprüfen und anwenden.

10 12 

11Das Plugin wird lokal in Ihrer Sitzung ausgeführt, verwendet [die Modelle, auf die Sie in Claude Code Zugriff haben](#models-and-providers), und jeder Scan wird auf Ihre [Nutzung](https://code.claude.com/docs/de/costs.md) angerechnet. Wenn Sie einen verwalteten Service möchten, der Ihre Repositorys überwacht, oder Scans auf [Claude Mythos](https://platform.claude.com/docs/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5) ausführen möchten, siehe das [Claude Security](https://claude.com/product/claude-security) Produkt, das im Enterprise-Plan verfügbar ist.13Das Plugin wird lokal in Ihrer Sitzung ausgeführt, verwendet [die Modelle, auf die Sie in Claude Code Zugriff haben](#models-and-providers), und jeder Scan wird auf Ihre [Nutzung](https://code.claude.com/docs/de/costs.md) angerechnet. Wenn Sie einen verwalteten Service möchten, der Ihre Repositorys überwacht, oder Scans auf [Claude Mythos](https://platform.claude.com/docs/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5) ausführen möchten, siehe das [Claude Security](https://claude.com/product/claude-security) Produkt, das im Enterprise-Plan verfügbar ist.

12 14 


51 53 

52Sobald das Plugin aktiv ist, sind Sie bereit zum [Scannen und Beheben Ihrer Codebasis](#scan-and-fix-your-codebase).54Sobald das Plugin aktiv ist, sind Sie bereit zum [Scannen und Beheben Ihrer Codebasis](#scan-and-fix-your-codebase).

53 55 

56### Aktualisieren Sie das Plugin

57 

58Um das Plugin selbst zu aktualisieren, lesen Sie [Plugins jetzt aktualisieren](https://code.claude.com/docs/de/plugins/install.md#update-plugins-now). Claude Code [aktualisiert das Plugin außerdem automatisch](https://code.claude.com/docs/de/plugins/install.md#keep-plugins-updated), sofern die automatische Aktualisierung nicht deaktiviert ist.

59 

54### Deinstallieren Sie das Plugin60### Deinstallieren Sie das Plugin

55 61 

56Um das Plugin zu entfernen, deinstallieren Sie es aus dem `/plugin`-Menü, oder führen Sie `claude plugin uninstall claude-security` in Ihrem Terminal aus.62Um das Plugin zu entfernen, deinstallieren Sie es aus dem `/plugin`-Menü, oder führen Sie `claude plugin uninstall claude-security` in Ihrem Terminal aus.


95 101 

96Scannen Sie bei einem großen Repository jeweils einen Bereich statt des gesamten Baums. Wählen Sie einen der fokussierten Bereiche, die das Plugin anbietet, wie z. B. Ihre API-Schicht oder Ihren Authentifizierungscode, und die Ausführung passt sich an das an, was Sie wählen. Der Abschnitt „Coverage“ des Berichts gibt an, was untersucht wurde und was nicht. Führen Sie jederzeit einen weiteren Scan in einem anderen Bereich durch.102Scannen Sie bei einem großen Repository jeweils einen Bereich statt des gesamten Baums. Wählen Sie einen der fokussierten Bereiche, die das Plugin anbietet, wie z. B. Ihre API-Schicht oder Ihren Authentifizierungscode, und die Ausführung passt sich an das an, was Sie wählen. Der Abschnitt „Coverage“ des Berichts gibt an, was untersucht wurde und was nicht. Führen Sie jederzeit einen weiteren Scan in einem anderen Bereich durch.

97 103 

104### Wählen Sie einen Scan-Aufwand

105 

106Der Scan-Aufwand legt fest, wie tief ein Scan geht. Ihre Erkenntnisse durchlaufen bei `low`, `medium` und `high` dieselbe unabhängige Überprüfung.

107 

108* **`low`**: ein schneller erster Blick. Beim Scannen Ihrer Codebasis werden die Architekturübersicht und das Bedrohungsmodell übersprungen.

109* **`medium`**: der Standard.

110* **`high`**: das, was `medium` tut, plus eine intensivere Suche nach Schwachstellen im selben Code.

111 

112Nennen Sie den Scan-Aufwand in Ihrer Anfrage im Eingabefeld von Claude Code, etwa `/claude-security scan my public API code at high` oder `/claude-security scan my branch at high`.

113 

114Wenn ein Scan eines großen Repositorys weniger findet, als Sie erwarten, wählen Sie den Scan-Aufwand `high`, scannen Sie ein zweites Mal, oder tun Sie beides. Beides kann Erkenntnisse melden, die ein einzelner `medium`-Scan nicht findet.

115 

98### Lesen Sie die Scan-Ergebnisse116### Lesen Sie die Scan-Ergebnisse

99 117 

100Jeder Scan schreibt seine Ergebnisse in ein Verzeichnis `CLAUDE-SECURITY-<timestamp>/` mit Zeitstempel in Ihrem Repository:118Jeder Scan schreibt seine Ergebnisse in ein Verzeichnis `CLAUDE-SECURITY-<timestamp>/` mit Zeitstempel in Ihrem Repository:


102* **`CLAUDE-SECURITY-RESULTS.md`**: der Bericht, mit der ID jedes Funds, wie z. B. `F1`, plus seine Auswirkung, Exploitierungsszenario, Schweregrad, Konfidenz und Empfehlung120* **`CLAUDE-SECURITY-RESULTS.md`**: der Bericht, mit der ID jedes Funds, wie z. B. `F1`, plus seine Auswirkung, Exploitierungsszenario, Schweregrad, Konfidenz und Empfehlung

103* **`CLAUDE-SECURITY-RESULTS.jsonl`**: die gleichen Erkenntnisse in maschinenlesbarer Form, ein JSON-Objekt pro Zeile121* **`CLAUDE-SECURITY-RESULTS.jsonl`**: die gleichen Erkenntnisse in maschinenlesbarer Form, ein JSON-Objekt pro Zeile

104* **`CLAUDE-SECURITY-RESULTS.sarif`**: die gleichen Erkenntnisse als [SARIF 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/sarif-v2.1.0.html) Log für GitHub Code Scanning und jedes andere Tool, das den Standard liest. Der Scan klassifiziert Erkenntnisse unter ihren [CWE](https://cwe.mitre.org/) Schwächekategorien122* **`CLAUDE-SECURITY-RESULTS.sarif`**: die gleichen Erkenntnisse als [SARIF 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/sarif-v2.1.0.html) Log für GitHub Code Scanning und jedes andere Tool, das den Standard liest. Der Scan klassifiziert Erkenntnisse unter ihren [CWE](https://cwe.mitre.org/) Schwächekategorien

105* **`CLAUDE-SECURITY-REVISION-<commit>.json`**: der Revisionsstempel, der aufzeichnet, welcher Commit gescannt wurde, mit welchem Aufwand, ob nicht committete Änderungen Teil des gescannten Baums waren, und wie gründlich der Durchlauf überprüft wurde, damit ein Bericht immer an den Code gebunden ist, den er beschreibt. Ein Scan außerhalb der Versionskontrolle stempelt `UNVERSIONED` anstelle des Commits123* **`CLAUDE-SECURITY-REVISION-<commit>.json`**: der Revisionsstempel, der aufzeichnet, welcher Commit gescannt wurde, mit welchem [Scan-Aufwand](#choose-a-scan-effort), ob nicht committete Änderungen Teil des gescannten Baums waren, und wie gründlich der Durchlauf überprüft wurde, damit ein Bericht immer an den Code gebunden ist, den er beschreibt. Ein Scan außerhalb der Versionskontrolle stempelt `UNVERSIONED` anstelle des Commits

106 124 

107Dieses Verzeichnis ist die einzige Änderung, die ein Scan an Ihrem Checkout vornimmt, und es hat sein eigenes `.gitignore`, daher wird ein verirrtes `git add` niemals einen Bericht in einen Commit fegen. Um einen Bericht in der Historie für einen Audit-Trail zu behalten, löschen Sie diese eine `.gitignore`-Datei und committen Sie das Verzeichnis wie jedes andere.125Dieses Verzeichnis ist die einzige Änderung, die ein Scan an Ihrem Checkout vornimmt, und es hat sein eigenes `.gitignore`, daher wird ein verirrtes `git add` niemals einen Bericht in einen Commit fegen. Um einen Bericht in der Historie für einen Audit-Trail zu behalten, löschen Sie diese eine `.gitignore`-Datei und committen Sie das Verzeichnis wie jedes andere.

108 126 

desktop.md +64 −0

Details

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

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

996 996 

997#### Den Host-Schlüssel eines Remote-Rechners prüfen

998 

999Ein Host-Schlüssel ist der Schlüssel, den ein Remote-Rechner vorlegt, um nachzuweisen, welcher Rechner er ist, und ein Fingerabdruck ist eine Kurzform dieses Schlüssels. Wenn Sie einem Schlüssel vertrauen, speichert Ihr Computer ihn und verbindet sich mit allem, was ihn vorlegt, ohne erneut zu fragen. Prüfen Sie einen Schlüssel, bevor Sie ihm vertrauen, denn möglicherweise fängt etwas die Verbindung ab.

1000 

1001Stellen Sie zunächst anhand der Stelle, an der Sie den Fingerabdruck sehen, fest, zu welchem Rechner der Schlüssel gehört:

1002 

1003* **Desktop fragt `Connect to <host> for the first time?`, oder Sie haben Review new key gewählt**: der Rechner, den Desktop nennt, `<host>`

1004* **Desktop fragt `Connect through <jump host> for the first time?`**: der Jump-Host, also der Rechner, über den Ihre Verbindung läuft, nicht der Rechner, den Sie erreichen möchten

1005* **`ssh` fragt oder warnt in einem Terminal**: der Rechner, den die Meldung nennt, der möglicherweise nicht der ist, den Sie eingegeben haben

1006 

1007Besorgen Sie sich den eigenen Fingerabdruck dieses Rechners vom Rechner selbst, nicht über die Verbindung, die Sie prüfen:

1008 

1009* **Jemand anderes verwaltet den Rechner**: Fragen Sie diese Person nach dem Fingerabdruck seines Host-Schlüssels

1010* **Sie verwalten ihn, und er läuft unter Linux oder macOS**: Führen Sie `ssh-keygen -lf /etc/ssh/ssh_host_<type>_key.pub` darauf aus, an seiner Konsole oder über eine Verbindung, der Sie bereits vertrauen. Verwenden Sie für `<type>` den Schlüsseltyp, den Desktop oder `ssh` neben dem Fingerabdruck anzeigt, in Kleinbuchstaben: `ed25519` für `ED25519` oder `ssh-ed25519`.

1011 

1012Vergleichen Sie dann den eigenen Fingerabdruck des Rechners mit dem, der Ihnen angezeigt wurde:

1013 

1014* **Sie stimmen überein**: Vertrauen Sie dem Schlüssel. Wählen Sie in Desktop **Trust and connect** oder **Trust new key**, oder antworten Sie im Terminal mit `yes`.

1015* **Sie unterscheiden sich, oder Sie können nicht prüfen**: Verbinden Sie sich nicht. Wählen Sie in Desktop **Cancel**, oder antworten Sie im Terminal mit `no`. Wenn jemand anderes den Rechner verwaltet, teilen Sie dieser Person mit, welcher Fingerabdruck Ihnen angezeigt wurde.

1016 

1017Wenn ein Schritt zur Fehlerbehebung Sie hierher geführt hat, kehren Sie nach beiden Ergebnissen zu diesem Schritt zurück.

1018 

997#### Einen Proxy oder ein CA-Zertifikat für SSH-Sitzungen festlegen1019#### Einen Proxy oder ein CA-Zertifikat für SSH-Sitzungen festlegen

998 1020 

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


2135 2157 

2136Wenn MCP-Server-Umschalter nicht reagieren oder Server unter Windows keine Verbindung herstellen, überprüfen Sie, dass der Server in Ihren Einstellungen richtig konfiguriert ist, starten Sie die App neu, überprüfen Sie, dass der Server-Prozess im Task Manager läuft, und überprüfen Sie Server-Protokolle auf Verbindungsfehler.2158Wenn MCP-Server-Umschalter nicht reagieren oder Server unter Windows keine Verbindung herstellen, überprüfen Sie, dass der Server in Ihren Einstellungen richtig konfiguriert ist, starten Sie die App neu, überprüfen Sie, dass der Server-Prozess im Task Manager läuft, und überprüfen Sie Server-Protokolle auf Verbindungsfehler.

2137 2159 

2160### SSH host key verification failed

2161 

2162Jede dieser Meldungen bedeutet, dass Desktop einen [Host-Schlüssel](#check-a-remote-machines-host-key) abgelehnt hat:

2163 

2164* `SSH host key verification failed` oder `Host denied (verification failed)` unter **View details** auf einer Karte `Couldn't connect to <host>`

2165* `Connection failed: Host key changed or not trusted` beim Eingabefeld oder nach **Test connection**

2166* `<host>'s host key is not trusted` oder `<host>'s host key has changed` bei einer getrennten Sitzung

2167 

2168Desktop lehnt einen Schlüssel meist ab, weil er sich von dem auf Ihrem Computer gespeicherten Schlüssel unterscheidet oder weil für diesen Computer kein Schlüssel gespeichert ist. Ein Computer, der neu aufgesetzt oder neu installiert wurde, präsentiert meist einen neuen Schlüssel, ebenso etwas, das die Verbindung abfängt. Überprüfen Sie den Schlüssel, bevor Sie sich erneut verbinden, ausgehend davon, was Desktop zusammen mit der Meldung anzeigt:

2169 

2170* **Sie verwenden Windows, und Desktop meldet `Connection failed: Host key changed or not trusted`**: Schließen Sie zuerst einen [fehlenden OpenSSH-Client](#ssh-host-key-refused-on-windows-without-an-openssh-client) aus

2171* **Desktop fordert Sie auf, `UserKnownHostsFile` zu setzen**: Setzen Sie es in `~/.ssh/config` auf `~/.ssh/known_hosts` und [überprüfen Sie dann den Schlüssel in einem Terminal](#check-the-host-key-from-a-terminal)

2172* **Sie sehen eine Schaltfläche „Review new key“**: Wählen Sie sie aus und [vergleichen](#check-a-remote-machines-host-key) Sie den Fingerabdruck, den Desktop anzeigt, mit dem des Computers selbst. Wenn sie übereinstimmen, wählen Sie **Trust new key**, um den gespeicherten Schlüssel zu ersetzen. Andernfalls wählen Sie **Cancel**.

2173* **Sie sehen keine Schaltfläche „Review new key“, Desktop zeigt `Couldn't show the new key` an, oder Desktop lehnt den Schlüssel nach „Trust new key“ erneut ab**: [Überprüfen Sie den Schlüssel in einem Terminal](#check-the-host-key-from-a-terminal)

2174 

2175#### Host-Schlüssel in einem Terminal überprüfen

2176 

2177Führen Sie `ssh <SSH host>` auf Ihrem Computer aus, mit dem Wert **SSH host** Ihrer [SSH-Verbindung](#ssh-sessions) in Desktop. Fügen Sie `-p <SSH port>` hinzu, wenn die Verbindung einen Wert für **SSH port** hat. Verwenden Sie unter Windows PowerShell, da Desktop sich nicht mit dem `ssh` aus Git Bash oder WSL verbindet. Wenn PowerShell kein `ssh` findet, [installieren Sie den OpenSSH-Client von Microsoft](#ssh-host-key-refused-on-windows-without-an-openssh-client).

2178 

2179Achten Sie darauf, welchen Computer `ssh` in seiner Meldung nennt; das kann ein Jump-Host sein und nicht `<SSH host>`. Folgen Sie dann dem passenden Fall:

2180 

2181* **`ssh` fragt, ob die Verbindung fortgesetzt werden soll**: [Vergleichen](#check-a-remote-machines-host-key) Sie den angezeigten Fingerabdruck mit dem des betreffenden Computers selbst. Antworten Sie nur dann mit `yes`, wenn sie übereinstimmen.

2182* **`ssh` warnt, dass sich der Host-Schlüssel geändert hat**: [Vergleichen](#check-a-remote-machines-host-key) Sie den Fingerabdruck aus der Warnung mit dem des betreffenden Computers selbst. Nur wenn sie übereinstimmen, löschen Sie die Zeile, die `Offending <type> key in <file>:<line>` nennt, und führen Sie `ssh` erneut aus. Wenn `ssh` erneut wegen einer anderen Zeile warnt, vergleichen, löschen und wiederholen Sie wie zuvor.

2183* **`ssh` lehnt einen unbekannten Schlüssel ab, ohne nachzufragen**: Besorgen Sie sich die `known_hosts`-Zeile dieses Computers von der Person, die ihn verwaltet, und zwar nicht über die Verbindung, die Sie gerade überprüfen. Fügen Sie die Zeile zu Ihrer `known_hosts`-Datei hinzu, mit dem Namen aus der Meldung von `ssh` als Hostname, und führen Sie `ssh` erneut aus.

2184* **`ssh` fährt mit der Anmeldung fort, ohne Sie nach dem Host-Schlüssel zu fragen**: Geben Sie noch kein Passwort ein. [Überprüfen Sie die Schlüssel, denen `ssh` bereits vertraut](#check-the-keys-that-ssh-already-trusts).

2185 

2186Sobald `ssh` einen Schlüssel akzeptiert, den Sie überprüft oder hinzugefügt haben, versuchen Sie es in Desktop erneut. Wenn Desktop den Schlüssel erneut ablehnt, siehe [Desktop-Logs für ein SSH-Problem abrufen](#get-desktops-logs-for-an-ssh-problem).

2187 

2188##### Schlüssel überprüfen, denen `ssh` bereits vertraut

2189 

2190Führen Sie denselben `ssh`-Befehl mit dem Zusatz `-v -S none` erneut aus. In der Ausgabe zeigt eine Zeile `Server host key:` einen Fingerabdruck, und die folgende Zeile `Host '<name>' is known` nennt den Computer, zu dem er gehört. [Vergleichen](#check-a-remote-machines-host-key) Sie jeden gefundenen Fingerabdruck mit dem des betreffenden Computers selbst.

2191 

2192* **Für einen Jump-Host gibt es keine Zeile `Server host key:`**: Führen Sie auch `ssh -v -S none <jump host>` aus und vergleichen Sie diesen Fingerabdruck auf dieselbe Weise.

2193* **Ein Fingerabdruck stimmt nicht überein, oder Sie können ihn nicht überprüfen**: Verbinden Sie sich nicht erneut. Entfernen Sie den gespeicherten Schlüssel: Unter `Host '<name>' is known` nennt die Zeile `Found key in <file>:<line>` die Datei, die ihn enthält. Führen Sie `ssh-keygen -R "<name>" -f <file>` aus. Wenn Sie Host-Schlüssel in mehr als einer Datei speichern, entfernen Sie den Schlüssel aus jeder Datei. Wenn Sie eine Datei nicht ändern können, wenden Sie sich an die Person, die Ihren Computer verwaltet.

2194* **Alle Fingerabdrücke stimmen überein**: Versuchen Sie es in Desktop erneut. Wenn Desktop den Schlüssel erneut ablehnt, siehe [Desktop-Logs für ein SSH-Problem abrufen](#get-desktops-logs-for-an-ssh-problem).

2195 

2196### SSH-Host-Schlüssel wird unter Windows ohne OpenSSH-Client abgelehnt

2197 

2198Unter Windows ohne OpenSSH-Client lehnt Desktop selbst einen korrekten Host-Schlüssel mit `Connection failed: Host key changed or not trusted` ab. Desktop benötigt den Client, um gespeicherte Schlüssel nachzuschlagen. Um zu prüfen, ob Sie einen haben, führen Sie `ssh` in PowerShell aus. Wenn PowerShell `ssh` nicht erkennt, installieren Sie den [OpenSSH-Client von Microsoft](https://learn.microsoft.com/windows-server/administration/openssh/openssh_install_firstuse) und starten Sie Desktop neu.

2199 

2200Verbinden Sie sich dann erneut. Wenn Desktop fragt, ob Sie sich zum ersten Mal verbinden möchten, [überprüfen Sie den Host-Schlüssel des Computers](#check-a-remote-machines-host-key), bevor Sie ihm vertrauen. Wenn Desktop den Schlüssel weiterhin ablehnt, folgen Sie den anderen Fällen unter [SSH host key verification failed](#ssh-host-key-verification-failed).

2201 

2138### SSH-Verbindung schlägt nach der Anmeldung fehl2202### SSH-Verbindung schlägt nach der Anmeldung fehl

2139 2203 

2140Suchen Sie in dieser Tabelle den Titel der Karte oder den Code am Ende der Fehlermeldung und gehen Sie dann so vor, wie in der letzten Spalte angegeben. Um die Meldung zu sehen, wählen Sie auf der Fehlerkarte **View details** aus.2204Suchen Sie in dieser Tabelle den Titel der Karte oder den Code am Ende der Fehlermeldung und gehen Sie dann so vor, wie in der letzten Spalte angegeben. Um die Meldung zu sehen, wählen Sie auf der Fehlerkarte **View details** aus.

env-vars.md +2 −2

Details

236| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Setzen Sie den Wert auf `1`, um den Parameter `run_in_background` aus den Tools Bash, PowerShell und Subagent zu entfernen und die Tastenkombination Strg+B sowie Hintergrundausführungen von [geforkten Skills](https://code.claude.com/docs/de/skills.md#run-skills-in-a-subagent) auszuschalten. Claude Code verschiebt dann außerdem Subagenten, lange MCP-Tool-Aufrufe und Shell-Befehle mit Zeitüberschreitung nicht mehr automatisch in den Hintergrund. [MCP-Aufgaben](https://code.claude.com/docs/de/mcp.md#make-claude-wait-for-the-result-of-an-mcp-task) und das [Monitor-Tool](https://code.claude.com/docs/de/tools-reference.md#monitor-tool) laufen weiterhin im Hintergrund |236| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Setzen Sie den Wert auf `1`, um den Parameter `run_in_background` aus den Tools Bash, PowerShell und Subagent zu entfernen und die Tastenkombination Strg+B sowie Hintergrundausführungen von [geforkten Skills](https://code.claude.com/docs/de/skills.md#run-skills-in-a-subagent) auszuschalten. Claude Code verschiebt dann außerdem Subagenten, lange MCP-Tool-Aufrufe und Shell-Befehle mit Zeitüberschreitung nicht mehr automatisch in den Hintergrund. [MCP-Aufgaben](https://code.claude.com/docs/de/mcp.md#make-claude-wait-for-the-result-of-an-mcp-task) und das [Monitor-Tool](https://code.claude.com/docs/de/tools-reference.md#monitor-tool) laufen weiterhin im Hintergrund |

237| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Setzen Sie `1`, damit Claude Code eine [Amazon Bedrock](https://code.claude.com/docs/de/amazon-bedrock.md)-Streaming-Antwort mit fehlendem oder leerem `Content-Type`-Header nicht mehr als binären Event-Stream von Amazon Bedrock behandelt. Standardmäßig nimmt Claude Code an, dass ein Gateway den Header aus einer ansonsten unveränderten Antwort entfernt hat, und dekodiert daher den Body, sodass das Streaming weiter funktioniert. Setzen Sie dies nur für ein Gateway, das den Stream außerdem als Server-Sent Events neu ausgibt; Claude Code liest den Body ohne Header dann stattdessen als Server-Sent Events. Erfordert Claude Code v2.1.239 oder höher |237| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Setzen Sie `1`, damit Claude Code eine [Amazon Bedrock](https://code.claude.com/docs/de/amazon-bedrock.md)-Streaming-Antwort mit fehlendem oder leerem `Content-Type`-Header nicht mehr als binären Event-Stream von Amazon Bedrock behandelt. Standardmäßig nimmt Claude Code an, dass ein Gateway den Header aus einer ansonsten unveränderten Antwort entfernt hat, und dekodiert daher den Body, sodass das Streaming weiter funktioniert. Setzen Sie dies nur für ein Gateway, das den Stream außerdem als Server-Sent Events neu ausgibt; Claude Code liest den Body ohne Header dann stattdessen als Server-Sent Events. Erfordert Claude Code v2.1.239 oder höher |

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

239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Setzen Sie `1`, um laufende Arbeit einer [Hintergrundsitzung](https://code.claude.com/docs/de/agent-view.md) zu beenden, wenn der [Supervisor](https://code.claude.com/docs/de/agent-view.md#the-supervisor-process) den Prozess dieser Sitzung stoppt, neu startet oder aktualisiert, statt sie an den nächsten Prozess der Sitzung zu übergeben. Diese Arbeit umfasst die laufenden Shell-Befehle im Hintergrund und dynamischen Workflows der Sitzung, ab v2.1.198 außerdem Hintergrund-Subagenten. Betrifft nur diese Übergabe: Wenn Sie eine Sitzung mit `←` oder [`/background`](https://code.claude.com/docs/de/agent-view#from-inside-a-session) in den Hintergrund verschieben, wird laufende Hintergrundarbeit weiterhin übernommen. Erfordert Claude Code v2.1.196 oder höher |239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Auf `1` setzen, um die laufende Arbeit einer [Hintergrundsitzung](https://code.claude.com/docs/de/agent-view.md) zu beenden, wenn der [Supervisor](https://code.claude.com/docs/de/agent-view.md#the-supervisor-process) den Prozess dieser Sitzung stoppt, neu startet oder aktualisiert, anstatt sie an den nächsten Prozess der Sitzung zu übergeben. Diese Arbeit umfasst die laufenden Hintergrund-Shell-Befehle der Sitzung, ab v2.1.198 außerdem Hintergrund-Subagenten. Betrifft nur diese Übergabe: Wenn Sie eine Sitzung mit `←` oder [`/background`](https://code.claude.com/docs/de/agent-view#from-inside-a-session) in den Hintergrund schicken, wird laufende Hintergrundarbeit weiterhin übernommen. Erfordert Claude Code v2.1.196 oder höher |

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

241| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Setzen Sie `1`, um die mit Claude Code gelieferten [Skills](https://code.claude.com/docs/de/skills.md) und Workflows zu deaktivieren: Mitgelieferte Skills und Workflows werden vollständig entfernt, während integrierte Befehle wie `/init` weiterhin eingegeben werden können, aber vor dem Modell verborgen werden. `/doctor` bleibt wie die integrierten Befehle eingebbar; blenden Sie es stattdessen mit `DISABLE_DOCTOR_COMMAND` aus. Skills aus Plugins, `.claude/skills/` und `.claude/commands/` sind nicht betroffen. Entspricht der Einstellung [`disableBundledSkills`](https://code.claude.com/docs/de/settings-reference#disablebundledskills) |241| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Setzen Sie `1`, um die mit Claude Code gelieferten [Skills](https://code.claude.com/docs/de/skills.md) und Workflows zu deaktivieren: Mitgelieferte Skills und Workflows werden vollständig entfernt, während integrierte Befehle wie `/init` weiterhin eingegeben werden können, aber vor dem Modell verborgen werden. `/doctor` bleibt wie die integrierten Befehle eingebbar; blenden Sie es stattdessen mit `DISABLE_DOCTOR_COMMAND` aus. Skills aus Plugins, `.claude/skills/` und `.claude/commands/` sind nicht betroffen. Entspricht der Einstellung [`disableBundledSkills`](https://code.claude.com/docs/de/settings-reference#disablebundledskills) |

242| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Setzen Sie `1`, um die Browser-Tools von [Claude in Chrome](https://code.claude.com/docs/de/chrome.md) verfügbar zu halten, während der Chrome-Abschnitt des System-Prompts und der [mitgelieferte Skill](https://code.claude.com/docs/de/skills.md#bundled-skills) `/claude-in-chrome` weggelassen werden. Für Hosts, die Claude Code einbetten und eigene Browser-Anleitungen bereitstellen. Erfordert Claude Code v2.1.257 oder höher |242| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Setzen Sie `1`, um die Browser-Tools von [Claude in Chrome](https://code.claude.com/docs/de/chrome.md) verfügbar zu halten, während der Chrome-Abschnitt des System-Prompts und der [mitgelieferte Skill](https://code.claude.com/docs/de/skills.md#bundled-skills) `/claude-in-chrome` weggelassen werden. Für Hosts, die Claude Code einbetten und eigene Browser-Anleitungen bereitstellen. Erfordert Claude Code v2.1.257 oder höher |

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

244| `CLAUDE_CODE_DISABLE_CRON` | Setzen Sie `1`, um [sitzungsbezogene geplante Aufgaben](https://code.claude.com/docs/de/scheduled-tasks.md) zu deaktivieren. Der Skill `/loop` und die Cron-Tools sind dann nicht mehr verfügbar, und bereits geplante Aufgaben werden nicht mehr ausgelöst, einschließlich Aufgaben, die bereits mitten in der Sitzung laufen |244| `CLAUDE_CODE_DISABLE_CRON` | Setzen Sie `1`, um [sitzungsbezogene geplante Aufgaben](https://code.claude.com/docs/de/scheduled-tasks.md) zu deaktivieren. Der Skill `/loop` und die Cron-Tools sind dann nicht mehr verfügbar, und bereits geplante Aufgaben werden nicht mehr ausgelöst, einschließlich Aufgaben, die bereits mitten in der Sitzung laufen |

245| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | Setzen Sie `1`, um das Zeitlimit für Abfragen zum [Entfernen kritischer Pfade](https://code.claude.com/docs/de/permission-modes.md#critical-paths) auszuschalten. Im `auto`-Modus sendet Claude Code diese Entfernungen dann stattdessen an den Klassifikator, und im `bypassPermissions`-Modus wartet die Abfrage auf Ihre Antwort. Setzen Sie die Variable in der Umgebung, die Claude Code startet, da Claude Code eine über einen `env`-Block der Einstellungen bereitgestellte Kopie ignoriert. Erfordert Claude Code v2.1.281 oder höher |245| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | Setzen Sie `1`, um das [Zeitlimit und die Ablehnungen](https://code.claude.com/docs/de/permission-modes.md#time-limits-and-denials-in-auto-and-bypasspermissions-modes) in den Modi `auto` und `bypassPermissions` bei Löschvorgängen auf kritischen Pfaden auszuschalten. Diese Löschvorgänge gehen dann im Modus `auto` an den Klassifikator und erhalten im Modus `bypassPermissions` eine Berechtigungsabfrage ohne Zeitlimit, wo immer Claude Code eine anzeigen kann. Setzen Sie die Variable in der Umgebung, die Claude Code startet, da Claude Code eine über einen `env`-Block in den Einstellungen bereitgestellte Kopie ignoriert. Erfordert Claude Code v2.1.281 oder höher |

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

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

248| `CLAUDE_CODE_DISABLE_FAST_MODE` | Setzen Sie `1`, um den [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md) zu deaktivieren |248| `CLAUDE_CODE_DISABLE_FAST_MODE` | Setzen Sie `1`, um den [Fast-Modus](https://code.claude.com/docs/de/fast-mode.md) zu deaktivieren |

errors.md +36 −4

Details

244| `MCP server "<name>" was not saved to` / `was not removed from` | [Befehlszeilenfehler](#mcp-server-was-not-saved-or-removed) |244| `MCP server "<name>" was not saved to` / `was not removed from` | [Befehlszeilenfehler](#mcp-server-was-not-saved-or-removed) |

245| `MCP server "<name>" may not have been saved` / `may not have been removed` | [Befehlszeilenfehler](#mcp-server-may-not-have-been-saved-or-removed) |245| `MCP server "<name>" may not have been saved` / `may not have been removed` | [Befehlszeilenfehler](#mcp-server-may-not-have-been-saved-or-removed) |

246| `Server rejected the Authorization header minted by the configured headersHelper` | [Befehlszeilenfehler](#server-rejected-the-authorization-header-minted-by-the-configured-headershelper) |246| `Server rejected the Authorization header minted by the configured headersHelper` | [Befehlszeilenfehler](#server-rejected-the-authorization-header-minted-by-the-configured-headershelper) |

247| `This server (Java MCP SDK 0.17.0 or older) rejected Claude Code's elicitation capability` | [Befehlszeilenfehler](#mcp-server-rejected-the-elicitation-capability) |

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

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

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

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

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

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

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


3280* **`Error: Workspace not trusted. <folder> is your home directory`**: Da das Vertrauen für Ihr Home-Verzeichnis nie gespeichert wird, hilft es nicht, dort zuerst `claude` auszuführen. Führen Sie `claude ultrareview` stattdessen aus einem Projektverzeichnis aus, nachdem Sie dort einmal `claude` ausgeführt und den Vertrauensdialog akzeptiert haben, oder hängen Sie `--trust-workspace` an.3281* **`Error: Workspace not trusted. <folder> is your home directory`**: Da das Vertrauen für Ihr Home-Verzeichnis nie gespeichert wird, hilft es nicht, dort zuerst `claude` auszuführen. Führen Sie `claude ultrareview` stattdessen aus einem Projektverzeichnis aus, nachdem Sie dort einmal `claude` ausgeführt und den Vertrauensdialog akzeptiert haben, oder hängen Sie `--trust-workspace` an.

3281* **`No answer in time.` gefolgt von `Error: Workspace not trusted`**: Die Frage `Trust <folder>? [y/N]` blieb 5 Minuten lang unbeantwortet. Führen Sie `claude ultrareview` erneut aus und beantworten Sie sie.3282* **`No answer in time.` gefolgt von `Error: Workspace not trusted`**: Die Frage `Trust <folder>? [y/N]` blieb 5 Minuten lang unbeantwortet. Führen Sie `claude ultrareview` erneut aus und beantworten Sie sie.

3282* **`Ultrareview did not start: <folder> is not trusted`**: Sie haben bei der Frage `Trust <folder>? [y/N]` abgelehnt, zum Beispiel indem Sie `n` geantwortet oder Enter gedrückt haben. Um das Review zu starten, führen Sie `claude ultrareview` erneut aus und antworten Sie `y`.3283* **`Ultrareview did not start: <folder> is not trusted`**: Sie haben bei der Frage `Trust <folder>? [y/N]` abgelehnt, zum Beispiel indem Sie `n` geantwortet oder Enter gedrückt haben. Um das Review zu starten, führen Sie `claude ultrareview` erneut aus und antworten Sie `y`.

3283* **``Ultrareview did not start: `--trust-workspace` takes no value``**: Auf `--trust-workspace` folgt etwas anderes als ein Flag, etwa eine PR-Nummer oder `false`. Wenn Sie dem Ordner nicht vertrauen, lassen Sie das Flag weg. Um ihm für diesen Lauf zu vertrauen, setzen Sie die PR-Nummer oder den Basis-Branch vor das Flag: `claude ultrareview 1234 --trust-workspace`.3284* **``Ultrareview did not start: `--trust-workspace` takes no value``**: Auf `--trust-workspace` folgt etwas anderes als ein Flag, etwa eine PR-Nummer oder `false`. Wenn Sie dem Ordner nicht vertrauen, lassen Sie das Flag weg. Um ihm für diese Ausführung zu vertrauen, setzen Sie die PR-Nummer oder den Basis-Branch vor das Flag: `claude ultrareview 1234 --trust-workspace`.

3284 3285 

3285Vor v2.1.309 akzeptierte `claude ultrareview` kein `--trust-workspace`.3286Vor v2.1.309 akzeptierte `claude ultrareview` kein `--trust-workspace`.

3286 3287 


3473 3474 

3474Vor v2.1.248 führte Claude Code für einen Server, dessen Helper den `Authorization`-Header lieferte, eine OAuth-Erkennung aus. Diese Erkennung konnte mit `Incompatible auth server: does not support dynamic client registration` fehlschlagen, anstatt die abgelehnten Anmeldedaten zu melden.3475Vor v2.1.248 führte Claude Code für einen Server, dessen Helper den `Authorization`-Header lieferte, eine OAuth-Erkennung aus. Diese Erkennung konnte mit `Incompatible auth server: does not support dynamic client registration` fehlschlagen, anstatt die abgelehnten Anmeldedaten zu melden.

3475 3476 

3477### MCP server rejected the elicitation capability

3478 

3479Ein MCP-Server, der auf Java MCP SDK 0.11.0 bis 0.17.0 basiert, hat die Verbindung abgelehnt. Diese SDK-Versionen können die [Elicitation-Modi](https://code.claude.com/docs/de/mcp.md#elicitation-modes-claude-code-declares) `form` und `url`, die Claude Code in seinem Handshake deklariert, nicht parsen. `claude mcp list` zeigt den Server als fehlgeschlagen mit dieser Meldung anstelle des eigenen Fehlers des Servers an:

3480 

3481```text theme={null}

3482This server (Java MCP SDK 0.17.0 or older) rejected Claude Code's elicitation capability. Set "bareElicitationCapability": true for it, or upgrade to Java MCP SDK 0.17.1+ (Spring AI 1.0.7+ or 1.1.6+).

3483```

3484 

3485**Was Sie tun können:**

3486 

3487* Aktualisieren Sie den Server auf Java MCP SDK 0.17.1 oder höher oder auf eines der in der Meldung genannten Spring-AI-Releases

3488* Oder fügen Sie `"bareElicitationCapability": true` zum Eintrag dieses Servers in Ihrer MCP-Konfiguration hinzu und starten Sie Claude Code dann neu. Das Feld wird bei stdio-, `sse`-, `http`- und `ws`-Einträgen akzeptiert und erfordert Claude Code v2.1.281 oder höher

3489 

3490Dieser `.mcp.json`-Eintrag setzt das Feld für einen HTTP-Server:

3491 

3492```json theme={null}

3493{

3494 "mcpServers": {

3495 "inventory": {

3496 "type": "http",

3497 "url": "https://mcp.example.com/mcp",

3498 "bareElicitationCapability": true

3499 }

3500 }

3501}

3502```

3503 

3504Nach dem Neustart zeigt `/mcp` den Server als verbunden an. Claude Code deklariert nur gegenüber diesem Server den Formularmodus, entfernen Sie das Feld daher, sobald Sie ihn aktualisiert haben.

3505 

3506Ein Server kann auch mit seinem eigenen Fehlertext fehlschlagen, etwa einem, der `Unrecognized field "form"` enthält. Es gelten dieselben Lösungen.

3507 

3476### MCP-Tool für Berechtigungsabfragen nicht gefunden3508### MCP-Tool für Berechtigungsabfragen nicht gefunden

3477 3509 

3478Das Tool, das Sie an [`--permission-prompt-tool`](https://code.claude.com/docs/de/cli-reference#cli-flags) übergeben haben, befand sich nicht unter den verbundenen MCP-Tools, als die Ausführung zum ersten Mal eine Berechtigungsentscheidung benötigte, entweder weil sich sein Server nie verbunden hat oder weil kein verbundener Server ein Tool mit diesem Namen bereitstellt. Claude Code sendet Ihren Prompt trotzdem: Die [nicht interaktive](https://code.claude.com/docs/de/headless.md) Ausführung endet beim ersten Tool-Aufruf mit diesem Fehler und Exit-Code 1, sodass sie keine Antwort liefert, obwohl die Anfrage gestellt wurde. Vor dem ersten Prompt wartet Claude Code bis zum serverspezifischen Verbindungs-Timeout von 30 Sekunden, festgelegt durch [`MCP_TIMEOUT`](https://code.claude.com/docs/de/env-vars), darauf, dass sich dieser Server verbindet. Vor v2.1.206 wartete der Start nicht darauf, dass der Server die Verbindung abschließt, sodass auch ein langsam startender, aber funktionsfähiger Server diesen Fehler verursachte.3510Das Tool, das Sie an [`--permission-prompt-tool`](https://code.claude.com/docs/de/cli-reference#cli-flags) übergeben haben, befand sich nicht unter den verbundenen MCP-Tools, als die Ausführung zum ersten Mal eine Berechtigungsentscheidung benötigte, entweder weil sich sein Server nie verbunden hat oder weil kein verbundener Server ein Tool mit diesem Namen bereitstellt. Claude Code sendet Ihren Prompt trotzdem: Die [nicht interaktive](https://code.claude.com/docs/de/headless.md) Ausführung endet beim ersten Tool-Aufruf mit diesem Fehler und Exit-Code 1, sodass sie keine Antwort liefert, obwohl die Anfrage gestellt wurde. Vor dem ersten Prompt wartet Claude Code bis zum serverspezifischen Verbindungs-Timeout von 30 Sekunden, festgelegt durch [`MCP_TIMEOUT`](https://code.claude.com/docs/de/env-vars), darauf, dass sich dieser Server verbindet. Vor v2.1.206 wartete der Start nicht darauf, dass der Server die Verbindung abschließt, sodass auch ein langsam startender, aber funktionsfähiger Server diesen Fehler verursachte.


3541 3573 

3542Verwandte Meldungen treten auf, bevor der Befehl überhaupt ausgeführt wird:3574Verwandte Meldungen treten auf, bevor der Befehl überhaupt ausgeführt wird:

3543 3575 

3544* `Shell command permission check failed for pattern "..."`: Die Berechtigungsprüfung des Befehls hat ihn nicht zugelassen. [Berechtigungsprüfungen für eingefügte Befehle](https://code.claude.com/docs/de/skills.md#permission-checks-on-injected-commands) beschreibt, welche Ergebnisse in den einzelnen Berechtigungsmodi zum Abbruch führen und wie Sie einen Befehl mit `allowed-tools` vorab genehmigen3576* `Shell command permission check failed for pattern "..."`: Die Berechtigungsprüfung des Befehls hat ihn nicht zugelassen. [Berechtigungsprüfungen für eingefügte Befehle](https://code.claude.com/docs/de/skills.md#permission-checks-on-injected-commands) beschreibt, welche Ergebnisse in jedem Berechtigungsmodus zum Abbruch führen und wie Sie einen Befehl mit `allowed-tools` vorab genehmigen

3545* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: Das Frontmatter des Skills verlangt Bash auf einem Rechner ohne Bash. Installieren Sie Git for Windows oder ändern Sie das Frontmatter in `shell: powershell`. Siehe [Wie eingefügte Befehle ausgeführt werden](https://code.claude.com/docs/de/skills.md#how-injected-commands-run)3577* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: Das Frontmatter des Skills verlangt Bash auf einem Rechner ohne Bash. Installieren Sie Git for Windows oder ändern Sie das Frontmatter in `shell: powershell`. Siehe [Wie eingefügte Befehle ausgeführt werden](https://code.claude.com/docs/de/skills.md#how-injected-commands-run)

3546* `No shell command in <name> was run`: Einer der `!`-Befehle der Datei enthält ein rohes Steuerzeichen außer Tab oder Zeilenumbruch, daher wird keiner davon ausgeführt. Siehe [wie Sie das Zeichen finden und entfernen](#no-shell-command-was-run)3578* `No shell command in <name> was run`: Einer der `!`-Befehle der Datei enthält ein rohes Steuerzeichen außer Tab oder Zeilenumbruch, daher wird keiner davon ausgeführt. Siehe [wie Sie das Zeichen finden und entfernen](#no-shell-command-was-run)

3547 3579 


3693 3725 

3694* **Sie haben keinen Basis-Branch übergeben**: Claude Code hat mit dem Standard-Branch des Repositorys verglichen und schlägt vor, Ihre Basis explizit zu übergeben, wie im obigen Beispiel3726* **Sie haben keinen Basis-Branch übergeben**: Claude Code hat mit dem Standard-Branch des Repositorys verglichen und schlägt vor, Ihre Basis explizit zu übergeben, wie im obigen Beispiel

3695* **Sie haben einen Basis-Branch übergeben, der bereits in Ihrem Klon vorhanden war**: Der Hinweis lautet ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``3727* **Sie haben einen Basis-Branch übergeben, der bereits in Ihrem Klon vorhanden war**: Der Hinweis lautet ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``

3696* **Sie haben einen Basis-Branch übergeben, der nicht in Ihrem Klon vorhanden war**: Claude Code hat ihn vor dem Vergleich von origin abgerufen. Der Hinweis lautet ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; wenn Claude Code nicht erkennen kann, ob Ihr Klon flach ist, schlägt es stattdessen `git fetch --unshallow origin` vor. Vor v2.1.221 schlug der Hinweis für jeden abgerufenen Basis-Branch `git fetch --unshallow origin` vor, und bei einem vollständigen Klon schlägt dieser Befehl mit `fatal: --unshallow on a complete repository does not make sense` fehl.3728* **Sie haben einen Basis-Branch übergeben, der nicht in Ihrem Klon vorhanden war**: Claude Code hat ihn vor dem Vergleich von origin abgerufen. Der Hinweis lautet ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; wenn Claude Code nicht feststellen kann, ob Ihr Klon flach ist, schlägt es stattdessen `git fetch --unshallow origin` vor. Vor v2.1.221 schlug der Hinweis für jeden abgerufenen Basis-Branch `git fetch --unshallow origin` vor, und bei einem vollständigen Klon schlägt dieser Befehl mit `fatal: --unshallow on a complete repository does not make sense` fehl.

3697 3729 

3698**Vorgehensweise:**3730**Vorgehensweise:**

3699 3731 

hooks.md +1 −1

Details

1957 1957 

1958| Feld | Beschreibung |1958| Feld | Beschreibung |

1959| :- | :- |1959| :- | :- |

1960| `permissionDecision` | `"allow"` überspringt die Berechtigungsabfrage, außer bei [Aktionen, die kein Modus automatisch genehmigt](https://code.claude.com/docs/de/permission-modes.md#actions-no-mode-auto-approves), und bei [Lesevorgängen von Netzwerkpfaden](https://code.claude.com/docs/de/permissions.md#network-paths). `AskUserQuestion` und `ExitPlanMode` benötigen [`updatedInput` zusammen mit `"allow"`](#allow-with-updatedinput). Zum Plan-Modus siehe [Hook-Genehmigungen im Plan-Modus](https://code.claude.com/docs/de/permissions.md#hook-approvals-in-plan-mode). `"deny"` verhindert den Tool-Aufruf. `"ask"` fordert den Benutzer zur Bestätigung auf. `"defer"` beendet den Turn, damit das Tool später fortgesetzt werden kann, und erfordert den [nicht interaktiven Modus](#defer-a-tool-call-for-later) mit dem Flag `-p`. [deny- und ask-Regeln](https://code.claude.com/docs/de/permissions.md#manage-permissions) werden unabhängig davon ausgewertet, was der Hook zurückgibt |1960| `permissionDecision` | `"allow"` überspringt die Berechtigungsabfrage, außer bei [Aktionen, die kein Modus automatisch genehmigt](https://code.claude.com/docs/de/permission-modes.md#actions-no-mode-auto-approves), und bei [Lesezugriffen auf Netzwerkpfade](https://code.claude.com/docs/de/permissions.md#network-paths). Auch die Genehmigung für Aufrufe von [Tools, die eine Agent SDK-App als `always_ask` kennzeichnet](https://code.claude.com/docs/de/agent-sdk/custom-tools#require-approval-for-specific-tools), wird nicht übersprungen, es sei denn, der [Berechtigungsmodus genehmigt den Aufruf](https://code.claude.com/docs/de/agent-sdk/typescript.md#permission-modes-that-can-approve-an-always_ask-call). `AskUserQuestion` und `ExitPlanMode` benötigen [`updatedInput` zusammen mit `"allow"`](#allow-with-updatedinput). Für den Plan-Modus siehe [Hook-Genehmigungen im Plan-Modus](https://code.claude.com/docs/de/permissions.md#hook-approvals-in-plan-mode). `"deny"` verhindert den Tool-Aufruf. `"ask"` fordert den Benutzer zur Bestätigung auf. `"defer"` beendet den Turn, sodass das Tool später fortgesetzt werden kann, und erfordert den [nicht interaktiven Modus](#defer-a-tool-call-for-later) mit dem Flag `-p`. [deny- und ask-Regeln](https://code.claude.com/docs/de/permissions.md#manage-permissions) werden unabhängig davon ausgewertet, was der Hook zurückgibt |

1961| `permissionDecisionReason` | Bei `"ask"` wird es dem Benutzer in der Berechtigungsabfrage angezeigt. Wenn Claude Code in einem `-p`-Lauf, in dem niemand die Abfrage beantworten kann, [den Aufruf ablehnt](https://code.claude.com/docs/de/headless.md#turn-off-permission-prompts-in-unattended-runs), liest Claude den Grund stattdessen im Tool-Ergebnis. Bei `"deny"` wird es Claude angezeigt. Bei `"allow"` und `"defer"` wird es nur in das [Debug-Log](#debug-hooks) geschrieben |1961| `permissionDecisionReason` | Bei `"ask"` wird es dem Benutzer in der Berechtigungsabfrage angezeigt. Wenn Claude Code in einem `-p`-Lauf, in dem niemand die Abfrage beantworten kann, [den Aufruf ablehnt](https://code.claude.com/docs/de/headless.md#turn-off-permission-prompts-in-unattended-runs), liest Claude den Grund stattdessen im Tool-Ergebnis. Bei `"deny"` wird es Claude angezeigt. Bei `"allow"` und `"defer"` wird es nur in das [Debug-Log](#debug-hooks) geschrieben |

1962| `updatedInput` | Ändert die Eingabeparameter des Tools vor der Ausführung. Ersetzt das gesamte Eingabeobjekt, fügen Sie daher unveränderte Felder zusammen mit den geänderten ein. Claude Code wertet Berechtigungsregeln und die [Eignung eines Bash-Befehls für den automatischen Wechsel in den Hintergrund](https://code.claude.com/docs/de/tools-reference.md#foreground-commands-that-move-to-the-background) anhand der Eingabe aus, die Ihr Hook zurückgibt, nicht anhand der Eingabe, die Claude gesendet hat. Kombinieren Sie es mit `"allow"` für eine automatische Genehmigung oder mit `"ask"`, um dem Benutzer die geänderte Eingabe anzuzeigen. Bei `"defer"` wird es ignoriert |1962| `updatedInput` | Ändert die Eingabeparameter des Tools vor der Ausführung. Ersetzt das gesamte Eingabeobjekt, fügen Sie daher unveränderte Felder zusammen mit den geänderten ein. Claude Code wertet Berechtigungsregeln und die [Eignung eines Bash-Befehls für den automatischen Wechsel in den Hintergrund](https://code.claude.com/docs/de/tools-reference.md#foreground-commands-that-move-to-the-background) anhand der Eingabe aus, die Ihr Hook zurückgibt, nicht anhand der Eingabe, die Claude gesendet hat. Kombinieren Sie es mit `"allow"` für eine automatische Genehmigung oder mit `"ask"`, um dem Benutzer die geänderte Eingabe anzuzeigen. Bei `"defer"` wird es ignoriert |

1963| `additionalContext` | String, der zusammen mit dem Tool-Ergebnis zum Kontext von Claude hinzugefügt wird. Wird ignoriert, wenn `permissionDecision` den Wert `"defer"` hat. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |1963| `additionalContext` | String, der zusammen mit dem Tool-Ergebnis zum Kontext von Claude hinzugefügt wird. Wird ignoriert, wenn `permissionDecision` den Wert `"defer"` hat. Siehe [Kontext für Claude hinzufügen](#add-context-for-claude) |

hooks-guide.md +2 −0

Details

629 629 

630* Lesezugriffe auf [Netzwerkpfade](https://code.claude.com/docs/de/permissions.md#network-paths)630* Lesezugriffe auf [Netzwerkpfade](https://code.claude.com/docs/de/permissions.md#network-paths)

631* MCP-Tools, die mit [`requiresUserInteraction`](https://code.claude.com/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind631* MCP-Tools, die mit [`requiresUserInteraction`](https://code.claude.com/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind

632* Aufrufe von [Tools, die eine Agent SDK-App mit `always_ask` kennzeichnet](https://code.claude.com/docs/de/agent-sdk/custom-tools#require-approval-for-specific-tools), es sei denn, der [Berechtigungsmodus genehmigt den Aufruf](https://code.claude.com/docs/de/agent-sdk/typescript.md#permission-modes-that-can-approve-an-always_ask-call)

632* Konnektor-Tools, [die Ihre Organisation auf `ask` gesetzt hat](https://code.claude.com/docs/de/mcp#organization-controls-on-connector-tools), in Sitzungen, in denen diese Einstellung Claude Code erreicht633* Konnektor-Tools, [die Ihre Organisation auf `ask` gesetzt hat](https://code.claude.com/docs/de/mcp#organization-controls-on-connector-tools), in Sitzungen, in denen diese Einstellung Claude Code erreicht

633 634 

634 Was `"allow"` im Plan-Modus bewirkt, erfahren Sie unter [Hook-Genehmigungen im Plan-Modus](https://code.claude.com/docs/de/permissions.md#hook-approvals-in-plan-mode).635 Was `"allow"` im Plan-Modus bewirkt, erfahren Sie unter [Hook-Genehmigungen im Plan-Modus](https://code.claude.com/docs/de/permissions.md#hook-approvals-in-plan-mode).


963* **Was gegenüber `"allow"` weiterhin gilt**: Ein Hook, der `"allow"` zurückgibt, umgeht nicht die deny-Regeln aus den Einstellungen, und er kann die Berechtigungsabfrage nicht unterdrücken für:964* **Was gegenüber `"allow"` weiterhin gilt**: Ein Hook, der `"allow"` zurückgibt, umgeht nicht die deny-Regeln aus den Einstellungen, und er kann die Berechtigungsabfrage nicht unterdrücken für:

964 * Lesezugriffe auf [Netzwerkpfade](https://code.claude.com/docs/de/permissions.md#network-paths)965 * Lesezugriffe auf [Netzwerkpfade](https://code.claude.com/docs/de/permissions.md#network-paths)

965 * MCP-Tools, die als [`requiresUserInteraction`](https://code.claude.com/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind966 * MCP-Tools, die als [`requiresUserInteraction`](https://code.claude.com/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind

967 * Aufrufe von [Tools, die eine Agent SDK-App als `always_ask` kennzeichnet](https://code.claude.com/docs/de/agent-sdk/custom-tools#require-approval-for-specific-tools), es sei denn, der [Berechtigungsmodus genehmigt den Aufruf](https://code.claude.com/docs/de/agent-sdk/typescript.md#permission-modes-that-can-approve-an-always_ask-call)

966 * Konnektor-Tools, die [Ihre Organisation auf `ask`](https://code.claude.com/docs/de/mcp#organization-controls-on-connector-tools) gesetzt hat, in Sitzungen, in denen diese Einstellung Claude Code erreicht968 * Konnektor-Tools, die [Ihre Organisation auf `ask`](https://code.claude.com/docs/de/mcp#organization-controls-on-connector-tools) gesetzt hat, in Sitzungen, in denen diese Einstellung Claude Code erreicht

967 969 

968Wenn Ihr `PreToolUse`-Hook im [Plan-Modus](https://code.claude.com/docs/de/permissions.md#hook-approvals-in-plan-mode) für eine Dateibearbeitung `"allow"` zurückgibt, erhalten Sie dieselbe Abfrage, Blockierung oder Genehmigung, die die Bearbeitung ohne Hook erhalten würde. Um diese Beschränkung für Hook-Genehmigungen aufzuheben, [genehmigen Sie den Plan](https://code.claude.com/docs/de/permission-modes.md#review-and-approve-a-plan) oder wechseln Sie in einen anderen Berechtigungsmodus.970Wenn Ihr `PreToolUse`-Hook im [Plan-Modus](https://code.claude.com/docs/de/permissions.md#hook-approvals-in-plan-mode) für eine Dateibearbeitung `"allow"` zurückgibt, erhalten Sie dieselbe Abfrage, Blockierung oder Genehmigung, die die Bearbeitung ohne Hook erhalten würde. Um diese Beschränkung für Hook-Genehmigungen aufzuheben, [genehmigen Sie den Plan](https://code.claude.com/docs/de/permission-modes.md#review-and-approve-a-plan) oder wechseln Sie in einen anderen Berechtigungsmodus.

Details

407| [`managedMcpServers`](https://code.claude.com/docs/de/settings-reference#managedmcpservers) | Remote-MCP-Server, die jedem Benutzer zusammen mit ihren eigenen bereitgestellt werden. Es stellt Server bereit, anstatt etwas zu sperren. Siehe [Server durch verwaltete Einstellungen bereitstellen](https://code.claude.com/docs/de/managed-mcp.md#provide-servers-through-managed-settings). Erfordert Claude Code v2.1.259 oder später |407| [`managedMcpServers`](https://code.claude.com/docs/de/settings-reference#managedmcpservers) | Remote-MCP-Server, die jedem Benutzer zusammen mit ihren eigenen bereitgestellt werden. Es stellt Server bereit, anstatt etwas zu sperren. Siehe [Server durch verwaltete Einstellungen bereitstellen](https://code.claude.com/docs/de/managed-mcp.md#provide-servers-through-managed-settings). Erfordert Claude Code v2.1.259 oder später |

408| [`managedSourcesBehavior`](https://code.claude.com/docs/de/settings-reference#managedsourcesbehavior) | Ob Claude Code nur die höchste Priorität verwaltete Quelle anwendet oder [jede von ihnen zusammensetzt](#compose-every-managed-source) |408| [`managedSourcesBehavior`](https://code.claude.com/docs/de/settings-reference#managedsourcesbehavior) | Ob Claude Code nur die höchste Priorität verwaltete Quelle anwendet oder [jede von ihnen zusammensetzt](#compose-every-managed-source) |

409| [`parentSettingsBehavior`](https://code.claude.com/docs/de/settings-reference#parentsettingsbehavior) | Ob vom Host bereitgestellte übergeordnete Einstellungen unter der verwalteten Richtlinie zusammengeführt werden |409| [`parentSettingsBehavior`](https://code.claude.com/docs/de/settings-reference#parentsettingsbehavior) | Ob vom Host bereitgestellte übergeordnete Einstellungen unter der verwalteten Richtlinie zusammengeführt werden |

410| [`pluginSuggestionMarketplaces`](https://code.claude.com/docs/de/settings-reference#pluginsuggestionmarketplaces) | Marketplaces, deren Plugins Claude Code Benutzern möglicherweise vorschlagen kann |410| [`pluginSuggestionMarketplaces`](https://code.claude.com/docs/de/settings-reference#pluginsuggestionmarketplaces) | Marketplaces, deren Plugins Claude Code Benutzern im Terminal vorschlagen darf |

411| [`pluginTrustMessage`](https://code.claude.com/docs/de/settings-reference#plugintrustmessage) | Benutzerdefinierte Nachricht, die der vor der Installation angezeigten Plugin-Vertrauenswarnung angehängt wird |411| [`pluginTrustMessage`](https://code.claude.com/docs/de/settings-reference#plugintrustmessage) | Benutzerdefinierte Nachricht, die der vor der Installation angezeigten Plugin-Vertrauenswarnung angehängt wird |

412| [`policyHelper`](https://code.claude.com/docs/de/settings-reference#policyhelper) | Ausführbare Datei, die verwaltete Einstellungen beim Start berechnet; siehe [Verwaltete Einstellungen mit einem Policy Helper berechnen](https://code.claude.com/docs/de/settings-reference.md#policyhelper) |412| [`policyHelper`](https://code.claude.com/docs/de/settings-reference#policyhelper) | Ausführbare Datei, die verwaltete Einstellungen beim Start berechnet; siehe [Verwaltete Einstellungen mit einem Policy Helper berechnen](https://code.claude.com/docs/de/settings-reference.md#policyhelper) |

413| [`sandbox.filesystem.allowManagedReadPathsOnly`](https://code.claude.com/docs/de/settings-reference#sandbox-filesystem-allowmanagedreadpathsonly) | Wenn `true`, werden nur `filesystem.allowRead` Pfade aus verwalteten Einstellungen berücksichtigt. `denyRead` wird weiterhin aus allen Quellen zusammengeführt |413| [`sandbox.filesystem.allowManagedReadPathsOnly`](https://code.claude.com/docs/de/settings-reference#sandbox-filesystem-allowmanagedreadpathsonly) | Wenn `true`, werden nur `filesystem.allowRead` Pfade aus verwalteten Einstellungen berücksichtigt. `denyRead` wird weiterhin aus allen Quellen zusammengeführt |

mcp.md +10 −1

Details

1624 1624 

1625Wenn Sie einen MCP-Server erstellen, der Elicitierung verwendet, lesen Sie die [MCP-Elicitierungsspezifikation](https://modelcontextprotocol.io/docs/learn/client-concepts#elicitation) für Protokolldetails und Schemabeispiele.1625Wenn Sie einen MCP-Server erstellen, der Elicitierung verwendet, lesen Sie die [MCP-Elicitierungsspezifikation](https://modelcontextprotocol.io/docs/learn/client-concepts#elicitation) für Protokolldetails und Schemabeispiele.

1626 1626 

1627Bei Verbindungen, die [Protokollrevision 2026-07-28](#mcp-client-runtimes) verwenden, deklariert Claude Code `elicitation: {form: {}, url: {}}` in seinen Client-Funktionen, sodass ein Server dort beide Modi über die Standard-Elicitierungsanfrage des Protokolls anfordern kann.1627### Von Claude Code deklarierte Elicitierungsmodi

1628 

1629Wenn Sie einen MCP-Server erstellen, teilen die Client-Funktionen, die Claude Code beim Verbindungsaufbau sendet, Ihrem Server mit, welche Elicitierungsmodi er anfordern kann. Claude Code deklariert `elicitation: {form: {}, url: {}}` bei den folgenden Verbindungen, sodass ein Server auf jeder davon beide Modi anfordern kann:

1630 

1631* Verbindungen, die [Protokollrevision 2026-07-28](#mcp-client-runtimes) verwenden

1632* Verbindungen mit den früheren Protokollrevisionen, 2025-11-25 und älter, zu den stdio-, `sse`-, `http`- und `ws`-Servern in der Claude Code-MCP-Konfiguration eines Benutzers. Erfordert Claude Code v2.1.287 oder höher

1633 

1634Bei seinen anderen Verbindungen mit den früheren Revisionen, etwa zu [claude.ai-Konnektoren](#use-mcp-servers-from-claude-ai), deklariert Claude Code nur `elicitation: {}`, was Elicitierungsanfragen ausschließlich im Formularmodus erlaubt.

1635 

1636Ein Server, der auf dem Java MCP SDK 0.17.0 oder früher basiert, kann eine Deklaration ablehnen, die `form` und `url` enthält. Siehe [MCP server rejected the elicitation capability](https://code.claude.com/docs/de/errors.md#mcp-server-rejected-the-elicitation-capability).

1628 1637 

1629## MCP-Ressourcen verwenden1638## MCP-Ressourcen verwenden

1630 1639 

Details

36* Tools, die einer expliziten [Ask-Regel](https://code.claude.com/docs/de/permissions.md#manage-permissions) entsprechen36* Tools, die einer expliziten [Ask-Regel](https://code.claude.com/docs/de/permissions.md#manage-permissions) entsprechen

37* Connector-Tools, die Ihre Organisation [auf `ask` gesetzt hat](https://code.claude.com/docs/de/mcp#organization-controls-on-connector-tools), in Sitzungen, in denen diese Einstellung Claude Code erreicht37* Connector-Tools, die Ihre Organisation [auf `ask` gesetzt hat](https://code.claude.com/docs/de/mcp#organization-controls-on-connector-tools), in Sitzungen, in denen diese Einstellung Claude Code erreicht

38* Tools, die Benutzerinteraktion erfordern: das integrierte `AskUserQuestion`-Tool und MCP-Tools, die mit [`requiresUserInteraction`](https://code.claude.com/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind38* Tools, die Benutzerinteraktion erfordern: das integrierte `AskUserQuestion`-Tool und MCP-Tools, die mit [`requiresUserInteraction`](https://code.claude.com/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind

39* Erkannte `rm`- und `rmdir`-[Löschungen kritischer Pfade](#critical-paths), die weder eine allow-Regel noch ein `"allow"` eines `PreToolUse`-Hooks genehmigt39* Erkannte `rm`- und `rmdir`-[Löschungen kritischer Pfade](#critical-paths), die weder eine allow-Regel noch ein `"allow"` eines `PreToolUse`-Hooks genehmigt, sowie Bash-Befehle, die mit [`Dangerous rm operation not ruled out`](#dangerous-rm-operation-not-ruled-out) gekennzeichnet sind

40* Die [Cross-Session-Messaging-Schutzmaßnahmen](#skip-all-checks-with-bypasspermissions-mode)40* Die [Cross-Session-Messaging-Schutzmaßnahmen](#skip-all-checks-with-bypasspermissions-mode)

41* Lesevorgänge außerhalb der Arbeitsverzeichnisse, während [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/de/settings-reference#permissions-blockreadsoutsideworkingdirectories) aktiviert ist: erkannte Datei-lesende Bash-Befehle und jeder [unsandboxed Retry](https://code.claude.com/docs/de/sandboxing.md#the-unsandboxed-retry-escape-hatch), der Genehmigung benötigt, um außerhalb der Sandbox zu laufen, fordern auch im Auto-Modus und `bypassPermissions`-Modus auf. Erfordert Claude Code v2.1.257 oder später.41* Lesevorgänge außerhalb der Arbeitsverzeichnisse, während [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/de/settings-reference#permissions-blockreadsoutsideworkingdirectories) aktiviert ist: erkannte Datei-lesende Bash-Befehle und jeder [unsandboxed Retry](https://code.claude.com/docs/de/sandboxing.md#the-unsandboxed-retry-escape-hatch), der Genehmigung benötigt, um außerhalb der Sandbox zu laufen, fordern auch im Auto-Modus und `bypassPermissions`-Modus auf. Erfordert Claude Code v2.1.257 oder später.

42 42 


265 265 

266Der `acceptEdits`-Modus ermöglicht es Claude, Dateien in Ihrem Arbeitsverzeichnis zu erstellen und zu bearbeiten, ohne Sie zu fragen. Die Statusleiste zeigt `⏵⏵ accept edits on` an, während dieser Modus aktiv ist.266Der `acceptEdits`-Modus ermöglicht es Claude, Dateien in Ihrem Arbeitsverzeichnis zu erstellen und zu bearbeiten, ohne Sie zu fragen. Die Statusleiste zeigt `⏵⏵ accept edits on` an, während dieser Modus aktiv ist.

267 267 

268Zusätzlich zu Dateibearbeitungen genehmigt der `acceptEdits`-Modus automatisch häufige Bash-Befehle im Dateisystem: `mkdir`, `touch`, `rm`, `rmdir`, `mv`, `cp` und `sed`. Diese Befehle werden auch automatisch genehmigt, wenn sie mit sicheren Umgebungsvariablen wie `LANG=C` oder `NO_COLOR=1` oder Prozess-Wrappern wie `timeout`, `nice` oder `nohup` vorangestellt sind. Wie bei Dateibearbeitungen gilt die automatische Genehmigung nur für Pfade in Ihrem Arbeitsverzeichnis oder `additionalDirectories`.268Zusätzlich zu Dateibearbeitungen genehmigt der `acceptEdits`-Modus automatisch häufige Bash-Befehle im Dateisystem: `mkdir`, `touch`, `rm`, `rmdir`, `mv`, `cp` und `sed`. Mit Ausnahme von `touch` werden diese Befehle auch automatisch genehmigt, wenn ihnen sichere Umgebungsvariablen wie `LANG=C` oder `NO_COLOR=1` oder Prozess-Wrapper wie `timeout`, `nice` oder `nohup` vorangestellt sind. Wie bei Dateibearbeitungen gilt die automatische Genehmigung nur für Pfade in Ihrem Arbeitsverzeichnis oder `additionalDirectories`.

269 269 

270Bei Folgendem wird weiterhin nachgefragt:270Bei Folgendem wird weiterhin nachgefragt:

271 271 

272* Pfade außerhalb dieses Bereichs272* Pfade außerhalb dieses Bereichs

273* Schreibvorgänge in [geschützte Pfade](#protected-paths)273* Schreibvorgänge in [geschützte Pfade](#protected-paths)

274* Erkannte `rm`- und `rmdir`-[Löschungen kritischer Pfade](#critical-paths)274* Erkannte `rm`- und `rmdir`-[Löschungen kritischer Pfade](#critical-paths)

275* `touch` mit allem, was über einfache Dateipfade hinausgeht, zum Beispiel eine Option, ein Glob oder ein Präfix wie `timeout 5` oder `LANG=C`

275* Alle anderen Bash-Befehle außer dem [integrierten Satz nur lesender Befehle](https://code.claude.com/docs/de/permissions.md#read-only-commands)276* Alle anderen Bash-Befehle außer dem [integrierten Satz nur lesender Befehle](https://code.claude.com/docs/de/permissions.md#read-only-commands)

276 277 

277Jeder Pfad durchläuft auch die [Symlink-Prüfung](https://code.claude.com/docs/de/permissions.md#symlinks), daher wird ein Schreibvorgang, der außerhalb dieses Bereichs aufgelöst wird, ebenfalls nicht automatisch genehmigt.278Jeder Pfad durchläuft auch die [Symlink-Prüfung](https://code.claude.com/docs/de/permissions.md#symlinks), daher wird ein Schreibvorgang, der außerhalb dieses Bereichs aufgelöst wird, ebenfalls nicht automatisch genehmigt.


369* **Eine direkte Verbindung zur Anthropic API**: in interaktiven Terminal-Sitzungen sowie in `-p`-, Agent SDK-, [VS Code-Erweiterungs](https://code.claude.com/docs/de/vs-code.md)- und [Desktop-App](https://code.claude.com/docs/de/desktop.md)-Sitzungen, unabhängig von Ihrem Plan oder Kontotyp, während Anthropic dies einführt. In interaktiven Terminal-Sitzungen erfordert dies Claude Code v2.1.271 oder später bei Pro-, Max- und Team-Plänen und v2.1.278 oder später bei Enterprise-Plänen und Claude API-Konten. In `-p`-, Agent SDK-, VS Code-Erweiterungs- und Desktop-App-Sitzungen erfordert dies Claude Code v2.1.281 oder später. Ab v2.1.282 fragt eine Sitzung, die [keine Feature-Flags abruft](https://code.claude.com/docs/de/env-vars.md#features-that-need-feature-flag-fetching), zum Beispiel weil Sie die Telemetrie deaktiviert haben, in jeder Art von Sitzung standardmäßig beim Server an.370* **Eine direkte Verbindung zur Anthropic API**: in interaktiven Terminal-Sitzungen sowie in `-p`-, Agent SDK-, [VS Code-Erweiterungs](https://code.claude.com/docs/de/vs-code.md)- und [Desktop-App](https://code.claude.com/docs/de/desktop.md)-Sitzungen, unabhängig von Ihrem Plan oder Kontotyp, während Anthropic dies einführt. In interaktiven Terminal-Sitzungen erfordert dies Claude Code v2.1.271 oder später bei Pro-, Max- und Team-Plänen und v2.1.278 oder später bei Enterprise-Plänen und Claude API-Konten. In `-p`-, Agent SDK-, VS Code-Erweiterungs- und Desktop-App-Sitzungen erfordert dies Claude Code v2.1.281 oder später. Ab v2.1.282 fragt eine Sitzung, die [keine Feature-Flags abruft](https://code.claude.com/docs/de/env-vars.md#features-that-need-feature-flag-fetching), zum Beispiel weil Sie die Telemetrie deaktiviert haben, in jeder Art von Sitzung standardmäßig beim Server an.

370* **Ein Cloud-Anbieter oder ein LLM-Gateway oder Proxy**: bei [Claude Platform auf AWS](https://code.claude.com/docs/de/claude-platform-on-aws.md), Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry, und wann immer Sie `ANTHROPIC_BASE_URL` auf ein [LLM-Gateway oder einen Proxy](https://code.claude.com/docs/de/llm-gateway) verweisen lassen, unabhängig von Ihrem Plan. Das standardmäßige Anfragen erfordert Claude Code v2.1.278 oder später.371* **Ein Cloud-Anbieter oder ein LLM-Gateway oder Proxy**: bei [Claude Platform auf AWS](https://code.claude.com/docs/de/claude-platform-on-aws.md), Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry, und wann immer Sie `ANTHROPIC_BASE_URL` auf ein [LLM-Gateway oder einen Proxy](https://code.claude.com/docs/de/llm-gateway) verweisen lassen, unabhängig von Ihrem Plan. Das standardmäßige Anfragen erfordert Claude Code v2.1.278 oder später.

371* **Eine angemeldete [Claude-Apps-Gateway](https://code.claude.com/docs/de/claude-apps-gateway)-Sitzung**: erfordert Claude Code v2.1.280 oder später372* **Eine angemeldete [Claude-Apps-Gateway](https://code.claude.com/docs/de/claude-apps-gateway)-Sitzung**: erfordert Claude Code v2.1.280 oder später

373* **Eine [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md) in einer von Anthropic gehosteten Umgebung**: unabhängig von Ihrem Plan, wenn Sie sie im Web, in der mobilen App oder in der Desktop-App mit ausgewählter Option **Cloud** starten. Sitzungen, die von einer [geplanten Cloud-Aufgabe](https://code.claude.com/docs/de/routines.md) gestartet werden, fragen beim Server an, während Anthropic dies einführt.

372 374 

373Wenn der Server die Aktionen überprüft, entscheiden seine Urteile über sie. Zwei weitere Ergebnisse sind möglich:375Wenn der Server die Aktionen überprüft, entscheiden seine Urteile über sie. Zwei weitere Ergebnisse sind möglich:

374 376 


647 649 

648Der Modus `bypassPermissions` deaktiviert Berechtigungsabfragen und Sicherheitsprüfungen, sodass Tool-Aufrufe sofort ausgeführt werden, einschließlich Schreibvorgängen in [geschützte Pfade](#protected-paths).650Der Modus `bypassPermissions` deaktiviert Berechtigungsabfragen und Sicherheitsprüfungen, sodass Tool-Aufrufe sofort ausgeführt werden, einschließlich Schreibvorgängen in [geschützte Pfade](#protected-paths).

649 651 

650Bei den [Aktionen, die kein Modus automatisch genehmigt](#actions-no-mode-auto-approves), wird auch in diesem Modus nachgefragt. Das Lesen eines [öffentlichen Artefakts einer anderen Organisation](https://code.claude.com/docs/de/artifacts.md#read-an-artifact-shared-with-you) erfordert Ihre Genehmigung, und dieser Modus fragt nicht danach, daher kann Claude ein solches Artefakt nicht lesen. Die Ablehnungen für [Remove-Item in PowerShell](#remove-item-in-powershell) gelten ebenfalls in diesem Modus.652Auch im Modus `bypassPermissions` wird bei jeder der [Aktionen, die kein Modus automatisch genehmigt](#actions-no-mode-auto-approves), nachgefragt oder die Aktion abgelehnt, statt dass sie eigenständig ausgeführt wird. Das Lesen eines [öffentlichen Artefakts einer anderen Organisation](https://code.claude.com/docs/de/artifacts.md#read-an-artifact-shared-with-you) erfordert Ihre Genehmigung, und dieser Modus fragt nicht danach, daher kann Claude ein solches Artefakt nicht lesen. Die Ablehnungen für [Remove-Item in PowerShell](#remove-item-in-powershell) gelten ebenfalls in diesem Modus.

651 653 

652Zwei Schutzmaßnahmen für [sitzungsübergreifende Nachrichten](https://code.claude.com/docs/de/cross-session-messaging.md) gelten weiterhin in diesem Modus sowie in interaktiven Terminal-Sitzungen im Plan-Modus, in denen die Umgehung von Berechtigungen verfügbar ist:654Zwei Schutzmaßnahmen für [sitzungsübergreifende Nachrichten](https://code.claude.com/docs/de/cross-session-messaging.md) gelten weiterhin in diesem Modus sowie in interaktiven Terminal-Sitzungen im Plan-Modus, in denen die Umgehung von Berechtigungen verfügbar ist:

653 655 


769* `.devcontainer.json`771* `.devcontainer.json`

770* `.ripgreprc`, `pyrightconfig.json`772* `.ripgreprc`, `pyrightconfig.json`

771* `.mcp.json`, `.claude.json`773* `.mcp.json`, `.claude.json`

774* Eine Datei, die Sie beim Start der Sitzung an [`--settings`](https://code.claude.com/docs/de/cli-reference#cli-flags), `--mcp-config` oder `--agents` übergeben haben

772* Die Datei, auf die Ihre Benutzer-, Projekt- oder lokale [Einstellungsdatei](https://code.claude.com/docs/de/settings.md#settings-files-and-who-they-affect) verweist, wenn die Einstellungsdatei selbst ein symbolischer Link ist, beispielsweise in ein Dotfiles-Repository. In den Modi, die Schreibvorgänge in geschützten Pfaden zum Klassifikator leiten, fragt ein Schreibvorgang in diese Datei stattdessen bei Ihnen nach, selbst wenn eine Allow-Regel zutrifft. Ist der eigene Pfad der Datei zugleich der Pfad einer Einstellungsdatei, beispielsweise `.claude/settings.json` in einem anderen Ordner, wird der Schreibvorgang wie andere Schreibvorgänge in geschützten Pfaden zum Klassifikator geleitet775* Die Datei, auf die Ihre Benutzer-, Projekt- oder lokale [Einstellungsdatei](https://code.claude.com/docs/de/settings.md#settings-files-and-who-they-affect) verweist, wenn die Einstellungsdatei selbst ein symbolischer Link ist, beispielsweise in ein Dotfiles-Repository. In den Modi, die Schreibvorgänge in geschützten Pfaden zum Klassifikator leiten, fragt ein Schreibvorgang in diese Datei stattdessen bei Ihnen nach, selbst wenn eine Allow-Regel zutrifft. Ist der eigene Pfad der Datei zugleich der Pfad einer Einstellungsdatei, beispielsweise `.claude/settings.json` in einem anderen Ordner, wird der Schreibvorgang wie andere Schreibvorgänge in geschützten Pfaden zum Klassifikator geleitet

773 776 

774## Kritische Pfade777## Kritische Pfade


844 847 

845Für einen Glob oder nachgestellten Schrägstrich unter einer Variable benennt die Eingabeaufforderung den gekennzeichneten `rm` und sagt, wie man ihn umschreibt, damit die Überprüfung besteht.848Für einen Glob oder nachgestellten Schrägstrich unter einer Variable benennt die Eingabeaufforderung den gekennzeichneten `rm` und sagt, wie man ihn umschreibt, damit die Überprüfung besteht.

846 849 

850### Die Abfrage `Dangerous rm operation not ruled out`

851 

852Die vollständige Begründung lautet:

853 

854```text theme={null}

855Dangerous rm operation not ruled out — the shell may read this command differently than it was parsed

856```

857 

858Diese Begründung bedeutet, dass die Shell den Befehl möglicherweise anders liest als Claude Code, sodass sich eine Entfernung in einem nicht überprüften Teil befinden könnte, selbst wenn kein `rm` vorhanden ist. Im `auto`- oder `bypassPermissions`-Modus stammt eine Ablehnung mit diesem Satz von derselben Überprüfung:

859 

860```text theme={null}

861This command could not be checked for dangerous rm operations: the shell may read it differently than it was parsed.

862```

863 

864Sie erhalten die Abfrage oder Ablehnung, die eine Entfernung eines kritischen Pfads [in Ihrem Berechtigungsmodus](#critical-path-removals-in-each-permission-mode) erhält, `bypassPermissions` eingeschlossen. Sie können den Befehl nicht mit einer `Bash`- oder `Bash(*)`-Allow-Regel, dem [Auto-Allow-Modus](https://code.claude.com/docs/de/sandboxing.md#auto-allow-mode) der Sandbox oder einem `PreToolUse`-Hook genehmigen, der `"allow"` zurückgibt. Lesen Sie den Befehl und genehmigen Sie dann die Abfrage oder führen Sie ihn nach einer Ablehnung in Ihrer Shell aus.

865 

847### Die Abfrage für eingehängte Laufwerke866### Die Abfrage für eingehängte Laufwerke

848 867 

849Die Abfrage für eingehängte Laufwerke erscheint unter macOS, Linux und WSL, wenn ein rekursiver `rm` auf einen aufgeführten [Pfad eines eingehängten Laufwerks](#paths-that-get-the-mounted-drive-prompt) abzielt, wie `/mnt/c` oder `/Volumes/USB/build`. Ihre Begründung lautet `Dangerous rm operation on mounted drive path: <path>`. Ein `/*`-Ziel erhält die Abfrage auch ohne das Rekursiv-Flag, da Claude Code `rm /Volumes/USB/build/*` als Entfernung von `/Volumes/USB/build` liest.868Die Abfrage für eingehängte Laufwerke erscheint unter macOS, Linux und WSL, wenn ein rekursiver `rm` auf einen aufgeführten [Pfad eines eingehängten Laufwerks](#paths-that-get-the-mounted-drive-prompt) abzielt, wie `/mnt/c` oder `/Volumes/USB/build`. Ihre Begründung lautet `Dangerous rm operation on mounted drive path: <path>`. Ein `/*`-Ziel erhält die Abfrage auch ohne das Rekursiv-Flag, da Claude Code `rm /Volumes/USB/build/*` als Entfernung von `/Volumes/USB/build` liest.


900| `plan` | Fordert Sie auf, dies zu genehmigen. Wenn [der Klassifizierer Befehle während der Planung überprüft](#analyze-before-you-edit-with-plan-mode) und keine Bypass-Berechtigungen verfügbar sind, behandelt er dies wie im `auto`-Modus |919| `plan` | Fordert Sie auf, dies zu genehmigen. Wenn [der Klassifizierer Befehle während der Planung überprüft](#analyze-before-you-edit-with-plan-mode) und keine Bypass-Berechtigungen verfügbar sind, behandelt er dies wie im `auto`-Modus |

901| `auto` | Fordert Sie auf, dies im Terminal zu genehmigen, mit einem [Zeitlimit](#time-limits-and-denials-in-auto-and-bypasspermissions-modes). Anderswo lehnt es ab |920| `auto` | Fordert Sie auf, dies im Terminal zu genehmigen, mit einem [Zeitlimit](#time-limits-and-denials-in-auto-and-bypasspermissions-modes). Anderswo lehnt es ab |

902| `dontAsk` | Lehnt es ab |921| `dontAsk` | Lehnt es ab |

903| `bypassPermissions` | Fordert Sie auf, dies zu genehmigen, mit einem Zeitlimit im Terminal |922| `bypassPermissions` | Fordert Sie im Terminal auf, dies zu genehmigen, bevor ein Zeitlimit abläuft. Anderswo siehe [was an jedem Ort geschieht](#time-limits-and-denials-in-auto-and-bypasspermissions-modes) |

904 923 

905Wenn eine explizite [Ask-Regel](https://code.claude.com/docs/de/permissions.md#manage-permissions) dem Befehl entspricht, fordert Claude Code Sie stattdessen auf, auch im `auto`-Modus und ohne Zeitlimit. In Modi, die fragen, kann ein [`PermissionRequest`-Hook](https://code.claude.com/docs/de/hooks#permissionrequest) die Eingabeaufforderung beantworten.924Wenn eine explizite [Ask-Regel](https://code.claude.com/docs/de/permissions.md#manage-permissions) dem Befehl entspricht, fordert Claude Code Sie stattdessen auf, auch im `auto`-Modus und ohne Zeitlimit. In Modi, die fragen, kann ein [`PermissionRequest`-Hook](https://code.claude.com/docs/de/hooks#permissionrequest) die Eingabeaufforderung beantworten.

906 925 


912* Drücken Sie eine beliebige Taste, während die Eingabeaufforderung offen ist, um den Countdown zu stoppen und die Eingabeaufforderung warten zu lassen, bis Sie antworten.931* Drücken Sie eine beliebige Taste, während die Eingabeaufforderung offen ist, um den Countdown zu stoppen und die Eingabeaufforderung warten zu lassen, bis Sie antworten.

913* Nachdem drei dieser Eingabeaufforderungen in einer Sitzung unbeantwortet ablaufen, zeigt Claude Code sie nicht mehr an und lehnt weitere Entfernungen kritischer Pfade sofort ab. Das Senden einer neuen Nachricht setzt den Zähler zurück.932* Nachdem drei dieser Eingabeaufforderungen in einer Sitzung unbeantwortet ablaufen, zeigt Claude Code sie nicht mehr an und lehnt weitere Entfernungen kritischer Pfade sofort ab. Das Senden einer neuen Nachricht setzt den Zähler zurück.

914 933 

915Im `auto`-Modus lehnt Claude Code den Befehl sofort ab, wenn es Ihnen keine Terminal-Eingabeaufforderung anzeigen kann, beispielsweise in [nicht-interaktiven Ausführungen](https://code.claude.com/docs/de/headless.md) mit `-p`, in [Agent SDK](https://code.claude.com/docs/de/agent-sdk/permissions.md)-Sitzungen und im Chat-Panel der VS Code-Erweiterung und der Desktop-App. Die Ablehnung teilt Claude mit, was es löschen wollte, und überlässt die Entfernung Ihnen.934Das Zeitlimit gilt ab Claude Code v2.1.281, ebenso die Ablehnung im `auto`-Modus außerhalb des Terminals.

935 

936Außerhalb des Terminals erhalten Sie diese Abfrage nicht:

916 937 

917Die Behandlung von `auto` und `bypassPermissions` erfordert Claude Code v2.1.281 oder später. Um dies auszuschalten, setzen Sie [`CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT=1`](https://code.claude.com/docs/de/env-vars#variables) in der Umgebung, die Claude Code startet. Im `auto`-Modus gehen Entfernungen kritischer Pfade dann stattdessen an den Klassifizierer, und im `bypassPermissions`-Modus hat die Eingabeaufforderung kein Zeitlimit.938| Ort | `auto` | `bypassPermissions` |

939| :- | :- | :- |

940| Chat-Panel der [VS Code-Erweiterung](https://code.claude.com/docs/de/vs-code.md) | Lehnt es ab | Lehnt es ab, es sei denn, ein [`PermissionRequest`-Hook](https://code.claude.com/docs/de/hooks#permissionrequest) erlaubt es |

941| [Desktop-App](https://code.claude.com/docs/de/desktop.md) | Lehnt es ab | Lehnt es ab, es sei denn, ein `PermissionRequest`-Hook erlaubt es |

942| [`-p`-Ausführung](https://code.claude.com/docs/de/headless) oder [Agent SDK-Sitzung](https://code.claude.com/docs/de/agent-sdk/permissions.md) | Lehnt es ab | Ihr [`--permission-prompt-tool`](https://code.claude.com/docs/de/cli-reference#cli-flags) oder Ihr [`canUseTool`-Callback](https://code.claude.com/docs/de/agent-sdk/user-input#handle-tool-approval-requests) entscheidet. Ohne beides oder unter [`--permission-prompts none`](https://code.claude.com/docs/de/headless#turn-off-permission-prompts-in-unattended-runs) lehnt es ab, es sei denn, ein `PermissionRequest`-Hook erlaubt es |

943 

944Wo immer die Entfernung abgelehnt wird, können Sie den gesamten Befehl lesen und in Ihrer Shell ausführen.

945 

946Um zu ändern, was Sie in jedem Modus erhalten, setzen Sie [`CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT`](https://code.claude.com/docs/de/env-vars#variables) auf `1`:

947 

948* **`bypassPermissions`**: Die Terminal-Abfrage hat kein Zeitlimit, und das Chat-Panel von VS Code fragt Sie

949* **`auto`**: Der [Klassifikator](#eliminate-prompts-with-auto-mode) entscheidet, im Terminal, im Chat-Panel von VS Code, in `-p`-Ausführungen und in Agent SDK-Sitzungen

950 

951Setzen Sie die Variable in der Umgebung, die Claude Code startet, etwa in Ihrer Shell oder in der `env`-Option des SDK, nicht in einer Einstellungsdatei von Claude Code. Für das Chat-Panel fügen Sie sie zu [`claudeCode.environmentVariables`](https://code.claude.com/docs/de/vs-code#extension-settings) in der eigenen Benutzer-`settings.json` von VS Code hinzu und starten dann eine neue Konversation:

952 

953```json theme={null}

954{

955 "claudeCode.environmentVariables": [

956 { "name": "CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT", "value": "1" }

957 ]

958}

959```

918 960 

919### Remove-Item in PowerShell961### Remove-Item in PowerShell

920 962 

Details

41 41 

42Wenn ein Tutorial oder ein älterer Satz von Anweisungen Ihnen sagt, `/plugin marketplace add anthropics/claude-code` auszuführen, wird der Demo-Marktplatz mit dem Namen `claude-code-plugins` hinzugefügt. Dies ist nicht der offizielle Marktplatz.42Wenn ein Tutorial oder ein älterer Satz von Anweisungen Ihnen sagt, `/plugin marketplace add anthropics/claude-code` auszuführen, wird der Demo-Marktplatz mit dem Namen `claude-code-plugins` hinzugefügt. Dies ist nicht der offizielle Marktplatz.

43 43 

44Die meisten Plugins des Demo-Marktplatzes befinden sich auch im offiziellen Marktplatz unter denselben Namen. Zum Beispiel sind `code-review`, `feature-dev`, `commit-commands` und `security-guidance` in beiden. Installieren Sie diese von `claude-plugins-official`, damit Sie nicht zwei Kopien installiert haben.44Die meisten Plugins des Demo-Marktplatzes befinden sich auch im offiziellen Marktplatz unter denselben Namen. Zum Beispiel sind `code-review`, `feature-dev` und `commit-commands` in beiden. Installieren Sie diese von `claude-plugins-official`, damit Sie nicht zwei Kopien installiert haben.

45 45 

46## Plugins im offiziellen Marktplatz finden46## Plugins im offiziellen Marktplatz finden

47 47 

Details

403 403 

404Für Versionsbereiche, die `<plugin>--v<version>`-Git-Tag-Konvention, gegen die sie aufgelöst werden, und Cross-Marketplace-Vertrauen, siehe [Plugin-Abhängigkeiten](https://code.claude.com/docs/de/plugins/dependencies.md).404Für Versionsbereiche, die `<plugin>--v<version>`-Git-Tag-Konvention, gegen die sie aufgelöst werden, und Cross-Marketplace-Vertrauen, siehe [Plugin-Abhängigkeiten](https://code.claude.com/docs/de/plugins/dependencies.md).

405 405 

406Um Claude Code zu haben, ein Plugin zu suggerieren, wenn ein Projekt es passt, fügen Sie einen `relevance`-Block zum Eintrag mit den Signalen hinzu, die das Projekt identifizieren. Benutzer sehen Suggestionen aus Ihrem Marketplace nur, wenn ein Administrator ihn in `pluginSuggestionMarketplaces` auflistet. Für die Signale und den Aktivierungsschritt siehe [Plugin-Relevanz](https://code.claude.com/docs/de/plugins/relevance.md).406Damit Claude Code ein Plugin vorschlägt, wenn ein Projekt dazu passt, fügen Sie dem Eintrag einen `relevance`-Block mit den Signalen hinzu, die das Projekt identifizieren. Benutzer sehen diese Vorschläge nur, wenn ein Admin Ihren Marketplace in `pluginSuggestionMarketplaces` auflistet. Für die Signale und den Aktivierungsschritt siehe [Plugin-Relevanz](https://code.claude.com/docs/de/plugins/relevance.md).

407 407 

408## Arbeiten Sie um, was ein Marketplace nicht kann408## Arbeiten Sie um, was ein Marketplace nicht kann

409 409 

Details

95 95 

96Keine dieser Kontrollen führt einen Mod in einer Sandbox aus. Ein Mod, den Sie zulassen, läuft als der Benutzer, mit dessen Zugriff auf Dateien, Prozesse und das Netzwerk.96Keine dieser Kontrollen führt einen Mod in einer Sandbox aus. Ein Mod, den Sie zulassen, läuft als der Benutzer, mit dessen Zugriff auf Dateien, Prozesse und das Netzwerk.

97 97 

98### Wissen, welche Hooks des Mods eines Benutzers nicht laufen

99 

100Wo der [integrierte Wächter](#know-what-happens-by-default) geladen wird, läuft ein Hook, den der Mod eines Benutzers für eines dieser Ereignisse registriert, nie, und `/plugin` weist diesen Benutzer in einem Hinweis darauf hin. In den [`session.append`](https://code.claude.com/docs/de/plugins/mods/reference#session)-Zeilen ist `door` die Art der gespeicherten Zeile, auf die der Hook gefiltert ist.

101 

102| Hook auf | Was das Ereignis ist |

103| :- | :- |

104| [`classic.<Event>`](https://code.claude.com/docs/de/plugins/mods/events#hook-the-settings-hook-events), etwa `classic.Stop` | Ein [Einstellungs-Hook-Ereignis](https://code.claude.com/docs/de/hooks.md#hook-events) |

105| [`prompt.compose`](https://code.claude.com/docs/de/plugins/mods/reference#prompts-and-what-claude-reads) | Die Liste der Abschnitte des System-Prompts |

106| `prompt.section` | Ein Abschnitt des System-Prompts |

107| `prompt.context` | Der Kontext, der mit der ersten Nachricht einer Konversation gesendet wird |

108| `prompt.attachment` | Eine Nachricht, die Claude Code für Claude hinzufügt, etwa eine Erinnerung |

109| `skill.prompt` | Der Text eines Skills, wie er für Claude erweitert wird |

110| `attribution.text` | Attributionstext für Commits oder Pull Requests |

111| [`session.compact`](https://code.claude.com/docs/de/plugins/mods/reference#session) | Eine Komprimierung der Konversation |

112| `settings.read` | Ein Lesen von Einstellungen, etwa ein `$.settings.read`-Aufruf eines Mods |

113| `session.append{door=attachment}` | Die gespeicherte Zeile für eine Nachricht, die Claude Code für Claude hinzufügt |

114| `session.append{door=hook-context}` | Die gespeicherte Zeile für Kontext aus einem Einstellungs-Hook |

115| `session.append{door=compaction}` | Die gespeicherten Zeilen für die Zusammenfassung und die Grenze einer Komprimierung |

116 

117Der Wächter übergeht die Hooks eines Benutzers auch in einigen anderen Fällen, etwa bei den Beschreibungen der Tools Ihrer Organisation auf [`tool.describe`](https://code.claude.com/docs/de/plugins/mods/reference#tools) und bei der gespeicherten Zeile für den Text eines Skills. Für diese zeigt `/plugin` keinen Hinweis an. Wenn ein Hook auf einem anderen Ereignis nichts bewirkt, siehe [Herausfinden, warum ein Mod nichts bewirkt](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing).

118 

119Der Hinweis erscheint in den Details des Plugins und auf dem Tab **Errors** von `/plugin`. Er erfordert Claude Code v2.1.299 oder höher. Er nennt jeden Hook aus der Tabelle so, wie der Mod ihn registriert hat, wie in diesem Beispiel:

120 

121```text theme={null}

122Its hooks on classic.Stop, prompt.section do not run here: where an organization manages Claude Code, these events pass over the plugins you install

123Only a plugin that counts as your organization's own runs hooks on these events. An administrator sets that up in managed settings

124```

125 

126Damit diese Hooks laufen, ändern Sie die verwalteten Einstellungen auf eine von zwei Arten:

127 

128* **Den Mod als Mod Ihrer Organisation ausführen**: [Installieren Sie den Mod so, dass er als Ihrer zählt](#install-your-organizations-mods). Seine Hooks auf diesen Ereignissen laufen dann, und der Wächter bleibt für jeden anderen Mod geladen. Der Mod wird für alle aktiviert, die diese Einstellungen erhalten, und er muss in einem Verzeichnis liegen, das Sie auf jedem Rechner bereitstellen. Wenn Sie ihn in `prependPlugins` aufführen, behalten Sie `sec-default@builtin` in der Liste.

129* **Den Wächter entfernen**: Lassen Sie `sec-default@builtin` in `prependPlugins` weg. Eine leere Liste, `"prependPlugins": []`, genügt. Sie verlieren den gesamten Wächter, nicht nur diese Ereignisse. Der Mod eines Benutzers kann dann tun, [was der Wächter sonst verhindert](#know-what-happens-by-default), und [die Optionen des Wächters](#set-options-on-the-built-in-guard) gelten nicht.

130 

131Wenn Sie eine Liste ohne den Wächter über [serververwaltete Einstellungen](https://code.claude.com/docs/de/server-managed-settings.md#fetch-and-caching-behavior) ausliefern, bleibt der Wächter geladen, bis der Server die Einstellungen für die Sitzung bestätigt. Um eine der beiden Änderungen auf einem Rechner mit v2.1.299 oder höher zu bestätigen, öffnen Sie dort in einer Sitzung `/plugin` und prüfen Sie, ob der Hinweis verschwunden ist.

132 

133Ein `session.append`-Hook ohne `door`-Filter läuft weiterhin und erhält keinen Hinweis, aber die gespeicherten Zeilen aus der Tabelle erreichen ihn nicht.

134 

98## Entscheiden, ob Mods aktiviert bleiben sollen135## Entscheiden, ob Mods aktiviert bleiben sollen

99 136 

100Ein Mod kann mehr als die anderen Bestandteile eines Plugins, weil er innerhalb von Claude Code ausgeführt wird. Er sieht jeden Prompt und jeden Tool-Aufruf, kann diese ändern und kann einen Tool-Aufruf erlauben oder ablehnen, bevor eine Berechtigungsabfrage erscheint.137Ein Mod kann mehr als die anderen Bestandteile eines Plugins, weil er innerhalb von Claude Code ausgeführt wird. Er sieht jeden Prompt und jeden Tool-Aufruf, kann diese ändern und kann einen Tool-Aufruf erlauben oder ablehnen, bevor eine Berechtigungsabfrage erscheint.


142| `$.prompt.submit` | Sendet einen Prompt ab und kann ihn als eigene Worte des Benutzers senden |179| `$.prompt.submit` | Sendet einen Prompt ab und kann ihn als eigene Worte des Benutzers senden |

143| `$.session.send` | Sendet eine Nachricht, die Claude in einer anderen Sitzung, in einem Subagenten oder bei einem [Teammitglied](https://code.claude.com/docs/de/agent-teams.md) liest |180| `$.session.send` | Sendet eine Nachricht, die Claude in einer anderen Sitzung, in einem Subagenten oder bei einem [Teammitglied](https://code.claude.com/docs/de/agent-teams.md) liest |

144 181 

145In der Zeile `hooks:` bedeuten [`tool.call`](https://code.claude.com/docs/de/plugins/mods/reference#tools) und [`prompt.submit`](https://code.claude.com/docs/de/plugins/mods/reference#prompts-and-what-claude-reads), dass der Mod jeden Tool-Aufruf und jeden Prompt sieht und diese ändern kann. [`session.append`](https://code.claude.com/docs/de/plugins/mods/reference#session) bedeutet, dass der Mod jede Zeile der Konversation umschreiben kann, bevor sie gespeichert wird. [`ui.render{component=AskUserQuestion}`](https://code.claude.com/docs/de/plugins/mods/interface#change-what-claude-code-already-draws) bedeutet, dass der Mod den Dialog neu zeichnen kann, mit dem Claude dem Benutzer eine Frage stellt. `tool.check` bedeutet, dass der Mod einen Tool-Aufruf genehmigen oder ablehnen kann, bevor eine Berechtigungsabfrage erscheint. [Wissen, was standardmäßig passiert](#know-what-happens-by-default) listet auf, welche Ihrer Regeln und Hooks Vorrang vor seiner Antwort haben.182In der Zeile `hooks:` bedeuten [`tool.call`](https://code.claude.com/docs/de/plugins/mods/reference#tools) und [`prompt.submit`](https://code.claude.com/docs/de/plugins/mods/reference#prompts-and-what-claude-reads), dass der Mod jeden Tool-Aufruf und jeden Prompt sieht und diese ändern kann. [`session.append`](https://code.claude.com/docs/de/plugins/mods/reference#session) bedeutet, dass der Mod jede Zeile der Konversation umschreiben kann, bevor sie gespeichert wird, abgesehen von [den Zeilen, die der Guard überspringt](#hooks-the-guard-passes-over). [`ui.render{component=AskUserQuestion}`](https://code.claude.com/docs/de/plugins/mods/interface#change-what-claude-code-already-draws) bedeutet, dass der Mod den Dialog neu zeichnen kann, mit dem Claude dem Benutzer eine Frage stellt. `tool.check` bedeutet, dass der Mod einen Tool-Aufruf genehmigen oder ablehnen kann, bevor eine Berechtigungsabfrage erscheint. [Wissen, was standardmäßig passiert](#know-what-happens-by-default) listet auf, welche Ihrer Regeln und Hooks Vorrang vor seiner Antwort haben.

146 183 

147## Festlegen, wie viel erlaubt ist184## Festlegen, wie viel erlaubt ist

148 185 

Details

377 377 

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

379 379 

380Einstellungs-Hooks sind die Befehls-, HTTP-, Prompt- und Agent-Hooks, die Sie in Einstellungsdateien konfigurieren. Jedes [Event eines Einstellungs-Hooks](https://code.claude.com/docs/de/hooks.md#hook-events), etwa `Stop`, `SessionEnd` oder `PostToolUse`, ist auch ein Event, das aus `classic.` gefolgt vom Namen des Einstellungs-Hook-Events besteht, etwa `classic.Stop`. `e` ist das JSON, das ein Einstellungs-Hook über stdin erhält, einschließlich `transcript_path`.380Einstellungs-Hooks sind die Befehls-, HTTP-, Prompt- und Agent-Hooks, die Sie in Einstellungsdateien konfigurieren. Jedes [Event eines Einstellungs-Hooks](https://code.claude.com/docs/de/hooks.md#hook-events), etwa `Stop`, `SessionEnd` oder `PostToolUse`, ist auch ein Event, das aus `classic.` gefolgt vom Namen des Einstellungs-Hook-Events besteht, etwa `classic.Stop`. `e` ist das JSON, das ein Einstellungs-Hook über stdin erhält, einschließlich `transcript_path`. Wo der [integrierte Wächter](https://code.claude.com/docs/de/plugins/mods/admin.md#know-what-happens-by-default) geladen wird, [wird ein Hook auf diese Events in einem Mod, den Sie installieren, nicht ausgeführt](https://code.claude.com/docs/de/plugins/mods/admin.md#hooks-the-guard-passes-over).

381 381 

382Dieser Hook verwendet `Stop`, das ausgelöst wird, wenn Claude mit dem Antworten fertig ist, um zu protokollieren, wo das Transkript der Sitzung gespeichert ist:382Dieser Hook verwendet `Stop`, das ausgelöst wird, wenn Claude mit dem Antworten fertig ist, um zu protokollieren, wo das Transkript der Sitzung gespeichert ist:

383 383 


425* **Er ist fehlgeschlagen, bevor er `next` aufgerufen hat**: Claude Code überspringt ihn, und der nächste Handler wird an seiner Stelle ausgeführt425* **Er ist fehlgeschlagen, bevor er `next` aufgerufen hat**: Claude Code überspringt ihn, und der nächste Handler wird an seiner Stelle ausgeführt

426* **Er ist fehlgeschlagen, nachdem `next` aufgelöst wurde**: Dieses Ergebnis bleibt bestehen, und nichts wird ein zweites Mal ausgeführt426* **Er ist fehlgeschlagen, nachdem `next` aufgelöst wurde**: Dieses Ergebnis bleibt bestehen, und nichts wird ein zweites Mal ausgeführt

427 427 

428Eine Zeile nennt den Mod, das Ereignis und den Grund, zum Beispiel `my-mod: tool.call hook skipped: threw Error: boom`. Wo Sie sie lesen, hängt von der Sitzung ab, wie [Herausfinden, warum ein Mod nichts tut](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing) auflistet. Ein `ui.render`-Hook, dessen Zeichnung die Validierung nicht besteht, wird anders gemeldet, wie [Einen Baum aus Elementen erstellen](https://code.claude.com/docs/de/plugins/mods/interface.md#build-a-tree-from-elements) beschreibt.428Eine Zeile nennt den Mod, das Ereignis und den Grund, zum Beispiel `my-mod: tool.call hook skipped: threw Error: boom`. Wo Sie sie lesen, hängt von der Sitzung ab, wie [Herausfinden, warum ein Mod nichts tut](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing) auflistet. Ein `ui.render`-Hook, dessen [Baum die Validierung nicht besteht](https://code.claude.com/docs/de/plugins/mods/interface.md#build-a-tree-from-elements), zählt als einer, der ein Ergebnis mit falscher Struktur zurückgegeben hat.

429 429 

430Damit ein Hook, der Aufrufe blockiert, im Fehlerfall sicher blockiert (Fail-closed), fügen Sie einen `.catch`-Fehlerhandler hinzu, der an seiner Stelle antwortet. Hier ist `guard` Ihre Hook-Funktion, und der Handler prüft [`next.called`](https://code.claude.com/docs/de/plugins/mods/reference#the-hook-function), um festzustellen, ob `guard` `next` bereits aufgerufen hatte, als es fehlschlug:430Damit ein Hook, der Aufrufe blockiert, im Fehlerfall sicher blockiert (Fail-closed), fügen Sie einen `.catch`-Fehlerhandler hinzu, der an seiner Stelle antwortet. Hier ist `guard` Ihre Hook-Funktion, und der Handler prüft [`next.called`](https://code.claude.com/docs/de/plugins/mods/reference#the-hook-function), um festzustellen, ob `guard` `next` bereits aufgerufen hatte, als es fehlschlug:

431 431 

Details

421Note: Type a note and press Enter421Note: Type a note and press Enter

422```422```

423 423 

424Fügen Sie `rows` hinzu, damit das Feld mehrere Zeilen aufnehmen kann. Die Eingabetaste sendet weiterhin ab, und ein Backslash vor der Eingabetaste beginnt eine neue Zeile, ebenso wie Umschalt+Eingabetaste, sofern [das Terminal dies unterstützt](https://code.claude.com/docs/de/terminal-config.md#enter-multiline-prompts). Die Galerie zeigt [ein Feld mit `rows`](https://code.claude.com/docs/de/plugins/mods/gallery#input).

425 

424Die [Oberflächengalerie](https://code.claude.com/docs/de/plugins/mods/gallery.md) enthält Beispiele und Screenshots der meisten Elemente. Diese Tabelle listet alle Elemente auf:426Die [Oberflächengalerie](https://code.claude.com/docs/de/plugins/mods/gallery.md) enthält Beispiele und Screenshots der meisten Elemente. Diese Tabelle listet alle Elemente auf:

425 427 

426| Element | Was es zeichnet | Wo |428| Element | Was es zeichnet | Wo |


436 438 

437Wenn Ihr Modul eine `.tsx`- oder `.jsx`-Datei ist, können Sie den Baum als JSX schreiben. Destrukturieren Sie die Elemente zuerst aus `$.ui.resolve(e)`.439Wenn Ihr Modul eine `.tsx`- oder `.jsx`-Datei ist, können Sie den Baum als JSX schreiben. Destrukturieren Sie die Elemente zuerst aus `$.ui.resolve(e)`.

438 440 

439Wenn ein Baum ein Element verwendet, das die App nicht kennt, eine Prop, die ein Element nicht akzeptiert, oder ein Kind an einer Stelle, an der keines vorgesehen ist, zeichnet Claude Code seine eigene Version der Stelle.441Wenn Ihre Zeichnung nicht angezeigt wird, prüfen Sie ihren Baum auf eine Prop, die ein Element nicht akzeptiert, oder ein Kind an einer Stelle, an der keines vorgesehen ist. Ein Hook, der einen solchen Baum zurückgibt, [schlägt fehl](https://code.claude.com/docs/de/plugins/mods/events.md#handle-a-hook-that-fails), und eine [`hook skipped`-Zeile](https://code.claude.com/docs/de/plugins/mods/troubleshoot#a-pane-or-band-is-empty) nennt Ihren Mod und die Regel, gegen die der Baum verstoßen hat. Für ein `Text` in einem Pane mit einer Prop namens `bogusProp` lautet diese Zeile:

440 442 

441In einer mit `--plugin-dir` gestarteten Sitzung weist eine Zeile im Transkript darauf hin, etwa `ui.render (Pane) refused: Text prop "bogusProp" is not allowed; the engine drew its own`. Das [Debug-Log](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#read-the-debug-log) vermerkt dies als `ui.render (Pane): a hook returned a tree that does not validate` mit derselben Begründung. Sonst erscheint nichts in der Sitzung. Wenn eine Zeichnung also nicht angezeigt wird, prüfen Sie diese Zeile oder das Log.443```text theme={null}

444my-mod: ui.render hook skipped: returned the wrong shape (a tree Pane refuses: Text prop "bogusProp" is not allowed)

445```

442 446 

443### `Link` in der Desktop-App und in VS Code447### `Link` in der Desktop-App und in VS Code

444 448 


542| Taste | Was sie bewirkt |546| Taste | Was sie bewirkt |

543| :- | :- |547| :- | :- |

544| Tab | Wechselt zum nächsten Steuerelement |548| Tab | Wechselt zum nächsten Steuerelement |

545| Pfeil nach oben und unten | Wechseln zwischen Steuerelementen, solange Ihre Zeichnung hineinpasst. Wenn der Bereich oder das Band mehr Zeilen hat, als angezeigt werden können, scrollen sie ihn. |549| Pfeil nach oben und unten | Wechseln zwischen Steuerelementen, solange Ihre Zeichnung hineinpasst. Wenn der Bereich oder das Band mehr Zeilen hat, als angezeigt werden können, scrollen sie ihn. In einem `Input` wechseln sie zuerst [zwischen den Zeilen des Felds](https://code.claude.com/docs/de/plugins/mods/gallery.md#input). |

546| Enter | Drückt den fokussierten `Button`, sendet das fokussierte `Input` ab oder wählt in einem `Select` aus |550| Enter | Drückt den fokussierten `Button`, sendet das fokussierte `Input` ab oder wählt in einem `Select` aus |

547| Der Hotkey einer Schaltfläche | Drückt diese Schaltfläche. Solange ein `Input` den Fokus hat, geht jede druckbare Taste an das Feld. |551| Der Hotkey einer Schaltfläche | Drückt diese Schaltfläche. Solange ein `Input` den Fokus hat, geht jede druckbare Taste an das Feld. |

548| Page Up, Page Down, Home und End | Scrollen Ihren Bereich oder Ihr Band, wenn er bzw. es mehr Zeilen hat, als angezeigt werden können |552| Page Up, Page Down, Home und End | Scrollen Ihren Bereich oder Ihr Band, wenn er bzw. es mehr Zeilen hat, als angezeigt werden können |

Details

275| [`Link`](https://code.claude.com/docs/de/plugins/mods/interface#link-in-the-desktop-app) | `href`, `label`. Siehe [Grenzen](#limits). | ✓ | ✓ | ✓ |275| [`Link`](https://code.claude.com/docs/de/plugins/mods/interface#link-in-the-desktop-app) | `href`, `label`. Siehe [Grenzen](#limits). | ✓ | ✓ | ✓ |

276| [`Code`](https://code.claude.com/docs/de/plugins/mods/gallery#show-code-and-changes) | `source`, `language`, `path`, `startLine`, `format`, `wrap` | ✓ | ✓ | ✓ |276| [`Code`](https://code.claude.com/docs/de/plugins/mods/gallery#show-code-and-changes) | `source`, `language`, `path`, `startLine`, `format`, `wrap` | ✓ | ✓ | ✓ |

277| `Markdown` | `text`, `key`, `dimColor`, `onLinkPress`, `pressableLinks` | ✓ | ✓ | ✓ |277| `Markdown` | `text`, `key`, `dimColor`, `onLinkPress`, `pressableLinks` | ✓ | ✓ | ✓ |

278| [`Input`](https://code.claude.com/docs/de/plugins/mods/interface#take-typed-input-and-draw-a-row-for-each-item) | `key`, `label`, `placeholder`, `value`, `submitLabel`, `onSubmit`, `onInput`, `autoFocus` | ✓ | ✓ | ✓ |278| [`Input`](https://code.claude.com/docs/de/plugins/mods/interface#take-typed-input-and-draw-a-row-for-each-item) | `key`, `label`, `placeholder`, `value`, `submitLabel`, [`rows`](https://code.claude.com/docs/de/plugins/mods/gallery#input), `onSubmit`, `onInput`, `autoFocus` | ✓ | ✓ | ✓ |

279| `Select` | `key`, `label`, `options`, `value`, `onSelect`, `autoFocus` | ✓ | ✓ | ✓ |279| `Select` | `key`, `label`, `options`, `value`, `onSelect`, `autoFocus` | ✓ | ✓ | ✓ |

280| `Svg` | eine `source` mit SVG-Markup bis zu 131.072 Zeichen, `alt`-Text, `width`, `height` und `isInteractive` | | ✓ | ✓ |280| `Svg` | eine `source` mit SVG-Markup bis zu 131.072 Zeichen, `alt`-Text, `width`, `height` und `isInteractive` | | ✓ | ✓ |

281| [`Client`](https://code.claude.com/docs/de/plugins/mods/interface#build-a-tree-from-elements) | `module`, `key`, `props`, `width`, `height`, `flexGrow` | ✓ | ✓ | |281| [`Client`](https://code.claude.com/docs/de/plugins/mods/interface#build-a-tree-from-elements) | `module`, `key`, `props`, `width`, `height`, `flexGrow` | ✓ | ✓ | |


333 333 

334Wenn Sie `gap`, `padding` oder `margin` auf eine Stufe setzen, gilt die Stufe gleichzeitig horizontal und vertikal. Im Terminal und in der VS Code-Erweiterung bedeutet `padding: 'md'` beispielsweise zwei Zellen auf jeder Seite und eine Zeile darüber und darunter.334Wenn Sie `gap`, `padding` oder `margin` auf eine Stufe setzen, gilt die Stufe gleichzeitig horizontal und vertikal. Im Terminal und in der VS Code-Erweiterung bedeutet `padding: 'md'` beispielsweise zwei Zellen auf jeder Seite und eine Zeile darüber und darunter.

335 335 

336Stufennamen erfordern Claude Code v2.1.299 oder höher. In einer früheren Version [zeichnet Claude Code seine eigene Version der Site](https://code.claude.com/docs/de/plugins/mods/interface.md#build-a-tree-from-elements) anstelle eines Baums, der einen Stufennamen verwendet.336Stufennamen erfordern Claude Code v2.1.299 oder höher. In einer früheren Version wird ein Baum, der einen Stufennamen verwendet, nicht gezeichnet.

337 337 

338### Typografie-Props für `Text`338### Typografie-Props für `Text`

339 339 


346| `mono` | `true`, um die Festbreitenschrift der App anzufordern | Ignoriert: Das Terminal verwendet immer eine Festbreitenschrift | Ignoriert, sodass der Text die eigene Schrift der Erweiterung behält |346| `mono` | `true`, um die Festbreitenschrift der App anzufordern | Ignoriert: Das Terminal verwendet immer eine Festbreitenschrift | Ignoriert, sodass der Text die eigene Schrift der Erweiterung behält |

347| `tabular` | `true`, um Ziffern gleicher Breite anzufordern, damit eine Zahl, die sich an Ort und Stelle aktualisiert, oder eine Zahlenspalte ausgerichtet bleibt | Ignoriert: Die Ziffern des Terminals sind bereits eine Zelle breit | Ignoriert |347| `tabular` | `true`, um Ziffern gleicher Breite anzufordern, damit eine Zahl, die sich an Ort und Stelle aktualisiert, oder eine Zahlenspalte ausgerichtet bleibt | Ignoriert: Die Ziffern des Terminals sind bereits eine Zelle breit | Ignoriert |

348 348 

349Diese vier Props erfordern Claude Code v2.1.299 oder höher. In einer früheren Version [zeichnet Claude Code seine eigene Version der Site](https://code.claude.com/docs/de/plugins/mods/interface.md#build-a-tree-from-elements) anstelle eines Baums, der `size`, `weight`, `mono` oder `tabular` setzt.349Diese vier Props erfordern Claude Code v2.1.299 oder höher. In einer früheren Version wird ein Baum, der `size`, `weight`, `mono` oder `tabular` setzt, nicht gezeichnet.

350 350 

351#### `bold` durch `weight` ersetzen351#### `bold` durch `weight` ersetzen

352 352 

353`bold` auf einem `Text` ist zugunsten von `weight` veraltet, funktioniert aber weiterhin. Um es auf einem `Text` ohne `weight` zu ersetzen, ändern Sie `bold: true` in `weight: 'semibold'`, um unter Claude Code v2.1.299 oder höher dasselbe Ergebnis zu erhalten.353`bold` auf einem `Text` ist zugunsten von `weight` veraltet, funktioniert aber weiterhin. Um es auf einem `Text` ohne `weight` zu ersetzen, ändern Sie `bold: true` in `weight: 'semibold'`, um unter Claude Code v2.1.299 oder höher dasselbe Ergebnis zu erhalten.

354 354 

355In einer Version vor v2.1.299 wird ein Baum, der `weight` setzt, nicht gezeichnet, und Claude Code [zeichnet stattdessen seine eigene Version der Site](https://code.claude.com/docs/de/plugins/mods/interface.md#build-a-tree-from-elements). Wenn Sie auf einem `Text` sowohl `bold` als auch `weight` setzen, hat `bold` keine Wirkung.355In einer Version vor v2.1.299 wird ein Baum, der `weight` setzt, nicht gezeichnet. Wenn Sie auf einem `Text` sowohl `bold` als auch `weight` setzen, hat `bold` keine Wirkung.

356 356 

357## Limits357## Limits

358 358 

359Hooks und Aufrufe der Mods-API unterliegen Zeit- und Größenlimits. Claude Code überspringt einen Hook, der ein Zeitlimit überschreitet.359Hooks und Aufrufe der Mods-API unterliegen Zeit- und Größenlimits. Claude Code überspringt einen Hook, der ein Zeitlimit überschreitet. Ein Baum, der das Limit für Verschachtelung, Elemente, `Raster`-Zellen oder `Image`-Bytes überschreitet, [wird nicht gezeichnet](https://code.claude.com/docs/de/plugins/mods/troubleshoot.md#a-pane-or-band-is-empty).

360 360 

361| Limit | Wert |361| Limit | Wert |

362| :- | :- |362| :- | :- |


372| Weiterleitungen, denen ein `$.http.fetch`-Aufruf folgt | 5 |372| Weiterleitungen, denen ein `$.http.fetch`-Aufruf folgt | 5 |

373| `drop`-Grund eines Hooks oder `deny`-Grund von `config.set` | 4.096 Zeichen. Das Ende eines längeren Grundes wird abgeschnitten, und das Drop bzw. Deny gilt weiterhin. Das Abschneiden erfordert Claude Code v2.1.292 oder höher; in früheren Versionen [schlägt der Hook stattdessen fehl](https://code.claude.com/docs/de/plugins/mods/events.md#handle-a-hook-that-fails). |373| `drop`-Grund eines Hooks oder `deny`-Grund von `config.set` | 4.096 Zeichen. Das Ende eines längeren Grundes wird abgeschnitten, und das Drop bzw. Deny gilt weiterhin. Das Abschneiden erfordert Claude Code v2.1.292 oder höher; in früheren Versionen [schlägt der Hook stattdessen fehl](https://code.claude.com/docs/de/plugins/mods/events.md#handle-a-hook-that-fails). |

374| Text in einem Baum | Die ersten 100.000 Zeichen werden gezeichnet |374| Text in einem Baum | Die ersten 100.000 Zeichen werden gezeichnet |

375| `language` oder `path` eines `Code`, `value` einer `Select`-Option oder `module` eines `Client` | 10.000 Zeichen. Ist einer dieser Werte länger, [zeichnet Claude Code eine eigene Version der Stelle](https://code.claude.com/docs/de/plugins/mods/interface.md#build-a-tree-from-elements). |375| `language` oder `path` eines `Code`, `value` einer `Select`-Option oder `module` eines `Client` | 10.000 Zeichen. Ist einer dieser Werte länger, [schlägt der `ui.render`-Hook, der ihn zurückgegeben hat, fehl](https://code.claude.com/docs/de/plugins/mods/events#handle-a-hook-that-fails). |

376| `href` eines `Link` | 2.048 Zeichen. Ein längerer `href` verhindert, dass der gesamte Baum gezeichnet wird. |376| `href` eines `Link` | 2.048 Zeichen. Ist er länger, [schlägt der `ui.render`-Hook, der ihn zurückgegeben hat, fehl](https://code.claude.com/docs/de/plugins/mods/events#handle-a-hook-that-fails). |

377| Verschachtelungstiefe eines Baums | 32 Ebenen unterhalb des Wurzelelements |

378| Elemente und Text-Kindelemente in einem Baum | 20.000 |

379| `Raster`-Zellen in einem Baum, jeweils `columns` mal `rows` jedes `Raster` | 262.144 |

380| PNG- oder RGBA-Bytes aller `Image`-Elemente in einem Baum | 2 MiB |

377| `$.store` | Insgesamt 4 MiB JSON |381| `$.store` | Insgesamt 4 MiB JSON |

378| `$.session.messages()` | Die neuesten 4.096 Einträge |382| `$.session.messages()` | Die neuesten 4.096 Einträge |

379| Neuzeichnungen durch `$.ui.invalidate('ui.render')` | Gedrosselt auf 10 pro Sekunde bzw. 30 im Terminal für den sichtbaren Bereich, das erweiterte Band und die Hinweiszeile unter dem Eingabefeld. Früher eingehende Aufrufe werden zusammengefasst. |383| Neuzeichnungen durch `$.ui.invalidate('ui.render')` | Gedrosselt auf 10 pro Sekunde bzw. 30 im Terminal für den sichtbaren Bereich, das erweiterte Band und die Hinweiszeile unter dem Eingabefeld. Früher eingehende Aufrufe werden zusammengefasst. |

Details

312| Methode | Funktion |312| Methode | Funktion |

313| :- | :- |313| :- | :- |

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

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

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

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

318| `unmount()` | Entfernt die Zeichnung |318| `unmount()` | Entfernt die Zeichnung |

319 319 

320Jede Methode wird aufgelöst, nachdem Ihr Handler fertig ist, sodass Sie das Ergebnis in der nächsten Zeile prüfen können. Setzen Sie `props` auf das, was Claude Code für diese Stelle übergeben würde. Die [Tabelle der Render-Stellen](https://code.claude.com/docs/de/plugins/mods/reference.md#render-sites) listet die Props jeder Stelle auf, und [die Typen für Ihren Build](https://code.claude.com/docs/de/plugins/mods/create.md#get-the-types-for-your-build) enthalten deren Typen.320Jede Methode wird aufgelöst, nachdem Ihr Handler fertig ist, sodass Sie das Ergebnis in der nächsten Zeile prüfen können. Setzen Sie `props` auf das, was Claude Code für diese Stelle übergeben würde. Die [Tabelle der Render-Stellen](https://code.claude.com/docs/de/plugins/mods/reference.md#render-sites) listet die Props jeder Stelle auf, und [die Typen für Ihren Build](https://code.claude.com/docs/de/plugins/mods/create.md#get-the-types-for-your-build) enthalten deren Typen.

321 321 

322Ein Zeichnungstest prüft den Baum, den Ihr Hook zurückgibt, und ob er für diese App gültig ist. Er prüft nicht, wie die App ihn darstellt. Sehen Sie sich ein neues Layout daher auch in einer echten Sitzung an.322Um einen [Elementbaum](https://code.claude.com/docs/de/plugins/mods/interface.md#build-a-tree-from-elements) zu erkennen, der für die in `surface` angegebene App nicht gültig ist, prüfen Sie mit `find`, ob ein Element vorhanden ist, das Ihr Hook hinzufügt. Der Test prüft nicht, wie die App einen Baum darstellt. Sehen Sie sich ein neues Layout daher auch in einer echten Sitzung an.

323 323 

324### Eine Zeichnung nach `/clear` testen324### Eine Zeichnung nach `/clear` testen

325 325 

Details

226 226 

227Um diesen Mod zu finden, [schreiben Sie ein Debug-Log](#read-the-debug-log) und durchsuchen Sie es nach `answered ui.render without next()`. Eine Zeile wie `other-mod (user) answered ui.render without next()` nennt einen Mod, der seinen Baum zurückgegeben hat, ohne `next(e)` aufzurufen. Sie nennt nicht die [Render-Stelle](https://code.claude.com/docs/de/plugins/mods/reference.md#render-sites), daher kann auch ein Mod erscheinen, der nur einen Bereich zeichnet. Ein Mod, der `next(e)` aufruft und das Ergebnis verwirft, erzeugt keine Zeile, prüfen Sie daher auch die Hooks, die vor Ihrem ausgeführt werden.227Um diesen Mod zu finden, [schreiben Sie ein Debug-Log](#read-the-debug-log) und durchsuchen Sie es nach `answered ui.render without next()`. Eine Zeile wie `other-mod (user) answered ui.render without next()` nennt einen Mod, der seinen Baum zurückgegeben hat, ohne `next(e)` aufzurufen. Sie nennt nicht die [Render-Stelle](https://code.claude.com/docs/de/plugins/mods/reference.md#render-sites), daher kann auch ein Mod erscheinen, der nur einen Bereich zeichnet. Ein Mod, der `next(e)` aufruft und das Ergebnis verwirft, erzeugt keine Zeile, prüfen Sie daher auch die Hooks, die vor Ihrem ausgeführt werden.

228 228 

229Nach der Änderung sehen Sie nichts im Band, wenn einer der Mods einen Baum zurückgibt, der nicht validiert wird. Um den Grund zu lesen, suchen Sie im Transkript einer `--plugin-dir`-Sitzung nach einer Zeile `ui.render (AbovePrompt) refused:` oder durchsuchen Sie das Debug-Log nach `does not validate`. Bei mehreren Mods im Band nennt keine der beiden Zeilen einen Mod, prüfen Sie daher den Baum jedes Mods.229Das Band eines Mods fehlt auch, wenn der Baum, den sein eigener Hook zurückgegeben hat, nicht validiert wird; die Bänder der anderen Mods bleiben erhalten. Um herauszufinden, welcher Mod betroffen ist und warum, [schreiben Sie ein Debug-Log](#read-the-debug-log) und durchsuchen Sie es nach [`ui.render hook skipped`](#a-pane-or-band-is-empty).

230 230 

231### Ein Bereich oder Band ist leer oder zeigt den üblichen Inhalt von Claude Code231### Ein Bereich oder Band ist leer oder zeigt den üblichen Inhalt von Claude Code

232 232 

233Der [Baum](https://code.claude.com/docs/de/plugins/mods/interface.md#build-a-tree-from-elements), den Ihr Hook zurückgegeben hat, wurde nicht validiert. Mit `--plugin-dir` zeigt das Transkript `ui.render (Pane) refused:` zusammen mit dem Grund an, etwa `first-mod: ui.render (Pane) refused: Box prop "flexDirection" must be one of row, column, row-reverse, column-reverse; the engine drew its own`. Das Debug-Log enthält `a hook returned a tree that does not validate` mit demselben Grund.233Der [Baum](https://code.claude.com/docs/de/plugins/mods/interface.md#build-a-tree-from-elements), den Ihr Hook zurückgegeben hat, wurde nicht validiert. Eine [`hook skipped`](#hook-skipped)-Zeile [im Transkript oder im Debug-Log](#find-out-why-a-mod-does-nothing) nennt Ihren Mod und den Grund, wie in dieser Zeile für eine `Box` in einem Bereich:

234 234 

235Lesen Sie den Grund in dieser Zeile. Häufige Ursachen sind eine Prop, die das Element nicht akzeptiert, und ein Element, das die App nicht hat.235```text theme={null}

236first-mod: ui.render hook skipped: returned the wrong shape (a tree Pane refuses: Box prop "flexDirection" must be one of row, column, row-reverse, column-reverse)

237```

238 

239Beheben Sie, was der Grund nennt. Wenn der Grund abgeschnitten ist, [schreiben Sie ein Debug-Log](#read-the-debug-log) und durchsuchen Sie es nach `a hook returned a tree that does not validate`, um den Rest zu lesen.

240 

241Wenn die Zeile stattdessen direkt nach dem Namen der Stelle `refused:` meldet, etwa `ui.render (Pane) refused:`, siehe [Eine `ui.render`-Zeile meldet `refused`](#ui-render-refused).

242 

243### Eine `ui.render`-Zeile meldet `refused`

244 

245`ui.render (<site>) refused:` oder `ui.render (<site>): the chain settled on a tree that does not validate` im [Debug-Log](#read-the-debug-log) bedeutet, dass der [Baum](https://code.claude.com/docs/de/plugins/mods/interface.md#build-a-tree-from-elements) an dieser Stelle ein [Größenlimit](https://code.claude.com/docs/de/plugins/mods/reference.md#limits) überschreitet. Beide Zeilen nennen die [Render-Stelle](https://code.claude.com/docs/de/plugins/mods/reference.md#render-sites) und dann den Grund, und der Grund nennt das Limit.

246 

247Ändern Sie die Mods, die an dieser Stelle zeichnen, sodass ihre [`ui.render`](https://code.claude.com/docs/de/plugins/mods/reference#interface)-Hooks kleinere Bäume zurückgeben, oder bitten Sie deren Autoren darum. Wenn die Transkriptzeile mit `hooks` beginnt, hat mehr als ein geladener Mod einen `ui.render`-Hook für diese Stelle; prüfen Sie daher die Bäume jedes dieser Mods. Bei mehreren Mods, deren Bänder über dem Prompt zu einem Baum mit mehr als 32 Ebenen verschachtelt sind, lautet die Zeile:

248 

249```text theme={null}

250hooks: ui.render (AbovePrompt) refused: deeper than 32; nothing was drawn

251```

252 

253Vor v2.1.307 meldete eine `refused:`-Zeile für jede Stelle jeden Baum, der nicht validiert wurde, und bei `Pane` und `AbovePrompt` endete sie mit `; the engine drew its own`. Beheben Sie in diesen Versionen, was der Grund nennt.

236 254 

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

238 256 


383hooks module first-mod@inline loaded (worker, environment 2, tier user); events: session.start,tool.call,command.run,ui.render401hooks module first-mod@inline loaded (worker, environment 2, tier user); events: session.start,tool.call,command.run,ui.render

384```402```

385 403 

386Eine Zeichnung, die die Validierung nicht bestanden hat, gilt als abgelehntes Ergebnis und erhält ebenfalls eine Zeile. Um eigene Zeilen in das Log zu schreiben, rufen Sie [`$.ui.log`](https://code.claude.com/docs/de/plugins/mods/api#show-something-without-starting-a-turn) mit einem zweiten Argument auf, wie in `$.ui.log('message', { to: 'debug' })`. Ohne das zweite Argument fügt `$.ui.log` dem Transkript eine abgeblendete Zeile hinzu.404Um eigene Zeilen in das Log zu schreiben, rufen Sie [`$.ui.log`](https://code.claude.com/docs/de/plugins/mods/api#show-something-without-starting-a-turn) mit einem zweiten Argument auf, wie in `$.ui.log('message', { to: 'debug' })`. Ohne das zweite Argument fügt `$.ui.log` dem Transkript eine abgeblendete Zeile hinzu.

387 405 

388Während Sie einen mit `--plugin-dir` geladenen Mod bearbeiten, zeigt das Transkript für jedes Neuladen eine Zeile an, die den Mod benennt und seine Hooks auflistet. Wenn ein Speichervorgang das Modul beschädigt, lautet die Zeile `reload failed, the previous version stays loaded:` mit dem Grund, und die letzte funktionierende Version läuft weiter, bis Claude Code die Plugins das nächste Mal neu lädt, etwa wenn Sie `/reload-plugins` ausführen.406Während Sie einen mit `--plugin-dir` geladenen Mod bearbeiten, zeigt das Transkript für jedes Neuladen eine Zeile an, die den Mod benennt und seine Hooks auflistet. Wenn ein Speichervorgang das Modul beschädigt, lautet die Zeile `reload failed, the previous version stays loaded:` mit dem Grund, und die letzte funktionierende Version läuft weiter, bis Claude Code die Plugins das nächste Mal neu lädt, etwa wenn Sie `/reload-plugins` ausführen.

389 407 

plugins/org.md +6 −2

Details

182| `blockedMarketplaces` | Blocklist für Marketplace-Quellen, die vor der Allowlist geprüft wird | Blockiert keinen bereits registrierten Marketplace aus einer Quelle, auf die sie nicht zutrifft |182| `blockedMarketplaces` | Blocklist für Marketplace-Quellen, die vor der Allowlist geprüft wird | Blockiert keinen bereits registrierten Marketplace aus einer Quelle, auf die sie nicht zutrifft |

183| `syncClaudeAiPlugins` | Setzen Sie ihn auf `false`, damit Claude Code die für das Konto jedes Benutzers [von claude.ai synchronisierten](https://code.claude.com/docs/de/plugins/loading.md#synced-plugins) Plugins nicht mehr herunterlädt und lädt. Erfordert Claude Code v2.1.273 oder höher | Schaltet kein einzelnes synchronisiertes Plugin aus. Setzen Sie dafür `"<name>@synced": false` in [`enabledPlugins`](https://code.claude.com/docs/de/settings-reference#enabledplugins) |183| `syncClaudeAiPlugins` | Setzen Sie ihn auf `false`, damit Claude Code die für das Konto jedes Benutzers [von claude.ai synchronisierten](https://code.claude.com/docs/de/plugins/loading.md#synced-plugins) Plugins nicht mehr herunterlädt und lädt. Erfordert Claude Code v2.1.273 oder höher | Schaltet kein einzelnes synchronisiertes Plugin aus. Setzen Sie dafür `"<name>@synced": false` in [`enabledPlugins`](https://code.claude.com/docs/de/settings-reference#enabledplugins) |

184| `enabledPlugins` | `true` erzwingt die Aktivierung, `false` blockiert in jedem Geltungsbereich und blendet das Plugin aus | Installiert kein Plugin, dessen Marketplace nicht registriert oder zugelassen ist |184| `enabledPlugins` | `true` erzwingt die Aktivierung, `false` blockiert in jedem Geltungsbereich und blendet das Plugin aus | Installiert kein Plugin, dessen Marketplace nicht registriert oder zugelassen ist |

185| `disableSideloadFlags` | Lehnt `--plugin-dir`, `--plugin-url`, `--agents`, die Agent SDK-Option `plugins` und `--mcp-config` außerhalb des SDK beim Start ab und lehnt Ordner, die in der Variable [`CLAUDE_CODE_PLUGIN_DIRS`](https://code.claude.com/docs/de/env-vars#variables) genannt sind, auf dieselbe Weise ab | Schränkt `.mcp.json`, `claude mcp add` oder über das SDK bereitgestellte Server nicht ein. Kombinieren Sie ihn mit [`allowedMcpServers`](https://code.claude.com/docs/de/managed-mcp) |185| `disableSideloadFlags` | Lehnt `--plugin-dir`, `--plugin-url`, `--agents`, die Agent SDK-Option `plugins` und Ordner, die in der Variable [`CLAUDE_CODE_PLUGIN_DIRS`](https://code.claude.com/docs/de/env-vars#variables) genannt sind, beim Start ab, ebenso `--mcp-config`, sofern nicht jeder Server darin ein prozessinterner `type: "sdk"`-Eintrag ist. Lehnt Plugin-Ordner ab, die eine Agent SDK-Anwendung während der Sitzung mit [`addPlugins`](https://code.claude.com/docs/de/agent-sdk/typescript#load-more-plugin-folders-with-addplugins) hinzufügt | Schränkt `.mcp.json`, `claude mcp add` oder über das SDK bereitgestellte Server nicht ein. Kombinieren Sie ihn mit [`allowedMcpServers`](https://code.claude.com/docs/de/managed-mcp) |

186| `disableCommandPluginSources` | Verhindert, dass Plugins mit einer `command`-Quelle installiert, aktualisiert oder geladen werden. Eine `command`-Quelle ist eine Quelle, deren Plugin-Verzeichnis durch Ausführen eines Befehls auf dem Rechner erzeugt wird. Wenn er nicht gesetzt ist, übernimmt er den Wert von `allowManagedHooksOnly` | Wirkt sich nicht auf andere Quelltypen aus |186| `disableCommandPluginSources` | Verhindert, dass Plugins mit einer `command`-Quelle installiert, aktualisiert oder geladen werden. Eine `command`-Quelle ist eine Quelle, deren Plugin-Verzeichnis durch Ausführen eines Befehls auf dem Rechner erzeugt wird. Wenn er nicht gesetzt ist, übernimmt er den Wert von `allowManagedHooksOnly` | Wirkt sich nicht auf andere Quelltypen aus |

187| `allowManagedHooksOnly` | Schränkt ein, welche Hooks ausgeführt werden. Siehe [`allowManagedHooksOnly`](https://code.claude.com/docs/de/settings-reference#allowmanagedhooksonly) | Vertraut keinen Hooks aus Plugins, die Benutzer selbst aktivieren |187| `allowManagedHooksOnly` | Schränkt ein, welche Hooks ausgeführt werden. Siehe [`allowManagedHooksOnly`](https://code.claude.com/docs/de/settings-reference#allowmanagedhooksonly) | Vertraut keinen Hooks aus Plugins, die Benutzer selbst aktivieren |

188| `strictPluginOnlyCustomization` | Blockiert Skills, Agenten, Hooks und MCP-Server, die nicht aus einem Plugin, aus verwalteten Einstellungen oder aus den integrierten Komponenten von Claude Code stammen. Verhindert außerdem, dass [Skills-Verzeichnis-Plugins](#keep-skills-directory-plugins-loading) geladen werden. Setzen Sie ihn auf `true`, um alle vier Typen abzudecken, oder auf ein Array aus den Werten `skills`, `agents`, `hooks` und `mcp` wie `["skills", "hooks"]`, um einige davon abzudecken | Schränkt nicht ein, welche Plugins Benutzer installieren. Kombinieren Sie ihn mit `strictKnownMarketplaces` |188| `strictPluginOnlyCustomization` | Blockiert Skills, Agenten, Hooks und MCP-Server, die nicht aus einem Plugin, aus verwalteten Einstellungen oder aus den integrierten Komponenten von Claude Code stammen. Verhindert außerdem, dass [Skills-Verzeichnis-Plugins](#keep-skills-directory-plugins-loading) geladen werden. Setzen Sie ihn auf `true`, um alle vier Typen abzudecken, oder auf ein Array aus den Werten `skills`, `agents`, `hooks` und `mcp` wie `["skills", "hooks"]`, um einige davon abzudecken | Schränkt nicht ein, welche Plugins Benutzer installieren. Kombinieren Sie ihn mit `strictKnownMarketplaces` |

189| `pluginSuggestionMarketplaces` | Marketplaces, deren Plugins als Installationsvorschläge erscheinen dürfen. Siehe [Plugins empfehlen](#recommend-plugins) | Wirkt sich nicht auf die integrierten Tipps aus |189| `pluginSuggestionMarketplaces` | Marketplaces, deren Plugins im Terminal als Installationsvorschläge erscheinen dürfen. Siehe [Plugins empfehlen](#recommend-plugins) | Wirkt sich nicht auf die integrierten Tipps aus |

190| `pluginTrustMessage` | Hängt Ihren Text an die Vertrauenswarnung an, die `/plugin` vor der Installation eines Plugins anzeigt | Ändert nicht den eigentlichen Text der Warnung |190| `pluginTrustMessage` | Hängt Ihren Text an die Vertrauenswarnung an, die `/plugin` vor der Installation eines Plugins anzeigt | Ändert nicht den eigentlichen Text der Warnung |

191| `allowedChannelPlugins` | Ersetzt die Standardliste der Plugins, die Channel-Nachrichten senden dürfen. Erfordert `channelsEnabled: true` | Siehe [Einschränken, welche Channel-Plugins ausgeführt werden können](https://code.claude.com/docs/de/channels.md#restrict-which-channel-plugins-can-run) |191| `allowedChannelPlugins` | Ersetzt die Standardliste der Plugins, die Channel-Nachrichten senden dürfen. Erfordert `channelsEnabled: true` | Siehe [Einschränken, welche Channel-Plugins ausgeführt werden können](https://code.claude.com/docs/de/channels.md#restrict-which-channel-plugins-can-run) |

192| [`CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL=1`](https://code.claude.com/docs/de/env-vars) | Verhindert, dass interaktive Terminal-Sitzungen den offiziellen Marketplace automatisch registrieren | Entfernt keinen bereits registrierten Marketplace. Allowlist und Blocklist beschränken dieselbe automatische Registrierung auch ohne diese Variable. Ein Rechner, der einmal mit gesetzter Variable gestartet wurde, nimmt die automatische Registrierung nicht wieder auf, nachdem Sie die Variable entfernt haben |192| [`CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL=1`](https://code.claude.com/docs/de/env-vars) | Verhindert, dass interaktive Terminal-Sitzungen den offiziellen Marketplace automatisch registrieren | Entfernt keinen bereits registrierten Marketplace. Allowlist und Blocklist beschränken dieselbe automatische Registrierung auch ohne diese Variable. Ein Rechner, der einmal mit gesetzter Variable gestartet wurde, nimmt die automatische Registrierung nicht wieder auf, nachdem Sie die Variable entfernt haben |


361 361 

362Vorschläge aus einem Marketplace erscheinen nur, wenn er auf dem Computer des Benutzers registriert ist, Sie seinen Namen in `pluginSuggestionMarketplaces` in verwalteten Einstellungen auflistet, und Sie seine Quelle in der gleichen Richtlinie deklarieren. Deklarieren Sie die Quelle entweder als den `extraKnownMarketplaces`-Eintrag des Marketplace oder als einen Zulassungslisten-Eintrag. Der offizielle Marketplace benötigt nur den Namen. Siehe [Aktivieren Sie Vorschläge in verwalteten Einstellungen](https://code.claude.com/docs/de/plugins/relevance.md#enable-suggestions-in-managed-settings).362Vorschläge aus einem Marketplace erscheinen nur, wenn er auf dem Computer des Benutzers registriert ist, Sie seinen Namen in `pluginSuggestionMarketplaces` in verwalteten Einstellungen auflistet, und Sie seine Quelle in der gleichen Richtlinie deklarieren. Deklarieren Sie die Quelle entweder als den `extraKnownMarketplaces`-Eintrag des Marketplace oder als einen Zulassungslisten-Eintrag. Der offizielle Marketplace benötigt nur den Namen. Siehe [Aktivieren Sie Vorschläge in verwalteten Einstellungen](https://code.claude.com/docs/de/plugins/relevance.md#enable-suggestions-in-managed-settings).

363 363 

364> [!NOTE]

365>

366> In der Konversation einer Cloud-Sitzung kann Claude Plugins vorschlagen, unabhängig davon, ob Sie `pluginSuggestionMarketplaces` festlegen. Informationen zum Ausschalten dieser Vorschläge finden Sie unter [Plugin-Vorschläge ausschalten](https://code.claude.com/docs/de/claude-code-on-the-web.md#turn-off-plugin-suggestions).

367 

364## Überprüfen und überprüfen368## Überprüfen und überprüfen

365 369 

366OpenTelemetry-Ereignisse und die Analytics-API sagen Ihnen, was Ihre Flotte installiert und ausführt.370OpenTelemetry-Ereignisse und die Analytics-API sagen Ihnen, was Ihre Flotte installiert und ausführt.

Details

8 8 

9Claude Code kann die Installation eines Plugins aus dem Marketplace Ihrer Organisation vorschlagen, wenn eine Benutzersitzung Signale erfüllt, die Sie für dieses Plugin definieren. Signale umfassen das Arbeitsverzeichnis, Dateien, die Claude gelesen hat, und Befehle, die Claude ausgeführt hat. Sie definieren diese, indem Sie einen `relevance`-Block zum Plugin-Eintrag in `marketplace.json` hinzufügen.9Claude Code kann die Installation eines Plugins aus dem Marketplace Ihrer Organisation vorschlagen, wenn eine Benutzersitzung Signale erfüllt, die Sie für dieses Plugin definieren. Signale umfassen das Arbeitsverzeichnis, Dateien, die Claude gelesen hat, und Befehle, die Claude ausgeführt hat. Sie definieren diese, indem Sie einen `relevance`-Block zum Plugin-Eintrag in `marketplace.json` hinzufügen.

10 10 

11Ein Marketplace-Betreiber schreibt die `relevance`-Einträge. Ein Administrator erlaubt dann den Marketplace in verwalteten Einstellungen. Benutzer sehen keine Vorschläge aus einem Marketplace, bis dieser erlaubt ist.11Ein Marketplace-Betreiber schreibt die `relevance`-Einträge. Ein Administrator erlaubt dann den Marketplace in verwalteten Einstellungen. Im Terminal sehen Benutzer keine Vorschläge aus einem Marketplace, bis dieser auf der Allowlist steht.

12 12 

13> [!NOTE]13> [!NOTE]

14>14>

15> Diese Fälle werden auf anderen Seiten behandelt:15> Diese Fälle werden auf anderen Seiten behandelt:

16>16>

17> * **Sie möchten Plugins installieren**: siehe [Plugins installieren und verwalten](https://code.claude.com/docs/de/plugins/install.md)17> * **Sie möchten Plugins installieren**: siehe [Plugins installieren und verwalten](https://code.claude.com/docs/de/plugins/install.md)

18> * **Sie möchten Vorschläge deaktivieren**: siehe [Verstehen Sie, wie Plugin-Relevanz funktioniert](#understand-how-plugin-relevance-works)18> * **Sie möchten Vorschläge deaktivieren**: siehe [Verstehen Sie, wie Plugin-Relevanz funktioniert](#understand-how-plugin-relevance-works) oder, für die Vorschläge, die Claude in der Konversation einer Cloud-Sitzung macht, [Plugin-Vorschläge deaktivieren](https://code.claude.com/docs/de/claude-code-on-the-web.md#turn-off-plugin-suggestions)

19 19 

20Beginnen Sie mit den Abschnitten für Ihre Rolle:20Beginnen Sie mit den Abschnitten für Ihre Rolle:

21 21 


79 79 

80| Feld | Typ | Beschreibung |80| Feld | Typ | Beschreibung |

81| :- | :- | :- |81| :- | :- | :- |

82| `topic` | string | Optional. Der Ausdruck, der „Arbeiten mit *topic*?" im Spinner-Tipp ausfüllt. Standardmäßig der Plugin-Name mit jedem Bindestrich-Segment kapitalisiert. Maximal 64 Zeichen. |82| `topic` | string | Optional. Der Ausdruck, der „Arbeiten mit *topic*?“ im Spinner-Tipp ausfüllt. Standardmäßig der Plugin-Name mit jedem Bindestrich-Segment kapitalisiert. Maximal 64 Zeichen. |

83| `signals` | object | Matcher, die bestimmen, wann das Plugin relevant ist. Claude Code schlägt das Plugin nur vor, wenn mindestens ein Signal gesetzt ist. Siehe [`relevance.signals`](#relevance-signals). |83| `signals` | object | Matcher, die bestimmen, wann das Plugin relevant ist. Claude Code schlägt das Plugin nur vor, wenn mindestens ein Signal gesetzt ist. Siehe [`relevance.signals`](#relevance-signals). |

84 84 

85Das `topic` ist oft der Produktname, z. B. `Terraform`. Verwenden Sie eine Domäne wie `design`, wenn der Plugin-Name nicht natürlich als Thema klingt.85Das `topic` ist oft der Produktname, z. B. `Terraform`. Verwenden Sie eine Domäne wie `design`, wenn der Plugin-Name nicht natürlich als Thema klingt.


158 158 

159## Aktivieren Sie Vorschläge in verwalteten Einstellungen159## Aktivieren Sie Vorschläge in verwalteten Einstellungen

160 160 

161Benutzer sehen keine Vorschläge aus einem Marketplace, bis ein Administrator ihn in [verwalteten Einstellungen](https://code.claude.com/docs/de/plugins/org.md) erlaubt, auch wenn seine `marketplace.json` `relevance` deklariert.161Im Terminal sehen Benutzer keine Vorschläge aus einem Marketplace, bis ein Administrator ihn in [verwalteten Einstellungen](https://code.claude.com/docs/de/plugins/org.md) auf die Allowlist setzt, auch wenn seine `marketplace.json` `relevance` deklariert.

162 162 

163Um einen Marketplace zu erlauben, bearbeiten Sie Ihre verwalteten Einstellungen wie folgt:163Um einen Marketplace zu erlauben, bearbeiten Sie Ihre verwalteten Einstellungen wie folgt:

164 164 

sandboxing.md +1 −1

Details

891 891 

892### Ein Ordner namens `objects` oder `refs` verschwindet nach einem Befehl892### Ein Ordner namens `objects` oder `refs` verschwindet nach einem Befehl

893 893 

894Ein `objects`- oder `refs`-Ordner auf oberster Ebene, der während der Sitzung entstanden ist, kann [nach dem Ende eines in der Sandbox ausgeführten Befehls gelöscht werden](#when-the-sandbox-deletes-head-objects-or-refs). Dabei spielt es keine Rolle, ob ein Befehl, Claude oder Sie ihn erstellt haben. Um einen Ordner zu behalten, legen Sie etwas darin ab. Wenn sich während der Sitzung eine `HEAD`-Datei oder ein `HEAD`-Symlink auf oberster Ebene befunden hat, verschieben Sie diese bzw. diesen an einen anderen Ort, und starten Sie dann jede dort geöffnete Claude Code-Sitzung neu.894Ein `objects`- oder `refs`-Ordner auf oberster Ebene, der während der Sitzung entstanden ist, kann [nach dem Ende eines in der Sandbox ausgeführten Befehls gelöscht werden](#when-the-sandbox-deletes-head-objects-or-refs). Dabei spielt es keine Rolle, ob ein Befehl, Claude oder Sie ihn erstellt haben. Um einen Ordner zu behalten, legen Sie etwas darin ab. Wenn sich während der Sitzung eine `HEAD`-Datei oder ein `HEAD`-Symlink auf oberster Ebene befunden hat, verschieben Sie diese bzw. diesen an einen anderen Ort, und starten Sie dann jede in Ihrem Arbeitsverzeichnis geöffnete Claude Code-Sitzung neu.

895 895 

896Vor v2.1.307 wurde der Ordner auch dann gelöscht, wenn sich etwas darin befand und kein `HEAD` vorhanden war. Wenn Sie eine ältere Version verwenden, [aktualisieren Sie Claude Code](https://code.claude.com/docs/de/setup.md#update-claude-code).896Vor v2.1.307 wurde der Ordner auch dann gelöscht, wenn sich etwas darin befand und kein `HEAD` vorhanden war. Wenn Sie eine ältere Version verwenden, [aktualisieren Sie Claude Code](https://code.claude.com/docs/de/setup.md#update-claude-code).

897 897 

Details

810 Ein nicht beschreibbares Basis-Verzeichnis stoppt den Runner beim Start, anstatt Sitzungen fehlschlagen zu lassen. Siehe den **Runner beendet sich beim Start mit `cannot create or write to base directory`**-Eintrag in dieser Liste.810 Ein nicht beschreibbares Basis-Verzeichnis stoppt den Runner beim Start, anstatt Sitzungen fehlschlagen zu lassen. Siehe den **Runner beendet sich beim Start mit `cannot create or write to base directory`**-Eintrag in dieser Liste.

811* **Eine Sitzung wird aufgenommen, aber Claude beantwortet ihre erste Nachricht nie**: Wenn Ihre Runner `api.anthropic.com` über einen Proxy erreichen, konfigurieren Sie ihn so, dass er die `/worker/events/stream`-Antwort der Sitzung so durchreicht, wie sie eintrifft. Das Erhöhen der Timeouts des Runners hilft nicht. Um die Ursache im Log des Runners zu bestätigen, siehe [Eine Sitzung wird aufgenommen, aber Claude beantwortet ihre erste Nachricht nie](#when-a-sessions-first-message-is-never-answered).811* **Eine Sitzung wird aufgenommen, aber Claude beantwortet ihre erste Nachricht nie**: Wenn Ihre Runner `api.anthropic.com` über einen Proxy erreichen, konfigurieren Sie ihn so, dass er die `/worker/events/stream`-Antwort der Sitzung so durchreicht, wie sie eintrifft. Das Erhöhen der Timeouts des Runners hilft nicht. Um die Ursache im Log des Runners zu bestätigen, siehe [Eine Sitzung wird aufgenommen, aber Claude beantwortet ihre erste Nachricht nie](#when-a-sessions-first-message-is-never-answered).

812* **Sitzungen starten nicht auf einem Runner, der `--use-anthropic-git-proxy` gesetzt hat**: Suchen Sie im Log des Runners nach `access denied by the git proxy` oder nach einem Git-Fehler, der eine `api.anthropic.com`-Adresse mit `/git_proxy/` nennt. Um festzustellen, ob Anthropic die Sitzung bedient hat, und die Ursache zu beheben, siehe [Wenn Sitzungen auf einem Runner mit dem Git-Proxy nicht starten](#when-anthropic-doesnt-serve-a-session).812* **Sitzungen starten nicht auf einem Runner, der `--use-anthropic-git-proxy` gesetzt hat**: Suchen Sie im Log des Runners nach `access denied by the git proxy` oder nach einem Git-Fehler, der eine `api.anthropic.com`-Adresse mit `/git_proxy/` nennt. Um festzustellen, ob Anthropic die Sitzung bedient hat, und die Ursache zu beheben, siehe [Wenn Sitzungen auf einem Runner mit dem Git-Proxy nicht starten](#when-anthropic-doesnt-serve-a-session).

813* **Sitzungen können das Netzwerk nicht durch einen authentifizierenden Egress-Proxy erreichen**: Wenn die Quelle, die Sie mit [`--proxy-authorization-command` oder `--proxy-authorization-file`](#authenticate-to-an-egress-proxy) setzen, fehlschlägt, nach 30 Sekunden abläuft oder einen leeren Wert ergibt, antwortet der Runner dieser Verbindung `502 Bad Gateway` und protokolliert warum. Der Runner redigiert das Kommando's stderr in diesem Log und protokolliert niemals den Header-Wert. Mit `--proxy-authorization-command` führen Sie das Kommando selbst auf dem Host aus, um zu bestätigen, dass es den ganzen Header-Wert auf stdout druckt. Wenn der Runner stattdessen beim Start mit `could not start the proxy-authorization listener` beendet wird, konnte er seinen Loopback-Listener nicht öffnen.813* **Sitzungen können das Netzwerk nicht durch einen authentifizierenden Egress-Proxy erreichen**: Wenn die Quelle, die Sie mit [`--proxy-authorization-command` oder `--proxy-authorization-file`](#authenticate-to-an-egress-proxy) setzen, fehlschlägt, nach 30 Sekunden abläuft oder einen leeren Wert ergibt, antwortet der Runner dieser Verbindung `502 Bad Gateway` und protokolliert warum. Der Runner schwärzt die stderr-Ausgabe des Befehls in diesem Log und protokolliert niemals den Header-Wert. Mit `--proxy-authorization-command` führen Sie den Befehl selbst auf dem Host aus, um zu bestätigen, dass er den ganzen Header-Wert auf stdout druckt. Wenn der Runner stattdessen beim Start mit `could not start the proxy-authorization listener` beendet wird, konnte er seinen Loopback-Listener nicht öffnen.

814* **Runner protokolliert `Poll failed`-Zeilen, die `rejecting the malformed poll response` enthalten**: Der Runner erhielt eine Work-Poll-Antwort, deren Body nicht das erwartete JSON der Warteschlange ist. Eine mögliche Ursache ist ein abfangender Proxy oder ein Captive Portal, der mit seiner eigenen Seite antwortet. Wenn sich der Runner über einen Proxy verbindet, konfigurieren Sie den Proxy so, dass er Antworten von `api.anthropic.com` unverändert durchlässt.814* **Runner protokolliert `Poll failed`-Zeilen, die `rejecting the malformed poll response` enthalten**: Der Runner erhielt eine Work-Poll-Antwort, deren Body nicht das erwartete JSON der Warteschlange ist. Eine mögliche Ursache ist ein abfangender Proxy oder ein Captive Portal, der mit seiner eigenen Seite antwortet. Wenn sich der Runner über einen Proxy verbindet, konfigurieren Sie den Proxy so, dass er Antworten von `api.anthropic.com` unverändert durchlässt.

815 815 

816 Der Runner lehnt die fehlerhafte Antwort ab, zählt sie unter der `transport`-Art der `claude_code_self_hosted_runner_poll_errors_total`-[Metrik](https://code.claude.com/docs/de/self-hosted-environments-reference.md#prometheus-metrics) und versucht es gemäß dem Zeitplan für fehlgeschlagene Polls, der in [Sitzungs-Lebenszyklus](https://code.claude.com/docs/de/self-hosted-environments#session-lifecycle) beschrieben ist, erneut. Der Runner bedient weiterhin seine Live-Sitzungen. Vor v2.1.246 las der Runner eine solche Antwort als eine leere Warteschlange, die seine Live-Sitzungen beenden oder ihn zum Exit bringen könnte.816 Der Runner lehnt die fehlerhafte Antwort ab, zählt sie unter der `transport`-Art der `claude_code_self_hosted_runner_poll_errors_total`-[Metrik](https://code.claude.com/docs/de/self-hosted-environments-reference.md#prometheus-metrics) und versucht es gemäß dem Zeitplan für fehlgeschlagene Polls, der in [Sitzungs-Lebenszyklus](https://code.claude.com/docs/de/self-hosted-environments#session-lifecycle) beschrieben ist, erneut. Der Runner bedient weiterhin seine Live-Sitzungen. Vor v2.1.246 las der Runner eine solche Antwort als eine leere Warteschlange, die seine Live-Sitzungen beenden oder ihn zum Exit bringen könnte.

Details

121| `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` | `~/.claude` | Verzeichnis, das in den Startup-Snapshot des Runners erfasst und in die `CLAUDE_CONFIG_DIR` jeder Sitzung eingegeben wird; Änderungen auf der Festplatte gelten nach einem Runner-Neustart. Das Setzen der Variable verschiebt auch, wo der Runner `.claude.json` für [MCP-Seeding](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#mcp-servers) liest, sodass das Setzen, einschließlich auf seinen eigenen Standard, diese Suche verlagert; zeigen Sie auf ein leeres Verzeichnis, um das Seeding vollständig zu deaktivieren. |121| `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` | `~/.claude` | Verzeichnis, das in den Startup-Snapshot des Runners erfasst und in die `CLAUDE_CONFIG_DIR` jeder Sitzung eingegeben wird; Änderungen auf der Festplatte gelten nach einem Runner-Neustart. Das Setzen der Variable verschiebt auch, wo der Runner `.claude.json` für [MCP-Seeding](https://code.claude.com/docs/de/self-hosted-environments-configuration.md#mcp-servers) liest, sodass das Setzen, einschließlich auf seinen eigenen Standard, diese Suche verlagert; zeigen Sie auf ein leeres Verzeichnis, um das Seeding vollständig zu deaktivieren. |

122| `SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS` | `900000` | Wie lange der Runner wartet, nachdem eine Sitzung ihr `--kill-session-after-min` Limit erreicht hat, damit ein laufender Zug beendet wird oder die Freigabe abgeschlossen wird, bevor die Sitzung beendet wird |122| `SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS` | `900000` | Wie lange der Runner wartet, nachdem eine Sitzung ihr `--kill-session-after-min` Limit erreicht hat, damit ein laufender Zug beendet wird oder die Freigabe abgeschlossen wird, bevor die Sitzung beendet wird |

123| `SELF_HOSTED_RUNNER_POST_TURN_SETTLE_MS` | `7000` | Obergrenze für die Zeit, die der Runner eine Sitzung als beschäftigt für die `--drain-wait-sec` Entleerung nach Abschluss eines Zugs zählt, während der Prozess der Sitzung das Ende des Zugs an Anthropic meldet. `0` oder ein unbrauchbarer Wert fällt auf den Standard zurück, sodass die Sperre nicht ausgeschaltet werden kann. Erfordert Claude Code v2.1.275 oder später. |123| `SELF_HOSTED_RUNNER_POST_TURN_SETTLE_MS` | `7000` | Obergrenze für die Zeit, die der Runner eine Sitzung als beschäftigt für die `--drain-wait-sec` Entleerung nach Abschluss eines Zugs zählt, während der Prozess der Sitzung das Ende des Zugs an Anthropic meldet. `0` oder ein unbrauchbarer Wert fällt auf den Standard zurück, sodass die Sperre nicht ausgeschaltet werden kann. Erfordert Claude Code v2.1.275 oder später. |

124| `SELF_HOSTED_RUNNER_SIGKILL_GRACE_MS` | `30000` | Wie lange der Runner wartet, bis das Betriebssystem `SIGKILL` an ein Kind sendet, das in nicht unterbrechbarem I/O steckt, bevor es sich selbst beendet. Auf `--post-session-hook-timeout-sec` plus 15 Sekunden begrenzt, und 30 weitere, wenn `--push-outcome-on-release` gesetzt ist, sodass das effektive Minimum 75 Sekunden bei Standardwerten ist. |124| `SELF_HOSTED_RUNNER_SIGKILL_GRACE_MS` | `30000` | Wie lange der Runner wartet, bis das Betriebssystem `SIGKILL` an ein Kind sendet, das in nicht unterbrechbarem I/O steckt, bevor es sich selbst beendet. Mindestens `--post-session-hook-timeout-sec` plus 15 Sekunden, und 30 weitere, wenn `--push-outcome-on-release` gesetzt ist, sodass das effektive Minimum 75 Sekunden bei Standardwerten ist. |

125| `CLAUDE_RUNNER_FETCH_DEPTH` | `50` | Git-Fetch-Tiefe für frische Klone. Setzen Sie eine positive Ganzzahl oder `full` oder `0` für einen vollständigen Fetch. Informationen zu einem Klon, der sich bereits im Arbeitsbereich befindet, finden Sie unter [Einen vorgewärmten Checkout wiederverwenden](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#reuse-a-pre-warmed-checkout). |125| `CLAUDE_RUNNER_FETCH_DEPTH` | `50` | Git-Fetch-Tiefe für frische Klone. Setzen Sie eine positive Ganzzahl oder `full` oder `0` für einen vollständigen Fetch. Informationen zu einem Klon, der sich bereits im Arbeitsbereich befindet, finden Sie unter [Einen vorgewärmten Checkout wiederverwenden](https://code.claude.com/docs/de/self-hosted-environments-deploy.md#reuse-a-pre-warmed-checkout). |

126| `CLAUDE_RUNNER_FETCH_SERVER_PROGRESS_CAP_MS` | `600000` | Wie lange in Millisekunden pro Versuch ein Git-Fetch auf seine ersten Daten warten darf, während die eigenen Fortschrittszahlen des Git-Servers weiter steigen, etwa wenn der Server das Pack für ein großes Repository vorbereitet. `0` oder `off` schaltet das Warten aus: Ein solcher Fetch wird dann nach zwei Minuten ohne Daten abgebrochen. Jede andere Ganzzahl wird auf einen Wert zwischen `120000` und `1800000` begrenzt, also 2 bis 30 Minuten. Erfordert Claude Code v2.1.295 oder später. |126| `CLAUDE_RUNNER_FETCH_SERVER_PROGRESS_CAP_MS` | `600000` | Wie lange in Millisekunden pro Versuch ein Git-Fetch auf seine ersten Daten warten darf, während die eigenen Fortschrittszahlen des Git-Servers weiter steigen, etwa wenn der Server das Pack für ein großes Repository vorbereitet. `0` oder `off` schaltet das Warten aus: Ein solcher Fetch wird dann nach zwei Minuten ohne Daten abgebrochen. Jede andere Ganzzahl wird auf einen Wert zwischen `120000` und `1800000` begrenzt, also 2 bis 30 Minuten. Erfordert Claude Code v2.1.295 oder später. |

127| `CLAUDE_RUNNER_SKIP_GIT_VERIFY` | nicht gesetzt | Wenn `1`, überspringen Sie die `.git` Präsenzprüfung, nachdem ein `checkout` Hook ausgeführt wird. Setzen Sie dies, wenn Ihr Hook eine Nicht-Git-Quelle materialisiert. |127| `CLAUDE_RUNNER_SKIP_GIT_VERIFY` | nicht gesetzt | Wenn `1`, überspringen Sie die `.git` Präsenzprüfung, nachdem ein `checkout` Hook ausgeführt wird. Setzen Sie dies, wenn Ihr Hook eine Nicht-Git-Quelle materialisiert. |

Details

170 170 

171**Spätere Starts mit zwischengespeicherten Einstellungen:**171**Spätere Starts mit zwischengespeicherten Einstellungen:**

172 172 

173* Zwischengespeicherte Einstellungen gelten sofort beim Start, mit Ausnahme der zwischengespeicherten Werte `modelPricing` und `managedMcpServers` sowie der Umgebungsvariablen, die Claude Code zurückhält, bis der Server die Payload bestätigt173* Zwischengespeicherte Einstellungen gelten sofort beim Start, mit Ausnahme der zwischengespeicherten Werte `modelPricing` und `managedMcpServers`, der Umgebungsvariablen, die Claude Code zurückhält, bis der Server die Payload bestätigt, des Entfernens, Umpositionierens oder Deaktivierens des [integrierten Wächters](https://code.claude.com/docs/de/plugins/mods/admin.md#know-what-happens-by-default) durch eine zwischengespeicherte Plugin-Liste sowie, auf einem Rechner, auf dem eine endpunktgesteuerte Quelle eigene Plugins auflistet oder aktiviert, des [Status als Plugin der Organisation](https://code.claude.com/docs/de/plugins/mods/admin.md#install-your-organizations-mods) bei einem Plugin, das nur eine zwischengespeicherte Liste aktiviert

174* Ein zwischengespeichertes [`modelPricing`](https://code.claude.com/docs/de/settings-reference#modelpricing) gilt erst, wenn der Abruf der Sitzung die Payload bestätigt. Bis dahin basieren die Kostenangaben, die Entwickler in `/usage` und in der Statuszeile sehen, auf Listenpreisen174* Ein zwischengespeichertes [`modelPricing`](https://code.claude.com/docs/de/settings-reference#modelpricing) gilt erst, wenn der Abruf der Sitzung die Payload bestätigt. Bis dahin basieren die Kostenangaben, die Entwickler in `/usage` und in der Statuszeile sehen, auf Listenpreisen

175* Ein zwischengespeicherter [`managedMcpServers`](https://code.claude.com/docs/de/settings-reference#managedmcpservers)-Block gilt erst, wenn der Abruf der Sitzung die Payload bestätigt. Claude Code wartet bis zu 30 Sekunden auf diesen Abruf, bevor es MCP-Server verbindet. Schlägt der Abruf fehl oder tritt eine Zeitüberschreitung auf, startet die Sitzung ohne die Server der Organisation, `/status` weist darauf hin, und die Server werden verbunden, sobald ein späterer Abruf sie bestätigt. Unter [Wann bereitgestellte Server verbunden werden](https://code.claude.com/docs/de/managed-mcp.md#when-provided-servers-connect) finden Sie das vollständige Verhalten, einschließlich des ersten Starts. Erfordert Claude Code v2.1.259 oder höher175* Ein zwischengespeicherter [`managedMcpServers`](https://code.claude.com/docs/de/settings-reference#managedmcpservers)-Block gilt erst, wenn der Abruf der Sitzung die Payload bestätigt. Claude Code wartet bis zu 30 Sekunden auf diesen Abruf, bevor es MCP-Server verbindet. Schlägt der Abruf fehl oder tritt eine Zeitüberschreitung auf, startet die Sitzung ohne die Server der Organisation, `/status` weist darauf hin, und die Server werden verbunden, sobald ein späterer Abruf sie bestätigt. Unter [Wann bereitgestellte Server verbunden werden](https://code.claude.com/docs/de/managed-mcp.md#when-provided-servers-connect) finden Sie das vollständige Verhalten, einschließlich des ersten Starts. Erfordert Claude Code v2.1.259 oder höher

176* Ein zwischengespeicherter Wert für [`prependPlugins`](https://code.claude.com/docs/de/settings-reference#prependplugins), [`appendPlugins`](https://code.claude.com/docs/de/settings-reference#appendplugins) oder [`enabledPlugins`](https://code.claude.com/docs/de/settings-reference#enabledplugins) kann den integrierten Wächter erst entfernen, umpositionieren oder ausschalten, wenn der Abruf der Sitzung die Payload bestätigt

177* Auf einem Rechner, auf dem eine [endpunktgesteuerte Quelle](https://code.claude.com/docs/de/managed-settings.md#choose-a-delivery-mechanism) eigene Plugins auflistet oder aktiviert, gilt ein Plugin, das nur eine zwischengespeicherte Liste aktiviert, als [Plugin des Benutzers](https://code.claude.com/docs/de/plugins/mods/admin.md#install-your-organizations-mods) und nicht als Plugin Ihrer Organisation, bis der Abruf die Payload bestätigt

176* Claude Code ruft im Hintergrund aktuelle Einstellungen ab178* Claude Code ruft im Hintergrund aktuelle Einstellungen ab

177* Zwischengespeicherte Einstellungen bleiben bei Netzwerkausfällen erhalten. Schlägt der Abruf beim Start fehl, warnt Claude Code in interaktiven Sitzungen, dass die zwischengespeicherte Richtlinie gilt179* Zwischengespeicherte Einstellungen bleiben bei Netzwerkausfällen erhalten. Schlägt der Abruf beim Start fehl, warnt Claude Code in interaktiven Sitzungen, dass die zwischengespeicherte Richtlinie gilt

178* Bis ein Abruf erfolgreich ist, bleiben die beim Start zurückgehaltenen Werte zurückgehalten180* Bis ein Abruf erfolgreich ist, bleiben die beim Start zurückgehaltenen Werte zurückgehalten

sessions.md +2 −2

Details

249 249 

250Standardmäßig speichert Claude Code Transkripte als JSONL unter `~/.claude/projects/<project>/<session-id>.jsonl`, wobei `<project>` Ihr Arbeitsverzeichnispfad mit nicht-alphanumerischen Zeichen ist, die durch `-` ersetzt wurden. Für ein Arbeitsverzeichnis, dessen konvertierter Name 200 Zeichen überschreitet, kürzt Claude Code den Namen auf 200 Zeichen und hängt einen Hash des vollständigen Pfads an, damit der Verzeichnisname innerhalb der Dateisystem-Limits bleibt.250Standardmäßig speichert Claude Code Transkripte als JSONL unter `~/.claude/projects/<project>/<session-id>.jsonl`, wobei `<project>` Ihr Arbeitsverzeichnispfad mit nicht-alphanumerischen Zeichen ist, die durch `-` ersetzt wurden. Für ein Arbeitsverzeichnis, dessen konvertierter Name 200 Zeichen überschreitet, kürzt Claude Code den Namen auf 200 Zeichen und hängt einen Hash des vollständigen Pfads an, damit der Verzeichnisname innerhalb der Dateisystem-Limits bleibt.

251 251 

252Jede Zeile ist ein JSON-Objekt für eine Nachricht, Tool-Verwendung oder Metadateneintrag. Das Eintragsformat ist intern für Claude Code und ändert sich zwischen Versionen, daher können Skripte, die diese Dateien direkt analysieren, bei jeder Veröffentlichung unterbrochen werden. Um auf Sitzungsdaten aufzubauen, verwenden Sie stattdessen `/export` oder die [Skript-Schnittstellen](#access-conversations-from-scripts).252Jede Zeile ist ein JSON-Objekt: eine Nachricht, eine Tool-Verwendung oder ein Tool-Ergebnis, ein Eintrag zu einer Anfrage, die Claude Code an das Modell gesendet hat, oder ein Metadateneintrag. Das Eintragsformat ist intern für Claude Code und ändert sich zwischen Versionen, daher können Skripte, die diese Dateien direkt analysieren, bei jeder Veröffentlichung unterbrochen werden. Um auf Sitzungsdaten aufzubauen, verwenden Sie stattdessen `/export` oder die [Skript-Schnittstellen](#access-conversations-from-scripts).

253 253 

254Der Speicherort, die Aufbewahrung und das Schreibverhalten sind konfigurierbar:254Der Speicherort, die Aufbewahrung und das Schreibverhalten sind konfigurierbar:

255 255 


267 267 

268Transkripte werden unter den [Aufbewahrungsbereinigungsregeln](https://code.claude.com/docs/de/claude-directory.md#cleaned-up-automatically) gelöscht. Um die Transkripte eines Projekts und den zugehörigen Status schneller zu löschen, führen Sie [`claude purge`](https://code.claude.com/docs/de/claude-directory#clear-local-data) aus. Wenn Sie eine [Hintergrund-Sitzung](https://code.claude.com/docs/de/agent-view.md) mit [`claude rm <id>`](https://code.claude.com/docs/de/agent-view#what-deleting-a-session-removes) löschen, bleibt ihr Transkript auf der Festplatte und bleibt über `claude --resume` verfügbar.268Transkripte werden unter den [Aufbewahrungsbereinigungsregeln](https://code.claude.com/docs/de/claude-directory.md#cleaned-up-automatically) gelöscht. Um die Transkripte eines Projekts und den zugehörigen Status schneller zu löschen, führen Sie [`claude purge`](https://code.claude.com/docs/de/claude-directory#clear-local-data) aus. Wenn Sie eine [Hintergrund-Sitzung](https://code.claude.com/docs/de/agent-view.md) mit [`claude rm <id>`](https://code.claude.com/docs/de/agent-view#what-deleting-a-session-removes) löschen, bleibt ihr Transkript auf der Festplatte und bleibt über `claude --resume` verfügbar.

269 269 

270### Benennen Sie das Verzeichnis `<project>` selbst270### Benennen Sie das Projektverzeichnis selbst

271 271 

272Standardmäßig leitet Claude Code den Namen `<project>` vom gesamten Arbeitsverzeichnispfad ab. Um den Namen selbst zu wählen, setzen Sie `CLAUDE_CODE_PROJECT_DIR_NAME` zusammen mit `CLAUDE_CONFIG_DIR`. Claude Code speichert dann die Transkripte dieser Sitzung und [Auto-Memory](https://code.claude.com/docs/de/memory.md#auto-memory) unter Ihrem Namen. Dies eignet sich für einen Host, der Claude Code einbettet und jeder Sitzung ein eigenes Konfigurationsverzeichnis gibt. Erfordert Claude Code v2.1.234 oder später.272Standardmäßig leitet Claude Code den Namen `<project>` vom gesamten Arbeitsverzeichnispfad ab. Um den Namen selbst zu wählen, setzen Sie `CLAUDE_CODE_PROJECT_DIR_NAME` zusammen mit `CLAUDE_CONFIG_DIR`. Claude Code speichert dann die Transkripte dieser Sitzung und [Auto-Memory](https://code.claude.com/docs/de/memory.md#auto-memory) unter Ihrem Namen. Dies eignet sich für einen Host, der Claude Code einbettet und jeder Sitzung ein eigenes Konfigurationsverzeichnis gibt. Erfordert Claude Code v2.1.234 oder später.

273 273 

Details

2037* **Typ**: Array von Zeichenfolgen, jede ein Servicename; ein einzelnes nachgestelltes `*` passt auf ein Präfix, und `"*"` allein passt auf jeden Service2037* **Typ**: Array von Zeichenfolgen, jede ein Servicename; ein einzelnes nachgestelltes `*` passt auf ein Präfix, und `"*"` allein passt auf jeden Service

2038* **Standard**: nicht gesetzt2038* **Standard**: nicht gesetzt

2039 2039 

2040Dies erlaubt jeden Service unter dem Präfix `com.apple.coresimulator.`:2040Folgendes erlaubt jeden Dienst unter dem Präfix `com.apple.CoreSimulator.`:

2041 2041 

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

2043{2043{

2044 "sandbox": {2044 "sandbox": {

2045 "network": {2045 "network": {

2046 "allowMachLookup": ["com.apple.coresimulator.*"]2046 "allowMachLookup": ["com.apple.CoreSimulator.*"]

2047 }2047 }

2048 }2048 }

2049}2049}


4729* **Typ**: Array von Strings, Verzeichnispfade relativ zum Repository-Root4729* **Typ**: Array von Strings, Verzeichnispfade relativ zum Repository-Root

4730* **Standard**: nicht gesetzt, daher checkt jeder Worktree den ganzen Baum aus4730* **Standard**: nicht gesetzt, daher checkt jeder Worktree den ganzen Baum aus

4731 4731 

4732Dieses Beispiel checkt nur `packages/my-app` und `shared/utils` plus Root-Level-Dateien in jedem Worktree aus:4732Nehmen Sie `.claude` in die Liste auf, damit jeder Worktree auch die `.claude/settings.json` und `.claude/rules/` des Repositorys enthält. Dieses Beispiel checkt nur `.claude`, `packages/my-app` und `shared/utils` plus Root-Level-Dateien in jedem Worktree aus:

4733 4733 

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

4735{4735{

4736 "worktree": {4736 "worktree": {

4737 "sparsePaths": ["packages/my-app", "shared/utils"]4737 "sparsePaths": [".claude", "packages/my-app", "shared/utils"]

4738 }4738 }

4739}4739}

4740```4740```


5525 5525 

5526Claude Code akzeptiert weiterhin ein `--mcp-config`, dessen Server alle In-Process-Einträge vom Typ `type: "sdk"` sind, sodass das Agent SDK und die VS Code-Erweiterung weiterhin funktionieren. Benutzer können weiterhin Server mit `claude mcp add` oder einer `.mcp.json`-Datei hinzufügen; für Pro-Server-Kontrolle setzen Sie auch [`allowedMcpServers`](https://code.claude.com/docs/de/managed-mcp). Erfordert Claude Code v2.1.193 oder später.5526Claude Code akzeptiert weiterhin ein `--mcp-config`, dessen Server alle In-Process-Einträge vom Typ `type: "sdk"` sind, sodass das Agent SDK und die VS Code-Erweiterung weiterhin funktionieren. Benutzer können weiterhin Server mit `claude mcp add` oder einer `.mcp.json`-Datei hinzufügen; für Pro-Server-Kontrolle setzen Sie auch [`allowedMcpServers`](https://code.claude.com/docs/de/managed-mcp). Erfordert Claude Code v2.1.193 oder später.

5527 5527 

5528Die gleiche Überprüfung deckt Plugin-Ordner ab, die in der Umgebungsvariablen [`CLAUDE_CODE_PLUGIN_DIRS`](https://code.claude.com/docs/de/env-vars#variables) benannt sind, was Claude Code v2.1.280 oder später erfordert. Wenn die Variable einen Ordner benennt, wird Claude Code mit dem gleichen Fehler beendet, und der Fehler sagt, die Variable zu deaktivieren.5528`disableSideloadFlags` lehnt außerdem Plugin-Ordner aus diesen Quellen ab:

5529 

5530* **Die Umgebungsvariable [`CLAUDE_CODE_PLUGIN_DIRS`](https://code.claude.com/docs/de/env-vars#variables)**: Wenn die Variable einen Plugin-Ordner benennt, wird Claude Code beim Start mit einem Fehler beendet, der die Variable benennt und dazu auffordert, sie zu entfernen. Erfordert Claude Code v2.1.280 oder später

5531* **Die Agent SDK-Option [`addPlugins`](https://code.claude.com/docs/de/agent-sdk/typescript#load-more-plugin-folders-with-addplugins)**: Wenn eine Anwendung in `addPlugins` Plugin-Ordner an `reloadPlugins()` übergibt, schlägt dieser Aufruf mit einem Fehler fehl. Die Sitzung läuft mit den Plugins weiter, die sie bereits hatte. Erfordert Claude Code v2.1.301 oder später

5529 5532 

5530In Cloud-Sitzungen ignoriert Claude Code auch vom Server bereitgestellte MCP-Updates während der Sitzung, den Pfad hinter der Cloud-Sitzungskonfiguration und SDK `setMcpServers()`-Aufrufe, die diese Sitzungen erreichen. In-Process-Einträge vom Typ `type: "sdk"` und die Slack-Tools einer Claude Tag-Sitzung bleiben dort ebenfalls ausgenommen. Vor v2.1.268 entfernten sowohl dieses Verwerfen als auch das Verwerfen beim Start auch die Slack-Tools einer Claude Tag-Sitzung. Vor v2.1.239 blockierte ein vom Server bereitgestelltes `--mcp-config` den Start einer Cloud-Sitzung.5533In Cloud-Sitzungen ignoriert Claude Code auch vom Server bereitgestellte MCP-Updates während der Sitzung, den Pfad hinter der Cloud-Sitzungskonfiguration und SDK `setMcpServers()`-Aufrufe, die diese Sitzungen erreichen. In-Process-Einträge vom Typ `type: "sdk"` und die Slack-Tools einer Claude Tag-Sitzung bleiben dort ebenfalls ausgenommen. Vor v2.1.268 entfernten sowohl dieses Verwerfen als auch das Verwerfen beim Start auch die Slack-Tools einer Claude Tag-Sitzung. Vor v2.1.239 blockierte ein vom Server bereitgestelltes `--mcp-config` den Start einer Cloud-Sitzung.

5531 5534 

sub-agents.md +2 −2

Details

583 583 

584#### Berechtigungsmodi584#### Berechtigungsmodi

585 585 

586Setzen Sie `permissionMode`, um den Berechtigungsmodus zu wählen, in dem ein Subagent läuft. Verwenden Sie die Konfigurationswerte der Modi, daher ist der Manuelle Modus `default`. Wenn Sie ihn nicht setzen, erbt der Subagent den [Berechtigungsmodus](https://code.claude.com/docs/de/permission-modes.md) der Hauptkonversation.586Setzen Sie `permissionMode`, um den Berechtigungsmodus zu wählen, in dem ein Subagent läuft. Verwenden Sie die Konfigurationswerte der Modi, daher ist der Manual-Modus `default`. Wenn Sie ihn nicht setzen, erbt der Subagent den [Berechtigungsmodus](https://code.claude.com/docs/de/permission-modes.md) der Hauptkonversation.

587 587 

588Die Hauptkonversation's Berechtigungsmodus entscheidet, ob Claude Code den Wert verwendet, den Sie setzen:588Die Hauptkonversation's Berechtigungsmodus entscheidet, ob Claude Code den Wert verwendet, den Sie setzen:

589 589 


597 597 

598| Modus | Verhalten |598| Modus | Verhalten |

599| :- | :- |599| :- | :- |

600| `default` | Manueller Modus: fordert Berechtigung an |600| `default` | Manual-Modus: fordert Berechtigung an |

601| `acceptEdits` | Auto-Akzeptanz von Dateibearbeitungen und häufigen Dateisystem-Befehlen für Pfade im Arbeitsverzeichnis oder `additionalDirectories` |601| `acceptEdits` | Auto-Akzeptanz von Dateibearbeitungen und häufigen Dateisystem-Befehlen für Pfade im Arbeitsverzeichnis oder `additionalDirectories` |

602| `auto` | [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode): ein Hintergrund-Klassifizierer überprüft Befehle und Schreibvorgänge in geschützten Verzeichnissen |602| `auto` | [Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode): ein Hintergrund-Klassifizierer überprüft Befehle und Schreibvorgänge in geschützten Verzeichnissen |

603| `dontAsk` | Lehnt Aufrufe, die eine Berechtigungsabfrage auslösen würden, automatisch ab, wobei ein von Ihnen installierter [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) [einige dieser Aufrufe](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods) trotzdem genehmigen kann. Explizit zugelassene Tools funktionieren weiterhin. `AskUserQuestion`, MCP-Tools, die mit [`requiresUserInteraction`](https://code.claude.com/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind, [Lesezugriffe auf Netzwerkpfade](https://code.claude.com/docs/de/permissions.md#network-paths) und Konnektor-Tools, [die Ihre Organisation auf `ask` gesetzt hat](https://code.claude.com/docs/de/mcp#organization-controls-on-connector-tools), werden verweigert, auch wenn Sie sie zugelassen haben. Für die Konnektor-Tools gilt das nur, wenn diese Einstellung Claude Code in der jeweiligen Sitzung erreicht |603| `dontAsk` | Lehnt Aufrufe, die eine Berechtigungsabfrage auslösen würden, automatisch ab, wobei ein von Ihnen installierter [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) [einige dieser Aufrufe](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods) trotzdem genehmigen kann. Explizit zugelassene Tools funktionieren weiterhin. `AskUserQuestion`, MCP-Tools, die mit [`requiresUserInteraction`](https://code.claude.com/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind, [Lesezugriffe auf Netzwerkpfade](https://code.claude.com/docs/de/permissions.md#network-paths) und Konnektor-Tools, [die Ihre Organisation auf `ask` gesetzt hat](https://code.claude.com/docs/de/mcp#organization-controls-on-connector-tools), werden verweigert, auch wenn Sie sie zugelassen haben. Für die Konnektor-Tools gilt das nur, wenn diese Einstellung Claude Code in der jeweiligen Sitzung erreicht |

vs-code.md +36 −17

Details

203What's in @src/components/ (include a trailing slash for folders)203What's in @src/components/ (include a trailing slash for folders)

204```204```

205 205 

206Bei großen PDFs können Sie Claude bitten, bestimmte Seiten statt der ganzen Datei zu lesen. Fragen Sie nach einer einzelnen Seite, einem Bereich wie Seite 1–10 oder einem offenen Bereich wie ab Seite 3. Das Lesen bestimmter Seiten erfordert [poppler-utils](https://code.claude.com/docs/de/tools-reference.md#read-tool-behavior) auf dem Rechner, auf dem Claude Code läuft.206### Bestimmte Seiten eines PDFs lesen

207 

208Wenn Sie im Editor Text auswählen, kann Claude Ihren markierten Code automatisch sehen. Die Fußzeile des Eingabefelds zeigt an, wie viele Zeilen ausgewählt sind. Drücken Sie `Option+K` (Mac) / `Alt+K` (Windows/Linux), um eine @-Erwähnung mit Dateipfad und Zeilennummern einzufügen, zum Beispiel `@app.ts#5-10`. Klicken Sie auf das **X** an der Auswahlanzeige, um sie zu entfernen, damit Claude die Auswahl nicht erhält. Die Anzeige erscheint wieder, wenn Sie anderen Text auswählen.

209 207 

210Die Erweiterung hält ausgewählten Text aus manchen Dateien zurück:208Bei großen PDFs können Sie Claude bitten, bestimmte Seiten statt der ganzen Datei zu lesen. Fragen Sie nach einer einzelnen Seite, einem Bereich wie Seite 1–10 oder einem offenen Bereich wie ab Seite 3. Das Lesen bestimmter Seiten erfordert [poppler-utils](https://code.claude.com/docs/de/tools-reference.md#read-tool-behavior) auf dem Rechner, auf dem Claude Code läuft.

211 

212* Wenn sich die Datei in Ihrem Arbeitsbereich befindet und Ihren Einstellungen `files.exclude` oder `search.exclude` entspricht, erhält Claude höchstens den Pfad der Datei, nicht aber den von Ihnen ausgewählten Text.

213* Dasselbe gilt für eine Datei, die Git ignoriert, sofern sowohl die VS-Code-Einstellung `search.useIgnoreFiles` als auch die [Einstellung `respectGitIgnore`](#extension-settings) der Erweiterung aktiviert sind, was standardmäßig der Fall ist.

214 209 

215Dieser Filter gilt nur für das Chat-Panel. Wenn Claude Code im integrierten Terminal läuft, sendet die CLI Ihren ausgewählten Text unabhängig von der Datei. Um den Inhalt einer Datei dort vor Claude zu verbergen, fügen Sie eine [deny-Regel für `Read`](#the-built-in-ide-mcp-server) hinzu.210### Terminal-Ausgabe in Prompts einbeziehen

216 211 

217Claude sieht außerdem, welche Datei Sie im Editor geöffnet haben, auch wenn nichts ausgewählt ist, und das Eingabefeld zeigt ihren Namen an. Um nur Ihren ausgewählten Text hinzuzufügen, deaktivieren Sie die [Einstellung Attach Open File](vscode://settings/claudeCode.attachOpenFile). Die Einstellung erfordert Claude Code v2.1.271 oder höher.212Verweisen Sie in Ihren Prompts mit `@terminal:name` auf Terminal-Ausgaben, wobei `name` der Titel des Terminals ist. So kann Claude Befehlsausgaben, Fehlermeldungen oder Logs sehen, ohne dass Sie sie kopieren und einfügen müssen.

218 213 

219Sie können Ihrer Nachricht auch Bilder und Dateien anhängen:214### Bilder und Dateien anhängen

220 215 

221* Um ein Bild anzuhängen, fügen Sie es aus Ihrer Zwischenablage in das Eingabefeld ein.216* Um ein Bild anzuhängen, fügen Sie es aus Ihrer Zwischenablage in das Eingabefeld ein.

222* Um Dateien anzuhängen, halten Sie `Shift` gedrückt, während Sie sie in das Eingabefeld ziehen.217* Um Dateien anzuhängen, halten Sie `Shift` gedrückt, während Sie sie in das Eingabefeld ziehen.

223* Um einen Anhang aus dem Kontext zu entfernen, klicken Sie auf das X daran.218* Um einen Anhang aus dem Kontext zu entfernen, klicken Sie auf das X daran.

224 219 

225### Terminal-Ausgabe in Prompts einbeziehen

226 

227Verweisen Sie in Ihren Prompts mit `@terminal:name` auf Terminal-Ausgaben, wobei `name` der Titel des Terminals ist. So kann Claude Befehlsausgaben, Fehlermeldungen oder Logs sehen, ohne dass Sie sie kopieren und einfügen müssen.

228 

229### Text einfügen220### Text einfügen

230 221 

231Text, den Sie einfügen, bleibt im Eingabefeld sichtbar, anstatt wie [im Terminal](https://code.claude.com/docs/de/terminal-config.md#paste-large-content) zu einem Platzhalter zusammengeklappt zu werden. In Sitzungen, in denen Claude Code [eingefügten Text kennzeichnet](https://code.claude.com/docs/de/terminal-config.md#how-claude-treats-pasted-text), sieht Claude einen großen eingefügten Text weiterhin als eingefügten und nicht als getippten Text.222Text, den Sie einfügen, bleibt im Eingabefeld sichtbar, anstatt wie [im Terminal](https://code.claude.com/docs/de/terminal-config.md#paste-large-content) zu einem Platzhalter zusammengeklappt zu werden. In Sitzungen, in denen Claude Code [eingefügten Text kennzeichnet](https://code.claude.com/docs/de/terminal-config.md#how-claude-treats-pasted-text), sieht Claude einen großen eingefügten Text weiterhin als eingefügten und nicht als getippten Text.


235* Wenn beim Einfügen ein Hinweis wie `Removed 3 invisible characters from the pasted text` erscheint, wurde der Text ohne diese Zeichen übernommen.226* Wenn beim Einfügen ein Hinweis wie `Removed 3 invisible characters from the pasted text` erscheint, wurde der Text ohne diese Zeichen übernommen.

236* Wenn beim Senden ein Hinweis zu entfernten Zeichen erscheint, wurde nichts gesendet. Der bereinigte Text steht wieder im Eingabefeld. Senden Sie erneut, um den Text wie angezeigt zu senden.227* Wenn beim Senden ein Hinweis zu entfernten Zeichen erscheint, wurde nichts gesendet. Der bereinigte Text steht wieder im Eingabefeld. Senden Sie erneut, um den Text wie angezeigt zu senden.

237 228 

229### Automatischer Kontext aus Ihrer Auswahl und der geöffneten Datei

230 

231Wenn Sie im Editor Text auswählen, kann Claude Ihren markierten Code automatisch sehen. Die Fußzeile des Eingabefelds zeigt an, wie viele Zeilen ausgewählt sind. Claude sieht außerdem, welche Datei Sie im Editor geöffnet haben, auch wenn nichts ausgewählt ist, und das Eingabefeld zeigt ihren Namen an.

232 

233Drücken Sie `Option+K` (Mac) / `Alt+K` (Windows/Linux), um eine @-Erwähnung mit Dateipfad und Zeilennummern einzufügen, zum Beispiel `@app.ts#5-10`.

234 

235#### Ihre Auswahl und die geöffnete Datei aus Ihren Nachrichten heraushalten

236 

237Damit ausgewählter Text oder Ihre geöffnete Datei nicht in Ihre Nachrichten gelangt, deaktivieren Sie die entsprechende Einstellung in den VS-Code-Einstellungen:

238 

239* **Ausgewählter Text**: Deaktivieren Sie die [Einstellung Attach Selection](vscode://settings/claudeCode.attachSelection). Erfordert Claude Code v2.1.300 oder höher. Um eine einzelne Auswahl zu verwerfen, klicken Sie auf das **X** neben der Zeilenanzahl. Die Anzahl erscheint wieder, wenn Sie anderen Text auswählen.

240* **Geöffnete Datei**: Deaktivieren Sie die [Einstellung Attach Open File](vscode://settings/claudeCode.attachOpenFile). Erfordert Claude Code v2.1.271 oder höher. Die Datei bleibt außen vor, es sei denn, Ihre Nachricht enthält Text, den Sie darin ausgewählt haben.

241 

242Um Text bei deaktivierter Einstellung Attach Selection als @-Erwähnung hinzuzufügen, wählen Sie ihn aus und drücken Sie `Option+K` auf dem Mac bzw. `Alt+K` unter Windows und Linux.

243 

244Beide Einstellungen gelten auch, wenn Sie `claude` im integrierten Terminal von VS Code ausführen.

245 

246#### Ausgewählter Text aus ausgeschlossenen oder ignorierten Dateien

247 

248Im Chat-Panel hält die Erweiterung ausgewählten Text aus manchen Dateien zurück:

249 

250* Wenn sich die Datei in Ihrem Arbeitsbereich befindet und Ihren Einstellungen `files.exclude` oder `search.exclude` entspricht, erhält Claude höchstens den Pfad der Datei, nicht aber den von Ihnen ausgewählten Text.

251* Dasselbe gilt für eine Datei, die Git ignoriert, sofern sowohl die VS-Code-Einstellung `search.useIgnoreFiles` als auch die [Einstellung `respectGitIgnore`](#extension-settings) der Erweiterung aktiviert sind, was standardmäßig der Fall ist.

252 

253Dieser Filter gilt nur für das Chat-Panel. Wenn Claude Code im integrierten Terminal läuft, kann Claude Text erhalten, den Sie in diesen Dateien auswählen. Um den Inhalt einer Datei dort vor Claude zu verbergen, fügen Sie eine [deny-Regel für `Read`](https://code.claude.com/docs/de/permissions#read-and-edit) hinzu.

254 

238### LaTeX-Mathematik in Antworten255### LaTeX-Mathematik in Antworten

239 256 

240Das Chat-Panel zeigt LaTeX-Mathematik in Claudes Antworten als gesetzte Formeln an. Die Darstellung mathematischer Formeln erfordert Claude Code v2.1.301 oder höher. Im [Terminal-Modus](#switch-to-terminal-mode) werden Formeln nicht gesetzt. Das Panel setzt sowohl abgesetzte als auch Inline-Formeln:257Das Chat-Panel zeigt LaTeX-Mathematik in Claudes Antworten als gesetzte Formeln an. Die Darstellung mathematischer Formeln erfordert Claude Code v2.1.301 oder höher. Im [Terminal-Modus](#switch-to-terminal-mode) werden Formeln nicht gesetzt. Das Panel setzt sowohl abgesetzte als auch Inline-Formeln:


694| `preferredLocation` | `panel` | Wo Claude geöffnet wird: `sidebar` (rechts) oder `panel` (neuer Tab) |711| `preferredLocation` | `panel` | Wo Claude geöffnet wird: `sidebar` (rechts) oder `panel` (neuer Tab) |

695| `lockEditorGroups` | `true` | [Die Editorgruppen sperren, die Claude für seine Tabs startet](#choose-where-claude-lives), sodass Dateien, die Sie öffnen, während ein Claude-Tab fokussiert ist, in einer anderen Gruppe landen. Wenn deaktiviert, sperrt die Erweiterung nie eine Editorgruppe. Erfordert Claude Code v2.1.274 oder höher |712| `lockEditorGroups` | `true` | [Die Editorgruppen sperren, die Claude für seine Tabs startet](#choose-where-claude-lives), sodass Dateien, die Sie öffnen, während ein Claude-Tab fokussiert ist, in einer anderen Gruppe landen. Wenn deaktiviert, sperrt die Erweiterung nie eine Editorgruppe. Erfordert Claude Code v2.1.274 oder höher |

696| `autosave` | `true` | Dateien automatisch speichern, bevor Claude sie liest oder schreibt |713| `autosave` | `true` | Dateien automatisch speichern, bevor Claude sie liest oder schreibt |

697| `attachOpenFile` | `true` | Die im Editor geöffnete Datei zu Ihren Nachrichten hinzufügen und im Eingabefeld anzeigen. Wenn deaktiviert, wird nur Ihr ausgewählter Text hinzugefügt. Erfordert Claude Code v2.1.271 oder höher |714| `attachOpenFile` | `true` | Die im Editor geöffnete Datei zu Ihren Nachrichten hinzufügen und im Eingabefeld anzeigen. Wenn deaktiviert, wird die Datei nur zusammen mit Text hinzugefügt, den Sie auswählen. Erfordert Claude Code v2.1.271 oder höher |

715| `attachSelection` | `true` | Den Text, den Sie im Editor auswählen, zu Ihren Nachrichten hinzufügen und im Eingabefeld anzeigen. Wenn deaktiviert, können Sie [eine Auswahl weiterhin als @-Erwähnung hinzufügen](#automatic-context-from-your-selection-and-open-file). Erfordert Claude Code v2.1.300 oder höher |

698| `useCtrlEnterToSend` | `false` | Ctrl/Cmd+Enter statt Enter zum Senden von Prompts verwenden |716| `useCtrlEnterToSend` | `false` | Ctrl/Cmd+Enter statt Enter zum Senden von Prompts verwenden |

699| `scrollToBottomOnSend` | `true` | Die Konversation beim Senden einer Nachricht nach unten scrollen. Wenn deaktiviert, bleibt die Konversation dort, wo Sie sie verlassen haben. Erfordert Claude Code v2.1.275 oder höher |717| `scrollToBottomOnSend` | `true` | Die Konversation beim Senden einer Nachricht nach unten scrollen. Wenn deaktiviert, bleibt die Konversation dort, wo Sie sie verlassen haben. Erfordert Claude Code v2.1.275 oder höher |

700| `showMessageTimestamps` | `true` | Anzeigen, wann jede Nachricht gesendet wurde. Eine Datumszeile markiert, wo der Tag wechselt. Erfordert Claude Code v2.1.284 oder höher. Vor v2.1.290 war der Standardwert `false` |718| `showMessageTimestamps` | `true` | Anzeigen, wann jede Nachricht gesendet wurde. Eine Datumszeile markiert, wo der Tag wechselt. Erfordert Claude Code v2.1.284 oder höher. Vor v2.1.290 war der Standardwert `false` |


705| `continueAfterReload` | `true` | Nach einem Neuladen des Fensters [setzt Claude den unterbrochenen Schritt fort](#continue-conversations-after-a-reload), und zwar in der wiederhergestellten Sitzung. Erfordert Claude Code v2.1.274 oder höher |723| `continueAfterReload` | `true` | Nach einem Neuladen des Fensters [setzt Claude den unterbrochenen Schritt fort](#continue-conversations-after-a-reload), und zwar in der wiederhergestellten Sitzung. Erfordert Claude Code v2.1.274 oder höher |

706| `hideOnboarding` | `false` | Die Onboarding-Checkliste ausblenden (Doktorhut-Symbol) |724| `hideOnboarding` | `false` | Die Onboarding-Checkliste ausblenden (Doktorhut-Symbol) |

707| `focusView` | `false` | Tool-Aufrufe, Tool-Ergebnisse und Thinking hinter aufklappbaren Zeilen ausblenden, sodass Ihre Prompts und Claudes Antworten übrig bleiben. Claudes aktuelle To-do-Liste bleibt sichtbar; dies erfordert Claude Code v2.1.225 oder höher. Sie können die Fokusansicht auch über das Befehlsmenü umschalten. Erfordert Claude Code v2.1.221 oder höher |725| `focusView` | `false` | Tool-Aufrufe, Tool-Ergebnisse und Thinking hinter aufklappbaren Zeilen ausblenden, sodass Ihre Prompts und Claudes Antworten übrig bleiben. Claudes aktuelle To-do-Liste bleibt sichtbar; dies erfordert Claude Code v2.1.225 oder höher. Sie können die Fokusansicht auch über das Befehlsmenü umschalten. Erfordert Claude Code v2.1.221 oder höher |

708| `respectGitIgnore` | `true` | .gitignore-Muster von Dateisuchen und vom [Auswahlkontext](#reference-files-and-folders) ausschließen |726| `respectGitIgnore` | `true` | .gitignore-Muster von Dateisuchen und vom [Auswahlkontext](#selected-text-from-excluded-or-ignored-files) ausschließen |

709| `usePythonEnvironment` | `true` | Die Python-Umgebung des Arbeitsbereichs aktivieren, wenn Claude ausgeführt wird. Erfordert die Python-Erweiterung. |727| `usePythonEnvironment` | `true` | Die Python-Umgebung des Arbeitsbereichs aktivieren, wenn Claude ausgeführt wird. Erfordert die Python-Erweiterung. |

710| `environmentVariables` | `[]` | Umgebungsvariablen für den Claude-Prozess setzen. Verwenden Sie für gemeinsame Konfiguration stattdessen die Claude Code-Einstellungen. Ein [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/de/env-vars)-Eintrag gilt nur, wenn sein Wert ein absoluter Pfad ist; die Erweiterung expandiert `~` nicht und ignoriert einen relativen Wert. |728| `environmentVariables` | `[]` | Umgebungsvariablen für den Claude-Prozess setzen. Verwenden Sie für gemeinsame Konfiguration stattdessen die Claude Code-Einstellungen. Ein [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/de/env-vars)-Eintrag gilt nur, wenn sein Wert ein absoluter Pfad ist; die Erweiterung expandiert `~` nicht und ignoriert einen relativen Wert. |

711| `disableLoginPrompt` | `false` | Authentifizierungsabfragen überspringen (für Konfigurationen mit Drittanbietern) |729| `disableLoginPrompt` | `false` | Authentifizierungsabfragen überspringen (für Konfigurationen mit Drittanbietern) |


835 853 

836**Auswahl- und Kontext der geöffneten Datei.** Solange eine Verbindung besteht, fügt die CLI jedem Prompt, den Sie senden, Ihre aktuelle Editor-Auswahl und den Pfad der aktiven Datei als Kontext hinzu. Das Transkript zeigt in diesem Fall eine Zeile `⧉ Selected N lines from <file>` an. Die folgenden Fälle ändern diesen Kontext:854**Auswahl- und Kontext der geöffneten Datei.** Solange eine Verbindung besteht, fügt die CLI jedem Prompt, den Sie senden, Ihre aktuelle Editor-Auswahl und den Pfad der aktiven Datei als Kontext hinzu. Das Transkript zeigt in diesem Fall eine Zeile `⧉ Selected N lines from <file>` an. Die folgenden Fälle ändern diesen Kontext:

837 855 

856* **[Einstellung Attach Selection](#keep-your-selection-and-open-file-out-of-your-messages) ausgeschaltet**: Die CLI fügt Ihre Auswahl nicht als Kontext hinzu.

857* **Einstellung Attach Open File ausgeschaltet**: Die CLI fügt den Pfad der aktiven Datei nur hinzu, wenn sie auch eine Auswahl hinzufügt.

838* **Nachrichten in der Warteschlange**: Wenn Sie [eine Nachricht in die Warteschlange stellen, während Claude arbeitet](https://code.claude.com/docs/de/interactive-mode.md#queue-messages-while-claude-works), behält sie die Auswahl bei, die Sie beim Drücken von `Enter` hatten, unabhängig davon, was Sie danach auswählen.858* **Nachrichten in der Warteschlange**: Wenn Sie [eine Nachricht in die Warteschlange stellen, während Claude arbeitet](https://code.claude.com/docs/de/interactive-mode.md#queue-messages-while-claude-works), behält sie die Auswahl bei, die Sie beim Drücken von `Enter` hatten, unabhängig davon, was Sie danach auswählen.

839* **Sensible Dateien**: Um eine sensible Datei wie `.env` auszuschließen, fügen Sie eine [`Read`-deny-Regel](https://code.claude.com/docs/de/permissions#read-and-edit) für ihren Pfad hinzu. Eine passende deny-Regel verhindert, dass sowohl der ausgewählte Text als auch der Hinweis auf die geöffnete Datei für diese Datei Claude erreichen.859* **Sensible Dateien**: Um eine sensible Datei wie `.env` auszuschließen, fügen Sie eine [`Read`-deny-Regel](https://code.claude.com/docs/de/permissions#read-and-edit) für ihren Pfad hinzu. Eine passende deny-Regel verhindert, dass sowohl der ausgewählte Text als auch der Hinweis auf die geöffnete Datei für diese Datei Claude erreichen.

840* **Attach Open File ausgeschaltet**: Wenn Sie die [Einstellung Attach Open File](#extension-settings) ausschalten, erhält die CLI den Pfad der aktiven Datei nur, während Sie darin Text ausgewählt haben.

841 860 

842**Transport und Authentifizierung.** Der Server bindet sich an `127.0.0.1` auf einem zufälligen Port im Bereich 10000–65535, und der Port ist nicht konfigurierbar. Transport und Auth-Token funktionieren wie folgt:861**Transport und Authentifizierung.** Der Server bindet sich an `127.0.0.1` auf einem zufälligen Port im Bereich 10000–65535, und der Port ist nicht konfigurierbar. Transport und Auth-Token funktionieren wie folgt:

843 862 

workflows.md +5 −4

Details

333 333 

334Die Workflow-Laufzeit führt das Skript in einer isolierten Umgebung aus, getrennt von Ihrem Gespräch. Zwischenergebnisse bleiben in Skriptvariablen, anstatt in Claudes Kontext zu landen.334Die Workflow-Laufzeit führt das Skript in einer isolierten Umgebung aus, getrennt von Ihrem Gespräch. Zwischenergebnisse bleiben in Skriptvariablen, anstatt in Claudes Kontext zu landen.

335 335 

336Bei jeder Ausführung wird das Skript in eine Datei unter dem Verzeichnis Ihrer Sitzung in `~/.claude/projects/` geschrieben. Claude erhält den Pfad, wenn die Ausführung startet, sodass Sie danach fragen können. Sie können diese Datei öffnen, um die Orchestrierung zu lesen, die Claude geschrieben hat, sie mit dem Skript einer vorherigen Ausführung vergleichen oder sie bearbeiten und Claude bitten, von der bearbeiteten Version neu zu starten.336Sofern Claude eine Ausführung nicht über den Pfad einer Skriptdatei startet, schreibt Claude Code das Skript der Ausführung in eine Datei unter dem Verzeichnis Ihrer Sitzung in `~/.claude/projects/`. Claude erhält den Pfad des Skripts, wenn die Ausführung startet, sodass Sie danach fragen können. Sie können diese Datei öffnen, um die Orchestrierung zu lesen, die Claude geschrieben hat, einen Diff mit dem Skript einer vorherigen Ausführung erstellen oder sie bearbeiten und Claude bitten, von der bearbeiteten Version neu zu starten.

337 337 

338Claude kann einen Workflow nur aus einer Skriptdatei starten, die die Sitzung bereits lesen darf. Um ein Skript auszuführen, das sich außerhalb Ihres Arbeitsverzeichnisses befindet, fügen Sie zunächst sein Verzeichnis mit [`/add-dir`](https://code.claude.com/docs/de/permissions#working-directories) oder einer [Read-Erlaubnisregel](https://code.claude.com/docs/de/permissions.md#read-and-edit) hinzu.338Claude kann einen Workflow nur aus einer Skriptdatei starten, die die Sitzung bereits lesen darf. Um ein Skript auszuführen, das sich außerhalb Ihres Arbeitsverzeichnisses befindet, fügen Sie zunächst sein Verzeichnis mit [`/add-dir`](https://code.claude.com/docs/de/permissions#working-directories) oder einer [Read-Erlaubnisregel](https://code.claude.com/docs/de/permissions.md#read-and-edit) hinzu.

339 339 


387 387 

388#### Fortsetzen, nachdem Sie die Sitzung verlassen haben388#### Fortsetzen, nachdem Sie die Sitzung verlassen haben

389 389 

390Sie können einen Lauf innerhalb derselben Claude-Code-Sitzung fortsetzen. Was mit einem laufenden Workflow geschieht, wenn Sie die Sitzung verlassen, hängt davon ab, wie Sie sie verlassen:390Wenn Sie Ihre Sitzung in den Hintergrund verschieben oder Claude Code beenden, während ein Workflow-Lauf ausgeführt wird, wird der Lauf nicht eigenständig fortgesetzt. Der Lauf wird erst fortgesetzt, wenn Claude ihn mit einem `Workflow`-Aufruf neu startet, der [den Lauf aus seinen gespeicherten Ergebnissen abspielt](#which-agents-run-again).

391 391 

392* Wenn Sie [die Sitzung in den Hintergrund verschieben](https://code.claude.com/docs/de/agent-view.md#what-carries-over-when-you-background), spielt Claude Code den Lauf auf dieselbe Weise in der Hintergrundsitzung ab und setzt ihn fort.392* **Sie haben die Sitzung in den Hintergrund verschoben oder [`Move to background and exit`](https://code.claude.com/docs/de/agent-view#from-inside-a-session) gewählt**: Wenn der Lauf nicht fortgesetzt wurde, wenn Sie die [Hintergrundsitzung](https://code.claude.com/docs/de/agent-view.md#what-carries-over-when-you-background) prüfen, bitten Sie Claude dort, den Workflow neu zu starten. Abhängig von Ihrem [Berechtigungsmodus](#approve-the-plan-before-it-runs) bittet Claude Code Sie zuerst, den Neustart zu genehmigen. Wenn die Sitzung in der Agentenansicht unter `Needs input` angezeigt wird, [verbinden Sie sich mit ihr](https://code.claude.com/docs/de/agent-view.md#attach-to-a-session), um die Genehmigungsabfrage zu beantworten.

393* Wenn Sie Claude Code beenden, während ein Workflow läuft und [die Agentenansicht aktiviert ist](https://code.claude.com/docs/de/agent-view.md#from-inside-a-session), bietet der Beenden-Dialog `Move to background and exit` an, wodurch der Lauf auf dieselbe Weise übernommen wird. Wenn Sie stattdessen `Exit and stop tasks` wählen oder die Option nicht angeboten wird, stoppt der Lauf mit der Sitzung. Claude Code bewahrt die gespeicherten Ergebnisse des Laufs im Verzeichnis dieser Sitzung unter `~/.claude/projects/` auf, sodass eine Sitzung, die Sie mit `claude --resume` fortsetzen, sie abspielen kann, wenn Sie Claude bitten, den Workflow neu zu starten. In einer neu gestarteten Sitzung hat Claude keinen früheren Lauf, den es neu starten könnte, und startet den Workflow als neuen Lauf von vorn.393* **Der Neustart in der Hintergrundsitzung ist mit `nothing to resume` fehlgeschlagen**: Bitten Sie Claude, den Workflow als neuen Lauf von vorn zu starten. Wenn Claude den Lauf über den Pfad einer Skriptdatei außerhalb von `~/.claude/projects/` gestartet hat, etwa einer Datei in Ihrem Arbeitsverzeichnis, kann Claude ihn in der Hintergrundsitzung nicht neu starten.

394* **Sie haben `Exit and stop tasks` gewählt, oder `Move to background and exit` wurde nicht angeboten**: Der Lauf wurde mit der Sitzung gestoppt, und Claude Code bewahrt die gespeicherten Ergebnisse des Laufs im Verzeichnis dieser Sitzung unter `~/.claude/projects/` auf. Setzen Sie die Sitzung mit `claude --resume` in Ihrer Shell fort und bitten Sie Claude dann, den Workflow neu zu starten. In einer neuen Sitzung hat Claude keinen früheren Lauf, den es neu starten könnte, und startet den Workflow von vorn.

394 395 

395In einer [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md) speichert Claude Code die Ergebnisse des Laufs außerdem mit dem Konversationsverlauf der Sitzung, der erhalten bleibt, wenn die VM der Sitzung freigegeben wird. Wenn Sie [eine solche Sitzung wieder öffnen](https://code.claude.com/docs/de/claude-code-on-the-web.md#environment-expired) und Claude bitten, den Workflow neu zu starten, geben abgeschlossene Agenten weiterhin ihre gespeicherten Ergebnisse zurück.396In einer [Cloud-Sitzung](https://code.claude.com/docs/de/claude-code-on-the-web.md) speichert Claude Code die Ergebnisse des Laufs außerdem mit dem Konversationsverlauf der Sitzung, der erhalten bleibt, wenn die VM der Sitzung freigegeben wird. Wenn Sie [eine solche Sitzung wieder öffnen](https://code.claude.com/docs/de/claude-code-on-the-web.md#environment-expired) und Claude bitten, den Workflow neu zu starten, geben abgeschlossene Agenten weiterhin ihre gespeicherten Ergebnisse zurück.

396 397