Claude Platform Docs
MessagesTool-Infrastruktur

Tool-Referenz

Verzeichnis der von Anthropic bereitgestellten Server-Tools, Client-Tools und Client-Toolsets sowie Referenz für optionale Eigenschaften von Tool-Definitionen.

Diese Seite ist eine Referenz für die Tools, die Anthropic bereitstellt, und die optionalen Eigenschaften, die du für jede Tool-Definition festlegen kannst. Eine konzeptionelle Einführung in die „tool use“ (Tool-Nutzung) findest du unter Tool-Nutzung mit Claude. Anleitungen zur Implementierung der Tool-Nutzung in deiner Anwendung findest du unter Tools definieren.

Von Anthropic bereitgestellte Tools

Anthropic stellt zwei Arten von Tools bereit: Server-Tools, die auf der Infrastruktur von Anthropic ausgeführt werden, und Client-Tools, bei denen Anthropic das Schema definiert, deine Anwendung aber die Ausführung übernimmt. Beide Arten erscheinen im tools-Array deiner Anfrage neben allen benutzerdefinierten Tools.

TooltypeAusführungBeta-Header
Web-Search-Toolweb_search_20260318
web_search_20260209
web_search_20250305
ServerKeiner
Web-Fetch-Toolweb_fetch_20260318
web_fetch_20260309
web_fetch_20260209
web_fetch_20250910
ServerKeiner
Code-Execution-Toolcode_execution_20260521
code_execution_20260120
code_execution_20250825
ServerKeiner
Advisor-Tooladvisor_20260301Serveradvisor-tool-2026-03-01
Tool-Search-Tooltool_search_tool_regex_20251119
tool_search_tool_bm25_20251119
ServerKeiner
MCP-Connectormcp_toolsetServermcp-client-2025-11-20
Memory-Toolmemory_20250818ClientKeiner
Bash-Toolbash_20250124ClientKeiner
Text-Editor-Tooltext_editor_20250728
text_editor_20250124
ClientKeiner
Computer-Use-Toolcomputer_toolset_20260801
computer_20251124
computer_20250124
ClientKeiner
computer-use-2025-11-24
computer-use-2025-01-24
Browser-Use-Toolbrowser_toolset_20260801ClientKeiner

Zur Modellkompatibilität siehe die Seite des jeweiligen Tools. Die unterstützten Modelle variieren je nach Tool und Tool-Version.

Tool-Versionierung

Die meisten von Anthropic bereitgestellten Tools tragen ein _YYYYMMDD-Suffix im type-String. Eine neue Version wird veröffentlicht, wenn sich das Verhalten, das Schema oder die Modellunterstützung des Tools ändert. Ältere Versionen bleiben verfügbar, damit bestehende Integrationen weiterhin funktionieren.

Wenn ein Tool mehrere aktive Versionen hat, variiert die Beziehung zwischen ihnen:

  • Nach Fähigkeit unterschieden: web_search_20260209 und web_fetch_20260209 fügen gegenüber ihren Vorgängern dynamische Inhaltsfilterung hinzu; web_fetch_20260309 fügt eine Option zur Cache-Umgehung hinzu; web_search_20260318 und web_fetch_20260318 fügen eine Steuerung der Antworteinbindung hinzu. code_execution_20260120 fügt programmatisches Tool-Calling aus der Sandbox heraus hinzu; code_execution_20260521 gibt das Zeitlimit pro Zelle in der Tool-Beschreibung an. In jedem Fall sind sowohl die neue als auch die alte Version aktuell; welche du verwendest, hängt davon ab, ob du die neue Fähigkeit benötigst.
  • Nach Modell unterschieden: text_editor_20250728 ist für Claude 4 und spätere Modelle und text_editor_20250124 ist für frühere Modelle. Die Version, die du verwendest, hängt vom Modell ab, auf das du abzielst.
  • Variante, nicht Version: tool_search_tool_regex_20251119 und tool_search_tool_bm25_20251119 sind zwei Suchalgorithmen, die gemeinsam veröffentlicht wurden. Keiner ersetzt den anderen.
  • Veraltet (legacy): code_execution_20250522 unterstützt nur Python. code_execution_20250825 fügt Bash und Dateioperationen hinzu.
  • Nachfolger: computer_toolset_20260801 ist der stabile Nachfolger der Beta-Versionen computer_20251124 und computer_20250124, die für bestehende Integrationen und für Modelle, die das Toolset nicht unterstützen, verfügbar bleiben (Frühere Tool-Versionen). browser_toolset_20260801 ist die erste Version des Browser-Use-Tools. Beide sind Client-Toolsets.

Der Typ mcp_toolset ist nicht datumsversioniert; die Versionierung erfolgt stattdessen über den anthropic-beta-Header.

Client-Toolsets

Das Computer-Use-Tool und das Browser-Use-Tool sind von Anthropic definierte Client-Toolsets: Ein Eintrag in tools deklariert einen festen Satz von Mitglieds-Tools, deren Namen, Beschreibungen und Eingabeschemata Anthropic definiert, und deine Anwendung führt jeden Aufruf aus. Der Eintrag nimmt keinen name an, da der datierte type die Mitgliedsnamen festlegt. configs, cache_control und allowed_callers (das nur ["direct"] akzeptiert) sind optional.

Client-Toolsets sind Tools der Messages API. Sie sind derzeit nicht als Agent-Tools in Claude Managed Agents verfügbar, das sein eigenes integriertes Agent-Toolset, MCP-Toolsets und benutzerdefinierte Tools bereitstellt.

{
  "type": "browser_toolset_20260801",
  "configs": {
    "javascript_exec": { "enabled": true }
  },
  "cache_control": { "type": "ephemeral" }
}

configs passt einzelne Mitglieder an:

  • Schlüssel sind Mitgliedsnamen, und jeder Wert akzeptiert nur enabled und defer_loading.
  • Ein Mitglied, das du weglässt, behält seine Standardwerte. Ein fehlender Wert, {} und ein erneut angegebener Standardwert sind gleichwertig.
  • Ein unbekannter Mitgliedsname oder jedes andere Feld im Wert eines Mitglieds wird abgelehnt, ebenso wie ein configs, das jedes Mitglied deaktiviert (lass stattdessen den Eintrag weg).
  • Ein deaktiviertes Mitglied wird aus den Tools entfernt, die Claude sieht. Wenn Claude es dennoch benennt, gib ein Fehler-tool_result zurück.

Setze defer_loading pro Mitglied, niemals auf dem Eintrag, und gib jedem aktivierten Mitglied denselben Wert: Unter der Tool-Suche wird das Toolset als eine einzige Definition geladen und expandiert. Wenn jedes aktivierte Mitglied verzögert geladen wird, kann nur ein Tool-Search-Tool, das selbst nicht verzögert geladen wird, das Toolset sichtbar machen; deklariere daher eines in derselben Anfrage. Setze kein cache_control auf einen Toolset-Eintrag, dessen Mitglieder verzögert geladen werden; setze den Breakpoint stattdessen auf ein nicht verzögert geladenes Tool, da verzögert geladene Definitionen nicht Teil des gecachten Präfixes sind.

cache_control gehört nur auf den Eintrag; um zu erfahren, wo der Breakpoint landet, einschließlich Markierungen innerhalb einer Batch-Aktion, siehe Tool-Nutzung mit Prompt-Caching.

Aufrufe von Mitglieds-Tools verarbeiten. Claude ruft ein Mitglied mit einem tool_use-Block auf, dessen name der Mitgliedsname ist und dessen toolset_name computer oder browser ist; input enthält die Parameter dieses Mitglieds und kein action-Feld. Verzweige anhand des Paars aus toolset_name und name, da ein benutzerdefiniertes Tool den Namen eines Mitglieds teilen kann und die beiden Toolsets Namen wie screenshot gemeinsam haben. Nur Mitgliedsergebnisse geben toolset_name zurück. Mehrere Mitgliedsaufrufe in einem Zug bilden eine Batch-Aktion, die du der Reihe nach ausführst (Computer Use, Browser Use). Neue Mitglieder kommen nur mit einem neuen datierten type hinzu.

Auf Toolset-Einträgen nicht unterstützt. Die API lehnt jeden der folgenden Punkte mit einem invalid_request_error ab:

  • strict: true oder input_examples.
  • defer_loading auf dem Eintrag oder aktivierte Mitglieder, deren defer_loading-Werte sich unterscheiden (setze es pro Mitglied in configs, alle auf denselben Wert).
  • Ein Code-Execution-Aufrufer in allowed_callers (kein programmatisches Tool-Calling).
  • Der veraltete Beta-Header fine-grained-tool-streaming-2025-05-14. Wenn du streamst, kommt der input jedes Mitglieds als ein vollständiges input_json_delta an.
  • Ein tool_choice vom Typ tool, das das Toolset oder ein Mitglied benennt (verwende auto, any oder none).
  • Zwei Einträge desselben Toolsets oder ein anderes Tool, das den Namen dieses Toolsets trägt: ein Tool namens computer neben computer_toolset_20260801 oder ein Tool namens browser neben browser_toolset_20260801. Die beiden Toolsets können gemeinsam deklariert werden.

Eigenschaften von Tool-Definitionen

Jedes Tool im tools-Array, einschließlich benutzerdefinierter Tools, akzeptiert optionale Eigenschaften, die steuern, wie das Tool geladen wird, wer es aufrufen kann und wie seine Eingaben validiert werden. Diese Eigenschaften lassen sich kombinieren: Du kannst defer_loading und cache_control und strict auf demselben Tool setzen.

EigenschaftZweckVerfügbar aufAusführlicher Leitfaden
cache_controlSetzt einen Prompt-Cache-Breakpoint an dieser Tool-DefinitionAlle Tools (bei computer_toolset_20260801 und browser_toolset_20260801 setze es auf dem Toolset-Eintrag selbst, nicht innerhalb der Mitglieds-configs)Prompt-Caching
strictGarantiert Schema-Validierung für Tool-Namen und -EingabenAlle Tools außer mcp_toolset, computer_toolset_20260801 und browser_toolset_20260801Strikte Tool-Nutzung
defer_loadingSchließt das Tool vom initialen System-Prompt aus; lädt es bei Bedarf, wenn die Tool-Suche eine tool_reference dafür zurückgibtAlle Tools (für mcp_toolset siehe Tool-Konfiguration). Bei den Computer-Use- und Browser-Use-Toolsets setze es pro Mitglied innerhalb von configs; siehe Client-Toolsets.Tool-Search-Tool
allowed_callersSchränkt ein, welche Aufrufer das Tool aufrufen könnenAlle Tools außer mcp_toolset (bei computer_toolset_20260801 und browser_toolset_20260801 wird nur ["direct"] akzeptiert; siehe Client-Toolsets)Programmatisches Tool-Calling
input_examplesStellt Beispiel-Eingabeobjekte bereit, damit Claude besser versteht, wie das Tool aufzurufen istBenutzerdefinierte Tools und Client-Tools mit Anthropic-Schema, außer computer_toolset_20260801 und browser_toolset_20260801. Nicht verfügbar auf Server-Tools.Tools definieren
eager_input_streamingAktiviert feingranulares Eingabe-Streaming (true) oder behält das standardmäßige gepufferte Streaming (false) für dieses Tool beiNur benutzerdefinierte ToolsFeingranulares Tool-Streaming

allowed_callers-Werte

allowed_callers ist ein Array, das jede Kombination der folgenden Werte akzeptiert:

WertBedeutung
"direct"Das Modell kann dieses Tool direkt in einem tool_use-Block aufrufen. Dies ist der Standard, wenn allowed_callers weggelassen wird.
"code_execution_20260120"Code, der innerhalb einer code_execution_20260120- oder späteren Sandbox läuft, kann dieses Tool aufrufen.

Sowohl "code_execution_20260120" als auch "code_execution_20260521" werden in allowed_callers akzeptiert und sind austauschbar: Eine Anfrage, die eine der beiden Code-Execution-Tool-Versionen verwendet, erfüllt Tools, die einen der beiden Aufrufer auflisten. Antwortblöcke kennzeichnen den Aufrufer immer als code_execution_20260120, unabhängig davon, welche Version die Anfrage deklariert hat.

Das Weglassen von "direct" aus dem Array (zum Beispiel "allowed_callers": ["code_execution_20260120"]) leitet Claude dazu an, das Tool nur aus der Code-Ausführung heraus aufzurufen. Der tool_use-Block der Antwort enthält ein caller-Feld, das angibt, welcher Aufrufer das Tool aufgerufen hat. Siehe Programmatisches Tool-Calling für die vollständige Behandlung, einschließlich der Form der caller-Antwort und des Fehlerverhaltens.

defer_loading und Prompt-Caching

Tools mit defer_loading: true werden aus dem gerenderten Tools-Abschnitt entfernt, bevor der Cache-Schlüssel berechnet wird. Sie erscheinen überhaupt nicht im System-Prompt-Präfix. Wenn die Tool-Suche ein verzögert geladenes Tool entdeckt und eine tool_reference dafür zurückgibt, wird die vollständige Definition des Tools an dieser Stelle im Gesprächsverlauf inline expandiert, nicht im Präfix.

Das bedeutet, dass defer_loading: true deinen Prompt-Cache erhält. Du kannst verzögert geladene Tools zu einer Anfrage hinzufügen, ohne einen bestehenden Cache-Eintrag ungültig zu machen, und der Cache bleibt über den Zug, in dem das Tool entdeckt wird, und den Zug, in dem es aufgerufen wird, hinweg gültig.

Um zu erfahren, wie du defer_loading mit cache_control-Breakpoints kombinierst, siehe die Prompt-Caching-Hinweise zum Tool-Search-Tool.

Was this page helpful?