6 6
7> Kontrollieren Sie, wie Ihr Agent Tools mit Berechtigungsmodi, Hooks und deklarativen Allow/Deny-Regeln verwendet.7> Kontrollieren Sie, wie Ihr Agent Tools mit Berechtigungsmodi, Hooks und deklarativen Allow/Deny-Regeln verwendet.
8 8
9Das Claude Agent SDK bietet Berechtigungskontrollen zur Verwaltung der Tool-Nutzung durch Claude. Verwenden Sie Berechtigungsmodi und Regeln, um zu definieren, was automatisch zulässig ist, und den [`canUseTool`-Callback](/docs/de/agent-sdk/user-input), um alles andere zur Laufzeit zu handhaben.9Das Claude Agent SDK bietet Berechtigungskontrollen zur Verwaltung der Tool-Nutzung durch Claude. Verwenden Sie Berechtigungsmodi und Regeln, um automatisch zu definieren, was zulässig ist, und den [`canUseTool`-Callback](/docs/de/agent-sdk/user-input), um alles andere zur Laufzeit zu handhaben.
10 10
11<h2 id="how-permissions-are-evaluated">11<h2 id="how-permissions-are-evaluated">
12 Wie Berechtigungen ausgewertet werden12 Wie Berechtigungen ausgewertet werden
13</h2>13</h2>
14 14
15Wenn Claude ein Tool anfordert, prüft das SDK die Berechtigungen in dieser Reihenfolge:15Wenn Claude ein Tool anfordert, prüft das SDK Berechtigungen in dieser Reihenfolge:
16 16
17<Steps>17<Steps>
18 <Step title="Hooks">18 <Step title="Hooks">
19 Führen Sie [Hooks](/docs/de/agent-sdk/hooks) zuerst aus. Ein Hook kann den Aufruf direkt ablehnen oder ihn weitergeben. Ein Hook, der `allow` zurückgibt, überspringt nicht die Deny- und Ask-Regeln unten; diese werden unabhängig vom Hook-Ergebnis ausgewertet. Ein `PreToolUse`-Hook-Allow kann auch keine `rm`- oder `rmdir`-Entfernung genehmigen, die auf einen [kritischen Pfad](/docs/de/permission-modes#critical-paths) abzielt.19 Führen Sie [Hooks](/docs/de/agent-sdk/hooks) zuerst aus. Ein Hook kann den Aufruf direkt ablehnen oder ihn weitergeben. Ein Hook, der `allow` zurückgibt, überspringt nicht die Deny- und Ask-Regeln unten; diese werden unabhängig vom Hook-Ergebnis ausgewertet. Ein `PreToolUse` Hook allow kann auch keine `rm` oder `rmdir` Entfernung genehmigen, die auf einen [kritischen Pfad](/docs/de/permission-modes#critical-paths) abzielt.
20 </Step>20 </Step>
21 21
22 <Step title="Deny-Regeln">22 <Step title="Deny-Regeln">
23 Prüfen Sie `deny`-Regeln (aus `disallowed_tools` und [settings.json](/docs/de/settings-reference#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.23 Prüfen Sie `deny` Regeln (aus `disallowed_tools` und [settings.json](/docs/de/settings-reference#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.
24 </Step>24 </Step>
25 25
26 <Step title="Ask-Regeln">26 <Step title="Ask-Regeln">
27 Prüfen Sie `ask`-Regeln aus [settings.json](/docs/de/settings-reference#permission-settings). Wenn eine Ask-Regel zutrifft, fällt der Aufruf zu Ihrem [`canUseTool`-Callback](/docs/de/agent-sdk/user-input) zur Bestätigung durch, auch im `bypassPermissions`-Modus.27 Prüfen Sie `ask` Regeln aus [settings.json](/docs/de/settings-reference#permission-settings). Wenn eine Ask-Regel zutrifft, fällt der Aufruf in Ihren [`canUseTool` Callback](/docs/de/agent-sdk/user-input) zur Bestätigung, auch im `bypassPermissions` Modus.
28 28
29 Tools, die Benutzerinteraktion erfordern, verhalten sich auf die gleiche Weise: `AskUserQuestion` und MCP-Tools, deren Server [`_meta["anthropic/requiresUserInteraction"]`](/docs/de/mcp#require-approval-for-a-specific-tool) setzt, fallen immer zum Callback durch, auch wenn eine Allow-Regel zutrifft. Im `dontAsk`-Modus werden beide Fälle stattdessen abgelehnt, da dieser Modus niemals eine Aufforderung anzeigt. Die MCP-Anmerkung erfordert Claude Code v2.1.199 oder später.29 Tools, die Benutzerinteraktion erfordern, verhalten sich auf die gleiche Weise: `AskUserQuestion` und MCP-Tools, deren Server [`_meta["anthropic/requiresUserInteraction"]`](/docs/de/mcp#require-approval-for-a-specific-tool) setzt, fallen immer in den Callback, auch wenn eine Allow-Regel zutrifft. Im `dontAsk` Modus werden beide Fälle stattdessen abgelehnt, da dieser Modus niemals auffordert. Die MCP-Anmerkung erfordert Claude Code v2.1.199 oder später.
30 30
31 [claude.ai-Connector](/docs/de/mcp#organization-controls-on-connector-tools)-Tools, die Ihre Organisation auf `ask` gesetzt hat, verlassen den Fluss auch in diesem Schritt. Jeder Aufruf fällt zum Callback durch, 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 eine Aufforderung anzeigt.31 [claude.ai Connector](/docs/de/mcp#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 </Step>32 </Step>
33 33
34 <Step title="Berechtigungsmodus">34 <Step title="Berechtigungsmodus">
35 Wenden Sie den aktiven [Berechtigungsmodus](#permission-modes) an:35 Wenden Sie den aktiven [Berechtigungsmodus](#permission-modes) an:
36 36
37 * Im `bypassPermissions`-Modus genehmigt Claude Code alles, das diesen Schritt erreicht, außer `rm`- und `rmdir`-Entfernungen, die auf einen [kritischen Pfad](/docs/de/permission-modes#critical-paths) abzielen, die stattdessen durchfallen.37 * Im `bypassPermissions` Modus genehmigt Claude Code alles, das diesen Schritt erreicht, außer `rm` und `rmdir` Entfernungen, die auf einen [kritischen Pfad](/docs/de/permission-modes#critical-paths) abzielen, die stattdessen weitergeleitet werden.
38 * Im `acceptEdits`-Modus genehmigt Claude Code die unter [Accept edits mode](#accept-edits-mode-acceptedits) aufgelisteten Dateivorgänge.38 * Im `acceptEdits` Modus genehmigt Claude Code die unter [Accept edits mode](#accept-edits-mode-acceptedits) aufgelisteten Dateivorgänge.
39 * Im `plan`-Modus leitet Claude Code Datei-Edit- und Shell-Write-Tools zu Ihrem `canUseTool`-Callback weiter, unabhängig von Allow-Regeln, sodass Schreibvorgänge während der Planung nicht automatisch genehmigt werden können.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.
40 * In anderen Modi fällt die Anfrage durch.40 * In anderen Modi fällt die Anfrage durch.
41 </Step>41 </Step>
42 42
43 <Step title="Allow-Regeln">43 <Step title="Allow-Regeln">
44 Prü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 gelöst, ohne dass eine Regel erforderlich ist: zum Beispiel ein Dateilesezugriff in Ihren Arbeitsverzeichnissen oder ein [schreibgeschützter Bash-Befehl](/docs/de/permissions#read-only-commands). `rm`- und `rmdir`-Entfernungen, die auf einen [kritischen Pfad](/docs/de/permission-modes#critical-paths) abzielen, werden niemals durch eine Allow-Regel genehmigt: Sie erreichen Ihren Callback in den Modi, die Aufforderungen anzeigen, gehen zum [Klassifizierer](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) im `auto`-Modus auf Claude Code v2.1.218 oder später, und werden im `dontAsk`-Modus abgelehnt.44 Prü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](/docs/de/permissions#read-only-commands). `rm` und `rmdir` Entfernungen, die auf einen [kritischen Pfad](/docs/de/permission-modes#critical-paths) abzielen, werden niemals durch eine Allow-Regel genehmigt: sie erreichen Ihren Callback in den Modi, die auffordern, gehen zum [Klassifizierer](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) im `auto` Modus auf Claude Code v2.1.218 oder später, und werden im `dontAsk` Modus abgelehnt.
45 </Step>45 </Step>
46 46
47 <Step title="canUseTool-Callback">47 <Step title="canUseTool Callback">
48 Wenn nicht durch eines der oben genannten Verfahren gelöst, rufen Sie Ihren [`canUseTool`-Callback](/docs/de/agent-sdk/user-input) für eine Entscheidung auf. Im `dontAsk`-Modus wird dieser Schritt übersprungen und das Tool wird abgelehnt.48 Wenn nicht durch einen der oben genannten Punkte aufgelöst, rufen Sie Ihren [`canUseTool` Callback](/docs/de/agent-sdk/user-input) zur Entscheidung auf. Im `dontAsk` Modus wird dieser Schritt übersprungen und das Tool wird abgelehnt.
49 49
50 Im TypeScript SDK wird Ihr Callback in diesem Schritt nicht aufgerufen, wenn Sie [`permissionPrompts: 'none'`](/docs/de/agent-sdk/typescript#options) setzen. Ein [`PermissionRequest`-Hook](/docs/de/hooks#permissionrequest) erhält immer noch eine Chance zu entscheiden, und wenn nicht, lehnt Claude Code den Aufruf ab. Die Option erfordert Claude Code v2.1.259 oder später.50 Im TypeScript SDK, wenn Sie [`permissionPrompts: 'none'`](/docs/de/agent-sdk/typescript#options) setzen, wird Ihr Callback in diesem Schritt nicht aufgerufen. Ein [`PermissionRequest` Hook](/docs/de/hooks#permissionrequest) erhält immer noch eine Chance zu entscheiden, und wenn nicht, lehnt Claude Code den Aufruf ab. Die Option erfordert Claude Code v2.1.259 oder später.
51 </Step>51 </Step>
52</Steps>52</Steps>
53 53
54<img src="https://mintcdn.com/claude-code/jYgs7qigNjO1Badj/images/agent-sdk/permissions-flow.svg?fit=max&auto=format&n=jYgs7qigNjO1Badj&q=85&s=c771ad9085b1277d3708027a49c744bc" className="dark:hidden" alt="Diagramm des sechsstufigen Berechtigungsauswertungsflusses, das den obigen Schritten entspricht: Eine Tool-Anfrage durchläuft Hooks, Deny-Regeln, Ask-Regeln, Berechtigungsmodus, Allow-Regeln und canUseTool. Hooks, Deny-Regeln und canUseTool können zu Blockiert weiterleiten; Berechtigungsmodus-Bypass, Allow-Regeln und canUseTool können zu Ausführen weiterleiten; Ask-Regeln leiten zu canUseTool weiter." width="1180" height="260" data-path="images/agent-sdk/permissions-flow.svg" />54<img src="https://mintcdn.com/claude-code/jYgs7qigNjO1Badj/images/agent-sdk/permissions-flow.svg?fit=max&auto=format&n=jYgs7qigNjO1Badj&q=85&s=c771ad9085b1277d3708027a49c744bc" className="dark:hidden" alt="Diagramm des sechsstufigen Berechtigungsauswertungsflusses, das den obigen Schritten entspricht: Eine Tool-Anfrage durchläuft Hooks, Deny-Regeln, Ask-Regeln, Berechtigungsmodus, Allow-Regeln und canUseTool. Hooks, Deny-Regeln und canUseTool können zu Blocked weiterleiten; Berechtigungsmodus Bypass, Allow-Regeln und canUseTool können zu Execute weiterleiten; Ask-Regeln leiten zu canUseTool weiter." width="1180" height="260" data-path="images/agent-sdk/permissions-flow.svg" />
55 55
56<img src="https://mintcdn.com/claude-code/_xqph1dUOslCOwsj/images/agent-sdk/permissions-flow-dark.svg?fit=max&auto=format&n=_xqph1dUOslCOwsj&q=85&s=e53a91e9059cbf51852b7cedb4dd4251" className="hidden dark:block" alt="Diagramm des sechsstufigen Berechtigungsauswertungsflusses, das den obigen Schritten entspricht: Eine Tool-Anfrage durchläuft Hooks, Deny-Regeln, Ask-Regeln, Berechtigungsmodus, Allow-Regeln und canUseTool. Hooks, Deny-Regeln und canUseTool können zu Blockiert weiterleiten; Berechtigungsmodus-Bypass, Allow-Regeln und canUseTool können zu Ausführen weiterleiten; Ask-Regeln leiten zu canUseTool weiter." width="1180" height="260" data-path="images/agent-sdk/permissions-flow-dark.svg" />56<img src="https://mintcdn.com/claude-code/_xqph1dUOslCOwsj/images/agent-sdk/permissions-flow-dark.svg?fit=max&auto=format&n=_xqph1dUOslCOwsj&q=85&s=e53a91e9059cbf51852b7cedb4dd4251" className="hidden dark:block" alt="Diagramm des sechsstufigen Berechtigungsauswertungsflusses, das den obigen Schritten entspricht: Eine Tool-Anfrage durchläuft Hooks, Deny-Regeln, Ask-Regeln, Berechtigungsmodus, Allow-Regeln und canUseTool. Hooks, Deny-Regeln und canUseTool können zu Blocked weiterleiten; Berechtigungsmodus Bypass, Allow-Regeln und canUseTool können zu Execute weiterleiten; Ask-Regeln leiten zu canUseTool weiter." width="1180" height="260" data-path="images/agent-sdk/permissions-flow-dark.svg" />
57 57
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, sobald die Abfrage konstruiert wird. Der Warnungscode ist `CLAUDE_SDK_CAN_USE_TOOL_SHADOWED`. Zwei Konfigurationen lösen ihn aus: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:
59 59
60* `permissionMode: 'bypassPermissions'`, das jeden Aufruf, der den Berechtigungsmodus-Schritt erreicht, automatisch genehmigt, außer den [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes#actions-no-mode-auto-approves)60* `permissionMode: 'bypassPermissions'`, das jeden Aufruf automatisch genehmigt, der den Berechtigungsmodus-Schritt erreicht, außer den [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes#actions-no-mode-auto-approves)
61* Jeder bare `allowedTools`-Eintrag wie `"Read"`, der dieses gesamte Tool automatisch genehmigt, bevor der Callback konsultiert wird, außer den [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes#actions-no-mode-auto-approves)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](/docs/de/permission-modes#actions-no-mode-auto-approves)
62 62
63Einträge mit einem Spezifizierer wie `Bash(ls *)` und der `acceptEdits`-Modus lösen ihn nicht aus, und Allow-Regeln aus Einstellungsdateien sind für die Prüfung nicht sichtbar.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.
64 64
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](/docs/de/agent-sdk/hooks).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](/docs/de/agent-sdk/hooks).
66 66
67Diese Seite konzentriert sich auf **Allow- und Deny-Regeln** sowie **Berechtigungsmodi**. Für die anderen Schritte:67Diese Seite konzentriert sich auf **Allow- und Deny-Regeln** und **Berechtigungsmodi**. Für die anderen Schritte:
68 68
69* **Hooks:** Führen Sie benutzerdefinierten Code aus, um Tool-Anfragen zu genehmigen, abzulehnen oder zu ändern. Siehe [Ausführung mit Hooks steuern](/docs/de/agent-sdk/hooks).69* **Hooks:** Führen Sie benutzerdefinierten Code aus, um Tool-Anfragen zu erlauben, zu verweigern oder zu ändern. Siehe [Ausführung mit Hooks steuern](/docs/de/agent-sdk/hooks).
70* **canUseTool-Callback:** Fordern Sie Benutzer zur Laufzeit zur Genehmigung auf, wenn kein früherer Schritt den Aufruf löst. Siehe [Genehmigungen und Benutzereingaben handhaben](/docs/de/agent-sdk/user-input).70* **canUseTool Callback:** Fordern Sie Benutzer zur Laufzeit zur Genehmigung auf, wenn kein früherer Schritt den Aufruf auflöst. Siehe [Genehmigungen und Benutzereingaben verarbeiten](/docs/de/agent-sdk/user-input).
71 71
72<h2 id="allow-and-deny-rules">72<h2 id="allow-and-deny-rules">
73 Allow- und Deny-Regeln73 Allow- und Deny-Regeln
74</h2>74</h2>
75 75
76`allowed_tools` und `disallowed_tools` (TypeScript: `allowedTools` / `disallowedTools`) fügen Einträge zu den Allow- und Deny-Regellisten im obigen Auswertungsfluss hinzu. Wenn Sie eines der [Task-Tracking-Tools](/docs/de/agent-sdk/todo-tracking#model-availability) in `allowed_tools` benennen, aktiviert Claude Code auch die Sitzung. Jedes andere Tool, das nicht in `allowed_tools` aufgelistet ist, ist immer noch für Claude verfügbar, und ein Aufruf dazu, der eine Genehmigung benötigt, fällt durch zum Berechtigungsmodus. Deny-Regeln verhalten sich unterschiedlich, je nachdem, ob sie ein Tool benennen oder ein Muster innerhalb eines Tools eingrenzen.76`allowed_tools` und `disallowed_tools` (TypeScript: `allowedTools` / `disallowedTools`) fügen Einträge zu den Allow- und Deny-Regellisten im obigen Evaluierungsfluss hinzu. Wenn Sie eines der [Task-Tracking-Tools](/docs/de/agent-sdk/todo-tracking#model-availability) in `allowed_tools` benennen, aktiviert Claude Code auch die Sitzung dafür. Jedes andere Tool, das nicht in `allowed_tools` aufgelistet ist, ist weiterhin für Claude verfügbar, und ein Aufruf, der Genehmigung benötigt, fällt durch zum Genehmigungsmodus. Deny-Regeln verhalten sich unterschiedlich, je nachdem, ob sie ein Tool benennen oder ein Muster innerhalb eines Tools eingrenzen.
77 77
78| Option | Auswirkung |78| Option | Auswirkung |
79| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |79| :-------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
80| `allowed_tools=["Read", "Grep"]` | `Read` und `Grep` werden automatisch genehmigt. Andere Tools, die hier nicht aufgelistet sind, existieren immer noch, und Aufrufe dazu, die eine Genehmigung benötigen, fallen durch zum Berechtigungsmodus und `canUseTool`. |80| `allowed_tools=["Read", "Grep"]` | `Read` und `Grep` werden automatisch genehmigt. Andere Tools, die hier nicht aufgelistet sind, existieren weiterhin, und Aufrufe, die Genehmigung benötigen, fallen durch zum Genehmigungsmodus und `canUseTool`. |
81| `disallowed_tools=["Bash"]` | Die `Bash`-Tool-Definition wird aus der Anfrage entfernt. Claude sieht das Tool nicht und kann es nicht versuchen. |81| `disallowed_tools=["Bash"]` | Die `Bash`-Tool-Definition wird aus der Anfrage entfernt. Claude sieht das Tool nicht und kann es nicht versuchen. |
82| `disallowed_tools=["Bash(rm *)"]` | `Bash` bleibt verfügbar. Aufrufe, die `rm *` entsprechen, [wie geschrieben](/docs/de/permissions#bash-rule-limits), werden in jedem Berechtigungsmodus abgelehnt, einschließlich `bypassPermissions`. Andere `Bash`-Aufrufe, einschließlich `/bin/rm`, fallen durch zum Berechtigungsmodus. |82| `disallowed_tools=["Bash(rm *)"]` | `Bash` bleibt verfügbar. Aufrufe, die `rm *` [wie geschrieben](/docs/de/permissions#bash-rule-limits) entsprechen, werden in jedem Genehmigungsmodus abgelehnt, einschließlich `bypassPermissions`. Andere `Bash`-Aufrufe, einschließlich `/bin/rm`, fallen durch zum Genehmigungsmodus. |
83| `disallowed_tools=["*"]` | Jede Tool-Definition wird aus der Anfrage entfernt. Tool-Name-Globs werden in Deny-Regeln unterstützt: `"*"` entspricht jedem Tool und `"mcp__*"` entspricht jedem MCP-Tool über alle Server hinweg. |83| `disallowed_tools=["*"]` | Jede Tool-Definition wird aus der Anfrage entfernt. Tool-Name-Globs werden in Deny-Regeln unterstützt: `"*"` entspricht jedem Tool und `"mcp__*"` entspricht jedem MCP-Tool über alle Server hinweg. |
84 84
85Allow-Regeln akzeptieren Tool-Name-Globs nur nach einem literalen `mcp__<server>__`-Präfix. Das Server-Segment muss glob-frei sein, damit die Regel einen bestimmten Server benennt, den Sie konfiguriert haben: `mcp__puppeteer__*` entspricht jedem Tool vom `puppeteer`-Server, und `mcp__github__get_*` entspricht seinen `get_`-Tools. Ein unverankter Eintrag wie `allowed_tools=["*"]` oder `allowed_tools=["mcp__*"]` wird mit einer Startwarnmeldung ignoriert und genehmigt nichts automatisch.85Allow-Regeln akzeptieren Tool-Name-Globs nur nach einem literalen `mcp__<server>__`-Präfix. Das Server-Segment muss glob-frei sein, damit die Regel einen bestimmten Server benennt, den Sie konfiguriert haben: `mcp__puppeteer__*` entspricht jedem Tool vom `puppeteer`-Server, und `mcp__github__get_*` entspricht seinen `get_`-Tools. Ein unverankter Eintrag wie `allowed_tools=["*"]` oder `allowed_tools=["mcp__*"]` wird mit einer Startwarnmeldung ignoriert und genehmigt nichts automatisch.
86 86
87Begrenzte Regeln für `Read` und `Edit` verwenden ein Pfadmuster. `Edit(path)`-Regeln regeln alle integrierten Tools, die Dateien schreiben, einschließlich `Write` und `NotebookEdit`; eine `Write(path)`-Regel wird nie von den Dateiberechtigungsprüfungen erfasst.87Begrenzte Regeln für `Read` und `Edit` verwenden ein Pfadmuster. `Edit(path)`-Regeln regeln alle integrierten Tools, die Dateien schreiben, einschließlich `Write` und `NotebookEdit`; eine `Write(path)`-Regel wird niemals durch die Dateiberechtigungsprüfungen abgeglichen.
88 88
89Verwenden Sie `//path` für einen absoluten Dateisystempfad: Eine Deny-Regel von `Edit(//secrets/**)` blockiert Schreibvorgänge überall unter `/secrets` auf der Festplatte. Mit einem einzelnen führenden Schrägstrich verankert `Edit(/secrets/**)` stattdessen an der Quelle der Regel. Für Regeln, die durch `allowed_tools` oder `disallowed_tools` übergeben werden, bedeutet das das Arbeitsverzeichnis der Sitzung, sodass die Regel `/secrets` auf der Festplatte nicht blockiert. Siehe [Read- und Edit-Regeln](/docs/de/permissions#read-and-edit) für die vier Ankerformen und wie Regeln aus Einstellungsdateien aufgelöst werden.89Verwenden Sie `//path` für einen absoluten Dateisystempfad: eine Deny-Regel von `Edit(//secrets/**)` blockiert Schreibvorgänge überall unter `/secrets` auf der Festplatte. Mit einem einzelnen führenden Schrägstrich verankert `Edit(/secrets/**)` stattdessen an der Quelle der Regel. Für Regeln, die durch `allowed_tools` oder `disallowed_tools` übergeben werden, bedeutet das das Arbeitsverzeichnis der Sitzung, daher blockiert die Regel nicht `/secrets` auf der Festplatte. Siehe [Read- und Edit-Regeln](/docs/de/permissions#read-and-edit) für die vier Ankerformen und wie Regeln aus Einstellungsdateien aufgelöst werden.
90 90
91<Warning>91<Warning>
92 **Auto-genehmigte Tools erreichen `canUseTool` nie.** Ein Tool-Aufruf, der in einem früheren Schritt genehmigt wurde, durch `acceptEdits` oder `bypassPermissions`, oder durch eine Allow-Regel, überspringt Ihren `canUseTool`-Callback, sodass Berechtigungsprüfungen, die Sie dort durchführen, für dieses Tool stillschweigend umgangen werden. `AskUserQuestion`, MCP-Tools, die mit [`_meta["anthropic/requiresUserInteraction"]`](/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind, Connector-Tools, [die Ihre Organisation auf `ask` gesetzt hat](/docs/de/mcp#organization-controls-on-connector-tools), und `rm`- und `rmdir`-Entfernungen, die auf einen [kritischen Pfad](/docs/de/permission-modes#critical-paths) abzielen, erreichen den Callback immer noch, auch wenn eine Allow-Regel passt. Im `auto`-Modus gehen kritische-Pfad-Entfernungen stattdessen zum [Klassifizierer](/docs/de/permission-modes#eliminate-prompts-with-auto-mode), während die anderen hier aufgelisteten Aufrufe den Callback immer noch erreichen; das Klassifizierer-Routing erfordert Claude Code v2.1.218 oder später. Im `dontAsk`-Modus werden diese Aufrufe stattdessen abgelehnt, ohne den Callback aufzurufen.92 **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. `AskUserQuestion`, MCP-Tools, die mit [`_meta["anthropic/requiresUserInteraction"]`](/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind, Connector-Tools [die Ihre Organisation auf `ask` gesetzt hat](/docs/de/mcp#organization-controls-on-connector-tools), und `rm`- und `rmdir`-Entfernungen, die auf einen [kritischen Pfad](/docs/de/permission-modes#critical-paths) abzielen, erreichen immer noch den Callback, auch wenn eine Allow-Regel passt. Im `auto`-Modus gehen kritische-Pfad-Entfernungen zum [Klassifizierer](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) statt zum Callback, während die anderen hier aufgelisteten Aufrufe ihn immer noch erreichen; das Klassifizierer-Routing erfordert Claude Code v2.1.218 oder später. Im `dontAsk`-Modus werden diese Aufrufe stattdessen abgelehnt, ohne den Callback aufzurufen.
93 93
94 Die Abdeckung hängt von der Form des Eintrags ab: Ein einfacher Name wie `Read` oder `mcp__github__get_issue` genehmigt jeden Aufruf dieses Tools automatisch, abgesehen von den oben genannten Ausnahmen, während eine begrenzte Regel wie `Bash(npm test *)` nur übereinstimmende Aufrufe automatisch genehmigt und andere `Bash`-Aufrufe, die eine Genehmigung benötigen, immer noch zum Callback fallen. Für Prüfungen, die bei jedem Tool-Aufruf ausgeführt werden müssen, verwenden Sie einen [`PreToolUse`-Hook](/docs/de/agent-sdk/hooks): Hooks werden vor jedem anderen Schritt ausgeführt, und eine Hook-Ablehnung gilt auch im `bypassPermissions`-Modus.94 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, 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](/docs/de/agent-sdk/hooks): Hooks werden vor jedem anderen Schritt ausgeführt, und eine Hook-Ablehnung gilt auch im `bypassPermissions`-Modus.
95</Warning>95</Warning>
96 96
97Für einen gesperrten Agent kombinieren Sie `allowedTools` mit `permissionMode: "dontAsk"`:97Für einen abgesperrten Agent kombinieren Sie `allowedTools` mit `permissionMode: "dontAsk"`:
98 98
99```typescript theme={null}99```typescript theme={null}
100const options = {100const options = {
103};103};
104```104```
105 105
106Aufgelistete Tools werden genehmigt, abgesehen von den [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes#actions-no-mode-auto-approves), und jeder andere Aufruf, der eine Aufforderung auslösen würde, wird stattdessen abgelehnt. Aufrufe, die im `default`-Modus keine Genehmigung benötigen, werden ausgeführt, unabhängig davon, ob Sie sie aufgelistet haben, wie z. B. [schreibgeschützte Bash-Befehle](/docs/de/permissions#read-only-commands), Tools wie `Agent`, die vor dem Ausführen nicht fragen, und Dateileseoperationen in Ihren Arbeitsverzeichnissen. Um ein Tool vollständig außerhalb von Claudes Reichweite zu platzieren, fügen Sie seinen einfachen Namen zu `disallowedTools` hinzu.106Aufgelistete Tools werden genehmigt, außer den [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes#actions-no-mode-auto-approves), und jeder andere Aufruf, der sonst eine Aufforderung auslösen würde, wird stattdessen abgelehnt. Aufrufe, die im `default`-Modus keine Genehmigung benötigen, werden ausgeführt, unabhängig davon, ob Sie sie aufgelistet haben oder nicht, wie z. B. [schreibgeschützte Bash-Befehle](/docs/de/permissions#read-only-commands), Tools wie `Agent`, die vor dem Ausführen nicht fragen, und Dateileser in Ihren Arbeitsverzeichnissen. Um ein Tool vollständig außerhalb von Claudes Reichweite zu platzieren, fügen Sie seinen bloßen Namen zu `disallowedTools` hinzu.
107 107
108<Warning>108<Warning>
109 **`allowed_tools` beschränkt `bypassPermissions` nicht.** `allowed_tools` genehmigt die Tools, die Sie aufgelistet haben. Andere nicht aufgelistete Tools werden von keiner Allow-Regel erfasst und fallen durch zum Berechtigungsmodus, wo `bypassPermissions` sie genehmigt. Das Setzen von `allowed_tools=["Read"]` zusammen mit `permission_mode="bypassPermissions"` genehmigt immer noch jedes Tool, einschließlich `Bash`, `Write` und `Edit`. Wenn Sie `bypassPermissions` benötigen, aber bestimmte Tools blockieren möchten, verwenden Sie `disallowed_tools`.109 **`allowed_tools` schränkt `bypassPermissions` nicht ein.** `allowed_tools` genehmigt die Tools, die Sie aufgelistet haben, im Voraus. Andere nicht aufgelistete Tools werden nicht durch eine Allow-Regel abgeglichen und fallen durch zum Genehmigungsmodus, wo `bypassPermissions` sie genehmigt. Das Setzen von `allowed_tools=["Read"]` zusammen mit `permission_mode="bypassPermissions"` genehmigt immer noch jedes Tool, einschließlich `Bash`, `Write` und `Edit`. Wenn Sie `bypassPermissions` benötigen, aber bestimmte Tools blockiert haben möchten, verwenden Sie `disallowed_tools`.
110</Warning>110</Warning>
111 111
112Sie können Allow-, Deny- und Ask-Regeln auch deklarativ in `.claude/settings.json` konfigurieren. Diese Regeln werden gelesen, wenn die `project`-Einstellungsquelle aktiviert ist, was sie für Standard-`query()`-Optionen ist. Wenn Sie `setting_sources` (TypeScript: `settingSources`) explizit setzen, fügen Sie `"project"` ein, damit sie angewendet werden. Siehe [Berechtigungseinstellungen](/docs/de/settings-reference#permission-settings) für die Regelsyntax.112Sie können auch Allow-, Deny- und Ask-Regeln deklarativ in `.claude/settings.json` konfigurieren. Diese Regeln werden gelesen, wenn die `project`-Einstellungsquelle aktiviert ist, was sie für Standard-`query()`-Optionen ist. Wenn Sie `setting_sources` (TypeScript: `settingSources`) explizit setzen, schließen Sie `"project"` ein, damit sie angewendet werden. Siehe [Berechtigungseinstellungen](/docs/de/settings-reference#permission-settings) für die Regelsyntax.
113 113
114<h2 id="permission-modes">114<h2 id="permission-modes">
115 Berechtigungsmodi115 Berechtigungsmodi
116</h2>116</h2>
117 117
118Berechtigungsmodi bieten globale Kontrolle über die Tool-Nutzung durch Claude. Sie können den Berechtigungsmodus beim Aufrufen von `query()` setzen oder ihn dynamisch während Streaming-Sitzungen ändern.118Berechtigungsmodi bieten globale Kontrolle darüber, wie Claude Tools nutzt. Sie können den Berechtigungsmodus beim Aufrufen von `query()` festlegen oder ihn während Streaming-Sitzungen dynamisch ändern.
119 119
120<h3 id="available-modes">120<h3 id="available-modes">
121 Verfügbare Modi121 Verfügbare Modi
124Das SDK unterstützt diese Berechtigungsmodi:124Das SDK unterstützt diese Berechtigungsmodi:
125 125
126| Modus | Beschreibung | Tool-Verhalten |126| Modus | Beschreibung | Tool-Verhalten |
127| :------------------ | :----------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |127| :------------------ | :----------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
128| `default` | Standardberechtigungsverhalten | Keine modusgestützten automatischen Genehmigungen; Aufrufe, die Genehmigung benötigen und keine Allow-Regel erfüllen, lösen Ihren `canUseTool`-Callback aus |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 |
129| `dontAsk` | Ablehnung statt Nachfrage | Jeder Aufruf, der sonst eine Nachfrage auslösen würde, wird abgelehnt. Aufrufe, die von `allowed_tools` oder Regeln genehmigt sind, werden ausgeführt, ebenso wie Aufrufe, die im `default`-Modus keine Genehmigung benötigen; Connector-Tools [die Ihre Organisation auf `ask` gesetzt hat](/docs/de/mcp#organization-controls-on-connector-tools) und Tools, die Benutzerinteraktion erfordern, werden abgelehnt, auch wenn Sie sie vorab genehmigt haben, ebenso wie `rm` und `rmdir` Löschungen, die auf einen [kritischen Pfad](/docs/de/permission-modes#critical-paths) abzielen. `canUseTool` wird nie aufgerufen |129| `dontAsk` | Ablehnung statt Nachfrage | Jeder Aufruf, der sonst eine Nachfrage auslösen würde, wird abgelehnt. Aufrufe, die von `allowed_tools` oder Regeln genehmigt werden, und Aufrufe, die im `default`-Modus keine Genehmigung benötigen, werden ausgeführt; Connector-Tools [die Ihre Organisation auf `ask` gesetzt hat](/docs/de/mcp#organization-controls-on-connector-tools) und Tools, die Benutzerinteraktion erfordern, werden abgelehnt, auch wenn Sie diese vorab genehmigt haben, ebenso wie `rm` und `rmdir` Löschungen, die auf einen [kritischen Pfad](/docs/de/permission-modes#critical-paths) abzielen. `canUseTool` wird nie aufgerufen |
130| `acceptEdits` | Dateibearbeitungen automatisch akzeptieren | Dateibearbeitungen und [Dateisystemvorgänge](#accept-edits-mode-acceptedits) (`mkdir`, `rm`, `mv` usw.) werden automatisch genehmigt |130| `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, mit Ausnahme von [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes#actions-no-mode-auto-approves). Mit Vorsicht verwenden |131| `bypassPermissions` | Berechtigungsprüfungen umgehen | Tools werden ohne Berechtigungsaufforderungen ausgeführt, außer für die [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes#actions-no-mode-auto-approves). 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 angefordert |132| `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 genehmigt oder lehnt Berechtigungsaufforderungen ab. Siehe [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) für Verfügbarkeit |133| `auto` | Modellklassifizierte Genehmigungen | Ein Modellklassifizierer genehmigt oder lehnt Berechtigungsaufforderungen ab. Siehe [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) für Verfügbarkeit |
134 134
135<Warning>135<Warning>
136 **Subagent-Vererbung:** Ein Subagent wird im Berechtigungsmodus der übergeordneten Sitzung ausgeführt, es sei denn, Sie setzen `permissionMode` auf seiner [`AgentDefinition`](/docs/de/agent-sdk/typescript#agentdefinition) und die übergeordnete Sitzung befindet sich im `default`-, `dontAsk`- oder `plan`-Modus. Selbst dann wendet Claude Code nie einen `"bypassPermissions"`-Wert an. Ein Subagent wird nur dann im `bypassPermissions`-Modus ausgeführt, wenn die übergeordnete Sitzung selbst dies tut. Die `bypassPermissions`-Ausnahme erfordert Claude Code v2.1.267 oder später.136 **Subagent-Vererbung:** Ein Subagent wird im Berechtigungsmodus der übergeordneten Sitzung ausgeführt, es sei denn, Sie legen `permissionMode` auf seiner [`AgentDefinition`](/docs/de/agent-sdk/typescript#agentdefinition) fest und die übergeordnete Sitzung befindet sich im `default`-, `dontAsk`- oder `plan`-Modus. Auch dann wendet Claude Code nie einen `"bypassPermissions"`-Wert an. Ein Subagent wird nur dann im `bypassPermissions`-Modus ausgeführt, wenn die übergeordnete Sitzung selbst dies tut. Die `bypassPermissions`-Ausnahme erfordert Claude Code v2.1.267 oder später.
137 137
138 Subagents können unterschiedliche Systemaufforderungen und weniger eingeschränktes Verhalten als Ihr Hauptagent haben, daher erbt `bypassPermissions` ihnen vollständigen, autonomen Systemzugriff. Die [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes#actions-no-mode-auto-approves) gelten weiterhin.138 Subagents können unterschiedliche Systemaufforderungen und weniger eingeschränktes Verhalten als Ihr Hauptagent haben, daher gewährt die Vererbung von `bypassPermissions` ihnen vollständigen, autonomen Systemzugriff. Die [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes#actions-no-mode-auto-approves), gelten weiterhin.
139</Warning>139</Warning>
140 140
141<h3 id="set-permission-mode">141<h3 id="set-permission-mode">
142 Berechtigungsmodus setzen142 Berechtigungsmodus festlegen
143</h3>143</h3>
144 144
145Sie können den Berechtigungsmodus einmal beim Starten einer Abfrage setzen oder ihn dynamisch ändern, während die Sitzung aktiv ist.145Sie können den Berechtigungsmodus einmalig beim Starten einer Abfrage festlegen oder ihn dynamisch ändern, während die Sitzung aktiv ist.
146 146
147<Tabs>147<Tabs>
148 <Tab title="Zur Abfragezeit">148 <Tab title="Zum Abfragezeitpunkt">
149 Übergeben Sie `permission_mode` (Python) oder `permissionMode` (TypeScript) beim Erstellen einer Abfrage. Dieser Modus gilt für die gesamte Sitzung, es sei denn, er wird dynamisch geändert.149 Übergeben Sie `permission_mode` (Python) oder `permissionMode` (TypeScript) beim Erstellen einer Abfrage. Dieser Modus gilt für die gesamte Sitzung, es sei denn, er wird dynamisch geändert.
150 150
151 <CodeGroup>151 <CodeGroup>
190 </Tab>190 </Tab>
191 191
192 <Tab title="Während des Streaming">192 <Tab title="Während des Streaming">
193 Rufen Sie `set_permission_mode()` (Python) oder `setPermissionMode()` (TypeScript) auf, um den Modus während der Sitzung zu ändern. Der neue Modus wird sofort für alle nachfolgenden Tool-Anfragen wirksam. Dies ermöglicht es Ihnen, restriktiv zu beginnen und Berechtigungen zu lockern, wenn Vertrauen aufgebaut wird, z. B. zum Wechsel zu `acceptEdits` nach Überprüfung von Claudes anfänglichem Ansatz.193 Rufen Sie `set_permission_mode()` (Python) oder `setPermissionMode()` (TypeScript) auf, um den Modus während der Sitzung zu ändern. Der neue Modus wird sofort für alle nachfolgenden Tool-Anfragen wirksam. Dies ermöglicht es Ihnen, restriktiv zu beginnen und die Berechtigungen zu lockern, wenn Vertrauen aufgebaut wird, z. B. durch Wechsel zu `acceptEdits` nach Überprüfung von Claudes anfänglichem Ansatz.
194 194
195 <CodeGroup>195 <CodeGroup>
196 ```python Python theme={null}196 ```python Python theme={null}
251</h3>251</h3>
252 252
253<h4 id="accept-edits-mode-acceptedits">253<h4 id="accept-edits-mode-acceptedits">
254 Accept Edits-Modus (`acceptEdits`)254 Bearbeitungsmodus akzeptieren (`acceptEdits`)
255</h4>255</h4>
256 256
257Genehmigt automatisch Dateivorgänge, damit Claude Code ohne Aufforderung bearbeiten kann. Andere Tools (wie Bash-Befehle, die keine Dateisystemvorgänge sind) erfordern weiterhin normale Berechtigungen.257Genehmigt Dateivorgänge automatisch, damit Claude Code bearbeiten kann, ohne zu fragen. Andere Tools (wie Bash-Befehle, die keine Dateisystemvorgänge sind) erfordern weiterhin normale Berechtigungen.
258 258
259**Automatisch genehmigte Vorgänge:**259**Automatisch genehmigte Vorgänge:**
260 260
270**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.270**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.
271 271
272<h4 id="don’t-ask-mode-dontask">272<h4 id="don’t-ask-mode-dontask">
273 Don't Ask-Modus (`dontAsk`)273 Nicht-Fragen-Modus (`dontAsk`)
274</h4>274</h4>
275 275
276Konvertiert jede Berechtigungsaufforderung in eine Ablehnung, ohne `canUseTool` aufzurufen. Tools, die von `allowed_tools`, `settings.json`-Allow-Regeln oder einem Hook vorab genehmigt sind, werden normal ausgeführt, ebenso wie Aufrufe, die im `default`-Modus keine Genehmigung benötigen, wie Dateilesevorgänge in Ihren Arbeitsverzeichnissen und Aufrufe an `Agent`. Connector-Tools [die Ihre Organisation auf `ask` gesetzt hat](/docs/de/mcp#organization-controls-on-connector-tools), Tools, die Benutzerinteraktion erfordern, und `rm` und `rmdir` Löschungen, die auf einen [kritischen Pfad](/docs/de/permission-modes#critical-paths) abzielen, werden abgelehnt, auch wenn eine Allow-Regel stimmt. Ein `PreToolUse` Hook Allow hebt eine kritische Pfad-Löschung auch nicht auf.276Konvertiert jede Berechtigungsaufforderung in eine Ablehnung, ohne `canUseTool` aufzurufen. Tools, die von `allowed_tools`, `settings.json` Allow-Regeln oder einem Hook vorab genehmigt wurden, werden normal ausgeführt, ebenso wie Aufrufe, die im `default`-Modus keine Genehmigung benötigen, wie Dateilesevorgänge in Ihren Arbeitsverzeichnissen und Aufrufe an `Agent`. Connector-Tools [die Ihre Organisation auf `ask` gesetzt hat](/docs/de/mcp#organization-controls-on-connector-tools), Tools, die Benutzerinteraktion erfordern, und `rm` und `rmdir` Löschungen, die auf einen [kritischen Pfad](/docs/de/permission-modes#critical-paths) abzielen, werden abgelehnt, auch wenn eine Allow-Regel übereinstimmt. Ein `PreToolUse`-Hook-Allow hebt auch eine kritische Pfad-Löschung nicht auf.
277 277
278**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.278**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.
279 279
280<h4 id="bypass-permissions-mode-bypasspermissions">280<h4 id="bypass-permissions-mode-bypasspermissions">
281 Bypass Permissions-Modus (`bypassPermissions`)281 Berechtigungen umgehen-Modus (`bypassPermissions`)
282</h4>282</h4>
283 283
284Genehmigt automatisch Tool-Nutzungen ohne Aufforderungen, mit Ausnahme der in der Warnung unten aufgelisteten Fälle. Hooks werden weiterhin ausgeführt und können Vorgänge bei Bedarf blockieren.284Genehmigt 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.
285 285
286<Warning>286<Warning>
287 Mit äußerster Vorsicht verwenden. Claude hat in diesem Modus vollständigen Systemzugriff. Verwenden Sie nur in kontrollierten Umgebungen, in denen Sie allen möglichen Vorgängen vertrauen.287 Mit äußerster Vorsicht verwenden. Claude hat in diesem Modus vollständigen Systemzugriff. Verwenden Sie nur in kontrollierten Umgebungen, in denen Sie allen möglichen Vorgängen vertrauen.
288 288
289 `allowed_tools` beschränkt diesen Modus nicht. Jedes Tool wird genehmigt, nicht nur die, die Sie aufgelistet haben. Diese Kontrollen gelten weiterhin:289 `allowed_tools` beschränkt diesen Modus nicht. Jedes Tool wird genehmigt, nicht nur die, die Sie aufgelistet haben. Diese Kontrollen gelten weiterhin:
290 290
291 * Deny-Regeln, explizite `ask`-Regeln und Hooks werden vor der Modusüberprüfung ausgewertet und können ein Tool immer noch blockieren.291 * Deny-Regeln, explizite `ask`-Regeln und Hooks werden vor der Modusüberprüfung ausgewertet und können ein Tool weiterhin blockieren.
292 * Connector-Tools [die Ihre Organisation auf `ask` gesetzt hat](/docs/de/mcp#organization-controls-on-connector-tools), Tools, die Benutzerinteraktion erfordern, und `rm` und `rmdir` Löschungen, die auf einen [kritischen Pfad](/docs/de/permission-modes#critical-paths) abzielen, fallen weiterhin in Ihren `canUseTool`-Callback.292 * Connector-Tools [die Ihre Organisation auf `ask` gesetzt hat](/docs/de/mcp#organization-controls-on-connector-tools), Tools, die Benutzerinteraktion erfordern, und `rm` und `rmdir` Löschungen, die auf einen [kritischen Pfad](/docs/de/permission-modes#critical-paths) abzielen, fallen weiterhin in Ihren `canUseTool`-Callback.
293 * Die [Sicherheitsvorkehrungen für sitzungsübergreifendes Messaging](/docs/de/permission-modes#skip-all-checks-with-bypasspermissions-mode) gelten weiterhin.293 * Die [Sitzungsübergreifenden Messaging-Schutzmaßnahmen](/docs/de/permission-modes#skip-all-checks-with-bypasspermissions-mode) gelten weiterhin.
294</Warning>294</Warning>
295 295
296<h4 id="plan-mode-plan">296<h4 id="plan-mode-plan">
297 Plan-Modus (`plan`)297 Planungsmodus (`plan`)
298</h4>298</h4>
299 299
300Claude erkundet die Codebasis und erstellt einen Plan, ohne Ihre Quelldateien zu bearbeiten. Schreibgeschützte Tools werden wie im `default`-Berechtigungsmodus ausgeführt.300Claude erkundet die Codebasis und erstellt einen Plan, ohne Ihre Quelldateien zu bearbeiten. Read-only-Tools werden wie im `default`-Berechtigungsmodus ausgeführt.
301 301
302Dateibearbeitungen werden im Plan-Modus nie automatisch genehmigt, auch wenn eine Allow-Regel stimmt. Sie werden stattdessen durch Ihren `canUseTool`-Callback angefordert. Auf 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.302Dateibearbeitungen werden im Planungsmodus nie automatisch genehmigt, auch wenn eine Allow-Regel übereinstimmt. 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.
303 303
304Claude kann `AskUserQuestion` verwenden, um Anforderungen zu klären, bevor der Plan abgeschlossen wird. Siehe [Genehmigungen und Benutzereingaben handhaben](/docs/de/agent-sdk/user-input#handle-clarifying-questions) für die Behandlung dieser Aufforderungen.304Claude kann `AskUserQuestion` verwenden, um Anforderungen zu klären, bevor der Plan abgeschlossen wird. Siehe [Genehmigungen und Benutzereingaben verarbeiten](/docs/de/agent-sdk/user-input#handle-clarifying-questions) für die Verarbeitung dieser Aufforderungen.
305 305
306**Verwenden Sie, wenn:** Sie möchten, dass Claude Änderungen vorschlägt, ohne sie auszuführen, z. B. während der Code-Überprüfung oder wenn Sie Änderungen genehmigen müssen, bevor sie vorgenommen werden.306**Verwenden Sie, wenn:** 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.
307 307
308<h2 id="related-resources">308<h2 id="related-resources">
309 Verwandte Ressourcen309 Verwandte Ressourcen
310</h2>310</h2>
311 311
312Für die anderen Schritte im Berechtigungsauswertungsfluss:312Für die anderen Schritte im Genehmigungsbewertungsfluss:
313 313
314* [Genehmigungen und Benutzereingaben handhaben](/docs/de/agent-sdk/user-input): interaktive Genehmigungsaufforderungen und Klärungsfragen314* [Genehmigungen und Benutzereingaben verarbeiten](/docs/de/agent-sdk/user-input): interaktive Genehmigungsaufforderungen und Klärungsfragen
315* [Hooks-Anleitung](/docs/de/agent-sdk/hooks): Führen Sie benutzerdefinierten Code an Schlüsselpunkten im Agent-Lebenszyklus aus315* [Hooks-Anleitung](/docs/de/agent-sdk/hooks): Ausführung von benutzerdefiniertem Code an wichtigen Punkten im Agent-Lebenszyklus
316* [Berechtigungsregeln](/docs/de/settings-reference#permission-settings): deklarative Allow/Deny-Regeln in `settings.json`316* [Berechtigungsregeln](/docs/de/settings-reference#permission-settings): deklarative Allow/Deny-Regeln in `settings.json`