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.
| Tool | type | Ausführung | Beta-Header |
|---|---|---|---|
| Web-Search-Tool | web_search_20260318web_search_20260209web_search_20250305 | Server | Keiner |
| Web-Fetch-Tool | web_fetch_20260318web_fetch_20260309web_fetch_20260209web_fetch_20250910 | Server | Keiner |
| Code-Execution-Tool | code_execution_20260521code_execution_20260120code_execution_20250825 | Server | Keiner |
| Advisor-Tool | advisor_20260301 | Server | advisor-tool-2026-03-01 |
| Tool-Search-Tool | tool_search_tool_regex_20251119tool_search_tool_bm25_20251119 | Server | Keiner |
| MCP-Connector | mcp_toolset | Server | mcp-client-2025-11-20 |
| Memory-Tool | memory_20250818 | Client | Keiner |
| Bash-Tool | bash_20250124 | Client | Keiner |
| Text-Editor-Tool | text_editor_20250728text_editor_20250124 | Client | Keiner |
| Computer-Use-Tool | computer_toolset_20260801computer_20251124computer_20250124 | Client | Keinercomputer-use-2025-11-24computer-use-2025-01-24 |
| Browser-Use-Tool | browser_toolset_20260801 | Client | Keiner |
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_20260209undweb_fetch_20260209fügen gegenüber ihren Vorgängern dynamische Inhaltsfilterung hinzu;web_fetch_20260309fügt eine Option zur Cache-Umgehung hinzu;web_search_20260318undweb_fetch_20260318fügen eine Steuerung der Antworteinbindung hinzu.code_execution_20260120fügt programmatisches Tool-Calling aus der Sandbox heraus hinzu;code_execution_20260521gibt 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_20250728ist für Claude 4 und spätere Modelle undtext_editor_20250124ist 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_20251119undtool_search_tool_bm25_20251119sind zwei Suchalgorithmen, die gemeinsam veröffentlicht wurden. Keiner ersetzt den anderen. - Veraltet (legacy):
code_execution_20250522unterstützt nur Python.code_execution_20250825fügt Bash und Dateioperationen hinzu. - Nachfolger:
computer_toolset_20260801ist der stabile Nachfolger der Beta-Versionencomputer_20251124undcomputer_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_20260801ist 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
enabledunddefer_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_resultzurü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: trueoderinput_examples.defer_loadingauf dem Eintrag oder aktivierte Mitglieder, derendefer_loading-Werte sich unterscheiden (setze es pro Mitglied inconfigs, 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 derinputjedes Mitglieds als ein vollständigesinput_json_deltaan. - Ein
tool_choicevom Typtool, das das Toolset oder ein Mitglied benennt (verwendeauto,anyodernone). - Zwei Einträge desselben Toolsets oder ein anderes Tool, das den Namen dieses Toolsets trägt: ein Tool namens
computernebencomputer_toolset_20260801oder ein Tool namensbrowsernebenbrowser_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.
| Eigenschaft | Zweck | Verfügbar auf | Ausführlicher Leitfaden |
|---|---|---|---|
cache_control | Setzt einen Prompt-Cache-Breakpoint an dieser Tool-Definition | Alle Tools (bei computer_toolset_20260801 und browser_toolset_20260801 setze es auf dem Toolset-Eintrag selbst, nicht innerhalb der Mitglieds-configs) | Prompt-Caching |
strict | Garantiert Schema-Validierung für Tool-Namen und -Eingaben | Alle Tools außer mcp_toolset, computer_toolset_20260801 und browser_toolset_20260801 | Strikte Tool-Nutzung |
defer_loading | Schließt das Tool vom initialen System-Prompt aus; lädt es bei Bedarf, wenn die Tool-Suche eine tool_reference dafür zurückgibt | Alle 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_callers | Schränkt ein, welche Aufrufer das Tool aufrufen können | Alle Tools außer mcp_toolset (bei computer_toolset_20260801 und browser_toolset_20260801 wird nur ["direct"] akzeptiert; siehe Client-Toolsets) | Programmatisches Tool-Calling |
input_examples | Stellt Beispiel-Eingabeobjekte bereit, damit Claude besser versteht, wie das Tool aufzurufen ist | Benutzerdefinierte 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_streaming | Aktiviert feingranulares Eingabe-Streaming (true) oder behält das standardmäßige gepufferte Streaming (false) für dieses Tool bei | Nur benutzerdefinierte Tools | Feingranulares Tool-Streaming |
allowed_callers-Werte
allowed_callers ist ein Array, das jede Kombination der folgenden Werte akzeptiert:
| Wert | Bedeutung |
|---|---|
"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?