Claude Platform Docs
MessagesTools

Fehlerbehebung bei der Tool-Nutzung

Behebe die häufigsten Fehler bei der Tool-Nutzung mit Diagnosetabellen vom Symptom zur Lösung.

Tabellen vom Symptom zur Lösung für die häufigsten Fehler bei der „tool use“ (Tool-Nutzung). Jede Lösung verweist auf die Seite, die für das jeweilige Feature zuständig ist.

Claude ruft das falsche Tool auf

SymptomWahrscheinliche UrsacheLösung
Claude ruft Tool A auf, obwohl du Tool B wolltestMehrdeutige BeschreibungSchärfe die Beschreibungen. Unterscheide Tools danach, WANN sie verwendet werden sollen, nicht nur danach, WAS sie tun. Siehe Tools definieren.
Claude ruft dein Tool nie aufNamenskollision bei Tools oder zu generisches SchemaPrüfe deine Tool-Liste auf doppelte Namen. Füge input_examples hinzu, um die beabsichtigte Verwendung konkret zu machen.
Claude ruft mit falschen Parametertypen aufDas Modell rät bei einem mehrdeutigen SchemaFüge strict: true hinzu (wenn dein Schema in der unterstützten Teilmenge liegt) oder füge input_examples hinzu.

Claude erfindet Tool-Parameter

SymptomWahrscheinliche UrsacheLösung
Parameter, der in deinem Schema nicht existiertÜbergenerierung des Modells ohne Strict-ModusFüge strict: true hinzu, wenn dein Schema in der unterstützten Teilmenge liegt.
Parameterwerte außerhalb deines EnumsFehlender Strict-Modus oder zu großes EnumVerkleinere das Enum oder füge input_examples hinzu, die gültige Auswahlmöglichkeiten zeigen.

Parallele Tool-Aufrufe funktionieren nicht

SymptomWahrscheinliche UrsacheLösung
Claude ruft Tools nacheinander auf, obwohl parallel besser wäreFormatierung des NachrichtenverlaufsSende mehrere tool_result-Blöcke in EINER User-Nachricht, nicht einen pro Turn. Siehe Parallele Tool-Nutzung.
disable_parallel_tool_use scheint ignoriert zu werdenZu spät in der Konversation gesetztMuss in der Anfrage gesetzt werden, die tool_use zurückgibt. Das Setzen in einer späteren Anfrage hat keine Auswirkung auf frühere Tool-Aufrufe.

Cache wird ständig invalidiert

SymptomWahrscheinliche UrsacheLösung
Jede Anfrage ist ein Cache-Misstool_choice, die Thinking-Konfiguration oder output_config.effort variieren zwischen AnfragenHalte tool_choice stabil oder platziere den cache_control-Breakpoint vor dem Variationspunkt; halte die Thinking-Konfiguration und die Effort-Stufe über die gesamte Lebensdauer einer gecachten Konversation konstant. Siehe Tool-Nutzung mit Prompt-Caching und Thinking und Prompt-Caching.
Das Hinzufügen eines Tools mitten in der Konversation bricht den CacheTool wurde dem Tools-Array vorangestelltVerwende defer_loading: true mit der Tool-Suche, um das Tool inline anzuhängen, anstatt den Anfang des Arrays zu verändern.

Fehler zum Zeitpunkt der Anfrage

FehlerUrsacheLösung
tool_use ids were found without tool_result blocks immediately afterFehlendes tool_result für einige tool_use-IDs, oder tool_result ist nicht der erste Content-Block in der User-NachrichtGib für jeden tool_use-Block in der Assistant-Antwort ein tool_result zurück. Platziere tool_result-Blöcke vor jeglichem Text. Siehe Tool-Aufrufe verarbeiten und Parallele Tool-Nutzung.
was found without a corresponding <name>_tool_result blockDer vorherige Assistant-Turn enthält einen server_tool_use-Block ohne Ergebnisblock (meistens hat Claude ihn zusammen mit einem Client-Tool aufgerufen), und entweder hat deine nächste User-Nachricht diesen Turn beendet (zum Beispiel mit Text nach den tool_result-Blöcken) oder die Fortsetzungsanfrage definiert dieses Server-Tool nicht mehr (die Meldung endet dann mit but no <name> tool was provided)Sende eine User-Nachricht, die nur die tool_result-Blöcke für die Client-tool_use-IDs enthält, und behalte dasselbe tools-Array bei. Siehe Stop-Reasons und Fallback.
Unsupported regex feature in pattern field: ...Ein pattern im input_schema eines Strict-Tools verwendet ein Regex-Feature, das der Strict-Modus nicht kompilieren kann, etwa eine Rückwärtsreferenz, ein Lookaround, eine Wortgrenze oder einen großen {n,m}-BereichVereinfache das Pattern. Verankerte Patterns mit einfachen Quantifizierern, Zeichenklassen und Gruppen werden unterstützt; siehe JSON-Schema-Einschränkungen.
All tools have defer_loading: trueKeine Tools für das Modell sichtbarMindestens ein Tool muss sofort geladen werden. Das Tool-Suche-Tool selbst darf niemals defer_loading: true haben.

Fehler: Thinking-Blöcke können nicht verändert werden

Wenn eine Anfrage beim Fortsetzen einer Konversation nach einem Tool-Aufruf mit einem 400 invalid_request_error fehlschlägt, dessen Meldung `thinking` or `redacted_thinking` blocks in the latest assistant message cannot be modified enthält, verändert deine Anwendung die Thinking-Blöcke des Assistants, bevor sie sie zurücksendet. Sende die gesamte Assistant-Nachricht unverändert zurück und hänge dann dein tool_result an.

Siehe Thinking-Blöcke können nicht verändert werden für den vollständigen Fehler und die Schritte zur Behebung.

Claude markiert Tool-Ergebnisse als Prompt-Injection

SymptomWahrscheinliche UrsacheLösung
Claude weigert sich, auf ein Tool-Ergebnis hin zu handeln, oder bittet den Nutzer, Anweisungen zu bestätigen, die daraus stammenDeine eigenen Anweisungen werden innerhalb des tool_result-Inhalts übermitteltClaude ist darauf trainiert, Anweisungen innerhalb von Tool-Ergebnissen als potenziell nicht vertrauenswürdige Inhalte Dritter zu behandeln. Verschiebe deine Anweisungen aus dem Tool-Ergebnis heraus: Sende sie in einem user-Turn nach dem tool_result-Block oder, bei unterstützten Modellen, in einer System-Nachricht mitten in der Konversation. Beschränke das Tool-Ergebnis auf die reinen Daten. Siehe Jailbreaks und Prompt-Injections abschwächen.

Unterschiede beim JSON-Escaping (Opus 4.6+)

SymptomUrsacheLösung
String-Vergleich bei Tool-Eingaben schlägt mit neueren Modellen fehlDas Escaping von Unicode und Schrägstrichen unterscheidet sich zwischen ModellversionenParse mit json.loads() oder JSON.parse(). Führe niemals rohe String-Vergleiche auf serialisierten Eingaben durch.

Nächste Schritte

Schreibe Schemas und Beschreibungen, die Claude zum richtigen Tool lenken.

Führe Tools aus und gib Ergebnisse im erforderlichen Nachrichtenformat zurück.

Vollständiges Verzeichnis der von Anthropic bereitgestellten Tools und ihrer Versions-Strings.

Was this page helpful?