Claude Code mit DeepSeek Flash oder Pro: Einrichtung, Tests und Kosten
Vollständige Anleitung für Claude Code mit DeepSeek: Flash oder Pro wählen, den API Key sicher eingeben, die Verbindung prüfen, Fehler beheben und aktuelle Preise vergleichen.
Inhalt

Claude Code kann ohne zusätzlichen Proxy direkt den Anthropic-kompatiblen Endpoint von DeepSeek verwenden. Für die meisten Coding-Aufgaben ist das aktuelle offizielle Profil deepseek-flash[1m] der richtige Start. Schalten Sie nur den Hauptagenten auf deepseek-v4-pro, wenn eine schwierige Architekturentscheidung, ein großer Refactor oder eine lange Fehlersuche den höheren Preis rechtfertigt.
Zwei Details sind entscheidend. Das aktuelle All-Flash-Beispiel setzt Flash ausdrücklich auch für Opus und überschreibt damit das automatische Mapping. Außerdem fällt ein nicht unterstützter Modellname ohne eindeutige Warnung auf deepseek-flash zurück. Eine normale Antwort beweist deshalb die Verbindung, aber nicht die tatsächliche Nutzung von Pro.
Vor der Konfiguration das Modellprofil festlegen
Am 27. September 2026 zeigt der DeepSeek-Leitfaden für Claude Code ein kostenorientiertes All-Flash-Profil. Der separate Anthropic-Kompatibilitätsleitfaden ordnet Namen mit claude-opus dem Modell deepseek-v4-pro und Namen mit claude-sonnet oder claude-haiku dem Modell deepseek-flash zu.
| Profil | Hauptmodell / Opus | Sonnet | Haiku und Subagents | Geeignet für |
|---|---|---|---|---|
| Offizieller Standard, Geschwindigkeit zuerst | deepseek-flash[1m] | deepseek-flash[1m] | deepseek-flash | Tägliches Coding, Repository-Lektüre, viele kleine Aufgaben |
| Pro nur im Hauptthread | deepseek-v4-pro | deepseek-flash[1m] | deepseek-flash | Architektur, schwierige Refactors, kritische Diagnose |
| Automatisches Claude-Namensmapping | claude-opus* → deepseek-v4-pro | claude-sonnet* → deepseek-flash | claude-haiku* → deepseek-flash | Nur wenn klar ist, welchen Claude-Namen der Client sendet |
Explizite Umgebungsvariablen haben Vorrang. Wenn ANTHROPIC_DEFAULT_OPUS_MODEL=deepseek-flash[1m] gesetzt ist, führt auch eine Opus-Auswahl in Claude Code zu Flash.
1. Claude Code installieren und zuerst den lokalen CLI prüfen
Erforderlich ist Node.js 18 oder neuer; unter Windows zusätzlich Git for Windows. Prüfen Sie die Version vor der Provider-Konfiguration, damit ein lokales Installationsproblem nicht wie ein Endpoint-Fehler aussieht.
npm install -g @anthropic-ai/claude-code
claude --version
IFS= read -rs ANTHROPIC_AUTH_TOKEN
export ANTHROPIC_AUTH_TOKEN
export ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
export ANTHROPIC_MODEL="deepseek-flash[1m]"
export ANTHROPIC_DEFAULT_OPUS_MODEL="deepseek-flash[1m]"
export ANTHROPIC_DEFAULT_SONNET_MODEL="deepseek-flash[1m]"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-flash"
export CLAUDE_CODE_SUBAGENT_MODEL="deepseek-flash"
export CLAUDE_CODE_EFFORT_LEVEL="max"
export CLAUDE_CODE_AUTO_COMPACT_WINDOW="786432"
IFS= read -rs ANTHROPIC_AUTH_TOKEN wartet auf den API Key, ohne die Eingabe anzuzeigen. Fügen Sie den Key ein, drücken Sie Enter und exportieren Sie ihn mit der nächsten Zeile in die aktuelle Shell. Schreiben Sie keinen echten Key in einen Befehl, die Shell-History, ein Script oder ein Repository.
In PowerShell lässt sich das Secret sicher einlesen und nur dem aktuellen Prozess bereitstellen:
npm install -g @anthropic-ai/claude-code
claude --version
$secure = Read-Host -AsSecureString
$ptr = [Runtime.InteropServices.Marshal]::SecureStringToBSTR($secure)
try {
$env:ANTHROPIC_AUTH_TOKEN = [Runtime.InteropServices.Marshal]::PtrToStringBSTR($ptr)
} finally {
[Runtime.InteropServices.Marshal]::ZeroFreeBSTR($ptr)
}
$env:ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
$env:ANTHROPIC_MODEL="deepseek-flash[1m]"
$env:ANTHROPIC_DEFAULT_OPUS_MODEL="deepseek-flash[1m]"
$env:ANTHROPIC_DEFAULT_SONNET_MODEL="deepseek-flash[1m]"
$env:ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-flash"
$env:CLAUDE_CODE_SUBAGENT_MODEL="deepseek-flash"
$env:CLAUDE_CODE_EFFORT_LEVEL="max"
$env:CLAUDE_CODE_AUTO_COMPACT_WINDOW="786432"
Die Variablen gelten für Claude Code, das aus diesem Terminal gestartet wird. Testen Sie zunächst eine temporäre Sitzung. Speichern Sie danach nur nicht geheime Werte in einem geschützten Profil und den Key in einem geeigneten Secret Store.
2. Pro nur für den Thread mit hohem Denkbedarf verwenden
Die aktuelle Modell- und Preisseite nennt deepseek-v4-pro als exakte Pro-ID, derzeit DeepSeek-V4-Pro-0813. Die aktuelle Claude-Code-Seite zeigt [1m] nur im Flash-Beispiel und kein deepseek-v4-pro[1m]. Nutzen Sie daher die dokumentierte Tabellen-ID, statt einen Suffix zu erfinden.
export ANTHROPIC_MODEL="deepseek-v4-pro"
export ANTHROPIC_DEFAULT_OPUS_MODEL="deepseek-v4-pro"
export ANTHROPIC_DEFAULT_SONNET_MODEL="deepseek-flash[1m]"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-flash"
export CLAUDE_CODE_SUBAGENT_MODEL="deepseek-flash"
Hauptsitzung und Opus-Route laufen nun über Pro; Sonnet, Haiku und Subagents bleiben auf Flash. Repository-Suchen, Datei-Lesevorgänge und kleine delegierte Änderungen können viele Calls erzeugen. Flash hält diese Nebenschritte günstiger, ohne den anspruchsvollen Hauptteil zu schwächen.
Was [1m] bedeutet und wo die Grenze liegt
Die aktuelle DeepSeek-Dokumentation definiert [1m] nicht in einem eigenen Satz. Sie zeigt den Suffix beim Hauptmodell und bei den Opus-/Sonnet-Overrides, lässt Haiku und CLAUDE_CODE_SUBAGENT_MODEL als schlichtes deepseek-flash stehen und nennt in der Modelltabelle eine Context Length von 1M. Zusammengenommen ist die sicherste Lesart: [1m] ist die Claude-Code-Notation für die Million-Token-Kontextroute, aber nur bei den Modellen, für die der Integrationsleitfaden sie zeigt. Es ist weder ein anderes Modell noch ein anderer Preis oder eine Million Output-Tokens.
Wichtige Grenzen:
- Der veröffentlichte maximale Output beträgt 384K, nicht 1M.
CLAUDE_CODE_AUTO_COMPACT_WINDOW=786432lässt Spielraum vor dem Kontextlimit.- Abgerechnet werden die IDs
deepseek-flashunddeepseek-v4-pro; hängen Sie den Suffix nicht an eine Modell-ID, für die die aktuelle Integrationsseite ihn nicht zeigt.
3. Vor einer langen Session einen kleinen Test ausführen
Starten Sie Claude Code in einem wegwerfbaren oder risikoarmen Projekt:
test -n "${ANTHROPIC_AUTH_TOKEN:-}"
test "$ANTHROPIC_BASE_URL" = "https://api.deepseek.com/anthropic"
claude --version
cd /path/to/your/project
claude
Geben Sie eine beobachtbare Read-only-Aufgabe: „Lies package.json oder pyproject.toml, liste die vorhandenen Scripts auf und ändere keine Dateien.“ Erfolgreich ist der Test, wenn eine normale Antwort und ein abgeschlossener Datei-Lese-Tool-Call ohne 401, 402, 429, Verbindungs- oder Modellfehler erscheinen. Die Interaktion ist synchron; es gibt keine Job-ID und kein Polling.
Falls Claude Code scheitert, trennen Sie Endpoint und Client mit dem offiziellen Anthropic-SDK-Muster und speichern Sie die Antwort:
python3 -m pip install anthropic
python3 - <<'PY'
import os
from pathlib import Path
import anthropic
client = anthropic.Anthropic(
base_url=os.environ["ANTHROPIC_BASE_URL"],
api_key=os.environ["ANTHROPIC_AUTH_TOKEN"],
)
message = client.messages.create(
model="deepseek-flash",
max_tokens=200,
messages=[{"role": "user", "content": "Reply with: endpoint OK"}],
)
text = "\n".join(block.text for block in message.content if block.type == "text")
Path("deepseek-smoke.txt").write_text(text, encoding="utf-8")
print("saved deepseek-smoke.txt")
PY
Wird deepseek-smoke.txt erzeugt, während Claude Code weiterhin scheitert, prüfen Sie konkurrierende Variablen, andere Settings-Dateien und alte Prozesse. Scheitert auch der SDK-Test, kontrollieren Sie zuerst Base URL, Key, Guthaben und Provider-Status.
DeepSeek dokumentiert den Fallback unbekannter Modellnamen auf deepseek-flash. Der SDK-Check belegt den Transport, während die Read-only-Aufgabe in Claude Code zusätzlich einen grundlegenden Tool-Aufruf prüft; keiner der beiden Tests beweist die Modellidentität. Prüfen Sie vor einem Pro-Benchmark oder einer Kostenprognose die verfügbaren Request-, Nutzungs- oder Abrechnungsdetails. Zeigen sie das Modell nicht, ist eine erfolgreiche Antwort kein Beleg für Pro.
Tools, Thinking und Websuche sind nur innerhalb der dokumentierten Grenzen kompatibel
Die Anthropic-Messages-Kompatibilität deckt zentrale Strukturen ab, macht DeepSeek aber nicht verhaltensgleich mit Claude. Für Claude Code sind in der Kompatibilitätstabelle besonders relevant:
| Fähigkeit | Aktueller Status | Praktische Folge |
|---|---|---|
tools, tool_use, tool_result | Kernfelder unterstützt | Protokollbasis für lokale Datei- und Command-Tools vorhanden |
tool_choice | Unterstützt; disable_parallel_tool_use ignoriert | Das Flag erzwingt keine strikt serielle Ausführung |
| Web Search in Claude Code | Nativ unterstützt | Zusammenfassung erzeugt zusätzliche LLM-Calls und Tokenkosten |
Anthropic cache_control | Ignoriert | Aus der Directive lässt sich kein tatsächlicher Cache Hit ableiten |
| Thinking | Unterstützt; budget_tokens ignoriert, effort verfügbar | Das Profil nutzt CLAUDE_CODE_EFFORT_LEVEL=max; Claudes Budgetfeld steuert hier nicht die Kosten |
Document- und search_result-Blöcke | Nicht unterstützt | Abhängige Abläufe zuerst klein testen |
code_execution_tool_result und mcp_tool_use | Nicht unterstützt | Serverseitige Codeausführung und Anthropic-spezifische MCP-Blöcke sind nicht gleichwertig |
tool_result.is_error | Ignoriert | Middleware darf Fehlerbedeutung nicht nur über dieses Feld transportieren |
Laut DeepSeek stellt die API Claude Code Web Search bereit. Wenn das Modell eine Suche auslöst, fassen zusätzliche Requests die Treffer zusammen. Berücksichtigen Sie Suche, langen Kontext, Tool-Schleifen und Retries in jeder Kostenrechnung.
Fehler nach Symptom eingrenzen
| Symptom | Zuerst prüfen | Korrektur und Retest |
|---|---|---|
| 401 / authentication failure | Falscher Key, Leerzeichen, Variable fehlt in dieser Shell | Key verdeckt neu eingeben, Claude Code neu starten, Read-only-Test wiederholen |
| 402 / insufficient balance | DeepSeek-Guthaben | Aufladen und dieselbe kurze Anfrage wiederholen |
| 400 / 422 | Ungültiges Feld, Modell-ID oder Middleware-Rewrite | Offizielle Variablen wiederherstellen; eigener Thinking+tools-Client muss jedes reasoning_content zurücksenden |
| 429 | Request-Rate und parallele Sessions | Concurrency senken und mit Backoff wiederholen |
| 500 / 503 | Providerfehler oder Überlastung | Kurz warten, erneut versuchen und bei Dauer den Zeitpunkt notieren |
| Antwort kommt, wirkt aber nicht wie Pro | Tippfehler oder Fallback | Exaktes deepseek-v4-pro nutzen und Modell/Abrechnung im Dashboard prüfen |
| Einstellungen ändern sich scheinbar nicht | Alter Prozess oder andere Settings-Schicht | Alle Prozesse schließen, neues Terminal öffnen, Variablen neu setzen |
| Web Search startet nicht | Modell hält Suche möglicherweise für unnötig | Aktuelle Webinformation ausdrücklich verlangen; fehlende Suche ist kein Verbindungsfehler |
Die offizielle DeepSeek-Fehlerseite trennt 401, 402, 429, 500 und 503. Ändern Sie jeweils nur einen Wert und wiederholen Sie denselben kurzen Test.
DeepSeek- und BetterToken-Preise, geprüft am 27. September 2026
Alle Werte sind USD pro 1 Million Tokens. DeepSeek nutzt Peak/Off-peak; der BetterToken-Katalog hat nicht dieselbe Zeitstaffel. Prüfen Sie vor einem großen Lauf die offiziellen DeepSeek-Preise und die einzige BetterToken-Preisseite erneut.
Offizielle DeepSeek-Preise
| Modell-ID / aktuelle Version | Stufe | Input ohne Cache | Input mit Cache | Output |
|---|---|---|---|---|
deepseek-flash / DeepSeek-V4.1-Flash | Off-peak | $0.15 | $0.003 | $0.60 |
deepseek-flash / DeepSeek-V4.1-Flash | Peak | $0.30 | $0.006 | $1.20 |
deepseek-v4-pro / DeepSeek-V4-Pro-0813 | Off-peak | $0.66 | $0.022 | $1.98 |
deepseek-v4-pro / DeepSeek-V4-Pro-0813 | Peak | $1.32 | $0.044 | $3.96 |
Peak gilt Montag bis Freitag von 01:00–04:00 und 06:00–10:00 UTC, ausgenommen chinesische Feiertage; die übrige Zeit ist off-peak. Das Change Log vom 10. September erklärt, dass deepseek-flash V4.1 Flash aufruft und alte deepseek-v4-flash-Namen vorübergehend dorthin geroutet werden.
Öffentlicher BetterToken-Katalog
| BetterToken-ID / aktuelles Mapping | Endpoint-Typen | Input | Cache Hit | Output |
|---|---|---|---|---|
deepseek-flash / neuestes Flash, derzeit V4.1 Flash | Anthropic, OpenAI | $0.132 | $0.00264 | $0.528 |
deepseek-pro / neuestes Pro, derzeit V4-Pro-0813 | OpenAI | $0.5808 | $0.01936 | $1.7424 |
deepseek-v4-pro-0813 / V4-Pro-0813 | Anthropic, OpenAI | $0.5896 | $0.0176 | $1.7644 |
deepseek-pro ist etwas günstiger, aber nur für OpenAI gelistet. Ein ähnlicher Name oder Preis macht ihn nicht für Claude Codes Anthropic Messages nutzbar. Für Pro über BetterToken ist deepseek-v4-pro-0813 zu prüfen, weil dessen Eintrag Anthropic ausdrücklich nennt.
Beispiel mit 1 Million Input-Tokens ohne Cache und 200.000 Output-Tokens, ohne Suche oder Retries:
- Flash: etwa $0.27 bei DeepSeek off-peak, $0.54 peak und $0.2376 zum BetterToken-Katalogpreis.
- Pro: etwa $1.056 bei DeepSeek off-peak, $2.112 peak und $0.9425 mit der Anthropic-fähigen BetterToken-Pro-ID.
Das ist ein Snapshot vom 27. September 2026 und keine Zusage, dass BetterToken immer günstiger ist. Kontext, Tools, Suche, Retries und Preisänderungen beeinflussen die Rechnung.
BetterToken bewerten, ohne ein Mapping zu erfinden
Im öffentlichen BetterToken-Katalog sind deepseek-flash und deepseek-v4-pro-0813 als Anthropic-fähig markiert, deepseek-pro dagegen nur als OpenAI-Modell. Das reicht für Preisvergleiche und die Auswahl möglicher IDs, bestätigt aber noch kein Claude-Code-Mapping.
Die aktuelle BetterToken-Anleitung für Claude Code dokumentiert https://bettertoken.ai ohne /v1, Authentifizierung, Neustart und Mappings für Claude, Kimi und GLM. Ein DeepSeek-spezifisches Profil enthält sie nicht. Für den Claude Provider weist sie außerdem an, ANTHROPIC_MODEL und ANTHROPIC_DEFAULT_*_MODEL nicht manuell zu setzen. Leiten Sie daher kein dauerhaftes DeepSeek-Mapping allein aus dem Preiskatalog ab.
Falls der aktuelle BetterToken-Setup-Dialog oder eine neuere Dokumentation ein DeepSeek-Profil zeigt, verwenden Sie die dort angezeigte exakte Modell-ID und wiederholen Sie die read-only Aufgabe sowie den SDK-Smoke-Test. Für Pro kommt nur deepseek-v4-pro-0813 mit Anthropic-Support infrage; ersetzen Sie es nicht durch das OpenAI-only-Modell deepseek-pro. Bis ein spezielles Mapping dokumentiert oder im Konto bestätigt ist, bleibt der direkte DeepSeek-Endpoint die bekannte Konfiguration.
Prüfen Sie für die Bewertung zuerst die aktuellen Preise und erstellen Sie anschließend Konto und API Key.
Die passende Route wählen
- Die meisten Coding-Aufgaben: direkter DeepSeek-Endpoint mit
deepseek-flash[1m]; aktueller offizieller Standard und günstig für Iterationen. - Schwierige, wertvolle Arbeit: Hauptthread und Opus auf
deepseek-v4-pro, Sonnet, Haiku und Subagents auf Flash. Vor Skalierung Fallback ausschließen. - Ein Guthaben oder mehrere Provider: BetterToken nur bewerten, wenn der aktuelle Setup-Dialog ein DeepSeek-Profil zeigt.
supported_endpoint_typesist nur der erste Filter; prüfen Sie danach Mapping, exakte ID und Tagespreis. - Anthropic-spezifische Blöcke oder Verhaltensparität: Claude verwenden. Transportkompatibilität garantiert weder identisches Verhalten noch vollständige Tool-Parität.
Vor einem wichtigen Repository sollte die Kette geschlossen sein: sichtbare CLI-Version, nie angezeigter Key, exakte Base URL, erfolgreicher Read-only-Test und eine Modellidentität, die anhand verfügbarer Daten bestätigt oder ausdrücklich als unbestätigt markiert ist.