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 automatisch zu definieren, was 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](https://code.claude.com/docs/de/agent-sdk/user-input), um alles andere zur Laufzeit zu handhaben.
10 10
11## Wie Berechtigungen ausgewertet werden11## Wie Berechtigungen ausgewertet werden
12 12
14 14
15**1. Hooks**15**1. Hooks**
16 16
17Führen Sie [Hooks](/docs/de/agent-sdk/hooks.md) 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.17Führen Sie [Hooks](https://code.claude.com/docs/de/agent-sdk/hooks.md) 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.
18 18
19Ein `PreToolUse`-Hook, der `allow` zurückgibt, kann außerdem keinen `rm`- oder `rmdir`-Befehl genehmigen, dessen Ziel Claude Code als [kritischen Pfad](/docs/de/permission-modes.md#critical-paths) erkennt, etwa `rm -rf ~`. Was dieses `allow` im Plan-Modus bewirkt, erfahren Sie unter [Hook-Genehmigungen im Plan-Modus](/docs/de/permissions.md#hook-approvals-in-plan-mode).19Ein `PreToolUse`-Hook, der `allow` zurückgibt, kann außerdem keinen `rm`- oder `rmdir`-Befehl genehmigen, dessen Ziel Claude Code als [kritischen Pfad](https://code.claude.com/docs/de/permission-modes.md#critical-paths) erkennt, etwa `rm -rf ~`. Was dieses `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).
20 20
21**2. Deny-Regeln**21**2. Deny-Regeln**
22 22
23Prüfen Sie `deny` Regeln (aus `disallowed_tools` und [settings.json](/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.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.
24 24
25**3. Ask-Regeln**25**3. Ask-Regeln**
26 26
27Prüfen Sie `ask` Regeln aus [settings.json](/docs/de/settings-reference.md#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.27Prüfen Sie `ask` Regeln aus [settings.json](https://code.claude.com/docs/de/settings-reference.md#permission-settings). Wenn eine Ask-Regel zutrifft, fällt der Aufruf in Ihren [`canUseTool` Callback](https://code.claude.com/docs/de/agent-sdk/user-input) zur Bestätigung, auch im `bypassPermissions` Modus.
28 28
29Tools, 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.29Tools, die Benutzerinteraktion erfordern, verhalten sich auf die gleiche Weise: `AskUserQuestion` und MCP-Tools, deren Server [`_meta["anthropic/requiresUserInteraction"]`](https://code.claude.com/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.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.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.
32 32
33**4. Berechtigungsmodus**33**4. Berechtigungsmodus**
34 34
35Wenden Sie den aktiven [Berechtigungsmodus](#permission-modes) an:35Wenden Sie den aktiven [Berechtigungsmodus](#permission-modes) an:
36 36
37* Im `bypassPermissions` Modus genehmigt Claude Code alles, das diesen Schritt erreicht, außer erkannten [Entfernungen kritischer Pfade](/docs/de/permission-modes.md#critical-paths), die stattdessen weitergeleitet werden.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.
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 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.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 41
42**5. Allow-Regeln**42**5. Allow-Regeln**
43 43
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](/docs/de/permissions.md#read-only-commands).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).
45 45
46Erkannte [Entfernungen kritischer Pfade](/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](/docs/de/permission-modes.md#critical-path-removals-in-each-permission-mode) listet auf, was jeder Modus mit ihnen tut.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.
47 47
48Eine Allow-Regel genehmigt keinen Lesezugriff auf einen [Netzwerkpfad](/docs/de/permissions.md#network-paths).48Eine Allow-Regel genehmigt keinen Lesezugriff auf einen [Netzwerkpfad](https://code.claude.com/docs/de/permissions.md#network-paths).
49 49
50**6. canUseTool Callback**50**6. canUseTool Callback**
51 51
52Wenn 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, wobei ein von Ihnen installierter [Mod](/docs/de/plugins/mods/overview.md) [einige solcher Aufrufe](/docs/de/permissions.md#precedence-among-rules-hooks-and-mods) dennoch genehmigen kann.52Wenn nicht durch einen der oben genannten Punkte aufgelöst, rufen Sie Ihren [`canUseTool` Callback](https://code.claude.com/docs/de/agent-sdk/user-input) zur Entscheidung auf. Im `dontAsk` Modus wird dieser Schritt übersprungen und das Tool wird abgelehnt, wobei ein von Ihnen installierter [Mod](https://code.claude.com/docs/de/plugins/mods/overview.md) [einige solcher Aufrufe](https://code.claude.com/docs/de/permissions.md#precedence-among-rules-hooks-and-mods) dennoch genehmigen kann.
53 53
54Im 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.54Im TypeScript SDK, wenn Sie [`permissionPrompts: 'none'`](https://code.claude.com/docs/de/agent-sdk/typescript#options) setzen, wird Ihr Callback in diesem Schritt nicht aufgerufen. Ein [`PermissionRequest` Hook](https://code.claude.com/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.
55 55
5656
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, wenn die Abfrage konstruiert wird. Der Code der Warnung ist `CLAUDE_SDK_CAN_USE_TOOL_SHADOWED`. Zwei Konfigurationen lösen sie 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 automatisch genehmigt, der den Berechtigungsmodus-Schritt erreicht, außer den [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes.md#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](https://code.claude.com/docs/de/permission-modes.md#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.md#actions-no-mode-auto-approves) und [Lesezugriffen auf Netzwerkpfade](/docs/de/permissions.md#network-paths)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)
62 62
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.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](https://code.claude.com/docs/de/agent-sdk/hooks).
66 66
67Diese Seite konzentriert sich auf **Allow- und Deny-Regeln** und **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 erlauben, zu verweigern oder zu ändern. Siehe [Ausführung mit Hooks steuern](/docs/de/agent-sdk/hooks.md).69* **Hooks:** Führen Sie benutzerdefinierten Code aus, um Tool-Anfragen zu erlauben, zu verweigern oder zu ändern. Siehe [Ausführung mit Hooks steuern](https://code.claude.com/docs/de/agent-sdk/hooks.md).
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.md).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](https://code.claude.com/docs/de/agent-sdk/user-input.md).
71 71
72## Allow- und Deny-Regeln72## Allow- und Deny-Regeln
73 73
74`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.md#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.74`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](https://code.claude.com/docs/de/agent-sdk/todo-tracking.md#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.
75 75
76| Option | Auswirkung |76| Option | Auswirkung |
77| :- | :- |77| :- | :- |
78| `allowed_tools=["Read", "Grep"]` | `Read` und `Grep` werden automatisch genehmigt, abgesehen von [Lesezugriffen auf Netzwerkpfade](/docs/de/permissions.md#network-paths). Andere Tools, die hier nicht aufgelistet sind, existieren weiterhin, und Aufrufe, die Genehmigung benötigen, fallen durch zum Berechtigungsmodus und `canUseTool`. |78| `allowed_tools=["Read", "Grep"]` | `Read` und `Grep` werden automatisch genehmigt, abgesehen von [Lesezugriffen auf Netzwerkpfade](https://code.claude.com/docs/de/permissions.md#network-paths). Andere Tools, die hier nicht aufgelistet sind, existieren weiterhin, und Aufrufe, die Genehmigung benötigen, fallen durch zum Berechtigungsmodus und `canUseTool`. |
79| `disallowed_tools=["Bash"]` | Die `Bash`-Tool-Definition wird aus der Anfrage entfernt. Claude sieht das Tool nicht und kann es nicht versuchen. |79| `disallowed_tools=["Bash"]` | Die `Bash`-Tool-Definition wird aus der Anfrage entfernt. Claude sieht das Tool nicht und kann es nicht versuchen. |
80| `disallowed_tools=["Bash(rm *)"]` | `Bash` bleibt verfügbar. Aufrufe, die `rm *` [wie geschrieben](/docs/de/permissions.md#bash-rule-limits) entsprechen, werden in jedem Genehmigungsmodus abgelehnt, einschließlich `bypassPermissions`. Andere `Bash`-Aufrufe, einschließlich `/bin/rm`, fallen durch zum Genehmigungsmodus. |80| `disallowed_tools=["Bash(rm *)"]` | `Bash` bleibt verfügbar. Aufrufe, die `rm *` [wie geschrieben](https://code.claude.com/docs/de/permissions.md#bash-rule-limits) entsprechen, werden in jedem Genehmigungsmodus abgelehnt, einschließlich `bypassPermissions`. Andere `Bash`-Aufrufe, einschließlich `/bin/rm`, fallen durch zum Genehmigungsmodus. |
81| `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. |81| `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. |
82 82
83Allow-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 unverankerter Eintrag wie `allowed_tools=["*"]` oder `allowed_tools=["mcp__*"]` wird ignoriert und genehmigt nichts automatisch.83Allow-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 unverankerter Eintrag wie `allowed_tools=["*"]` oder `allowed_tools=["mcp__*"]` wird ignoriert und genehmigt nichts automatisch.
84 84
85Begrenzte 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.85Begrenzte 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.
86 86
87Verwenden 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.md#read-and-edit) für die vier Ankerformen und wie Regeln aus Einstellungsdateien aufgelöst werden.87Verwenden 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](https://code.claude.com/docs/de/permissions.md#read-and-edit) für die vier Ankerformen und wie Regeln aus Einstellungsdateien aufgelöst werden.
88 88
89> [!WARNING]89> [!WARNING]
90>90>
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.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.
92>92>
93> Eine Allow-Regel genehmigt niemals automatisch `AskUserQuestion`, MCP-Tools, die mit [`_meta["anthropic/requiresUserInteraction"]`](/docs/de/mcp#require-approval-for-a-specific-tool) gekennzeichnet sind, Konnektor-Tools, [die Ihre Organisation auf `ask` gesetzt hat](/docs/de/mcp#organization-controls-on-connector-tools), oder erkannte `rm`- und `rmdir`-[Entfernungen kritischer Pfade](/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](/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](/docs/de/permission-modes.md#critical-paths).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).
94>94>
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](/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](/docs/de/agent-sdk/hooks): Hooks werden vor jedem anderen Schritt ausgeführt, und eine Hook-Ablehnung gilt auch im `bypassPermissions`-Modus.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.
96 96
97Für einen abgesperrten Agent kombinieren Sie `allowedTools` mit `permissionMode: "dontAsk"`:97Für einen abgesperrten Agent kombinieren Sie `allowedTools` mit `permissionMode: "dontAsk"`:
98 98
103};103};
104```104```
105 105
106Aufgelistete Tools werden genehmigt, außer den [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes.md#actions-no-mode-auto-approves), und [Lesezugriffen auf Netzwerkpfade](/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](/docs/de/plugins/mods/overview.md) [einige dieser Aufrufe](/docs/de/permissions.md#precedence-among-rules-hooks-and-mods) dennoch genehmigen kann.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.
107 107
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](/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.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.
109 109
110> [!WARNING]110> [!WARNING]
111>111>
112> **`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`.112> **`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`.
113 113
114Sie 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.md#permission-settings) für die Regelsyntax.114Sie 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](https://code.claude.com/docs/de/settings-reference.md#permission-settings) für die Regelsyntax.
115 115
116## Berechtigungsmodi116## Berechtigungsmodi
117 117
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.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
120Ab Claude Code v2.1.302 startet Ihre App im `default`-Modus, sofern Sie keinen Berechtigungsmodus festlegen und sie keinen aus [`permissions.defaultMode`](/docs/de/settings-reference#permissions-defaultmode) in ihren Einstellungsdateien erhält. Im `default`-Modus lehnt Claude Code jeden Tool-Aufruf ab, der eine Genehmigung benötigt, es sei denn, Sie genehmigen ihn über eine Allow-Regel, einen Hook, einen `canUseTool`-Callback oder ein Berechtigungsabfrage-Tool. Wenn Tool-Aufrufe abgelehnt werden, siehe [Tool-Aufrufe in `claude -p`- und Agent SDK-Ausführungen abgelehnt](/docs/de/permission-modes#which-mode-a-non-interactive-run-starts-in).120Ab Claude Code v2.1.302 startet Ihre App im `default`-Modus, sofern Sie keinen Berechtigungsmodus festlegen und sie keinen aus [`permissions.defaultMode`](https://code.claude.com/docs/de/settings-reference#permissions-defaultmode) in ihren Einstellungsdateien erhält. Im `default`-Modus lehnt Claude Code jeden Tool-Aufruf ab, der eine Genehmigung benötigt, es sei denn, Sie genehmigen ihn über eine Allow-Regel, einen Hook, einen `canUseTool`-Callback oder ein Berechtigungsabfrage-Tool. Wenn Tool-Aufrufe abgelehnt werden, siehe [Tool-Aufrufe in `claude -p`- und Agent SDK-Ausführungen abgelehnt](https://code.claude.com/docs/de/permission-modes#which-mode-a-non-interactive-run-starts-in).
121 121
122### Verfügbare Modi122### Verfügbare Modi
123 123
126| Modus | Beschreibung | Tool-Verhalten |126| Modus | Beschreibung | Tool-Verhalten |
127| :- | :- | :- |127| :- | :- | :- |
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 |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, ohne `canUseTool` aufzurufen, wobei ein von Ihnen installierter [Mod](/docs/de/plugins/mods/overview.md) [einige dieser Aufrufe](/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](/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) |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) |
130| `acceptEdits` | Dateibearbeitungen automatisch akzeptieren | Dateibearbeitungen und [Dateisystemoperationen](#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, außer für die [Aktionen, die kein Modus automatisch genehmigt](/docs/de/permission-modes.md#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](https://code.claude.com/docs/de/permission-modes.md#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 abgefragt |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 überprüft Aktionen wie Shell-Befehle und Netzwerkanfragen und genehmigt oder blockiert jede überprüfte Aktion. Siehe [Auto-Modus](/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) für Verfügbarkeit und die Entscheidungsreihenfolge |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 |
134 134
135> [!WARNING]135> [!WARNING]
136>136>
137> **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 und wendet einen `"auto"`-Wert nur dann an, wenn [der Auto-Modus](/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) für diesen Subagenten verfügbar ist. 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> **Subagent-Vererbung:** Wenn sich Ihre Hauptsitzung im [Plan-Modus](https://code.claude.com/docs/de/permission-modes.md#analyze-before-you-edit-with-plan-mode) befindet, wird ein Subagent, dessen [`AgentDefinition`](https://code.claude.com/docs/de/agent-sdk/typescript#agentdefinition) `permissionMode: "acceptEdits"` festlegt, dennoch im Plan-Modus ausgeführt. Die `Edit`- und `Write`-Aufrufe dieses Subagenten auf Ihre Quelldateien gehen weiterhin an Ihren `canUseTool`-Callback. Der Plan-Modus gilt auch für die von Ihnen definierten Subagenten, sodass das Übergeben von Arbeit an einen Subagenten die vorherige Überprüfung des Plans nicht umgeht.
138>138>
139> 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.md#actions-no-mode-auto-approves), gelten weiterhin.139> Der Subagent erbt `plan`, `acceptEdits`, `auto` oder `bypassPermissions` von der Hauptsitzung, und unter einer Hauptsitzung im `default`- oder `dontAsk`-Modus wird er in dem von Ihnen festgelegten Modus ausgeführt. Auch dann wendet Claude Code nie einen `"bypassPermissions"`-Wert an und wendet einen `"auto"`-Wert nur dann an, wenn [der Auto-Modus](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode) für diesen Subagenten verfügbar ist. Die `bypassPermissions`-Ausnahme erfordert Claude Code v2.1.267 oder später.
140>
141> 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](https://code.claude.com/docs/de/permission-modes.md#actions-no-mode-auto-approves), gelten weiterhin.
140 142
141### Berechtigungsmodus festlegen143### Berechtigungsmodus festlegen
142 144
253 255
254* An einem Pfad außerhalb dieses Bereichs arbeitet256* An einem Pfad außerhalb dieses Bereichs arbeitet
255* In einen geschützten Pfad schreibt257* In einen geschützten Pfad schreibt
256* Einen Pfad, den Claude Code als [kritischen Pfad](/docs/de/permission-modes.md#critical-paths) erkennt, mit `rm` oder `rmdir` löscht258* 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
257 259
258**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.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.
259 261
260#### Nicht-Fragen-Modus (`dontAsk`)262#### Nicht-Fragen-Modus (`dontAsk`)
261 263
262Konvertiert jede Berechtigungsabfrage in eine Ablehnung, ohne `canUseTool` aufzurufen, wobei ein von Ihnen installierter [Mod](/docs/de/plugins/mods/overview.md) [einige dieser Aufrufe](/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`.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`.
263 265
264Konnektor-Tools, [die Ihre Organisation auf `ask` gesetzt hat](/docs/de/mcp#organization-controls-on-connector-tools), Tools, die Benutzerinteraktion erfordern, [Lesezugriffe auf Netzwerkpfade](/docs/de/permissions.md#network-paths) und erkannte [Löschungen kritischer Pfade](/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](/docs/de/permission-modes.md#critical-paths).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).
265 267
266**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.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.
267 269
268#### Berechtigungen umgehen-Modus (`bypassPermissions`)270#### Berechtigungen umgehen-Modus (`bypassPermissions`)
269 271
270Genehmigt 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](/docs/de/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) zu starten, und die Abfrage schlägt vor dem ersten Turn fehl.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.
271 273
272> [!WARNING]274> [!WARNING]
273>275>
276> `allowed_tools` beschränkt diesen Modus nicht. Jedes Tool wird genehmigt, nicht nur die, die Sie aufgelistet haben. Diese Kontrollen gelten weiterhin:278> `allowed_tools` beschränkt diesen Modus nicht. Jedes Tool wird genehmigt, nicht nur die, die Sie aufgelistet haben. Diese Kontrollen gelten weiterhin:
277>279>
278> * Deny-Regeln, explizite `ask`-Regeln und Hooks werden vor der Modusüberprüfung ausgewertet und können ein Tool weiterhin blockieren.280> * Deny-Regeln, explizite `ask`-Regeln und Hooks werden vor der Modusüberprüfung ausgewertet und können ein Tool weiterhin blockieren.
279> * Konnektor-Tools, [die Ihre Organisation auf `ask` gesetzt hat](/docs/de/mcp#organization-controls-on-connector-tools), Tools, die Benutzerinteraktion erfordern, und erkannte [Löschungen kritischer Pfade](/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](/docs/de/permission-modes.md#critical-paths).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).
280> * Die [Sitzungsübergreifenden Messaging-Schutzmaßnahmen](/docs/de/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) gelten weiterhin.282> * Die [Sitzungsübergreifenden Messaging-Schutzmaßnahmen](https://code.claude.com/docs/de/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) gelten weiterhin.
281 283
282#### Planungsmodus (`plan`)284#### Planungsmodus (`plan`)
283 285
287 289
288Wenn 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.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.
289 291
290Claude kann `AskUserQuestion` verwenden, um Anforderungen zu klären, bevor der Plan abgeschlossen wird. Siehe [Genehmigungen und Benutzereingaben verarbeiten](/docs/de/agent-sdk/user-input.md#handle-clarifying-questions) für die Verarbeitung dieser Aufforderungen.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.
291 293
292**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.294**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.
293 295
294#### Auto-Modus (`auto`)296#### Auto-Modus (`auto`)
295 297
296Ein Klassifikatormodell überprüft Aktionen wie Shell-Befehle und Netzwerkanfragen, bevor sie ausgeführt werden, und erlaubt oder blockiert jede überprüfte Aktion. Welche Modelle und Anbieter der Auto-Modus voraussetzt und in welcher Reihenfolge er Aktionen bewertet, erfahren Sie unter [Berechtigungsabfragen mit dem Auto-Modus vermeiden](/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode).298Ein Klassifikatormodell überprüft Aktionen wie Shell-Befehle und Netzwerkanfragen, bevor sie ausgeführt werden, und erlaubt oder blockiert jede überprüfte Aktion. Welche Modelle und Anbieter der Auto-Modus voraussetzt und in welcher Reihenfolge er Aktionen bewertet, erfahren Sie unter [Berechtigungsabfragen mit dem Auto-Modus vermeiden](https://code.claude.com/docs/de/permission-modes.md#eliminate-prompts-with-auto-mode).
297 299
298Wenn Sie eine Sitzung im Auto-Modus mit [`set_model()`](/docs/de/agent-sdk/python#claudesdkclient), [`setModel()`](/docs/de/agent-sdk/typescript#query-object) oder [`applyFlagSettings()`](/docs/de/agent-sdk/typescript#applyflagsettings) auf ein Modell umstellen, das der Auto-Modus nicht unterstützt, wechselt die Sitzung in den `default`-Modus:300Wenn Sie eine Sitzung im Auto-Modus mit [`set_model()`](https://code.claude.com/docs/de/agent-sdk/python#claudesdkclient), [`setModel()`](https://code.claude.com/docs/de/agent-sdk/typescript#query-object) oder [`applyFlagSettings()`](https://code.claude.com/docs/de/agent-sdk/typescript#applyflagsettings) auf ein Modell umstellen, das der Auto-Modus nicht unterstützt, wechselt die Sitzung in den `default`-Modus:
299 301
300* **Was Sie sehen**: eine `system`-Nachricht mit dem Subtyp `status` und `permissionMode` auf `"default"` gesetzt, die das TypeScript SDK als [`SDKStatusMessage`](/docs/de/agent-sdk/typescript#sdkstatusmessage) typisiert. Ab diesem Zeitpunkt erreichen Aufrufe, die eine Genehmigung benötigen und keine Allow-Regel erfüllen, Ihren `canUseTool`-Callback.302* **Was Sie sehen**: eine `system`-Nachricht mit dem Subtyp `status` und `permissionMode` auf `"default"` gesetzt, die das TypeScript SDK als [`SDKStatusMessage`](https://code.claude.com/docs/de/agent-sdk/typescript#sdkstatusmessage) typisiert. Ab diesem Zeitpunkt erreichen Aufrufe, die eine Genehmigung benötigen und keine Allow-Regel erfüllen, Ihren `canUseTool`-Callback.
301* **Zurück zum Auto-Modus**: Wechseln Sie zu einem unterstützten Modell und rufen Sie dann `set_permission_mode("auto")` oder `setPermissionMode("auto")` auf. Wenn Sie das Modell zurückwechseln, ohne diesen Aufruf auszuführen, bleibt die Sitzung im `default`-Modus. Solange das nicht unterstützte Modell aktiv ist, schlägt der Aufruf mit `Cannot set permission mode to auto: auto mode unavailable for this model` fehl.303* **Zurück zum Auto-Modus**: Wechseln Sie zu einem unterstützten Modell und rufen Sie dann `set_permission_mode("auto")` oder `setPermissionMode("auto")` auf. Wenn Sie das Modell zurückwechseln, ohne diesen Aufruf auszuführen, bleibt die Sitzung im `default`-Modus. Solange das nicht unterstützte Modell aktiv ist, schlägt der Aufruf mit `Cannot set permission mode to auto: auto mode unavailable for this model` fehl.
302 304
303Der Wechsel in den `default`-Modus nach einem Aufruf von `set_model()`, `setModel()` oder `applyFlagSettings()` erfordert Claude Code v2.1.299 oder später.305Der Wechsel in den `default`-Modus nach einem Aufruf von `set_model()`, `setModel()` oder `applyFlagSettings()` erfordert Claude Code v2.1.299 oder später.
306 308
307Für die anderen Schritte im Genehmigungsbewertungsfluss:309Für die anderen Schritte im Genehmigungsbewertungsfluss:
308 310
309* [Genehmigungen und Benutzereingaben verarbeiten](/docs/de/agent-sdk/user-input.md): interaktive Genehmigungsaufforderungen und Klärungsfragen311* [Genehmigungen und Benutzereingaben verarbeiten](https://code.claude.com/docs/de/agent-sdk/user-input.md): interaktive Genehmigungsaufforderungen und Klärungsfragen
310* [Hooks-Anleitung](/docs/de/agent-sdk/hooks.md): Ausführung von benutzerdefiniertem Code an wichtigen Punkten im Agent-Lebenszyklus312* [Hooks-Anleitung](https://code.claude.com/docs/de/agent-sdk/hooks.md): Ausführung von benutzerdefiniertem Code an wichtigen Punkten im Agent-Lebenszyklus
311* [Berechtigungsregeln](/docs/de/settings-reference.md#permission-settings): deklarative Allow/Deny-Regeln in `settings.json`313* [Berechtigungsregeln](https://code.claude.com/docs/de/settings-reference.md#permission-settings): deklarative Allow/Deny-Regeln in `settings.json`