> ## Documentation Index
> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Tools-Referenz

> Vollständige Referenz für die Tools, die Claude Code verwenden kann, einschließlich Berechtigungsanforderungen und Verhalten pro Tool.

Claude Code hat Zugriff auf eine Reihe von integrierten Tools, die ihm helfen, Ihre Codebasis zu verstehen und zu ändern. Die Tool-Namen sind die exakten Zeichenketten, die Sie in [Berechtigungsregeln](/docs/de/permissions#tool-specific-permission-rules), [Subagent-Tool-Listen](/docs/de/sub-agents) und [Hook-Matchern](/docs/de/hooks) verwenden.

Um zu steuern, welche Tools Claude verwenden kann und wann er zuerst fragt, konfigurieren Sie [Berechtigungsregeln](/docs/de/permissions#tool-specific-permission-rules) in Ihren Einstellungen, [Hooks](/docs/de/hooks) oder einer [Tool-Liste eines Subagenten](/docs/de/sub-agents#supported-frontmatter-fields). Siehe [Tools mit Berechtigungsregeln und Hooks konfigurieren](#configure-tools-with-permission-rules-and-hooks) für jeden Ort, der einen Tool-Namen akzeptiert.

Um benutzerdefinierte Tools hinzuzufügen, verbinden Sie einen [MCP-Server](/docs/de/mcp). Um Claude mit wiederverwendbaren Prompt-basierten Workflows zu erweitern, schreiben Sie einen [Skill](/docs/de/skills), der über das vorhandene `Skill`-Tool ausgeführt wird, anstatt einen neuen Tool-Eintrag hinzuzufügen.

<Info>
  Im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) entscheidet ein Klassifizierer die meisten Berechtigungsaufforderungen anstelle von Ihnen. Die Spalte `Berechtigung erforderlich` zeigt, ob das Tool im [Manuellen Modus](/docs/de/permission-modes) für Pfade im Arbeitsverzeichnis auffordert. Datei-Zugriffs-Tools, die mit Nein gekennzeichnet sind, einschließlich `Read`, `Grep` und `Glob`, fordern weiterhin für Pfade außerhalb des [Arbeitsverzeichnisses und zusätzlicher Verzeichnisse](/docs/de/permissions#working-directories) auf. `Bash` ist mit Ja gekennzeichnet, führt aber einen integrierten Satz von [schreibgeschützten Befehlen](/docs/de/permissions#read-only-commands) ohne Aufforderung aus.
</Info>

| Tool | Beschreibung | Berechtigung erforderlich |
| :- | :- | :- |
| `Agent` | Erzeugt einen [Subagenten](/docs/de/sub-agents) mit seinem eigenen Kontextfenster, um eine Aufgabe zu bewältigen. Mit [Agent-Teams](/docs/de/agent-teams) aktiviert, kann ein Aufruf, der einen `name` trägt, einen [Teamkollegen](/docs/de/agent-teams#how-claude-starts-agent-teams) starten. Siehe [Agent-Tool-Verhalten](#agent-tool-behavior) | Nein |
| `Artifact` | Veröffentlicht eine HTML- oder Markdown-Datei als [Artefakt](/docs/de/artifacts): eine private, interaktive Seite auf claude.ai. Sie können sie mit einem öffentlichen Link teilen oder in Ihrer Organisation auf Team- und Enterprise-Plänen, wo öffentliches Teilen erfordert, dass ein Besitzer es [aktiviert](/docs/de/artifacts#control-public-sharing). Erfordert einen Pro-, Max-, Team- oder Enterprise-Plan und `/login`-Authentifizierung; siehe [Verfügbarkeit](/docs/de/artifacts#availability) | Ja |
| `AskUserQuestion` | Stellt Multiple-Choice-Fragen, um Anforderungen zu sammeln oder Mehrdeutigkeit zu klären. Fragen bleiben standardmäßig offen, bis Sie sie beantworten. Siehe [AskUserQuestion-Tool-Verhalten](#askuserquestion-tool-behavior) | Nein |
| `Bash` | Führt Shell-Befehle in Ihrer Umgebung aus. Siehe [Bash-Tool-Verhalten](#bash-tool-behavior) | Ja |
| `CronCreate` | Plant eine wiederkehrende oder einmalige Aufforderung innerhalb der aktuellen Sitzung. Aufgaben sind sitzungsbegrenzt und werden bei `--resume` oder `--continue` wiederhergestellt, wenn sie nicht abgelaufen sind. Siehe [geplante Aufgaben](/docs/de/scheduled-tasks) | Nein |
| `CronDelete` | Bricht eine geplante Aufgabe nach ID ab | Nein |
| `CronList` | Listet alle geplanten Aufgaben in der Sitzung auf | Nein |
| `Edit` | Nimmt gezielte Änderungen an bestimmten Dateien vor. Siehe [Edit-Tool-Verhalten](#edit-tool-behavior) | Ja |
| `EndConversation` | Beendet die Sitzung in seltenen Fällen von anhaltendem missbräuchlichem Input oder wenn Sie Claude auffordern, das Tool zu demonstrieren. Erfordert Claude Code v2.1.213 oder später. Siehe [EndConversation-Tool-Verhalten](#endconversation-tool-behavior) | Nein |
| `EnterPlanMode` | Wechselt in den Plan Mode, um einen Ansatz vor dem Codieren zu entwerfen | Nein |
| `EnterWorktree` | Erstellt einen isolierten [Git-Worktree](/docs/de/worktrees) und wechselt hinein. Übergeben Sie einen `path`, um stattdessen in einen vorhandenen Worktree zu wechseln. Beim ersten Eintritt kann das Ziel ein Worktree des aktuellen Repositorys oder in einem Multi-Repo-Workspace ein darin verschachteltes Repositorys sein. Vor v2.1.203 wurde ein Worktree eines verschachtelten Repositorys abgelehnt. Ein `path` außerhalb von `.claude/worktrees/` fordert Ihre Genehmigung auf, bevor Sie eintreten, da er das Arbeitsverzeichnis und den Schreibzugriff der Sitzung an diesen Ort verschiebt. Die Erstellung neuer Worktrees und Pfade unter `.claude/worktrees/` fordern nicht auf. Vor v2.1.206 trat Claude Pfaden außerhalb von `.claude/worktrees/` ohne Aufforderung bei. Aus einer Worktree-Sitzung oder von einem Subagenten mit einem angehefteten Arbeitsverzeichnis wie [`isolation: worktree`](/docs/de/sub-agents#supported-frontmatter-fields) ist nur die `path`-Form verfügbar und das Ziel muss unter `.claude/worktrees/` des Repositorys der Sitzung liegen | Ja |
| `ExitPlanMode` | Präsentiert einen Plan zur Genehmigung und beendet den Plan Mode | Ja |
| `ExitWorktree` | Beendet eine Worktree-Sitzung und kehrt zum ursprünglichen Verzeichnis zurück. Nicht verfügbar für Subagenten, die bereits in ihrem eigenen Arbeitsverzeichnis ausgeführt werden, z. B. mit [`isolation: worktree`](/docs/de/sub-agents#supported-frontmatter-fields) | Nein |
| `Glob` | Findet Dateien basierend auf Musterabgleich. Standardmäßig auf macOS, Linux und WSL nicht vorhanden. Siehe [Glob-Tool-Verhalten](#glob-tool-behavior) | Nein |
| `Grep` | Sucht nach Mustern in Dateiinhalten. Standardmäßig auf macOS, Linux und WSL nicht vorhanden. Siehe [Grep-Tool-Verhalten](#grep-tool-behavior) | Nein |
| `ListAgents` | Listet die Agenten auf, die Claude mit `SendMessage` kontaktieren kann: Subagenten in der Sitzung, [Agent-Team](/docs/de/agent-teams)-Teamkollegen, Ihre anderen lokalen Claude-Code-Sitzungen und, während diese Sitzung mit [Remote Control](/docs/de/remote-control) verbunden ist, Ihre [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) und Ihre Remote-Control-Sitzungen auf anderen Maschinen. Unterstützt den `/list-agents`-Befehl. Siehe [sitzungsübergreifendes Messaging](/docs/de/cross-session-messaging). Erfordert Claude Code v2.1.224 oder später und wird nur in Sitzungen angezeigt, in denen [sitzungsübergreifendes Messaging aktiviert ist](/docs/de/cross-session-messaging#availability). Teamkollegen-Zeilen und die erste Zeile, die den Namen dieser Sitzung zeigt, erfordern v2.1.239 oder später | Nein |
| `ListMcpResourcesTool` | Listet Ressourcen auf, die von verbundenen [MCP-Servern](/docs/de/mcp) bereitgestellt werden, wobei [MCP Apps UI-Ressourcen](/docs/de/mcp#reference-mcp-resources) ausgelassen werden, die Seiten für eine Host-Anwendung zum Rendern sind | Nein |
| `LSP` | Code-Intelligenz über Sprachserver: Sprung zu Definitionen, Suche nach Referenzen, Meldung von Typfehlern und Warnungen. Siehe [LSP-Tool-Verhalten](#lsp-tool-behavior) | Nein |
| `Monitor` | Führt einen Befehl im Hintergrund aus und speist jede Ausgabezeile an Claude zurück, damit er auf Protokolleinträge, Dateiänderungen oder abgerufene Status in der Mitte des Gesprächs reagieren kann. Kann auch einen WebSocket öffnen und jede eingehende Nachricht als Ereignis behandeln. Siehe [Monitor-Tool](#monitor-tool) | Ja |
| `NotebookEdit` | Ändert Jupyter-Notebook-Zellen. Siehe [NotebookEdit-Tool-Verhalten](#notebookedit-tool-behavior) | Ja |
| `PowerShell` | Führt PowerShell-Befehle nativ aus. Siehe [PowerShell-Tool](#powershell-tool) für Verfügbarkeit | Ja |
| `PushNotification` | Sendet eine Desktop-Benachrichtigung und eine Telefon-Push-Benachrichtigung, wenn [Remote Control](/docs/de/remote-control) verbunden ist, damit eine lange laufende Aufgabe oder [geplante Aufgabe](/docs/de/scheduled-tasks) Sie erreichen kann, wenn Sie weggehen. Push-Zustellung läuft durch von Anthropic gehostete Infrastruktur, auf die nicht von Amazon Bedrock, Claude Platform auf AWS, Google Clouds Agent Platform oder Microsoft Foundry zugegriffen werden kann | Nein |
| `Read` | Liest den Inhalt von Dateien. Siehe [Read-Tool-Verhalten](#read-tool-behavior) | Nein |
| `ReadMcpResourceTool` | Liest eine bestimmte MCP-Ressource nach URI | Nein |
| `RemoteTrigger` | Erstellt, aktualisiert, führt aus und listet [Routinen](/docs/de/routines) auf claude.ai auf. Unterstützt den `/schedule`-Befehl. Die [`RemoteTrigger`-Eingabereferenz](/docs/de/agent-sdk/typescript#remotetrigger) dokumentiert jede Aktion und die Organisationsrichtlinien, die das Tool entfernen. Routinen befinden sich auf claude.ai und erfordern einen Pro-, Max-, Team- oder Enterprise-Plan, daher ist dieses Tool nicht von Amazon Bedrock, Claude Platform auf AWS, Google Clouds Agent Platform oder Microsoft Foundry zugänglich | Nein |
| `ReportFindings` | Meldet Code-Review-Ergebnisse als strukturierte Liste mit einer Datei, Zusammenfassung und Fehlerfall pro Ergebnis, damit Claude Code sie rendern kann, anstatt sie als Text auszugeben. Claude ruft es auf, wenn aktive Code-Review-Anweisungen dies anweisen. Ein Ergebnis kann auch einen optionalen `category`-Slug tragen, wie `correctness` oder `test-coverage`, der neben dem Dateispeicherort in der gerenderten Liste angezeigt wird | Nein |
| `ScheduleWakeup` | Plant die nächste Iteration einer [selbstgesteuerten `/loop`](/docs/de/scheduled-tasks#let-claude-choose-the-interval) neu. Claude ruft dies am Ende jeder Iteration auf, um auszuwählen, wann die nächste ausgeführt wird, zwischen einer Minute und einer Stunde; Sie rufen es nicht direkt auf. Um die Schleife stattdessen zu beenden, ruft Claude sie mit `stop: true` auf, was das ausstehende Wakeup abbricht. Das ausstehende Wakeup wird in `session_crons` in [Stop-Hook-Eingabe](/docs/de/hooks#stop-input) angezeigt | Nein |
| `SendFeedback` | Entwirft einen Feedbackbericht über Claude Code, der ein Produktproblem oder Claudes eigenes Verhalten in der Sitzung abdeckt, und stellt ihn in die Warteschlange auf Ihrer Maschine, damit Sie ihn überprüfen können. Claude Code sendet nichts, bis Sie sich entscheiden, den Entwurf zu senden. Siehe [SendFeedback-Tool-Verhalten](#sendfeedback-tool-behavior). Erfordert Claude Code v2.1.238 oder später | Nein |
| `SendMessage` | Sendet eine Nachricht an einen anderen Agenten: einen [Agent-Team](/docs/de/agent-teams)-Teamkollegen, einen [Subagenten, den es nach Agent-ID oder Name fortsetzen kann](/docs/de/sub-agents#resume-subagents), oder eine Ihrer anderen Claude-Code-Sitzungen, auf dieser Maschine oder darüber hinaus. Das Messaging anderer Sitzungen erfordert Claude Code v2.1.224 oder später. [Sitzungsübergreifendes Messaging](/docs/de/cross-session-messaging) behandelt, welche Sitzungen Claude erreichen kann, [wie eine Nachricht aussieht, wenn sie ankommt](/docs/de/cross-session-messaging#what-a-message-looks-like), und [wie Claude eine Benachrichtigung erhält, wenn eine andere Sitzung untätig wird](/docs/de/cross-session-messaging#get-a-notice-when-another-session-goes-idle). Claude kann eine optionale `summary`-Eingabe einschließen, typischerweise 5-10 Wörter, die Claude Code als Einzeilenvorschau anzeigt. Wenn Claude sie bei einer [Nur-Text-Nachricht](/docs/de/cross-session-messaging#limitations) auslässt, verwendet Claude Code die erste Zeile der Nachricht als Zusammenfassung. Claude Code schneidet eine Zusammenfassung, die länger als 200 Zeichen ist, mit einer Ellipse ab | Nein |
| `SendUserFile` | Sendet Dateien aus der Sitzung an Sie mit einer optionalen Beschriftung, damit ein generierter Bericht, Diagramm, Screenshot oder erstelltes Artefakt Ihr Gerät erreicht, anstatt nur im Transkript erwähnt zu werden. Die optionale `display`-Eingabe steuert die Präsentation: `render` öffnet die Datei inline im Client, `attach` zeigt nur eine Download-Karte an, und wenn nicht gesetzt, entscheidet der Client nach Dateityp. Verfügbar, wenn ein [Remote Control](/docs/de/remote-control)-Client verbunden ist oder in einer [Cloud-Sitzung](/docs/de/claude-code-on-the-web). Die Zustellung läuft durch von Anthropic gehostete Infrastruktur, daher ist das Tool nicht auf Amazon Bedrock, Google Clouds Agent Platform oder Microsoft Foundry verfügbar | Nein |
| `ShareOnboardingGuide` | Lädt `ONBOARDING.md` hoch und gibt einen Share-Link zurück, den Teamkollegen in Claude Code öffnen können. Wird von `/team-onboarding` aufgerufen, nachdem der Leitfaden geschrieben wurde. Verfügbar für claude.ai-Abonnenten auf Pro-, Max-, Team- und Enterprise-Plänen | Ja |
| `Skill` | Führt einen [Skill](/docs/de/skills#control-who-invokes-a-skill) innerhalb des Hauptgesprächs aus | Ja |
| `SubagentHandback` | Liefert den abschließenden Bericht eines Subagenten an das Gespräch, das das Ergebnis dieses Subagenten erhält. Wird nur im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) bereitgestellt, für Subagenten, die das Agent-Tool lokal ausführt, außer [Forks](/docs/de/sub-agents#fork-the-current-conversation), und ist in der Terminal-CLI, IDE-Erweiterungen, Cloud-Sitzungen und dem Agent SDK verfügbar; der Klassifizierer überprüft den Bericht, bevor er zugestellt wird. Erfordert Claude Code v2.1.271 oder später | Nein |
| `TaskCreate` | Erstellt eine neue Aufgabe in der Aufgabenliste. Wird standardmäßig nur auf den Modellen bereitgestellt, die unter [Task-Tool-Verfügbarkeit](#task-tool-availability) aufgelistet sind, und auf anderen Modellen, wenn Sie sich dafür entscheiden | Nein |
| `TaskGet` | Ruft vollständige Details für eine bestimmte Aufgabe ab. Wird standardmäßig nur auf den Modellen bereitgestellt, die unter [Task-Tool-Verfügbarkeit](#task-tool-availability) aufgelistet sind, und auf anderen Modellen, wenn Sie sich dafür entscheiden | Nein |
| `TaskList` | Listet alle Aufgaben mit ihrem aktuellen Status auf. Wird standardmäßig nur auf den Modellen bereitgestellt, die unter [Task-Tool-Verfügbarkeit](#task-tool-availability) aufgelistet sind, und auf anderen Modellen, wenn Sie sich dafür entscheiden | Nein |
| `TaskOutput` | In v2.1.277 entfernt. Rief zuvor die Ausgabe einer Hintergrundaufgabe ab; Claude liest stattdessen die [Ausgabedatei](/docs/de/interactive-mode#how-backgrounding-works) einer Hintergrundaufgabe mit `Read` | Nein |
| `TaskStop` | Stoppt eine laufende Hintergrundaufgabe nach ID. Es akzeptiert auch einen [Agent-Team-Teamkollegen](/docs/de/agent-teams) oder einen benannten Hintergrund-Agenten nach Agent-ID oder Name. Wenn keine Aufgabe der ID entspricht, listet der Fehler die laufenden Hintergrund-Agenten nach ID und Beschreibung auf, einschließlich Agenten, die ein anderer Agent erzeugt hat | Nein |
| `TaskUpdate` | Aktualisiert Aufgabenstatus, Abhängigkeiten, Details oder löscht Aufgaben. Wird standardmäßig nur auf den Modellen bereitgestellt, die unter [Task-Tool-Verfügbarkeit](#task-tool-availability) aufgelistet sind, und auf anderen Modellen, wenn Sie sich dafür entscheiden | Nein |
| `TodoWrite` | Verwaltet die Sitzungs-Aufgabencheckliste. Standardmäßig deaktiviert zugunsten von `TaskCreate`, `TaskGet`, `TaskList` und `TaskUpdate`. Setzen Sie `CLAUDE_CODE_ENABLE_TASKS=0`, um es in [Sitzungen, die die Task-Tracking-Tools haben](#task-tool-availability) erneut zu aktivieren | Nein |
| `ToolSearch` | Sucht nach und lädt aufgeschobene Tools, wenn [Tool-Suche](/docs/de/mcp#scale-with-mcp-tool-search) aktiviert ist | Nein |
| `WaitForMcpServers` | Wartet auf einen oder mehrere [MCP-Server](/docs/de/mcp), die noch im Hintergrund verbunden werden, damit eine Anfrage ihre Tools verwenden kann, ohne die Sitzung neu zu starten. Claude ruft es auf, wenn ein benötigter Server noch nicht verbunden ist. Wird nur angezeigt, wenn [Tool-Suche](/docs/de/mcp#scale-with-mcp-tool-search) deaktiviert ist, da `ToolSearch` das Warten handhabt, wenn es aktiviert ist | Nein |
| `WebFetch` | Ruft Inhalte von einer angegebenen URL ab. Siehe [WebFetch-Tool-Verhalten](#webfetch-tool-behavior) | Ja |
| `WebSearch` | Führt Web-Suchen durch. Siehe [WebSearch-Tool-Verhalten](#websearch-tool-behavior) | Ja |
| `Workflow` | Führt einen [dynamischen Workflow](/docs/de/workflows) aus: ein Skript, das viele Subagenten im Hintergrund orchestriert und ein konsolidiertes Ergebnis zurückgibt | Ja |
| `Write` | Erstellt oder überschreibt Dateien. Siehe [Write-Tool-Verhalten](#write-tool-behavior) | Ja |

<h2 id="configure-tools-with-permission-rules-and-hooks">
  Tools mit Berechtigungsregeln und Hooks konfigurieren
</h2>

In den meisten Fällen entscheidet Claude selbst, wann diese Tools verwendet werden sollen, und Sie müssen sie nicht selbst benennen, wenn Sie mit Claude interagieren. Sie verweisen auf Tool-Namen direkt, wenn Sie Berechtigungen und andere Konfigurationen definieren:

* in [`permissions.allow`](/docs/de/settings-reference#permissions-allow) und [`permissions.deny`](/docs/de/settings-reference#permissions-deny) in den Einstellungen und in der `/permissions`-Schnittstelle
* in den [CLI-Flags](/docs/de/cli-reference) `--allowedTools` und `--disallowedTools`
* in den Optionen [`allowedTools` und `disallowedTools`](/docs/de/agent-sdk/permissions#allow-and-deny-rules) des Agent SDK
* in der [Frontmatter `allowed-tools`](/docs/de/skills#frontmatter-reference) eines Skills
* in der [`if`-Bedingung](/docs/de/hooks-guide#filter-by-tool-name-and-arguments-with-the-if-field) eines Hooks

Alle diese akzeptieren das gleiche Regelformat: `ToolName(specifier)`. Der Specifier hängt vom Tool ab, und mehrere Tools verwenden ein gemeinsames Format:

| Regelformat | Gilt für | Details |
| :- | :- | :- |
| `Bash(npm run *)` | Bash, Monitor | [Befehlsmuster-Matching](/docs/de/permissions#bash) |
| `PowerShell(Get-ChildItem *)` | PowerShell | [Befehlsmuster-Matching](/docs/de/permissions#powershell) |
| `Read(~/secrets/**)` | Read, Grep, Glob, LSP | [Pfadmuster-Matching](/docs/de/permissions#read-and-edit) |
| `Edit(/src/**)` | Edit, Write, NotebookEdit | [Pfadmuster-Matching](/docs/de/permissions#read-and-edit) |
| `Skill(deploy *)` | Skill | [Skill-Namen-Matching](/docs/de/skills#restrict-claude%E2%80%99s-skill-access) |
| `Agent(Explore)` | Agent | [Subagent-Typ-Matching](/docs/de/permissions#agent-subagents) |
| `WebFetch(domain:example.com)` | WebFetch | [Domain-Matching](/docs/de/permissions#webfetch) |
| `WebSearch` | WebSearch | Kein Specifier; Tool als Ganzes erlauben oder verweigern |

Tools, die hier nicht aufgeführt sind, wie `ExitPlanMode` oder `ShareOnboardingGuide`, akzeptieren nur den bloßen Tool-Namen ohne Specifier.

Eine `Edit(...)`-Erlaubnisregel gewährt auch Lesezugriff auf denselben Pfad, sodass Sie keine entsprechende `Read(...)`-Regel benötigen. Eine `Read(...)`-Verweigerungsregel blockiert auch die Tools Edit und Write auf demselben Pfad, einschließlich der Erstellung einer neuen Datei dort, da beide Tools Inhalte ändern, die Claude zurücklesen können muss. Die `Read`-Verweigerungsprüfung erfordert Claude Code v2.1.208 oder später bei Bearbeitungen, und v2.1.228 oder später bei Schreibvorgängen.

Hook-`matcher`-Felder verwenden bloße Tool-Namen, nicht das geklammerte Regelformat. Siehe [Matcher-Muster](/docs/de/hooks#matcher-patterns) für die Matching-Regeln. Für die Feldnamen, die jedes Tool an `tool_input` in Hooks übergibt, siehe die [PreToolUse-Eingabereferenz](/docs/de/hooks#pretooluse-input).

<h2 id="agent-tool-behavior">
  Verhalten des Agent-Tools
</h2>

Das Agent-Tool startet einen Subagenten in einem separaten Kontextfenster. Der Subagent arbeitet seine Aufgabe autonom ab und gibt dann sein Ergebnis an das übergeordnete Gespräch zurück. Das übergeordnete Gespräch sieht nicht die Zwischentool-Aufrufe oder Ausgaben des Subagenten, sondern nur dieses Endergebnis. Mit aktivierten [Agent-Teams](/docs/de/agent-teams) kann ein Aufruf mit einem `name` einen [Teamkollegen](/docs/de/agent-teams#how-claude-starts-agent-teams) starten, der stattdessen über Team-Nachrichten berichtet, anstatt ein Ergebnis zurückzugeben.

Um die Anzahl der Durchläufe eines Subagenten zu begrenzen, setzen Sie `maxTurns` in der [Subagenten-Definition](/docs/de/sub-agents#supported-frontmatter-fields). Wenn der Subagent das Limit erreicht, markiert Claude Code das zurückgegebene Ergebnis als Teilausgabe, und Claude kann [den Subagenten fortsetzen](/docs/de/sub-agents#resume-subagents), um fortzufahren.

Das gleiche Agent-Tool startet auch [abgespaltene Subagenten](/docs/de/sub-agents#fork-the-current-conversation) überall dort, wo [Fork-Modus](/docs/de/sub-agents#turn-fork-mode-on-or-off) aktiviert ist. Ein Fork erbt das vollständige übergeordnete Gespräch, anstatt neu zu beginnen, läuft im Hintergrund außer in den [Fällen, die im Vordergrund bleiben](/docs/de/sub-agents#run-subagents-in-foreground-or-background), und zeigt dennoch Berechtigungsaufforderungen in Ihrem Terminal an. Der Rest dieses Abschnitts beschreibt Nicht-Fork-Subagenten.

Welche Tools ein Nicht-Fork-Subagent verwenden kann, hängt von den Feldern `tools` und `disallowedTools` in der [Subagenten-Definition](/docs/de/sub-agents) ab:

* **Kein Feld gesetzt**: Der Subagent erbt jedes [für Subagenten verfügbare Tool](/docs/de/sub-agents#available-tools).
* **Nur `tools`**: Der Subagent erhält nur die aufgelisteten Tools.
* **Nur `disallowedTools`**: Der Subagent erhält jedes übergeordnete Tool außer den aufgelisteten.
* **Beide gesetzt**: `disallowedTools` hat Vorrang. Ein Tool, das in beiden aufgelistet ist, wird entfernt.

In jedem Fall ist die aufgelöste Menge auf die [für Subagenten verfügbaren Tools](/docs/de/sub-agents#available-tools) beschränkt: Ein Tool, das für Subagenten nicht verfügbar ist, wird niemals gewährt, auch wenn es in `tools` aufgelistet ist. Wenn die Bedingungen im `SubagentHandback`-Tools-Tabelleneintrag erfüllt sind, gibt Claude Code dem Subagenten auch dieses Tool, auch wenn Sie es aus `tools` auslassen oder in `disallowedTools` aufgelistet haben.

Wenn jeder Eintrag in der `tools`-Liste eines Subagenten nicht mit einem verwendbaren Tool übereinstimmt, gibt das Agent-Tool normalerweise einen Fehler zurück, der die Einträge benennt, anstatt den Subagenten zu starten; siehe [Agent würde mit null Tools gestartet](/docs/de/errors#agent-would-be-spawned-with-zero-tools) für die Nachricht und wie man jeden Eintrag behebt.

Das Starten des Subagenten selbst fordert nicht zur Berechtigung auf. Claude Code überprüft die eigenen Tool-Aufrufe des Subagenten gegen Ihre Berechtigungsregeln, während er läuft.

Wo Sie die Berechtigungsaufforderungen eines Subagenten sehen, hängt davon ab, ob er im Vordergrund oder im Hintergrund läuft. Claude Code führt Subagenten standardmäßig im Hintergrund aus, außer in den [Fällen, die im Vordergrund laufen](/docs/de/sub-agents#run-subagents-in-foreground-or-background).

* **Vordergrund-Subagenten** zeigen die gleichen Berechtigungsaufforderungen, die Sie im Hauptgespräch sehen würden, in dem Moment, in dem jeder Tool-Aufruf stattfindet.
* **Hintergrund-Subagenten** zeigen Berechtigungsabfragen in Ihrer Hauptsitzung an. Die Abfrage benennt, welcher Subagent fragt, und das Drücken von Esc verweigert diesen einen Tool-Aufruf, ohne den Subagenten zu stoppen.

Um [zu begrenzen, was ein Subagent erreichen kann](/docs/de/sub-agents#control-subagent-capabilities), verengen Sie zunächst sein `tools`-Feld, beispielsweise indem Sie Bash von der Liste ausschließen, oder setzen Sie Ablehnungsregeln in Ihren Einstellungen.

<h2 id="askuserquestion-tool-behavior">
  Verhalten des AskUserQuestion-Tools
</h2>

Claude verwendet `AskUserQuestion`, um Ihnen Multiple-Choice-Fragen zu stellen, wenn eine Entscheidung oder Klärung erforderlich ist. Antworten Sie, indem Sie eine Option auswählen, oder geben Sie Ihren eigenen Text über die Zeile `Other` oder das Notizfeld ein.

Wenn Sie durch Eingabe Ihres eigenen Textes antworten, leitet Claude Code die Antwort mit neutraler Formulierung weiter, damit Claude das befolgt, was Sie geschrieben haben, einschließlich einer Anfrage, zu warten oder zunächst zu erklären.

<h3 id="question-auto-continue-timeout">
  Timeout für automatische Fortsetzung von Fragen
</h3>

Fragen bleiben offen, bis Sie sie beantworten. Wenn Sie möchten, dass eine unbeantwortete Frage irgendwann von selbst geschlossen wird und Claude ohne Sie fortfahren kann, stellen Sie die Einstellung [`askUserQuestionTimeout`](/docs/de/settings-reference#askuserquestiontimeout) auf `60s`, `5m` oder `10m` ein, entweder in Ihrer Benutzerdatei `settings.json` oder in der Zeile **Question auto-continue timeout** in `/config`.

Nachdem eine Frage so lange ohne Eingabe offen war, schließt sich der Dialog von selbst: Er sendet alle Optionen, die Sie bereits ausgewählt haben, und teilt Claude mit, dass Sie möglicherweise weg von Ihrer Tastatur sind, sodass Claude nach eigenem Ermessen fortfahren kann und später erneut fragen kann. Sie sehen einen Countdown für die letzten 20 Sekunden. Drücken Sie eine beliebige Taste, um den Timer neu zu starten. Solange Ihr Terminal meldet, dass sein Fenster den Fokus hat, läuft der Timer nicht ab.

Der Timer startet nie bei einer Frage, die Claude in einer [Hintergrundsitzung](/docs/de/agent-view), im [Screenreader-Modus](/docs/de/accessibility) oder während einer Verbindung der Sitzung mit [Remote Control](/docs/de/remote-control) stellt. Diese Fragen warten, bis Sie sie beantworten. Der Timeout gilt nur für die Multiple-Choice-Fragen von `AskUserQuestion`; Berechtigungsabfragen, einschließlich der Plangenehmigung, werden bei Untätigkeit nie automatisch aufgelöst.

<h2 id="bash-tool-behavior">
  Bash-Tool-Verhalten
</h2>

Das Bash-Tool führt jeden Befehl in einem separaten Prozess aus.

<h3 id="what-persists-between-commands">
  Was zwischen Befehlen erhalten bleibt
</h3>

* Wenn Claude `cd` in der Hauptsitzung ausführt, wird das neue Arbeitsverzeichnis zu späteren Bash-Befehlen übernommen, solange es sich im Projektverzeichnis oder einem [zusätzlichen Arbeitsverzeichnis](/docs/de/permissions#working-directories) befindet, das Sie mit `--add-dir`, `/add-dir` oder `additionalDirectories` in den Einstellungen hinzugefügt haben. Dies umfasst Befehle, die Claude in Reaktion auf Ihre späteren Nachrichten ausführt.
  * Subagent-Sitzungen übernehmen niemals Änderungen des Arbeitsverzeichnisses.
  * Wenn `cd` außerhalb dieser Verzeichnisse landet, setzt Claude Code auf das Projektverzeichnis zurück und fügt `Shell cwd was reset to <dir>` zum Tool-Ergebnis hinzu.
  * Um diese Übernahme zu deaktivieren, damit jeder Bash-Befehl im Projektverzeichnis startet, setzen Sie `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1`.
* Umgebungsvariablen bleiben nicht erhalten. Ein `export` in einem Befehl ist im nächsten nicht verfügbar.
* Aliase und Shell-Funktionen, die in Ihrer Shell-Startdatei definiert sind, sind verfügbar. Beim Sitzungsstart sourced Claude Code `~/.zshrc`, `~/.bashrc` oder `~/.profile` je nach Ihrer Shell, erfasst die resultierenden Aliase, Funktionen und Shell-Optionen und wendet sie auf jeden Bash-Befehl an.

Aktivieren Sie Ihre virtualenv oder conda-Umgebung, bevor Sie Claude Code starten. Um Umgebungsvariablen über Bash-Befehle hinweg persistent zu machen, setzen Sie [`CLAUDE_ENV_FILE`](/docs/de/env-vars) auf ein Shell-Skript, bevor Sie Claude Code starten, oder verwenden Sie einen [SessionStart-Hook](/docs/de/hooks#persist-environment-variables), um es dynamisch zu füllen.

<h3 id="timeout-and-output-limits">
  Timeout- und Ausgabegrenzen
</h3>

Jeder Befehl läuft unter einem Timeout, und Claude verwaltet ihn: Wenn er länger als die Standardzeit für einen Befehl benötigt, übergibt er den `timeout`-Parameter mit diesem Aufruf. Sie setzen niemals ein Pro-Befehl-Timeout.

Zwei [Umgebungsvariablen](/docs/de/env-vars) steuern, was Claude für einen Befehl erhält, der im Vordergrund läuft:

* `BASH_DEFAULT_TIMEOUT_MS` — die Standardeinstellung, wenn Claude kein Timeout übergibt; standardmäßig zwei Minuten
* `BASH_MAX_TIMEOUT_MS` — mit der Standardeinstellung wird die Obergrenze gesetzt, die das begrenzt, was Claude anfordert: die effektive Obergrenze ist die größere der beiden, standardmäßig zehn Minuten

In einer Sitzung, die ein [Zeitlimit für Hintergrund-Befehle](#time-limit-for-background-commands) hat, setzt `timeout` bei einem Befehl, den Claude im Hintergrund startet, stattdessen, wie lange der Befehl dort laufen darf, mit dem separaten Standard und Maximum dieses Limits. Das [PowerShell-Tool](#powershell-tool) folgt den gleichen Timeout-Regeln und liest die gleichen zwei Variablen.

<h4 id="output-limits">
  Ausgabegrenzen
</h4>

Claude Code streamt die Ausgabe eines Befehls während der Ausführung in eine Arbeitsdatei; ein Befehl, dessen Ausgabe 5 GB überschreitet, wird beendet. Wenn der Befehl beendet ist, liest Claude Code die Ausgabe aus dieser Datei zurück, bis zum unten beschriebenen Lesefenster. Wie viel der Ausgabe Claude inline erreicht, hängt davon ab, ob Claude Code das Ergebnis als Fehler behandelt:

| Ergebnis | Was Claude erhält |
| :- | :- |
| Gültig | Inline bis zu etwa 30.000 Zeichen standardmäßig; darüber hinaus der Pfad einer Datei, die im Sitzungsverzeichnis gespeichert und über 64 MiB gekürzt ist, plus eine Vorschau von bis zu den ersten 2.000 Zeichen, und Claude liest oder durchsucht die Datei, wenn er den Rest benötigt |
| Fehler | Inline bis zu etwa 10.000 Zeichen; darüber hinaus ein Kopf-und-Schwanz-Auszug dieser Größe aus dem Lesefenster, ohne Dateipfad |

Ein Befehl, der mit 1 beendet wird, zählt als gültiges Ergebnis für das Bash-Tool nur, wenn Claude Code den Exit-Code 1 als gutartiges Ergebnis für diesen Befehl erkennt: `grep`, `rg`, `egrep`, `fgrep`, `find`, `diff`, `test` und `[`, plus `git diff` und `git grep`. Jeder andere Befehl, der mit 1 beendet wird, zählt als Fehler, auch wenn 1 ein gutartiges Informationsergebnis ist: keine Übereinstimmungen für `pgrep` und `jq -e`, Dateien, die sich für `cmp` unterscheiden.

[`BASH_MAX_OUTPUT_LENGTH`](/docs/de/env-vars) setzt, wie viele Zeichen der Ausgabe Claude Code aus der Arbeitsdatei in das Ergebnis eines Befehls zurückliest: standardmäßig 30.000, bis zu einer harten Obergrenze von 150.000. Erhöhen Sie dies, wenn Ihre Befehle routinemäßig dieses Fenster überlasten, z. B. bei einem ausführlichen Build oder einem vollständigen Test-Suite-Log. Das Erhöhen vergrößert das Lesefenster, das auch das Fenster ist, aus dem der Auszug eines fehlgeschlagenen Befehls geschnitten wird. Es erhöht nicht die Inline-Obergrenzen: ein gültiges Ergebnis über der Inline-Obergrenze kommt als Dateipfad plus Vorschau an, unabhängig von dieser Variablen.

Um zu ändern, wie viel eines gültigen Ergebnisses Claude inline erhält, setzen Sie stattdessen die Einstellung [`bashOutputMaxChars`](/docs/de/settings-reference#bashoutputmaxchars), bis zu 128.000 Zeichen. Sie dimensioniert die Inline-Obergrenze und das Lesefenster zusammen, und Claude Code ignoriert dann `BASH_MAX_OUTPUT_LENGTH`. Erfordert Claude Code v2.1.261 oder später.

<h3 id="background-commands">
  Hintergrund-Befehle
</h3>

Für lang laufende Prozesse wie Dev-Server oder Watch-Builds kann Claude `run_in_background: true` setzen, um den Befehl als Hintergrund-Task zu starten und weiter zu arbeiten, während er läuft. Listen Sie Hintergrund-Tasks auf und stoppen Sie sie mit `/tasks`. Nachdem Sie einen dort stoppen oder von einem verbundenen Client wie der Desktop-App, geht Claude weiter, anstatt zu warten. Wenn ein Subagent den Befehl gestartet hat, ist es dieser Subagent, der weitergeht.

<h4 id="when-a-background-command-stops">
  Wenn ein Hintergrund-Befehl stoppt
</h4>

Ein Befehl, den ein [Vordergrund-Subagent](/docs/de/sub-agents#run-subagents-in-foreground-or-background) gestartet hat, stoppt, wenn dieser Subagent seine Ausführung beendet, ob sie erfolgreich war, fehlgeschlagen ist oder unterbrochen wurde. Ein Befehl, den die Hauptkonversation oder ein Hintergrund-Subagent gestartet hat, läuft nach einer endgültigen Antwort weiter, bis er beendet wird, gestoppt wird oder sein [Zeitlimit](#time-limit-for-background-commands) erreicht.

Solange ein Befehl, den die Hauptkonversation gestartet hat, noch läuft, [bleibt ein Lauf im nicht interaktiven Modus mit dem `-p`-Flag nach seinem Ergebnis geöffnet](/docs/de/headless#background-tasks-at-exit), bis dieser Befehl beendet wird oder sein Zeitlimit erreicht. Ein Befehl, den ein Hintergrund-Subagent gestartet hat, wird gestoppt, wenn der Lauf endet.

<h4 id="time-limit-for-background-commands">
  Zeitlimit für Hintergrund-Befehle
</h4>

In einer Sitzung, die unbeaufsichtigt läuft, etwa ein Lauf mit dem `-p`-Flag, eine Agent SDK-Anwendung, ein CI-Job oder eine Cloud-Sitzung, haben Bash- und PowerShell-Befehle im Hintergrund ein Zeitlimit. Eine lokale Sitzung, in der Sie über ein Terminal, die Desktop-App oder die VS Code-Erweiterung arbeiten, hat kein Zeitlimit für Hintergrund-Befehle.

Das Zeitlimit erfordert Claude Code v2.1.285 oder später. Vor v2.1.288 galt es in jeder Sitzung.

Das Zeitlimit wird ab dem Moment gezählt, in dem der Befehl in den Hintergrund eintritt:

* Ein Befehl, den Claude im Hintergrund startet, erhält 30 Minuten oder das `timeout`, das Claude mit `run_in_background` übergibt, bis zu einem Maximum von 2 Stunden
* Ein Befehl, der im Vordergrund startet und dann in den Hintergrund wechselt, z. B. bei seinem Timeout, erhält 30 Minuten ab dem Wechsel

In einem Lauf mit dem `-p`-Flag, dessen Prompt Sie als Text statt mit `--input-format stream-json` übergeben, betragen beide Standardwerte 10 statt 30 Minuten, da der Lauf [nach seinem Ergebnis auf Hintergrund-Befehle wartet](/docs/de/headless#background-tasks-at-exit).

Wenn ein Hintergrund-Befehl sein Zeitlimit erreicht, stoppt Claude Code ihn und teilt Claude mit, warum, und Claude kann den Befehl erneut mit einem längeren `timeout` starten, wenn die Arbeit noch erforderlich ist. Die Stop-Mitteilung lautet `Background command "<description>" was stopped after reaching its background time limit`.

<h4 id="raise-the-time-limit-for-background-commands">
  Erhöhen Sie das Zeitlimit für Hintergrund-Befehle
</h4>

Zwei [Umgebungsvariablen](/docs/de/env-vars) erhöhen diese Limits für Bash- und PowerShell-Befehle gleichermaßen. Beide nehmen Millisekunden an, und keine kann ein Limit verkürzen: ein niedrigerer Wert lässt die Standardwerte und das 2-Stunden-Maximum bestehen.

* Setzen Sie `BASH_DEFAULT_TIMEOUT_MS` über `1800000`, um den 30-Minuten-Standard durch diesen Wert zu ersetzen, sowohl für Befehle, die Claude ohne `timeout` startet, als auch für verschobene Befehle. In einem `-p`-Lauf, dessen Prompt Sie als Text übergeben, ersetzt jeder Wert über `600000` dessen 10-Minuten-Standard
* Setzen Sie `BASH_MAX_TIMEOUT_MS` über `7200000`, um das 2-Stunden-Maximum auf diesen Wert zu erhöhen. Das Setzen von `BASH_DEFAULT_TIMEOUT_MS` über `7200000` erhöht das Maximum auf die gleiche Weise

<h4 id="foreground-commands-that-move-to-the-background">
  Vordergrund-Befehle, die in den Hintergrund wechseln
</h4>

Wenn ein Vordergrund-Befehl sein Timeout erreicht, ohne zu beenden, verschiebt Claude Code ihn in den Hintergrund, anstatt ihn zu stoppen, es sei denn, der Befehl beginnt mit `sleep`. Ein verschobener Befehl hat sein [Zeitlimit](#time-limit-for-background-commands) ab dem Wechsel, und ein Vordergrund-Subagent-Befehl stoppt immer noch, wenn dieser Subagent seine Ausführung beendet.

Das Setzen von [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1`](/docs/de/env-vars#variables) oder die Ausführung im [Bare-Modus](/docs/de/headless#start-faster-with-bare-mode) deaktiviert Auto-Backgrounding zusammen mit dem Rest der Hintergrundaufgaben-Funktionalität, sodass ein Befehl, der sein Timeout erreicht, stattdessen gestoppt wird.

Das Ergebnis eines Befehls, der in den Hintergrund verschoben wird, gibt an, was passiert ist:

* Wenn das Timeout die Verschiebung auslöst, meldet das Ergebnis dies explizit: `Command did not complete within its 120s timeout and was moved to the background`, wobei die Sekunden dem angewendeten Timeout entsprechen, gefolgt von der Task-ID und dem Pfad der Datei, in die die Ausgabe geschrieben wird.
* Ein `cd`, `pushd`, `popd` oder `chdir` in einem Befehl, der in den Hintergrund verschoben wird, wird niemals übernommen: das Ergebnis besagt `Session cwd remains <dir>; directory changes made by the backgrounded command do not apply to subsequent commands.`, daher handelt Claude nicht auf eine Verzeichnisänderung, die nicht stattgefunden hat.

<h3 id="memory-limit-on-linux-and-wsl">
  Speicherlimit unter Linux und WSL
</h3>

Unter Linux und WSL setzen Sie [`CLAUDE_CODE_TOOL_MEMORY_LIMIT`](/docs/de/env-vars#variables) auf eine Größe wie `4G`, um den Speicher zu begrenzen, den Bash-, PowerShell- und [Monitor](#monitor-tool)-Tool-Befehle verwenden können, damit ein außer Kontrolle geratener Build nicht den Speicher beansprucht, den der Rest der Sitzung benötigt. Erfordert Claude Code v2.1.233 oder später. Vor v2.1.246 liefen Monitor-Tool-Befehle außerhalb der Obergrenze.

* Schreiben Sie die Größe als Anzahl von Bytes oder mit einem `K`-, `M`-, `G`- oder `T`-Suffix. Setzen Sie `0`, `off`, `false`, `no` oder `none`, um die Obergrenze auszuschalten. Claude Code ignoriert jeden anderen Wert, den es nicht als Größe lesen kann, z. B. `4e9`.
* Claude Code zählt alle Bash-, PowerShell- und Monitor-Befehle einer Sitzung gegen die eine Obergrenze, nicht jeden Befehl für sich.
* Claude Code wendet die Obergrenze mit einer Memory-Cgroup an. Wenn es die Cgroup nicht einrichten kann, laufen Befehle ohne Obergrenze, und das Debug-Log von `claude --debug` sagt warum.
* Nachdem der erste Prozess, den Claude Code startet, die Obergrenze eingeschaltet hat, oder sie aufgrund eines Off-Werts oder eines fehlgeschlagenen Cgroup-Setups ausgeschaltet hat, hält Claude Code dieses Ergebnis, bis Sie neu starten. Um einen geänderten oder entfernten Wert oder ein korrigiertes Setup anzuwenden, starten Sie `claude` erneut.
* Wenn Befehle nicht unter der Obergrenze bleiben können, beendet der Kernel einen Befehl, und nichts in seinem Ergebnis nennt die Obergrenze.

Claude Code kann auch andere Arten von Prozessen, die es startet, gegen die gleiche Grenze zählen. Setzen Sie [`CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE`](/docs/de/env-vars#variables) auf eine kommagetrennte Liste der Arten, die von der Obergrenze ausgenommen werden sollen; Claude Code wendet die Obergrenze auf jede Art an, die nicht auf Ihrer Liste steht. Setzen Sie es auf `none`, um jede Art zu begrenzen, oder auf `all-new`, um nur Bash-, PowerShell- und Monitor-Tool-Befehle zu begrenzen. Erfordert Claude Code v2.1.246 oder später. Die Arten, die Sie benennen können:

* `mcp`: lokale [MCP-Server](/docs/de/mcp)
* `lsp`: [Sprachserver](#lsp-tool-behavior)
* `hooks`: [Hook](/docs/de/hooks)-Befehle
* `plugin`: Befehle, die [Plugins](/docs/de/plugins/overview) ausführen
* `helper`: Claude Codes eigene Helper-Befehle, wie `git`
* `agent`: untergeordnete Claude-Code-Prozesse, wie [Agent-Teamkollegen](/docs/de/agent-teams)

Was auch immer Sie auflisten, diese Regeln gelten:

* **Unbekannte Namen**: Claude Code ignoriert Namen, die es nicht erkennt
* **Variable nicht gesetzt**: Claude Code nimmt die Menge der anderen begrenzten Arten aus der Konfiguration, die Anthropic vom Server liefert, und diese Menge kann sich im Laufe der Zeit ändern, daher setzen Sie die Variable, wenn Sie eine Menge benötigen, die sich nicht ändert
* **Permission-Gating-Hooks**: Auch wenn jede Art begrenzt ist, schließt Claude Code von der Obergrenze einen Hook aus, der das Ergebnis einer Aktion blockieren oder ändern kann, und jeden MCP-Server, den ein solcher Hook aufruft, daher kann das Beenden eines Permission-Gating-Hooks durch den Kernel die Aktion, die er blockiert, nicht zulassen

<h2 id="edit-tool-behavior">
  Verhalten des Edit-Tools
</h2>

Das Edit-Tool führt exakte Zeichenkettenersetzung durch. Es nimmt einen `old_string` und einen `new_string` und ersetzt den ersten durch den zweiten. Es verwendet weder Regex noch Fuzzy Matching.

Diese Überprüfungen müssen bestanden werden, damit eine Bearbeitung angewendet wird. Bevor eine davon durchgeführt wird, wird ein Pfad, der einer [`Read`-Ablehnungsregel](/docs/de/permissions#tool-specific-permission-rules) entspricht, abgelehnt, einschließlich der Erstellung einer neuen Datei dort. Die Ablehnung erfordert Claude Code v2.1.208 oder später.

* **Read-before-edit**: Claude liest die Datei in der aktuellen Konversation, bevor er sie bearbeitet, und ein Lesezugriff, der mit einer [`PARTIAL view`-Benachrichtigung](#large-files) unterbrochen wird, zählt nicht. Claude Opus 4.6, Claude Haiku 4.5 und ältere Modelle erfordern immer das Lesen. Neuere Modelle können eine ungelesene Datei bearbeiten, wenn das Lesen keine Berechtigungsabfrage erfordern würde und das Read-Tool verfügbar ist.
* **Match**: `old_string` muss genau wie geschrieben in der Datei vorkommen. Ein einzelnes Zeichen Unterschied in Leerzeichen oder Einrückung reicht aus, um nicht zu treffen.
* **Eindeutigkeit**: `old_string` muss genau einmal vorkommen. Wenn es mehr als einmal vorkommt, stellt Claude entweder eine längere Zeichenkette mit ausreichend umgebendem Kontext bereit, um ein Vorkommen festzulegen, oder setzt `replace_all: true`, um alle zu ersetzen.

Eine Datei, die sich auf der Festplatte geändert hat, nachdem Claude sie zuletzt gelesen hat, kann immer noch bearbeitet werden, wenn `old_string` genau und eindeutig dem aktuellen Inhalt entspricht und Claude Code die Datei ohne Aufforderung lesen kann. Das Abgleichen mit dem aktuellen Inhalt der Datei hält dies sicher, und das Ergebnis vermerkt, dass die Datei weitere Änderungen enthält, damit Claude sie vor Bearbeitungen, die auf umgebendem Inhalt basieren, erneut liest. In jedem anderen Fall, z. B. bei einem veralteten `old_string` oder einem, der mehr als einmal ohne `replace_all` übereinstimmt, liest Claude die Datei vor der Bearbeitung erneut. Die gelockerte Behandlung von ungelesenen und geänderten Dateien erfordert Claude Code v2.1.208 oder später; davor lehnte Claude Code jede Bearbeitung einer Datei ab, die es in der Konversation nicht gelesen hatte oder die sich auf der Festplatte nach dem Lesen geändert hatte.

Claude kann eine Datei auch ohne separates Read bearbeiten, nachdem es die Datei mit einem Bash-Befehl wie `cat` oder `grep` angezeigt hat. Diese Befehle sind `cat`, `nl`, `bat`, `batcat`, `head`, `tail`, `sed -n 'X,Yp'`, `grep`, `egrep`, `fgrep` und `rg`, jeweils auf einer einzelnen Datei ohne Pipes oder Umleitungen ausgeführt. Eine Suche, die keine Treffer ausgibt, zählt nicht als Lesen, ebenso wenig wie ein Befehl außerhalb dieser Liste.

Wenn Claude eine Datei auf diese Weise anzeigt, lädt Claude Code außerdem alle [`CLAUDE.md`-Dateien in Unterverzeichnissen](/docs/de/memory#how-claude-md-files-load) und [pfadbezogenen Regeln](/docs/de/memory#path-specific-rules), die für diese Datei gelten. Siehe [Read- und Edit-Berechtigungsregeln](/docs/de/permissions#read-and-edit) für die Bash-Befehle, die Ihre `Read`- und `Edit`-Ablehnungsregeln abdecken.

<h3 id="non-utf-8-files">
  Nicht-UTF-8-Dateien
</h3>

Claude kann [NotebookEdit](#notebookedit-tool-behavior) nicht auf eine Datei anwenden, die kein gültiges UTF-8 ist. Dasselbe gilt für Edit, es sei denn, die Datei beginnt mit einer Little-Endian-UTF-16-Byte-Order-Mark. Wenn Claude es versucht, verweigert das Tool die Änderung und lässt die Datei unverändert. Zu den verweigerten Dateien gehören Nicht-ASCII-Text, der in einer älteren Kodierung wie Windows-1252 oder Shift-JIS gespeichert ist, Binärdateien und UTF-8 mit einer ungültigen Bytefolge.

Die Tools verweigern die Änderung, weil sie die gesamte Datei als UTF-8 zurückspeichern, wodurch jedes Byte, das sie nicht dekodieren können, durch das Ersatzzeichen `U+FFFD` ersetzt würde. Stattdessen weist der [Fehler, den Claude erhält](/docs/de/errors#file-is-not-valid-utf-8), Claude an, die Änderung mit einem Shell-Befehl vorzunehmen, der die Kodierung der Datei beibehält, oder Sie zu fragen, ob die Datei zuerst in UTF-8 konvertiert werden soll.

Claude kann eine solche Datei weiterhin mit Write ersetzen, es sei denn, der neue Inhalt enthält `U+FFFD`, das Zeichen, das Read Claude anstelle von Bytes anzeigt, die es nicht dekodieren kann. Diese Schutzmaßnahme verhindert, dass Claude den verstümmelten Text, den es gelesen hat, zurückschreibt. Wenn Write die Datei ersetzt, speichert es den neuen Inhalt als UTF-8, sodass die ursprüngliche Kodierung der Datei verloren geht.

<h2 id="endconversation-tool-behavior">
  Verhalten des EndConversation-Tools
</h2>

Das EndConversation-Tool beendet die aktuelle Sitzung. Claude verwendet es nur in zwei Situationen:

* als letztes Mittel gegen anhaltende missbräuchliche Eingaben, nachdem Versuche, das Gespräch umzuleiten, fehlgeschlagen sind und nachdem eine klare Warnung in einer früheren Nachricht erfolgt ist
* wenn Sie explizit darum bitten, das Tool demonstriert zu sehen, und bestätigen, dass Sie die Sitzung beenden möchten

Allgemeine Frustration, Fluchen oder eine schlecht laufende Aufgabe qualifizieren sich nicht, und ebenso wenig Anfragen nach schädlichen Inhalten, die Claude ablehnt, anstatt die Sitzung zu beenden. Claude Code folgt dem gleichen Ansatz wie claude.ai, das [eine seltene Teilmenge von Chats beenden kann](https://www.anthropic.com/research/end-subset-conversations).

Nachdem Claude eine interaktive Sitzung beendet hat, wird die Sitzung gesperrt. Neue Eingaben und die meisten Befehle geben `Claude ended this conversation. Start a new session (or /clear) to continue.` zurück, und nur `/clear`, `/resume`, `/help`, `/exit` und `/feedback` werden weiterhin ausgeführt. Claude Code verzeichnet das Ende in der Sitzungstranskription, sodass das Fortsetzen einer beendeten Sitzung die Sperre wiederherstellt; die Sitzungshistorie wird nicht gelöscht.

Das Fortsetzen einer beendeten Sitzung im [nicht-interaktiven Modus](/docs/de/headless) mit dem Flag `-p` führt zu einem Fehler und beendet mit Code 1, sodass ein Skript den beendeten Lauf nicht als Erfolg interpretiert.

Das Tool fordert niemals eine Berechtigung an, und [PreToolUse-Hooks](/docs/de/hooks#pretooluse) werden nicht dafür ausgeführt. Solange ein anderes Tool vorhanden ist, können Sie es auch nicht blockieren: [Deny- und Ask-Regeln](/docs/de/permissions#tool-specific-permission-rules), die `EndConversation` benennen, haben keine Auswirkung, und weder `--disallowedTools` noch eine `--tools`-Liste können es entfernen. Die Ausnahme ist absichtlich: Das Tool tut nichts außer das Gespräch zu beenden, liest oder ändert niemals Dateien oder Daten, und eine Schutzmaßnahme dieser Art funktioniert nur, wenn die Sitzung, auf die sie sich bezieht, sie nicht deaktivieren kann. Wenn Ihre Deny-Regeln alle anderen Tools entfernen und auch `EndConversation` abgleichen, wie es `"*"` tut, entfernt Claude Code es ebenfalls, anstatt es als einziges Tool zu belassen, es sei denn, eine Allow-Regel benennt `EndConversation` explizit. Eine Deny-Liste, die alle anderen Tools entfernt, ohne `EndConversation` abzugleichen, behält es bei.

[Subagents](/docs/de/sub-agents) erhalten das Tool niemals. Hintergrundaufgaben, die die Werkzeugliste der Hauptkonversation teilen, sehen es, aber das Aufrufen dort beendet nichts.

Das Tool wird nur angezeigt, wenn alle folgenden Bedingungen erfüllt sind:

* **Version**: Claude Code v2.1.213 oder später.
* **Modell**: Das Modell der Sitzung ist Claude Opus 4.8, Claude Sonnet 5, Claude Fable 5 oder eine neuere Version einer dieser Familien.
* **Oberfläche**: eine interaktive Terminalsitzung, einschließlich einer `claude`-Sitzung im integrierten Terminal einer IDE, wie der [JetBrains-Plugin](/docs/de/jetbrains) sie ausführt. Andere Oberflächen enthalten das Tool nicht, wie zum Beispiel:
  * nicht-interaktive `-p`-Läufe
  * Sitzungen über die [Agent SDK](/docs/de/agent-sdk/overview) TypeScript- und Python-Pakete
  * das [VS Code-Erweiterungs](/docs/de/vs-code)-Panel, das seine eigene CLI bündelt
  * [GitHub Actions](/docs/de/github-actions)
  * [Cloud-Sitzungen](/docs/de/claude-code-on-the-web)
* **Startmodus**: keine [`--bare`](/docs/de/headless#start-faster-with-bare-mode)-Sitzung. Der Bare-Modus lädt nur Shell- und Datei-Tools, sodass das Tool dort nie registriert wird.
* **Anbieter**: nicht verfügbar auf [Amazon Bedrock](/docs/de/amazon-bedrock), [Claude Platform on AWS](/docs/de/claude-platform-on-aws), [Google Cloud's Agent Platform](/docs/de/google-vertex-ai) oder [Microsoft Foundry](/docs/de/microsoft-foundry), oder auf Sitzungen, die sich über ein [Cloud-Gateway](/docs/de/claude-apps-gateway) anmelden.

<h2 id="glob-tool-behavior">
  Glob-Werkzeugverhalten
</h2>

Das Glob-Werkzeug findet Dateien nach Namensmuster. Unter Windows ist es Teil des Standard-Werkzeugsatzes. Auf macOS, Linux und WSL lässt Claude Code Glob und [Grep](#grep-tool-behavior) aus dem Standard-Werkzeugsatz aus, und Claude sucht mit `find` und `grep` über das Bash-Werkzeug. In Claudes Shell führen diese beiden Befehle eingebettete Versionen von `bfs` und `ugrep` aus, und die Suchen erreichen Ihre Hooks und Berechtigungsregeln als `Bash`-Aufrufe.

Auf macOS, Linux und WSL erhalten Sie die Glob- und Grep-Werkzeuge in diesen Fällen zurück:

* Sie benennen `Glob` oder `Grep` in [`--tools` oder `--allowedTools`](/docs/de/cli-reference#cli-flags), wenn Sie die Sitzung starten, oder in den entsprechenden [Agent SDK](/docs/de/agent-sdk/overview)-Optionen. Mit `--tools` erhalten Sie die, die Sie auflisten, und das Benennen eines der beiden Werkzeuge in `--allowedTools` stellt beide wieder her. Eine Allow-Regel in einer Einstellungsdatei hat diese Auswirkung nicht.
* Eine Berechtigungen-[Deny-Regel](/docs/de/permissions#match-all-uses-of-a-tool), das Flag `--disallowedTools` oder [`--restricted`](/docs/de/cli-reference#cli-flags) entfernt `Bash` aus der Sitzung.
* Ein [Subagent](/docs/de/sub-agents#available-tools) listet `Glob` oder `Grep` in seinem `tools`-Feld auf und lässt `Bash` aus. Die aufgelisteten Werkzeuge kommen für diesen Subagenten nur zurück, oder für die gesamte Sitzung, wenn er als Hauptsitzungs-Agent über [`--agent`](/docs/de/sub-agents#invoke-subagents-explicitly) oder die `agent`-Einstellung ausgeführt wird.

Glob unterstützt Standard-Glob-Syntax einschließlich `**` für rekursives Verzeichnis-Matching:

* `**/*.js` passt alle `.js`-Dateien in beliebiger Tiefe
* `src/**/*.ts` passt alle `.ts`-Dateien unter `src/`
* `*.{json,yaml}` passt `.json`- und `.yaml`-Dateien im aktuellen Verzeichnis

Ergebnisse werden nach Änderungszeit sortiert und auf 100 Dateien begrenzt. Wenn die Obergrenze erreicht wird, sieht Claude ein Kürzungsflag im Ergebnis und kann das Muster verengen.

Glob respektiert `.gitignore` standardmäßig nicht, daher findet es gitignorierte Dateien neben verfolgten. Dies unterscheidet sich von [Grep](#grep-tool-behavior), das gitignorierte Dateien überspringt. Um Glob `.gitignore` respektieren zu lassen, setzen Sie `CLAUDE_CODE_GLOB_NO_IGNORE=false`, bevor Sie Claude Code starten.

Claude Code entscheidet über die Berechtigung für einen Glob-Aufruf, bevor es überprüft, ob das Suchverzeichnis existiert. Es führt immer noch die Leseberechtigung-Überprüfung für einen fehlenden `path` außerhalb der [Arbeitsverzeichnisse](/docs/de/permissions#working-directories) durch, daher bedeutet eine Berechtigungsaufforderung für einen Pfad nicht, dass der Pfad existiert.

Ein `pattern`- oder `path`-Wert, der ein Null-Byte enthält, gibt einen Fehler zurück, der Claude auffordert, ihn zu entfernen.&#x20;

<h2 id="grep-tool-behavior">
  Grep-Werkzeugverhalten
</h2>

Das Grep-Werkzeug durchsucht Dateiinhalte nach Mustern. Während [Glob](#glob-tool-behavior) Dateien nach Namen findet, findet Grep Zeilen in ihnen. Auf macOS, Linux und WSL ist Grep standardmäßig unter denselben Bedingungen nicht vorhanden wie Glob. Siehe [Glob-Werkzeugverhalten](#glob-tool-behavior) für den Fall, dass beide Werkzeuge verfügbar sind.

Grep basiert auf [ripgrep](https://github.com/BurntSushi/ripgrep) und verwendet ripgreps Regex-Syntax, nicht POSIX-Grep. Muster, die Regex-Metazeichen enthalten, müssen maskiert werden. Zum Beispiel erfordert das Finden von `interface{}` in Go-Code das Muster `interface\{\}`.

Ein Muster, Glob oder Dateityp, den ripgrep ablehnt, gibt einen Fehler zurück, der ripgreps Diagnose enthält, damit Claude die Eingabe korrigieren und erneut suchen kann. Vor v2.1.208 meldete Claude Code eine abgelehnte Eingabe als `No files found` statt als Fehler, selbst wenn der gesuchte Text in den Zieldateien vorhanden war.

Drei Ausgabemodi steuern, was zurückkommt:

* `files_with_matches`: nur Dateipfade, kein Zeileninhalt. Dies ist die Standardeinstellung.
* `content`: übereinstimmende Zeilen mit Datei und Zeilennummer. Wenn der `offset`-Parameter des Werkzeugs über den letzten Treffer für ein Muster hinausweist, das Treffer hat, gibt Grep `No entries at this offset` zurück, sodass Claude den Offset vergrößert oder zurückgesetzt wird, anstatt zu dem Ergebnis zu kommen, dass das Muster nicht passt.
* `count`: Übereinstimmungsanzahl pro Datei, gefolgt von einer Gesamtsumme über alle übereinstimmenden Dateien. Die Gesamtsumme umfasst jeden Treffer, auch wenn die Parameter `head_limit` oder `offset` des Werkzeugs die aufgelisteten Pro-Datei-Einträge kürzen. Vor v2.1.208 summierte die Gesamtsumme nur die aufgelisteten Einträge.

Claude kann Ergebnisse nach Datei mit dem `glob`-Parameter wie `**/*.tsx` oder nach Sprache mit dem `type`-Parameter wie `py` oder `rust` eingrenzen. Standardmäßig passen Muster innerhalb einer einzelnen Zeile. Claude kann `multiline: true` setzen, um über Zeilengrenzen hinweg zu passen.

Grep respektiert `.gitignore`, daher werden gitignorierte Dateien übersprungen. Um eine gitignorierte Datei zu durchsuchen, übergibt Claude ihren Pfad direkt.

Claude Code entscheidet über die Berechtigung für einen Grep-Aufruf, bevor es überprüft, ob der Such-`path` existiert. Es führt immer noch die Leseberechtigung-Überprüfung für einen fehlenden `path` außerhalb der [Arbeitsverzeichnisse](/docs/de/permissions#working-directories) durch, sodass eine Berechtigungsaufforderung für einen Pfad nicht bedeutet, dass der Pfad existiert.

<h2 id="lsp-tool-behavior">
  LSP-Werkzeugverhalten
</h2>

Das LSP-Werkzeug gibt Claude Code-Intelligenz von einem laufenden Sprachserver. Nach jeder Dateiänderung meldet es automatisch Typfehler und Warnungen, damit Claude Probleme ohne einen separaten Build-Schritt beheben kann. Claude kann es auch direkt aufrufen, um Code zu navigieren:

* Sprung zu einer Symbol-Definition
* Suche nach allen Referenzen zu einem Symbol
* Typinformationen an einer Position abrufen
* Symbole in einer Datei auflisten
* Suche nach einem Symbol nach Name im gesamten Workspace
* Implementierungen einer Schnittstelle finden
* Aufrufen-Hierarchien verfolgen

Claude Code hält das Werkzeug inaktiv, bis Sie ein [Code-Intelligence-Plugin](/docs/de/plugins/code-intelligence) für Ihre Sprache installieren. In [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) startet Claude Code keine Plugin-Sprachserver, daher bleibt das LSP-Werkzeug dort inaktiv. Claude Code übernimmt die Sprachserver-Konfiguration vom Plugin, und Sie installieren die Server-Binärdatei selbst.

Claude Code gibt ein Fehler-Ergebnis für jeden LSP-Aufruf auf einer Datei zurück, deren Sprachserver nicht gestartet werden kann.

<h2 id="monitor-tool">
  Monitor-Tool
</h2>

Das Monitor-Tool ermöglicht es Claude, etwas im Hintergrund zu beobachten und zu reagieren, wenn es sich ändert, ohne die Konversation zu unterbrechen. Bitten Sie Claude:

* Eine Logdatei zu verfolgen und Fehler zu kennzeichnen, wenn sie erscheinen
* Eine PR oder CI-Job abzufragen und zu melden, wenn sich ihr Status ändert
* Ein Verzeichnis auf Dateiänderungen zu überwachen
* Ausgabe von einem beliebigen langfristigen Skript zu verfolgen, auf das Sie es hinweisen
* Eine Verbindung zu einem WebSocket-Feed herzustellen und jede Nachricht zu melden, wenn sie ankommt

Für die meisten Überwachungen schreibt Claude ein kleines Skript, führt es im Hintergrund aus und empfängt jede Ausgabezeile, wenn sie ankommt. Für einen Server, der bereits Ereignisse pusht, kann Claude stattdessen eine [WebSocket](#websocket-source) öffnen, anstatt ein Skript auszuführen.

Sie arbeiten weiter in der gleichen Sitzung und Claude interveniert, wenn ein Ereignis eintritt.

Jede Überwachung, die Claude startet, hat eine Frist: standardmäßig 5 Minuten, maximal 30 Minuten und maximal 10 Minuten in einem [nicht-interaktiven](/docs/de/headless) Lauf mit einem einzelnen Prompt mit `-p`.

Bei der Frist endet die Überwachung. Claude erhält eine Benachrichtigung, damit es die Überwachung erneut starten kann, falls sie noch benötigt wird.

Beenden Sie eine Überwachung, indem Sie Claude auffordern, sie zu stornieren, oder indem Sie die Sitzung beenden. Wenn Sie einen [Subagenten](/docs/de/sub-agents) beenden, der Monitore gestartet hat, beispielsweise von `/tasks`, werden diese Monitore mit ihm beendet.

Wenn Monitor einen Befehl ausführt, verwendet es die gleichen [Berechtigungsregeln wie Bash](/docs/de/permissions#tool-specific-permission-rules), daher gelten `allow`- und `deny`-Muster, die Sie für Bash festgelegt haben, auch hier. Während der [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) aktiv ist, setzt Claude Code allow-Regeln beiseite, die `Monitor` selbst benennen, zusammen mit den anderen [breiten allow-Regeln, die es verwirft](/docs/de/permission-modes#how-the-classifier-evaluates-actions), sodass der Klassifikator Monitor-Befehle auf die gleiche Weise überprüft wie Bash-Befehle.

Die [WebSocket-Quelle](#websocket-source) hat ihre eigene Genehmigungsabfrage, die der Klassifikator auch im Auto-Modus entscheidet.

Das Tool ist nicht auf Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry verfügbar. Es ist auch nicht verfügbar, wenn `DISABLE_TELEMETRY` oder `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` gesetzt ist. Unter Windows ist das Tool nur verfügbar, wenn [Git Bash](/docs/de/setup#set-up-on-windows) installiert ist.

Plugins können Monitore deklarieren, die automatisch starten, wenn das Plugin aktiv ist, anstatt Claude zu bitten, sie zu starten. Siehe [Plugin-Monitore](/docs/de/plugins/components#monitors).

<h3 id="websocket-source">
  WebSocket-Quelle
</h3>

Wenn ein Server bereits Ereignisse über eine WebSocket pusht, kann Claude sich direkt damit verbinden, anstatt ein Abfrageskript zu schreiben. Jede Art von Socket-Aktivität wird entweder zu einem Ereignis oder beendet die Überwachung:

* **Textnachrichten**: jede wird zu einem Ereignis, auch wenn die Nachricht mehrere Zeilen umfasst.
* **Binärnachrichten**: werden nicht weitergeleitet. Claude empfängt stattdessen eine Platzhalterzeile wie `[binary frame, 512 bytes]`.
* **Nachrichten größer als 1 MiB**: die Überwachung endet, daher abonnieren Sie einen gefilterten Feed, falls vorhanden.
* **Socket-Schließung**: die Überwachung endet und Claude empfängt den Schließungscode.

Eine WebSocket-Überwachung nimmt eine `ws`-Eingabe anstelle von `command` und ein einzelner Monitor-Aufruf kann die beiden nicht kombinieren. Die `ws`-Eingabe hat zwei Felder:

| Feld | Erforderlich | Beschreibung |
| :- | :- | :- |
| `url` | Ja | Der Endpunkt zum Verbinden. Muss eine `ws://`- oder `wss://`-URL ohne eingebettete Anmeldedaten oder Leerzeichen sein, nur ASCII-Zeichen verwenden |
| `protocols` | Nein | WebSocket-Subprotokollnamen, die während des Handshake angeboten werden. Jeder Eintrag muss ein gültiges Subprotokoll-Token sein, und die Liste darf keine Duplikate enthalten |

Die `timeout_ms`-Frist gilt auch für eine WebSocket-Überwachung: die Überwachung endet bei der Frist, und `TaskStop` bricht sie früh ab.

Das Öffnen einer WebSocket fragt nach einer Genehmigung; im [Auto-Modus](/docs/de/permission-modes#eliminate-prompts-with-auto-mode) entscheidet der Klassifikator stattdessen. Die Abfrage bietet keine Option, zukünftige Abfragen für denselben Host zu überspringen.

Claude Code lehnt URLs ab, die auf eine private, Link-Local- oder Cloud-Metadaten-Adresse verweisen, einschließlich Hostnamen, die zu einer aufgelöst werden. Es lehnt auch Hosts in `sandbox.network.deniedDomains` ab, und wenn [`allowManagedDomainsOnly`](/docs/de/settings-reference#sandbox-network-allowmanageddomainsonly) in verwalteten Einstellungen gesetzt ist, jeden Host außerhalb der verwalteten Allowlist.

<h2 id="notebookedit-tool-behavior">
  NotebookEdit-Werkzeugverhalten
</h2>

NotebookEdit ändert ein Jupyter-Notebook eine Zelle nach der anderen, indem es Zellen nach ihrer `cell_id` anvisiert. Es führt keine Zeichenkettenersetzung über das Notebook durch wie [Edit](#edit-tool-behavior) auf einfachen Dateien.

Drei Bearbeitungsmodi steuern, was mit der Zielzelle geschieht:

* `replace`: Überschreiben Sie die Quelle der Zelle. Dies ist die Standardeinstellung.
* `insert`: Fügen Sie eine neue Zelle nach der Zielzelle hinzu. Ohne `cell_id` geht die neue Zelle an den Anfang des Notebooks. Erfordert `cell_type` auf `code` oder `markdown` gesetzt.
* `delete`: Entfernen Sie die Zielzelle.

NotebookEdit lehnt eine Notebook-Datei, die sich nicht als UTF-8 dekodieren lässt, gemäß der [gleichen Regel wie bei Edit](#non-utf-8-files) ab und schreibt nichts.

Berechtigungsregeln verwenden das `Edit(...)`-Pfadformat. Eine Regel wie `Edit(notebooks/**)` deckt NotebookEdit-Aufrufe auf Dateien in diesem Verzeichnis ab.

<h2 id="powershell-tool">
  PowerShell-Tool
</h2>

Das PowerShell-Tool ermöglicht es Claude, PowerShell-Befehle nativ auszuführen. Unter Windows bedeutet dies, dass Befehle in PowerShell ausgeführt werden, anstatt sie über Git Bash weiterzuleiten. Die Verfügbarkeit des Tools hängt von Ihrer Plattform ab:

* **Windows ohne Git Bash**: Das Tool ist automatisch aktiviert.
* **Windows mit installiertem Git Bash**: Das Tool ist standardmäßig für claude.ai und Console-Konten aktiviert; setzen Sie `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`, um es in Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry-Sitzungen zu aktivieren, oder `0`, um es auszuschalten.
* **Linux, macOS und WSL**: Das Tool ist optional.

Ihre [PreToolUse-Hooks](/docs/de/hooks#powershell) erhalten die Befehlszeichenfolge des Tools in `tool_input.command`, mit denselben Feldern wie das Bash-Tool.

Verwenden Sie `Bash|PowerShell` in Hooks, die Shell-Befehle überprüfen; der [PowerShell-Hook-Eingabeabschnitt](/docs/de/hooks#powershell) erklärt, warum das Abgleichen von nur `Bash` nicht ausreichend ist.

<h3 id="enable-the-powershell-tool">
  PowerShell-Tool aktivieren
</h3>

Setzen Sie `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` in Ihrer Umgebung oder in `settings.json`:

```json theme={null}
{
  "env": {
    "CLAUDE_CODE_USE_POWERSHELL_TOOL": "1"
  }
}
```

Unter Windows setzen Sie die Variable auf `0`, um das Tool auszuschalten. Unter Linux, macOS und WSL erfordert das Tool PowerShell 7 oder später: Installieren Sie `pwsh` und stellen Sie sicher, dass es sich in Ihrem `PATH` befindet.

Unter Windows erkennt Claude Code automatisch `pwsh.exe` für PowerShell 7+ mit einem Fallback auf `powershell.exe` für PowerShell 5.1. Wenn das Tool aktiviert ist, behandelt Claude PowerShell als die primäre Shell. Das Bash-Tool bleibt für POSIX-Skripte verfügbar, wenn Git Bash installiert ist.

Claude Code startet PowerShell mit `-ExecutionPolicy Bypass` nur im Prozessbereich, sodass `.ps1`-Skripte und Modulimporte auf Standard-Windows-Installationen funktionieren, ohne die Richtlinie des Computers zu ändern. Der Prozessbereich-Bypass überschreibt nicht die Gruppenrichtlinie `MachinePolicy` oder `UserPolicy`, daher gelten Unternehmensrichtlinien weiterhin. Um stattdessen die effektive Ausführungsrichtlinie des Computers zu respektieren, setzen Sie `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1`.

<h3 id="bash-deny-rules-also-turn-off-the-powershell-tool">
  Bash-deny-Regeln schalten auch das PowerShell-Tool aus
</h3>

Unter Windows mit installiertem Git Bash schaltet das Verweigern von Bash auch das PowerShell-Tool für die Sitzung aus. Dies gilt für eingeschränkte Regeln wie `Bash(git push *)` ebenso wie für ein einfaches `Bash` sowie für Regeln aus einer Ihrer Einstellungsdateien oder aus `--disallowedTools`. Claude Code tut dies, weil eine `Bash`-Regel das PowerShell-Tool nicht einschränkt, das [eigene Berechtigungsregeln](/docs/de/permissions#powershell) hat. Bliebe PowerShell eingeschaltet, könnte Claude dort ausführen, was Ihre Regel in Bash verweigert.

Um das PowerShell-Tool neben einer Bash-deny-Regel eingeschaltet zu lassen, wählen Sie eine der folgenden Möglichkeiten:

* Setzen Sie `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` in Ihrer Umgebung oder im `env`-Block einer Einstellungsdatei, wie unter [PowerShell-Tool aktivieren](#enable-the-powershell-tool) gezeigt.
* Fügen Sie einer Einstellungsdatei eine eingeschränkte [`PowerShell`-Berechtigungsregel](/docs/de/permissions#powershell) hinzu, etwa eine deny-Regel `PowerShell(git push *)`.

Ohne eine dieser Maßnahmen bleibt das Bash-Tool bei einer eingeschränkten Bash-deny-Regel verfügbar, und Claude Code schaltet PowerShell ohne Warnung aus. Eine Regel, die das gesamte Bash-Tool entfernt, lässt Claude für die Sitzung ohne Shell-Tool.

<h3 id="shell-selection-in-settings-hooks-and-skills">
  Shell-Auswahl in Einstellungen, Hooks und Skills
</h3>

Drei zusätzliche Einstellungen steuern, wo PowerShell verwendet wird:

* `"defaultShell": "powershell"` in [`settings.json`](/docs/de/settings-reference#all-settings): leitet interaktive `!`-Befehle durch PowerShell weiter. Erfordert, dass das PowerShell-Tool aktiviert ist.
* `"shell": "powershell"` auf einzelnen [Command-Hooks](/docs/de/hooks#command-hook-fields): führt diesen Hook in PowerShell aus. Hooks starten PowerShell direkt, daher funktioniert dies unabhängig von `CLAUDE_CODE_USE_POWERSHELL_TOOL`.
* `shell: powershell` in [Skill-Frontmatter](/docs/de/skills#frontmatter-reference): führt `` !`command` ``-Blöcke in PowerShell aus. Erfordert, dass das PowerShell-Tool aktiviert ist.

PowerShell-Befehle folgen demselben [Verhalten zum Zurücksetzen des Arbeitsverzeichnisses der Hauptsitzung](#what-persists-between-commands) wie Bash-Befehle, einschließlich der Umgebungsvariablen `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR`.

PowerShell-Befehle erhalten außerdem die Variablen, die Hooks über `CLAUDE_ENV_FILE` persistieren, unter den in [Persistierte Variablen in PowerShell-Befehlen](/docs/de/hooks#persisted-variables-in-powershell-commands) beschriebenen Bedingungen. Erfordert Claude Code v2.1.296 oder später.

Exit-Code 1 von `grep`, `rg`, `egrep`, `fgrep`, `findstr` und `git grep` bedeutet keine Übereinstimmungen. Exit-Code 1 von `git diff` bedeutet, dass Unterschiede vorhanden sind. Keines dieser Ergebnisse wird Claude als Befehlsfehler gemeldet. Für `robocopy` sind Exit-Codes 0 bis 7 Informationsergebnisse, wie kopierte Dateien oder erkannte zusätzliche Dateien. Exit-Codes von 8 oder höher zählen als Fehler.

<h3 id="windows-encoding-and-exit-codes">
  Windows-Codierung und Exitcodes
</h3>

Unter Windows erfordern die folgenden PowerShell-Codierungs- und Exitcode-Verhaltensweisen Claude Code v2.1.214 oder später:

* Umleitung mit `>` und `>>` schreibt UTF-8-Dateien auf PowerShell 5.1
* Claude Code codiert Text, der an die Standardeingabe eines nativen Befehls weitergeleitet wird, als UTF-8
* Claude Code erfasst Fehlerausgabe ohne ANSI-Escape-Sequenzen
* Ein Befehl, dessen untergeordneter Prozess auf die Standardeingabe wartet, erhält das Dateiende statt zu hängen
* Exitcode 1 von `where.exe` bedeutet keine Übereinstimmung, und von `fc.exe` und `diff.exe` bedeutet es, dass sich die Dateien unterscheiden. Wenn der Befehl eine Ausgabe erzeugt, behandelt Claude Code diesen Exitcode als eine gültige negative Antwort statt als Befehlsfehler. Claude Code meldet weiterhin eine stille Form, wie `where.exe /Q` oder eine Umleitung zu `$null`, als Fehler bei Exitcode 1

Vor v2.1.214 schrieb `>` auf PowerShell 5.1 UTF-16LE-Dateien, nicht-ASCII-weitergeleitete Eingaben kamen als `?` an, und Python-Skripte konnten mit einem `UnicodeEncodeError` abstürzen, wenn nicht-ASCII-Zeichen gedruckt wurden.

<h3 id="preview-limitations">
  Vorschaubeschränkungen
</h3>

Das PowerShell-Tool hat die folgenden bekannten Einschränkungen während der Vorschau:

* PowerShell-Profile werden nicht geladen
* Unter Windows wird Sandboxing nicht unterstützt

<h2 id="read-tool-behavior">
  Verhalten des Read-Tools
</h2>

Das Read-Tool nimmt einen Dateipfad und gibt den Inhalt mit Zeilennummern zurück. Claude ist angewiesen, immer absolute Pfade zu übergeben.

Das Lesen einer leeren Datei gibt eine Benachrichtigung zurück, dass die Datei existiert, aber ihr Inhalt leer ist, und ein `offset` nach der letzten Zeile gibt eine Benachrichtigung zurück, die die Zeilenanzahl der Datei angibt. Vor v2.1.208 gab das Lesen einer leeren Datei stattdessen die Past-the-End-Benachrichtigung zurück.

Read verarbeitet mehrere Dateitypen über reinen Text hinaus:

* **Bilder**: PNG, JPG und andere Bildformate werden als visueller Inhalt zurückgegeben, den Claude sehen kann, nicht als Rohdaten. Claude Code ändert die Größe großer Bilder und komprimiert sie neu, um die Bildgrößenlimits des Modells einzuhalten, bevor sie gesendet werden, sodass Claude möglicherweise eine herunterskalierte Version eines großen Screenshots sieht. Ein Bild, das nach dieser Größenänderung immer noch größer als 500 KB ist, wird als JPEG mit reduzierter Qualität mit seinen unveränderten Pixeldimensionen neu codiert. Wenn Claude feine Pixel-Details in einem großen Bild übersieht, bitten Sie es, zuerst die Region von Interesse zuzuschneiden, beispielsweise mit ImageMagick über Bash.
* **PDFs**: Claude liest kurze `.pdf`-Dateien vollständig. Für PDFs länger als 10 Seiten liest es in Bereichen mit einem `pages`-Parameter, wie `"1-5"`, bis zu 20 Seiten auf einmal. Seitenbereich-Lesevorgänge rendern Seiten mit `pdftoppm` aus poppler-utils, daher installieren Sie es mit `brew install poppler` auf macOS oder `apt-get install poppler-utils` auf Debian und Ubuntu. Auf Windows und anderen Plattformen installieren Sie einen poppler-Build, der `pdftoppm` auf Ihrem `PATH` platziert. Ohne ihn schlägt ein Seitenbereich-Lesevorgang mit `pdftoppm is not installed` fehl.
* **Jupyter-Notizbücher**: `.ipynb`-Dateien geben alle Zellen mit ihren Ausgaben zurück, einschließlich Code, Markdown und Visualisierungen. Ein Notizbuch, dessen Zellen zusammen mehr als 256 KB oder mehr als das [Token-Limit](#large-files) umfassen, gibt stattdessen einen Fehler zurück. Claude Code weigert sich, eine Notizbuchdatei über 100 MB zu lesen; der Fehler teilt Claude mit, wie er stattdessen einen Teil des Notizbuchs liest, wie z. B. einen Ausschnitt von Zellen, mit einem Shell-Befehl.

Read liest nur Dateien, keine Verzeichnisse. Claude listet Verzeichnisinhalte mit einem Shell-Befehl wie `ls` auf.

<h3 id="large-files">
  Große Dateien
</h3>

Claude kann eine Textdatei lesen, die größer ist als das, was ein einzelner Read-Aufruf zurückgibt. Standardmäßig gibt ein Aufruf höchstens 25.000 Token zurück, oder den Wert, den Sie in [`CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS`](/docs/de/env-vars) festlegen, und lehnt eine vollständige Datei über 256 KB ab, sodass Claude eine größere Datei seitenweise mit `offset` und `limit` liest. Ab Claude Code v2.1.296 kann es stattdessen die gesamte Datei oder einen langen Zeilenbereich in einem Aufruf lesen, indem es bei Bedarf `allow_large: true` setzt, beispielsweise weil Sie die gesamte Datei angefordert haben. Dieser Lesevorgang wird am verbleibenden Platz im [Kontextfenster](/docs/de/context-window) der Sitzung statt an den Standardlimits bemessen. Für Bilder, PDFs und Notizbücher gelten weiterhin ihre Limits.

Was Claude erhält, wenn ein Lesevorgang die Standardlimits überschreitet:

* **Vollständige Datei über dem Token-Limit**: die erste Seite der Datei mit einer `PARTIAL view`-Benachrichtigung, die angibt, wie viel der Datei es erhalten hat und wie es mit `offset` und `limit` mehr lesen kann
* **Vollständige Datei über 256 KB oder ein Lesevorgang mit `offset` oder `limit` über dem Token-Limit**: ein Fehler, der es anweist, einen Teil mit `offset` und `limit` zu lesen oder stattdessen mit [Grep](#grep-tool-behavior) nach spezifischem Inhalt zu suchen

<h2 id="sendfeedback-tool-behavior">
  Verhalten des SendFeedback-Tools
</h2>

Von Claude verfasstes Feedback ist ein Feedbackbericht über Claude Code, den Claude für Sie schreibt. Es erfordert Claude Code v2.1.238 oder später. Claude Code speichert jeden Entwurf auf Ihrem Computer unter `~/.claude/feedback/drafts/`, und nichts erreicht Anthropic, bis Sie ihn senden. Claude erstellt einen mit dem SendFeedback-Tool, wenn:

* Ein Tool oder Befehl immer wieder fehlschlägt
* Es kann Ihnen bei etwas nicht helfen, das Sie gefragt haben
* Sie weisen auf einen Fehler hin, den es gemacht hat, oder es bemerkt einen
* Sie bitten es, Feedback einzureichen

<h3 id="what-you-see-when-claude-drafts">
  Was Sie sehen, wenn Claude einen Entwurf erstellt
</h3>

Nachdem Claude einen Entwurf in die Warteschlange eingereiht hat, sehen Sie eine Karte über Ihrer Eingabeaufforderung mit dem Titel des Entwurfs. Drücken Sie `1`, um den Entwurf zu überprüfen, drücken Sie `2` zweimal, um ihn wie geschrieben zu senden, oder drücken Sie `0`, um ihn zu verwerfen. Ein verworfener Entwurf bleibt in Ihrer Warteschlange. Nachdem Sie eine Karte verworfen haben, fragt Claude Code, ob von Claude verfasstes Feedback deaktiviert werden soll. Es stellt die Frage nicht mehr, nachdem Sie zweimal abgelehnt haben.

Standardmäßig sehen Sie in einer Sitzung höchstens drei Karten; Anthropic kann dieses Limit vom Server aus ohne Veröffentlichung anpassen. Nach dem Limit und immer wenn Sie [`feedbackDrafts`](/docs/de/settings-reference#feedbackdrafts) auf `quiet` setzen, sehen Sie nur eine Anzahl der in der Warteschlange befindlichen Entwürfe in der Eingabeaufforderungsfußzeile.

<h3 id="review-and-edit-a-draft">
  Überprüfen und bearbeiten Sie einen Entwurf
</h3>

Führen Sie `/feedback` ohne Argument aus, um Ihre Warteschlange zu öffnen. Es listet jeden in der Warteschlange befindlichen Entwurf aus allen Ihren Sitzungen auf, einschließlich Entwürfe, deren Karten Sie verworfen oder nie gesehen haben. Wählen Sie einen Entwurf aus, um ihn zur Überprüfung zu öffnen, wo Sie:

* Den Titel, Bereich und Details bearbeiten können
* **Transkript senden** auf `yes` oder `no` setzen. Wenn das Transkript aus der Sitzung, in der Claude den Entwurf in die Warteschlange eingereiht hat, noch verfügbar ist, beginnt es mit `yes`, das diese Konversation an Anthropic sendet; `no` sendet nur den Bericht
* Den Entwurf senden, verwerfen oder in der Warteschlange für später belassen

Um stattdessen selbst einen Bericht zu schreiben, drücken Sie `w` für den Standard-Feedbackdialog. `/feedback` mit Text danach und `/bug` öffnen diesen Dialog direkt.

<h3 id="send-a-draft">
  Senden Sie einen Entwurf
</h3>

Wenn Sie einen Entwurf senden, reicht Claude Code ihn auf die gleiche Weise wie einen `/feedback`-Bericht ein, mit der gleichen [Aufbewahrung](/docs/de/data-usage#feedback-using-the-%2Ffeedback-command), und löscht den Entwurf von Ihrem Computer. Wenn Sie von der Karte aus senden, wird `✓ Sent` angezeigt; wenn Sie aus der Warteschlange senden, wird sie mit einer Quittungs-ID geschlossen.

Der Bericht enthält:

* Ihren Titel, Bereich und Details
* Umgebungsinformationen, wie Ihre Claude Code-Version, Betriebssystem und Modell
* Die IDs der letzten API-Anfragen
* Das Gesprächstranskript, wenn Sie **Transkript senden** auf dem Überprüfungsbildschirm auf `yes` belassen haben. Das Senden von der Karte aus enthält niemals das Transkript

Claude Code behält Ihr Arbeitsverzeichnis im lokalen Entwurf, um das Transkript zu finden, und sendet das Verzeichnis nicht.

In [Organisationen mit Null-Datenspeicherung](/docs/de/zero-data-retention#features-disabled-under-zdr) sowie in Organisationen, in denen die [HIPAA-Konfiguration](/docs/de/hipaa-setup) angewendet wurde, lässt Claude Code das Tool weg, wie es auch bei `/feedback` der Fall ist. Wenn eine Sitzung in einer Organisation mit Null-Datenspeicherung das Tool immer noch anbietet, bleiben Entwürfe auf Ihrem Computer, und das Senden schlägt mit `Feedback collection is not available for organizations with custom data retention policies.` fehl.

<h3 id="discard-or-keep-a-draft">
  Verwerfen oder behalten Sie einen Entwurf
</h3>

Wenn Sie einen Entwurf verwerfen, löscht Claude Code ihn von Ihrem Computer. Ein Entwurf, den Sie in der Warteschlange belassen, läuft nach 30 Tagen ab oder nach [`cleanupPeriodDays`](/docs/de/settings-reference#cleanupperioddays), wenn dieser Wert kürzer ist. Die Warteschlange enthält 10 Entwürfe aus allen Ihren Sitzungen, und wenn Claude einen elften in die Warteschlange einreiht, löscht Claude Code den ältesten. Wenn Sie `/exit` mit Entwürfen aus der Sitzung ausführen, die sich noch in der Warteschlange befinden, fragt Claude Code, ob Sie diese überprüfen oder verwerfen möchten, bevor Sie beenden.

<h3 id="turn-claude-drafted-feedback-off">
  Deaktivieren Sie von Claude verfasstes Feedback
</h3>

Setzen Sie **Claude-drafted feedback** in `/config` auf `off`, das die [`feedbackDrafts`](/docs/de/settings-reference#feedbackdrafts)-Einstellung schreibt, oder setzen Sie [`CLAUDE_CODE_SEND_FEEDBACK=0`](/docs/de/env-vars) für eine Sitzung. Mit beiden kann Claude keine Entwürfe in die Warteschlange einreihen. Um das Verfassen ohne Karten fortzusetzen, setzen Sie stattdessen `feedbackDrafts` auf `quiet`. Administratoren können `feedbackDrafts` in [verwalteten Einstellungen](/docs/de/managed-settings) setzen, was Vorrang vor Ihrer eigenen Einstellung hat.

<h3 id="sessions-without-claude-drafted-feedback">
  Sitzungen ohne von Claude verfasstes Feedback
</h3>

Claude Code enthält das Tool in interaktiven Terminalsitzungen auf Ihrem eigenen Computer, die die Claude API anstelle eines Cloud-Anbieters verwenden. Es lässt das Tool weg aus:

* Nicht-interaktiven `-p`-Läufen und [Agent SDK](/docs/de/agent-sdk/overview)-Sitzungen, die keinen Bildschirm zum Überprüfen der Warteschlange haben
* [Cloud-Sitzungen](/docs/de/claude-code-on-the-web), die nicht in die Warteschlange auf Ihrem Computer schreiben können
* Sitzungen auf [Amazon Bedrock](/docs/de/amazon-bedrock), [Claude Platform on AWS](/docs/de/claude-platform-on-aws), [Google Cloud's Agent Platform](/docs/de/google-vertex-ai) oder [Microsoft Foundry](/docs/de/microsoft-foundry)
* Sitzungen, in denen Sie [`CLAUDE_CODE_SEND_FEEDBACK=0`](/docs/de/env-vars) oder [`DISABLE_FEEDBACK_COMMAND=1`](/docs/de/env-vars) setzen, `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` auf einen beliebigen nicht-leeren Wert setzen oder [Feature-Flag-Abruf](/docs/de/env-vars#features-that-need-feature-flag-fetching) deaktiviert haben
* Organisationen, die Produktfeedback deaktiviert haben, [Organisationen mit Null-Datenspeicherung](/docs/de/zero-data-retention#features-disabled-under-zdr) und Organisationen, in denen die [HIPAA-Konfiguration](/docs/de/hipaa-setup) angewendet wurde

<h2 id="task-tool-availability">
  Verfügbarkeit des Task-Tools
</h2>

Die Task-Tracking-Tools, `TaskCreate`, `TaskGet`, `TaskUpdate`, `TaskList` und `TodoWrite`, sind standardmäßig nur auf Opus 4.7, Sonnet 4.6, Haiku 4.5 und früheren Modellen verfügbar. Überall dort, wo die Tools verfügbar sind, erhalten Sie die vier Task-Tools oder `TodoWrite`, wenn Sie [`CLAUDE_CODE_ENABLE_TASKS=0`](/docs/de/env-vars) setzen.

Bei jedem anderen Modell lässt Claude Code die Tools weg, es sei denn, Sie aktivieren sie. Das Gleiche gilt für eine Modell-ID, die Claude Code nicht erkennt, z. B. einen benutzerdefinierten Modellnamen, der über ein [LLM-Gateway](/docs/de/llm-gateway) bereitgestellt wird. Bei neueren Modellen verfolgt Claude mehrstufige Arbeiten ohne eine schriftliche Checkliste, und die Definitionen und Erinnerungen der Tools beanspruchen Kontext. Ohne die Tools fügt Claude nichts zur [Aufgabenliste](/docs/de/interactive-mode#task-list) hinzu, während es arbeitet.

Wenn Sie diese Tools auf einem Modell verwenden möchten, das sie standardmäßig nicht hat, führen Sie eines der folgenden Verfahren durch:

* Exportieren Sie [`CLAUDE_CODE_ENABLE_TODO_TOOLS=1`](/docs/de/env-vars), bevor Sie Claude Code starten, zum Beispiel `CLAUDE_CODE_ENABLE_TODO_TOOLS=1 claude`. Claude Code stellt dann die gleichen Tools auf jedem Modell und jedem Anbieter bereit
* Nennen Sie eines der Tools in [`--allowedTools`](/docs/de/cli-reference#cli-flags), zum Beispiel `claude --allowedTools TaskCreate`
* Listen Sie die Tools in [`--tools`](/docs/de/cli-reference#cli-flags) auf, was die integrierten Tools der Sitzung auf die genannten beschränkt. Fügen Sie die gewünschten Tools zusammen mit den anderen integrierten Tools ein, die Sie verwenden
* Im Agent SDK funktionieren die [`allowedTools` und `tools` Optionen](/docs/de/agent-sdk/todo-tracking#model-availability) genauso wie die beiden Flags

In [Hintergrund-Sitzungen](/docs/de/agent-view) und in [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) stellt Claude Code die gleichen Tools auf jedem Modell bereit, unabhängig davon, ob es aufgelistet ist oder nicht.

Claude Code gibt einem Subagenten die Tools nur, wenn Ihre Sitzung sie hat, auch wenn der Subagent ein anderes Modell ausführt. Ein In-Process-[Agent-Team](/docs/de/agent-teams)-Teamkollege folgt Ihrer Sitzung auf die gleiche Weise, während ein Teamkollege in seinem eigenen [geteilten Bereich](/docs/de/agent-teams#choose-a-display-mode) als separater Claude Code-Prozess ausgeführt wird, daher entscheidet sein eigenes Modell. Ohne die Task-Tools koordiniert sich ein Agent mit seinem Team durch Nachrichten statt über die [gemeinsame Aufgabenliste](/docs/de/agent-teams#assign-and-claim-tasks).

Die hier beschriebene Standardeinstellung gilt in Claude Code v2.1.268 und später.

<h2 id="webfetch-tool-behavior">
  WebFetch-Tool-Verhalten
</h2>

WebFetch nimmt eine URL und einen Prompt entgegen, der beschreibt, was extrahiert werden soll. Es ruft die Seite ab und konvertiert die Antwort in Markdown, wenn der Server HTML zurückgibt. Bei den meisten Abrufen führt es den Prompt anschließend in einem separaten Modellaufruf gegen den Inhalt aus, und Claude erhält das Ergebnis dieses Aufrufs statt der rohen Seite. Der Konvertierungsschritt ist nicht konfigurierbar.

Dies macht WebFetch absichtlich verlustbehaftet. Die Extraktions-Eingabeaufforderung bestimmt, was Claude erreicht, daher kann ein Ergebnis, das besagt, dass eine Seite etwas nicht erwähnt, nur bedeuten, dass die Eingabeaufforderung nicht danach gefragt hat. Bitten Sie Claude, die Seite erneut mit einer spezifischeren Eingabeaufforderung abzurufen, oder verwenden Sie `curl` über Bash für die unverarbeitete Seite.

Einige Verhaltensweisen prägen die Antwort, die Claude erhält:

* WebFetch lehnt `localhost` und jeden anderen Hostnamen ohne einen Punkt ab, z. B. einen bloßen Intranet-Namen, bevor eine Anfrage gestellt wird. Der [Fehler, den es zurückgibt](/docs/de/errors#webfetch-cannot-fetch-localhost), teilt Claude mit, dass lokale Server mit `curl` über Bash erreicht werden sollen.
* HTTP-URLs werden automatisch auf HTTPS aktualisiert.
* WebFetch liest pro Aufruf bis zu 100.000 Zeichen des Inhalts einer Seite. Auf Claude Code v2.1.290 oder später teilt das Ergebnis für eine längere Seite Claude mit, wie viel ungelesen blieb, sodass Claude den nächsten Teil abrufen kann.
* WebFetch speichert jede Antwort standardmäßig 15 Minuten lang zwischen, sodass wiederholte Abrufe derselben URL schnell zurückgegeben werden. Auf Claude Code v2.1.233 oder später können Sie [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/de/env-vars#variables) setzen, um zu ändern, wie lange WebFetch jede Antwort speichert.
* Eine Seite, die nicht innerhalb von fünf Minuten heruntergeladen wird, einschließlich aller Umleitungen, denen WebFetch folgt, schlägt mit einem Deadline-Fehler fehl. Auf Claude Code v2.1.268 oder später können Sie [`CLAUDE_CODE_WEBFETCH_DEADLINE_MS`](/docs/de/env-vars#variables) setzen, um das Limit zu ändern, oder auf `0`, um es zu entfernen.
* Wenn eine URL zu einem anderen Host umleitet, gibt WebFetch ein Textergebnis zurück, das die ursprüngliche URL und das Umleitungsziel benennt, anstatt ihr zu folgen. Claude ruft dann die neue URL mit einem zweiten WebFetch-Aufruf ab.
* Wenn der Extraktionsschritt eine überladene API trifft, versucht Claude Code es mit Backoff erneut; ein Abruf, der immer noch fehlschlägt, gibt ein Fehlerergebnis zurück. Vor v2.1.212 konnte der API-Fehlertext Claude erreichen, als wäre er der extrahierte Seiteninhalt.

In Manual und `acceptEdits` [Berechtigungsmodi](/docs/de/permission-modes) fordert WebFetch vor dem Abruf auf, außer für Domänen, die Ihre [Berechtigungsregeln](/docs/de/permissions#manage-permissions) bereits zulassen oder ablehnen, und eine integrierte Reihe von genehmigten Dokumentationsdomänen, die ohne Eingabeaufforderung abgerufen werden. Unabhängig davon, was Ihre Regeln zulassen, muss ein Abruf auch zuerst die [WebFetch-Domänensicherheitsprüfung](/docs/de/data-usage#webfetch-domain-safety-check) bestehen; dieser Abschnitt behandelt, was die Prüfung sendet und die Einstellung, die sie überspringt. Die Eingabeaufforderung bietet drei Optionen:

* **Ja**: genehmigt diesen Abruf nur. Der nächste WebFetch-Aufruf fordert erneut auf, auch für dieselbe Domäne.
* **Ja, und frag mich nicht mehr für `<domain>`**: genehmigt den Abruf und speichert eine `WebFetch(domain:...)`-Zulassungsregel für diese Domäne in `.claude/settings.local.json` für dieses Repository. Siehe [wie gespeicherte Genehmigungen bestehen bleiben](/docs/de/permissions#permission-system). Wenn Ihre Organisation [`allowManagedPermissionRulesOnly`](/docs/de/permissions#managed-only-settings) setzt, blendet Claude Code diese Option aus.
* **Nein, und sag Claude, was er stattdessen tun soll**: lehnt den Abruf ab.

Um eine Domäne im Voraus ohne Eingabeaufforderung zuzulassen, fügen Sie eine Zulassungsregel wie `WebFetch(domain:example.com)` hinzu; `WebFetch(domain:*)` lässt jede Domäne zu. Die `auto` und `bypassPermissions` [Berechtigungsmodi](/docs/de/permissions#permission-modes) überspringen die Eingabeaufforderung, außer für eine Domäne, die eine explizite `ask`-Regel erfüllt.

Eine explizite `WebFetch(domain:...)`-Regel in `deny`, `ask` oder `allow` hat Vorrang vor der genehmigten Reihe, sodass Sie eine genehmigte Domäne blockieren oder eine Eingabeaufforderung dafür verlangen können.

Wenn die URL ein claude.ai-[Artefakt](/docs/de/artifacts)-Link ist, kann Claude Code zusätzlich um Genehmigung bitten, das Artefakt selbst zu lesen. Für die Fälle, in denen es nachfragt, siehe [Ein mit Ihnen geteiltes Artefakt lesen](/docs/de/artifacts#read-an-artifact-shared-with-you).

WebFetch setzt einen `User-Agent`-Header, der mit `Claude-User` beginnt, und einen `Accept`-Header, der Markdown gegenüber HTML bevorzugt, sodass Server, die Inhaltsaushandlung unterstützen, Markdown direkt zurückgeben können.

Sandbox-Befehle erben nicht die integrierte Reihe von genehmigten Dokumentationsdomänen von WebFetch. Um einem Sandbox-Befehl den Zugriff auf eine Domäne ohne Eingabeaufforderung zu ermöglichen, fügen Sie die Domäne zu [`allowedDomains`](/docs/de/settings-reference#sandbox-network-alloweddomains) hinzu oder lassen Sie sie mit einer `WebFetch(domain:...)`-Regel zu, die die [Sandbox auch berücksichtigt](/docs/de/sandboxing#network-isolation). WebFetch liest die Sandbox-Zulassungsliste im Gegenzug nie, daher verhindert das Hinzufügen einer Domäne zu einer Sandbox- oder Organisations-Netzwerk-Zulassungsliste nicht, dass WebFetch danach fragt.

<h3 id="webfetch-availability">
  WebFetch-Verfügbarkeit
</h3>

Auf Claude Code v2.1.285 oder später können Sie [`CLAUDE_CODE_DISABLE_WEB_FETCH`](/docs/de/env-vars#variables) auf `1` setzen, um WebFetch auszuschalten.

Wenn Sie sich mit einem Team- oder Enterprise-claude.ai-Konto anmelden und nicht über ein [LLM-Gateway](/docs/de/llm-gateway) verbunden sind, hängt WebFetch auch von der Richtlinie Ihrer Organisation ab, die Claude Code anfordert, wenn eine Sitzung startet. Dasselbe gilt für eine Sitzung, deren Plan Claude Code nicht bestimmen kann, z. B. eine, die unter einem claude.ai-Token ausgeführt wird, das eine andere App bereitgestellt hat.

Wenn WebFetch in einer Sitzung fehlt, führen Sie `/status` in der Sitzung aus. Wenn die Zeile `Organization policy` meldet, dass die Richtlinie nicht geladen wurde und Web Fetch unter den Funktionen aufgeführt ist, die darauf warten, hält Claude Code WebFetch zurück, bis es bestätigen kann, dass Ihre Organisation es zulässt. Außerhalb einer Sitzung macht `claude doctor` eine eigene Anfrage und gibt dieselbe Zeile aus. Sobald eine Richtlinie, die WebFetch zulässt, geladen wird, gibt das Tool ohne Neustart zurück.

<h2 id="websearch-tool-behavior">
  WebSearch-Tool-Verhalten
</h2>

WebSearch führt eine Abfrage gegen Anthropics [Web-Suche](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool)-Backend durch und gibt Ergebnistitel und URLs zurück. Es ruft die Ergebnisseiten nicht ab. Um eine Seite zu lesen, die Claude in Suchergebnissen findet, folgt es mit [WebFetch](#webfetch-tool-behavior) nach.

Das Tool kann bis zu acht Backend-Suchen pro Aufruf durchführen und die Suche intern verfeinern, bevor es Ergebnisse zurückgibt. Claude kann Ergebnisse mit `allowed_domains` auf bestimmte Hosts beschränken oder mit `blocked_domains` ausschließen. Die beiden Listen können nicht in einem einzigen Aufruf kombiniert werden.

Wenn die Suchanfrage ein überladenes API trifft, versucht Claude Code es mit Backoff erneut; ein Aufruf, der immer noch fehlschlägt, gibt ein Fehlerergebnis zurück. Vor v2.1.212 konnte der API-Fehlertext Claude erreichen, als wäre er ein Suchergebnis.

WebSearch-Berechtigungsregeln benötigen keinen Spezifizierer. Ein einfacher `WebSearch`-Eintrag in `allow` oder `deny` ist die einzige Form.

Das Such-Backend ist nicht konfigurierbar. Um mit einem anderen Anbieter zu suchen, fügen Sie einen [MCP-Server](/docs/de/mcp) hinzu, der ein Such-Tool bereitstellt.

<Note>
  WebSearch ist auf der Claude API, [Claude Platform on AWS](/docs/de/claude-platform-on-aws) und Microsoft Foundry verfügbar. Auf der Agent Platform von Google Cloud funktioniert es mit Opus 4, Sonnet 4, Haiku 4.5 und späteren Modellen. Amazon Bedrock stellt das serverseitige Web-Such-Tool nicht bereit.
</Note>

<h3 id="session-search-limit">
  Suchgrenze für Sitzungen
</h3>

Eine interaktive Terminal-Sitzung hat ein Limit von 200 WebSearch-Aufrufen. Suchen aus der Hauptkonversation und aus [Subagenten](/docs/de/sub-agents), etwa bei parallelen Forschungs-Fan-Outs, zählen gegen dasselbe Limit. Das Limit erfordert Claude Code v2.1.212 oder später.

Solange eine Sitzung das Limit erreicht hat, erscheinen Suchen in der Konversation als Aufrufe, die nichts getan haben. Claude erhält einen Hinweis, der ihm mitteilt, mit den bereits gesammelten Informationen fortzufahren und Sie, falls weitere Suchen nötig sind, zu bitten, das Limit zu erhöhen.

Um weitere Suchen zu erhalten, erhöhen Sie die Obergrenze, warten Sie, bis das Limit wieder aufgefüllt ist, oder starten Sie eine neue Konversation:

* **Obergrenze erhöhen**: Setzen Sie die Umgebungsvariable [`CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION`](/docs/de/env-vars#variables) auf eine positive ganze Zahl, etwa `500`. Die Obergrenze kann erhöht, aber nicht deaktiviert werden.
* **Auf das Auffüllen warten**: Ab Claude Code v2.1.290 wird das Limit einer interaktiven Terminal-Sitzung mit etwa 100 Aufrufen pro Stunde wieder aufgefüllt. Um die Rate zu ändern, setzen Sie [`CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR`](/docs/de/env-vars#variables) auf eine Anzahl von Aufrufen pro Stunde, etwa `50`.
* **Neue Konversation starten**: Das Ausführen von [`/clear`](/docs/de/commands#all-commands) im Prompt von Claude Code setzt den Zähler ebenfalls zurück. Wenn Arbeiten, die noch Subagenten erzeugen können, das Löschen überstehen, wie z. B. ein laufender Workflow, wird der Zähler stattdessen übertragen.

<h2 id="write-tool-behavior">
  Verhalten des Write-Tools
</h2>

Das Write-Tool erstellt eine neue Datei oder überschreibt eine vorhandene Datei mit dem vollständigen bereitgestellten Inhalt. Es fügt nicht an und führt nicht zusammen. Write überschreibt außerdem eine vorhandene Datei, deren Bytes sich nicht dekodieren lassen, und speichert den neuen Inhalt als UTF-8, wie unter [Nicht-UTF-8-Dateien](#non-utf-8-files) beschrieben.

Ob Claude eine vorhandene Datei in der aktuellen Konversation lesen muss, bevor er sie überschreibt, hängt vom Modell und der Datei ab:

* Claude Opus 4.6, Claude Haiku 4.5 und ältere Modelle erfordern immer das Lesen, daher schlägt ein Write zu einer ungelesenen vorhandenen Datei mit einem Fehler fehl.
* Neuere Modelle können eine Datei überschreiben, die sie in dieser Sitzung nie gelesen haben, unter den gleichen Bedingungen wie [read-before-edit](#edit-tool-behavior): Das Lesen würde keine Berechtigungsaufforderung erfordern und das Read-Tool ist verfügbar.
* Jupyter-Notebooks und Dateien, die Claude nur teilweise mit einer [`PARTIAL view`-Benachrichtigung](#large-files) gelesen hat, erfordern das Lesen auf jedem Modell.

Diese Einschränkung gilt nicht für neue Dateien. Vor v2.1.228 erforderten alle Modelle das Lesen vor dem Überschreiben einer vorhandenen Datei.

Das Anzeigen der Datei mit Bash erfüllt diese Anforderung auch unter den gleichen Regeln, die unter [Edit tool behavior](#edit-tool-behavior) beschrieben sind.

Für teilweise Änderungen an einer vorhandenen Datei verwendet Claude Edit statt Write.

<h2 id="check-which-tools-are-available">
  Überprüfen Sie, welche Werkzeuge verfügbar sind
</h2>

Ihr genaues Werkzeugsatz hängt von Ihrem Anbieter, Ihrer Plattform und Ihren Einstellungen ab. Um zu überprüfen, was in einer laufenden Sitzung geladen ist, fragen Sie Claude direkt:

```text theme={null}
What tools do you have access to?
```

Claude gibt eine Zusammenfassung im Gesprächsstil. Für genaue MCP-Werkzeugnamen führen Sie `/mcp` aus.

<Note>
  Das [Advisor-Tool](/docs/de/advisor) ist ein [Server-Tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool), das die API ausführt, anstatt ein Tool, das Claude Code implementiert. Es hat keinen Namen, auf den Sie in Berechtigungsregeln oder Hook-Matchern verweisen können.
</Note>

<h2 id="see-also">
  Siehe auch
</h2>

* [MCP-Server](/docs/de/mcp): Fügen Sie benutzerdefinierte Werkzeuge durch Verbindung externer Server hinzu
* [Berechtigungen](/docs/de/permissions): Berechtigungssystem, Regelsyntax und werkzeugspezifische Muster
* [Subagents](/docs/de/sub-agents): Konfigurieren Sie Werkzeugzugriff für Subagents
* [Hooks](/docs/de/hooks-guide): Führen Sie benutzerdefinierte Befehle vor oder nach der Werkzeugausführung aus
