Claude Opus 5 wurde am 24. Juli 2026 veröffentlicht. Anthropic empfiehlt Entwicklern, bei Unsicherheit mit diesem Modell zu beginnen. Die API-Modell-ID lautet exakt claude-opus-5 — ohne Datumszusatz.
Apidog noch heute ausprobieren
Dieser Leitfaden zeigt den vollständigen Workflow: API-Schlüssel einrichten, erste Anfrage senden, Streaming implementieren, Tools verwenden, adaptives Denken steuern, effort konfigurieren und das usage-Objekt zur Cache-Prüfung auswerten. Alle Beispiele verwenden HTTP und JSON und lassen sich zuerst in Apidog testen und debuggen, bevor sie in Anwendungscode wandern.
Wenn Sie eine bestehende Integration von Opus 4.8 migrieren, lesen Sie zusätzlich den Migrationsleitfaden von Opus 4.8 zu Opus 5.
Vor dem ersten Aufruf: Zwei gravierende Änderungen
1. Denken ist standardmäßig aktiviert
Bei Opus 4.8 lief eine Anfrage ohne thinking-Feld ohne Denken. Bei Opus 5 verwendet dieselbe Anfrage adaptives Denken.
max_tokens bleibt eine gemeinsame Obergrenze für Denk-Tokens und sichtbare Antwort-Tokens. Eine aus Opus 4.8 übernommene Anfrage kann daher bei Opus 5 mitten in der Antwort abbrechen.
Praktische Konsequenz: Wenn Ihr bisheriges max_tokens knapp auf die erwartete Antwortlänge zugeschnitten war, erhöhen Sie es und prüfen Sie stop_reason.
{
"stop_reason": "max_tokens"
}
Dieser Wert bedeutet: Das gemeinsame Budget für Denken und Antwort war ausgeschöpft.
2. Deaktiviertes Denken begrenzt das Anstrengungsniveau
Diese Kombination führt zu einem 400-Fehler:
{
"thinking": {"type": "disabled"},
"output_config": {"effort": "xhigh"}
}
Dasselbe gilt für effort: "max".
Sie haben zwei Optionen:
- Denken aktiviert lassen und
effortzur Kostenkontrolle reduzieren. - Denken deaktivieren und
efforthöchstens aufhighsetzen.
Anthropic empfiehlt die erste Option. Bei deaktiviertem Denken kann Opus 5 Tool-Aufrufe als Klartext ausgeben, statt sie korrekt als Tool-Aufrufe zu erzeugen. Außerdem können <thinking>-Tags in sichtbare Ausgaben gelangen. Beides kann Agenten-Schleifen beeinträchtigen.
Weitere Details stehen in Anthropics Modell-Migrationsleitfaden.
Schritt 1: API-Schlüssel abrufen
Melden Sie sich bei der Claude Developer Platform an, öffnen Sie die API-Schlüssel in den Organisationseinstellungen und erstellen Sie einen Schlüssel.
Kopieren Sie ihn sofort: Später kann er nicht erneut angezeigt werden.
Speichern Sie ihn als Umgebungsvariable:
export ANTHROPIC_API_KEY="sk-ant-..."
Hardcoden Sie den Schlüssel nicht im Code und speichern Sie ihn nicht in Git.
Wenn Sie mit einem GUI-Client arbeiten, legen Sie auch dort eine Umgebungsvariable an. In Apidog erstellen Sie beispielsweise Umgebungen für Lokal, Staging und Produktion und hinterlegen jeweils ANTHROPIC_API_KEY. Im Header referenzieren Sie dann:
{{ANTHROPIC_API_KEY}}
Damit bleiben gespeicherte Anfragen teilbar, ohne Secrets in Sammlungs-Exporten zu hinterlegen.
Vor erfolgreichen Anfragen müssen Sie außerdem Abrechnungsguthaben hinzufügen. Opus 5 kostet 5 $ pro Million Input-Tokens und 25 $ pro Million Output-Tokens, wie Opus 4.8. Die vollständige Preisübersicht enthält auch Caching-, Batch- und Fast-Mode-Tarife.
Schritt 2: Die erste Anfrage senden
Der Endpunkt lautet:
POST https://api.anthropic.com/v1/messages
Setzen Sie mindestens diese drei Header:
x-api-keyanthropic-versioncontent-type
cURL-Beispiel
curl https://api.anthropic.com/v1/messages \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data '{
"model": "claude-opus-5",
"max_tokens": 4096,
"messages": [
{
"role": "user",
"content": "Explain the difference between a 429 and a 529 from an API perspective."
}
]
}'
Die 4096 bei max_tokens sind bewusst höher als die oft verwendeten 1024: Denk-Tokens und Antwort-Tokens teilen sich dasselbe Budget.
Python-Beispiel mit dem offiziellen SDK
import os
from anthropic import Anthropic
client = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])
message = client.messages.create(
model="claude-opus-5",
max_tokens=4096,
messages=[
{
"role": "user",
"content": "Explain the difference between a 429 and a 529 from an API perspective.",
}
],
)
for block in message.content:
if block.type == "text":
print(block.text)
Iterieren Sie immer über message.content.
Die Antwort ist ein Array typisierter Blöcke. Mit aktiviertem Denken kann ein thinking-Block vor dem sichtbaren text-Block stehen. Code wie dieser ist daher nicht robust:
print(message.content[0].text)
Die Anfrage kann zwar mit HTTP 200 erfolgreich sein, aber Ihre Anwendung liest trotzdem nicht die erwartete sichtbare Antwort.
Weitere Eckdaten:
- Kontextfenster: 1 Mio. Tokens als Standard und Maximum
- Kein Beta-Header und kein Preisaufschlag für langen Kontext
- Maximale Ausgabe in der Messages API: 128k Tokens
- Wissensstand: Mai 2026
Die vollständige Tabelle steht in der Modellübersicht. Weitere Einordnung enthält der Opus-5-Erklärer.
Schritt 3: Adaptives Denken korrekt behandeln
Adaptives Denken bedeutet: Das Modell entscheidet selbst, wie viel interne Argumentation eine Anfrage benötigt.
Sie setzen kein separates Denk-Token-Budget. Stattdessen steuern Sie den Aufwand über output_config.effort.
Für Ihre Implementierung sind drei Punkte wichtig:
-
Content-Blöcke nach Typ verarbeiten: Sichtbare Ausgabe kommt aus
block.type == "text". Denkblöcke erkennen Sie überblock.type == "thinking". - Denkblöcke unverändert weitergeben: In Multi-Turn- und Tool-Schleifen müssen Sie das vollständige Content-Array des Assistenten in der Historie behalten.
-
max_tokensfür Denken und Antwort budgetieren: Prüfen Sie in Tests immer aufstop_reason: "max_tokens".
Wenn Sie Denken vollständig deaktivieren müssen, verwenden Sie höchstens high:
{
"model": "claude-opus-5",
"max_tokens": 4096,
"thinking": {"type": "disabled"},
"output_config": {"effort": "high"},
"messages": [
{
"role": "user",
"content": "Return only the HTTP status code."
}
]
}
Ändern Sie high hier nicht auf xhigh oder max, da die API dann mit HTTP 400 antwortet.
Schritt 4: Kosten mit output_config.effort steuern
effort liegt unter output_config und akzeptiert:
low
medium
high
xhigh
max
Der Standardwert ist high.
curl https://api.anthropic.com/v1/messages \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data '{
"model": "claude-opus-5",
"max_tokens": 65536,
"output_config": {"effort": "xhigh"},
"messages": [
{
"role": "user",
"content": "Refactor this handler to stream responses and keep backpressure."
}
]
}'
Beachten Sie beim Tuning:
Die Stufen wurden neu kalibriert.
Übernehmen Sie Opus-4.8-Einstellungen nicht unverändert.lowundmediumsind bei Opus 5 deutlich stärker als bei früheren Opus-Modellen.Für Coding und Agenten ist
xhighein sinnvoller Startpunkt.
Geben Sie solchen Aufgaben ausreichendmax_tokens.65536ist ein praktikabler Ausgangswert für lange Agenten-Durchläufe.Niedrigerer Aufwand verkürzt nicht automatisch die sichtbare Antwort.
Er reduziert primär das Denken. Wenn Sie kürzere Antworten benötigen, formulieren Sie das explizit im Prompt.
Führen Sie einen Effort-Sweep mit Ihren eigenen Evaluierungen durch. Der detaillierte Leitfaden zum Effort-Parameter beschreibt eine passende Methodik.
Schritt 5: Antworten streamen
Fügen Sie "stream": true hinzu, damit der Endpunkt Server-Sent Events statt eines einzelnen JSON-Objekts zurückliefert.
with client.messages.stream(
model="claude-opus-5",
max_tokens=4096,
messages=[
{
"role": "user",
"content": "Draft a retry policy for a flaky upstream.",
}
],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
final = stream.get_final_message()
print("\n\nusage:", final.usage)
Die rohe SSE-Reihenfolge lautet:
message_start
content_block_start
content_block_delta
content_block_stop
message_delta
message_stop
Bei aktiviertem Denken kommen typischerweise zwei Content-Blöcke:
- Ein Denkblock mit
thinking_delta - Ein Textblock mit
text_delta
Rendert Ihre UI alle Deltas in denselben Puffer, kann interne Argumentation an Benutzer gelangen. Halten Sie Denk- und Textblöcke deshalb von Beginn an getrennt.
Ein GUI-Client ist beim Debugging von SSE besonders hilfreich. Apidog kann den Event-Stream beim Eintreffen darstellen, sodass Sie Blockgrenzen und Parser-Annahmen prüfen können, bevor Sie Streaming-Handler implementieren.
Schritt 6: Tool-Nutzung hinzufügen
Definieren Sie Tools im tools-Array. Wenn das Modell ein Tool aufrufen möchte, antwortet es mit:
{
"stop_reason": "tool_use"
}
Die Antwort enthält dann einen tool_use-Block. Führen Sie das Tool aus und senden Sie das Ergebnis als tool_result in einer neuen Benutzernachricht zurück.
tools = [
{
"name": "get_order_status",
"description": "Look up the current status of a customer order by ID.",
"input_schema": {
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "The order ID, e.g. A-10293",
}
},
"required": ["order_id"],
},
}
]
message = client.messages.create(
model="claude-opus-5",
max_tokens=4096,
tools=tools,
messages=[
{
"role": "user",
"content": "What's the status of order A-10293?",
}
],
)
if message.stop_reason == "tool_use":
call = next(block for block in message.content if block.type == "tool_use")
result = get_order_status(**call.input)
follow_up = client.messages.create(
model="claude-opus-5",
max_tokens=4096,
tools=tools,
messages=[
{
"role": "user",
"content": "What's the status of order A-10293?",
},
{
"role": "assistant",
"content": message.content,
},
{
"role": "user",
"content": [
{
"type": "tool_result",
"tool_use_id": call.id,
"content": result,
}
],
},
],
)
Der wichtige Teil ist diese Zeile:
{"role": "assistant", "content": message.content}
Übernehmen Sie message.content direkt. Rekonstruieren Sie den Assistenten-Zug nicht manuell, da dabei Denkblöcke verloren gehen können.
Für Agenten sind außerdem zwei Opus-5-Details relevant:
- Der System-Prompt-Overhead für Tool-Nutzung ist niedriger als bei Opus 4.8: 286 Tokens bei
tool_choice: "auto"oder"none", gegenüber 290 bei 4.8 und 675 bei Opus 4.7. - Mit dem Beta-Header
mid-conversation-tool-changes-2026-07-01können Sie Tools zwischen Turns hinzufügen oder entfernen, ohne den Prompt-Cache zu invalidieren.
Opus 5 delegiert außerdem leichter an Sub-Agenten als 4.8. Wenn Kosten wichtig sind, begrenzen Sie Delegation explizit im System-Prompt.
Schritt 7: Cache-Treffer über usage prüfen
Jede Antwort enthält ein usage-Objekt:
"usage": {
"input_tokens": 84,
"cache_creation_input_tokens": 6421,
"cache_read_input_tokens": 0,
"output_tokens": 913
}
Das ist die zuverlässigste Methode, um Prompt-Caching zu prüfen.
Markieren Sie stabile Inhalte mit cache_control:
{
"model": "claude-opus-5",
"max_tokens": 4096,
"system": [
{
"type": "text",
"text": "<your long, stable instructions and reference material>",
"cache_control": {"type": "ephemeral"}
}
],
"messages": [
{
"role": "user",
"content": "Question one."
}
]
}
Prüfen Sie danach zwei Aufrufe:
| Aufruf | Erwartetes Verhalten |
|---|---|
| Erster Aufruf |
cache_creation_input_tokens > 0, cache_read_input_tokens = 0
|
| Wiederholter Aufruf mit gleichem Präfix | cache_read_input_tokens > 0 |
Wenn der Cache nie gelesen wird, ist das Präfix nicht byte-identisch oder liegt unter dem Mindestumfang.
Bei Opus 5 greift Prompt-Caching bereits ab 512 Tokens, statt ab 1.024 Tokens bei Opus 4.8. Cache-Reads kosten 0,50 $ pro Million Tokens gegenüber 5 $ pro Million Basis-Input-Tokens.
Ergänzen Sie deshalb einen Test, der bei wiederholten Anfragen einen Cache-Read erwartet:
assert response.usage.cache_read_input_tokens > 0
So wird eine Änderung am Prompt-Präfix als Testfehler sichtbar statt erst auf der Rechnung. Weitere Optimierungen finden Sie im Leitfaden zum Senken Ihrer Claude-API-Rechnung.
Den vollständigen Workflow in Apidog testen und debuggen
Alle Schritte in diesem Artikel bestehen aus HTTP-Anfragen, Auth-Headern, JSON-Payloads, SSE-Streams und prüfbaren Antworten. Apidog eignet sich dafür, Anfragen zu senden, Schlüssel über Umgebungen zu verwalten, Streams zu inspizieren und Response-Tests zu definieren.
Die Inferenz findet weiterhin bei Anthropic statt. Apidog führt das Modell nicht aus und leitet es nicht weiter.
Ein praktisches Setup:
Anfrage anlegen
Erstellen SiePOST https://api.anthropic.com/v1/messages, setzen Sie die drei Header und referenzieren Sie den Schlüssel über eine Umgebungsvariable.In einer Sammlung speichern
Ihr Team verwendet damit eine geprüfte Anforderungsstruktur statt Blog-Snippets mehrfach neu zu implementieren.Je Effort-Stufe duplizieren
Erstellen Sie Varianten fürlow,medium,highundxhigh. Senden Sie denselben Prompt und vergleichen Sie Qualität, Latenz und Token-Verbrauch.SSE-Stream beobachten
Aktivieren Sie"stream": trueund prüfen Sie, ob Ihre Anwendungthinking_deltaundtext_deltagetrennt behandelt.Tool-Payloads inspizieren
Beistop_reason: "tool_use"sehen Sie das exakteinput-Objekt. Damit erkennen Sie schnell, ob Ihrinput_schemazu offen oder unvollständig ist.-
Antworttests ergänzen
Prüfen Sie mindestens:stop_reason != "max_tokens"-
cache_read_input_tokens > 0bei wiederholten Requests mit identischem Cache-Präfix
Apidog herunterladen, wenn Sie den Workflow direkt testen möchten. Dasselbe Sammlungsmuster funktioniert auch für Sonnet 5 und bestehende Opus-4.8-Anfragen.
Fehler und Fallstricke
HTTP 400 bei
thinking: disabledundeffort: xhighodermax
Senken Sie den Aufwand aufhighoder aktivieren Sie Denken wieder.HTTP 400 bei Sampling-Parametern
temperature,top_pundtop_kmit Nicht-Standardwerten führen weiterhin zu einem400-Fehler. Steuern Sie das Verhalten stattdessen über den System-Prompt.Abgeschnittene Antworten
Beistop_reason: "max_tokens"reicht das gemeinsame Budget für Denken und Antwort nicht aus. Erhöhen Siemax_tokens.Priority Tier wird nicht unterstützt
Opus 4.8 behält Priority Tier. Wenn Ihre Kapazitätsplanung davon abhängt, klären Sie das vor einer Traffic-Migration.Systemnachrichten mitten im Gespräch
Einrole: "system"-Eintrag innerhalb vonmessageswird bei Opus 5 akzeptiert. Opus 4.8 gab dafür einen400-Fehler zurück.Übermäßige Verifizierung im Prompt
Opus 5 prüft die eigene Arbeit bereits unaufgefordert. Entfernen Sie übernommene Anweisungen wie „Überprüfen Sie Ihre Antwort vor dem Antworten“, wenn sie keinen konkreten Zweck erfüllen. Sie erhöhen nur den Denkaufwand.
Die ehrliche Obergrenze
Opus 5 ist nicht das leistungsfähigste Modell im Claude-Stack. Fable 5 trägt weiterhin Anthropics Bezeichnung „fähigstes weit verbreitetes Modell“ und kostet 10 $ pro Million Eingabe-Tokens sowie 50 $ pro Million Ausgabe-Tokens.
Auch bei der Ausnutzung von Cybersicherheitslücken und autonomer Biologieforschung liegt Opus 5 laut Anthropic hinter Mythos 5.
Die Launch-Benchmarks — etwa doppelt so gut wie Opus 4.8 auf Frontier-Bench v0.1, etwa 3x so gut wie das nächstbeste Modell auf ARC-AGI 3 und innerhalb von 0,5 % von Fable 5 auf CursorBench 3.2 — stammen von Anthropic und waren bis zum 25. Juli 2026 nicht unabhängig reproduziert.
Behandeln Sie diese Werte als Anbieterangaben und führen Sie eigene Evaluierungen aus. Der Vergleich von Opus 5 mit Fable 5 hilft bei der Einordnung des Preisunterschieds. Anthropics Launch-Post ist die Primärquelle für die Benchmarks.
FAQ
Was ist die Modell-ID für Claude Opus 5?
claude-opus-5, exakt ohne Datumszusatz.
Auf Amazon Bedrock lautet sie anthropic.claude-opus-5. Google Cloud und die Claude Platform auf AWS verwenden die Erstanbieter-ID.
Warum wurde meine funktionierende Opus-4.8-Anfrage auf Opus 5 abgeschnitten?
Denken ist standardmäßig aktiviert. max_tokens begrenzt Denk-Tokens und Antwort-Tokens gemeinsam. Erhöhen Sie max_tokens und prüfen Sie auf:
{
"stop_reason": "max_tokens"
}
Warum erhalte ich einen 400er-Fehler, wenn ich Denken deaktiviere?
Sie verwenden wahrscheinlich:
{
"thinking": {"type": "disabled"},
"output_config": {"effort": "xhigh"}
}
oder effort: "max".
Begrenzen Sie den Aufwand auf high oder lassen Sie Denken aktiviert und reduzieren Sie den Aufwand.
Benötige ich einen Beta-Header für das 1M-Kontextfenster?
Nein. Bei Opus 5 sind 1 Mio. Tokens Standard und Maximum, ohne Beta-Header und ohne Preisaufschlag für langen Kontext.
Für 300k Ausgabe in der Batch API benötigen Sie jedoch den Beta-Header output-300k-2026-03-24. Die Messages API ist auf 128k Ausgabe-Tokens begrenzt.
Kann ich meine Opus-4.8-Effort-Einstellungen wiederverwenden?
Nein. Anthropic weist darauf hin, dass die Stufen neu kalibriert wurden. Führen Sie einen neuen Effort-Sweep mit Ihrem eigenen Evaluierungssatz aus.
Führt Apidog das Modell aus?
Nein. Apidog sendet, inspiziert und testet die HTTP-Anfrage. Die Inferenz findet auf Anthropics Seite statt. Apidog hilft bei Schlüsselverwaltung, Streaming, Tool-Call-Payloads und Response-Tests.


Top comments (0)