FehlerbehebungAnleitung
Claude API 400-Fehler bei temperature, top_p, top_k: So beheben Sie ihn
Ihre Claude-Anfrage gibt seit API-Version 2026-10-21 einen 400 zurück? Entfernen Sie temperature, top_p und top_k, oder binden Sie die alte Version. Schritte drin.

Auf dieser Seite
Ihre Claude-Anfrage funktionierte gestern, Sie haben sie auf API-Version 2026-10-21 umgestellt (den Header anthropic- oder ein dafür gebautes SDK-Release), und jetzt kommt sie mit einem 400 zurück. Sehen Sie sich den Body der Anfrage an: Wenn er temperature, top_p oder top_k enthält, ist das die Ursache. Löschen Sie diese drei Felder, und die Anfrage geht durch.
Laut Anthropics Migrationsleitfaden für Version 2026-10-21 (https://platform.claude.com/docs/en/api/migration-2026-10-21, geprüft am 24. Oktober 2026) gibt eine Messages- oder Message-Batches-Anfrage, die eines der drei sendet, einen 400-Fehler zurück. Das passiert selbst dann, wenn der Wert der Standardwert des Parameters ist. Suchen Sie nach dem Status 400 und nach diesen Feldnamen in Ihrer Anfrage.
Wie die fehlschlagende Anfrage aussieht#
Angenommen, Sie haben ein kleines Skript, das Claude bittet, ein Ticket zusammenzufassen, und die Antwort mit einer niedrigen Temperatur stabil hält:
import anthropic
client = anthropic.Anthropic()
reply = client.messages.create(
model="<your Claude model>",
max_tokens=500,
temperature=0.2, # <- this line now causes the 400
messages=[{"role": "user", "content": "Summarise this ticket in two lines: ..."}],
)Dasselbe gilt für reines HTTP. Wenn Sie den Versions-Header selbst setzen, ist dies die Zeile, die Sie zum neuen Verhalten bringt:
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2026-10-21" \
-H "content-type: application/json" \
-d '{"model": "<your Claude model>", "max_tokens": 500, "top_p": 0.9,
"messages": [{"role": "user", "content": "Hello"}]}'Die Lösung: Entfernen Sie die drei Parameter#
Löschen Sie temperature, top_p und top_k aus jeder Messages- und Message-Batches-Anfrage. Ohne sie sampelt das Modell mit seinen Standardwerten (Temperatur 1.0), genau wie eine 2023-06-01-Anfrage, die sie weglässt.
reply = client.messages.create(
model="<your Claude model>",
max_tokens=500,
messages=[{"role": "user", "content": "Summarise this ticket in two lines: ..."}],
)
Die neuesten großen SDK-Versionen und die ant CLI (2.0.0) haben diese Parameter überhaupt nicht mehr, daher müssen Sie sie nach dem Upgrade aus Ihrem Code entfernen. Ein 400 kommt von Anfragen, die mit anthropic- rausgehen und noch eines der drei Felder tragen. Die .NET-IChatClient-Adapter gehen einen sanfteren Weg: Sie ignorieren jetzt ChatOptions., TopK und TopP. Genaue SDK-Versionsnummern pro Sprache finden Sie in den Upgrade-Schritten-Tabs des Leitfadens.
Wenn Sie die API ohne SDK aufrufen, ist die Version der Header anthropic-, und 2026-10-21 ist der Wert, der die neue Regel aktiviert.
Ändern sich die Antworten, nachdem Sie sie entfernt haben?#
Hängt vom Modell ab, und der Leitfaden ist hier konkret.
- Claude 4.7 und später akzeptieren bereits nur Standard-Sampling-Werte. Für Sie ändert sich nichts: Sie haben vorher mit Standardwerten gesampelt und tun es weiterhin.
- Modelle, die andere Werte akzeptieren, wie Claude Sonnet 4.6: Wenn Sie
temperaturegesenkt haben, um konsistentere Ausgaben zu erhalten, verschwindet dieser Effekt, und keine andere Einstellung ersetzt ihn.
Wenn eine bestimmte Anfrage wirklich auf einem Nicht-Standardwert beruht, haben Sie laut Leitfaden zwei Optionen: Senden Sie den Parameter nicht mehr und akzeptieren Sie Standard-Sampling, oder behalten Sie diese eine Anfrage auf anthropic-.
Wenn Ihre Antworten streng konsistent sein müssen, verlagern Sie die Konsistenz in den Prompt: ein festes Ausgabeformat, ein kurzes Beispiel der gewünschten Antwort und eine Prüfung in Ihrem Code, die alles ablehnt, was nicht dem Format entspricht. Das ist mehr Arbeit als eine Zahl, aber es hängt nicht von einem Sampling-Regler ab.
Schnelle Checkliste, wenn Sie den 400 sehen#
- Durchsuchen Sie das Projekt nach
temperature,top_p,top_k, einschließlich Wrappern und gemeinsamen Konfigurationsdateien. - Prüfen Sie Batch-Jobs: Die Regel gilt für jede Anfrage innerhalb eines Message Batch, der mit 2026-10-21 erstellt wurde, also sehen Sie sich die Parameter jeder Anfrage im Batch an.
- Prüfen Sie, was sich geändert hat: SDK-Hauptversion, CLI-Version oder der Header
anthropic-.version - Entfernen Sie die Felder, oder binden Sie diese Anfrage an
2023-06-01, wenn sie einen Nicht-Standardwert benötigt. - Führen Sie eine Anfrage aus, bevor Sie einen großen Batch neu starten.
Ein Codepfad für Claude und OpenAI-artige APIs#
Ein häufiges Setup: ein einzelner Helper, der die Anfrage baut und sie entweder an Anthropic Messages oder an einen OpenAI-artigen Chat-Completions-Endpunkt sendet. Die einfachste Lösung ist, die Parameter aufzuteilen. Behalten Sie temperature nur im OpenAI-artigen Zweig und fügen Sie es nicht dem Messages-Zweig hinzu.
Im Chat-Completions-Format ist die Einstellung ein normales Anfragefeld. Auf CheapTokens funktioniert sie über die OpenAI-kompatible Adresse https:/. Hier ist eine Anfrage an DeepSeek-V4-Flash (380K Kontext, bis zu 32.768 Ausgabe-Tokens pro Antwort), mit der vollständigen Modell-ID aus den CheapTokens-Docs:
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-ai/DeepSeek-V4-Flash-0731",
"temperature": 0.2,
"max_tokens": 300,
"messages": [{"role": "user", "content": "Summarise this ticket in two lines: ..."}]
}'Eine solche Anfrage mit 1.000 Eingabe-Tokens und 300 Ausgabe-Tokens kostet $0.000045 zum aktuellen Preis. DeepSeek-V4-Flash hat zu jeder Tageszeit einen Preis, ohne Spitzenzeiten, und ein Guthaben deckt alle Modelle ab. Für denselben Codepfad mit einem 390K-Kontextfenster gibt es auch GLM-5.3-Flash (zai-, bis zu 8.192 Ausgabe-Tokens). Aktuelle Preise für alle Modelle finden Sie auf der Preisseite.
Um zu sehen, wie sich die Einstellung verhält, lesen Sie System-Prompt und Temperatur: Was sie tun und wie man sie setzt. Um Claude-formatige Messages aus Python aufzurufen, siehe Anthropic Python SDK mit CheapTokens. Die Basisadresse und die Key-Einrichtung finden Sie in den CheapTokens-Docs.



