[← Alle Anleitungen](/tutorials/)Dokumentation durchsuchen

[Offizielle DeepSeek-Dokumentation ↗](https://api-docs.deepseek.com/)

# Fehlercodes und Fehlerbehebung

Untersuche deepseekabo-API-Fehler, Verbindungszeitüberschreitungen und Probleme mit Coding-Clients. Beginne mit einer kleinen Anfrage und folge dann den Schritten für den zurückgegebenen Fehler.

**Verbindungsdaten** · Verwende Schlüssel, Basis-URL und Modell-ID aus [deinem Konto](/account/keys/). Basis-URL: Nach Freischaltung im unabhängigen Konto verfügbar. api.example.invalid ist nur ein Platzhalter.

api.example.invalid ist ein Platzhalter. Verwende die Basis-URL aus den Verbindungsdaten deines deepseekabo-Kontos.

## Hier beginnen

- Notiere Client-Version, gewähltes Modell, Anfragepfad, HTTP-Status, Fehlermeldung und Zeitpunkt mit Zeitzone. Notiere eine zurückgegebene Anfrage-ID, falls vorhanden; sie ist nicht garantiert.
- Prüfe [Dein Tarif](/account/plan/), [Verbrauch](/account/usage/) und den Abrechnungsmodus des Schlüssels unter [API-Schlüssel](/account/keys/). Website-Anmeldung und Inferenz-API-Schlüssel sind unterschiedliche Zugangsdaten.
- Teste die minimale Anfrage unten mit demselben Schlüssel und Netzwerk wie der fehlerhafte Client. Ein erfolgreicher Chat-Completions-Aufruf bestätigt allein weder Messages noch Responses oder erweiterte Client-Tools.
- Lies Status und Meldung gemeinsam. Fehler können unterschiedlich verpackt sein; hilfreicher Text steht eventuell in `error.message`, `error.code`, `detail`oder in einer einfachen HTML-Proxy-Antwort.

Entferne Schlüssel, Authorization-Header, Cookies, privaten Code und Prompts vor dem Teilen. Sende keine vollständige Umgebungsausgabe und aktiviere keine ausführliche HTTP-Protokollierung mit einem echten Schlüssel.

## Richtige Verbindungsdaten verwenden

| Client | Basis-URL-Einstellung | Endgültiger Anfragepfad |
| --- | --- | --- |
| OpenAI SDK / Chat Completions | `https://api.example.invalid/v1` | `/v1/chat/completions` |
| OpenCode mit `@ai-sdk/openai-compatible` | `https://api.example.invalid/v1` | `/v1/chat/completions` |
| Claude Code CLI, `ANTHROPIC_BASE_URL` | `https://api.example.invalid` | `/v1/messages` |
| Codex, Responses-Anbieter `base_url` | `https://api.example.invalid/v1` | `/v1/responses` |

Bei SDKs gehört der endgültige Endpunkt nicht in die Basis-URL. Claude Code ergänzt `/v1/messages`; verwende den Ursprung ohne `/v1`. Der Website-Host `deepseeksub.com` ist nicht der Inferenz-API-Host. Der öffentliche Proxy stellt die oben genannten Pfade und `/v1/models`bereit; verlasse dich nicht auf unversionierte Pfade oder `/v1/responses/compact`.

Verwende `deepseek-flash`, `deepseek-v4-pro`oder dessen Dienst-Alias `deepseek-pro`. Ein Tarif namens Pro wählt nicht automatisch das Pro-Modell. Ältere Schlüssel können auf Flash beschränkt sein; siehe [Modelle und Kompatibilität](/docs/models/).

## Eine Diagnoseanfrage senden

Setze `CODING_PLAN_API_KEY` sicher im Terminal des Befehls, wie beschrieben unter [API-Schlüssel](/docs/api-keys/). Diese Shell-Beispiele nutzen macOS-/Linux-Syntax. Windows-Nutzer können das Python-Beispiel mit der PowerShell-Umgebungseinrichtung unter API-Schlüssel verwenden. [API-Schnellstart](/docs/quickstart/).

Prüfe zuerst DNS, TLS und HTTP-Erreichbarkeit ohne Schlüssel oder Generierung:

```sh
curl --silent --show-error --connect-timeout 10 --max-time 20 \
  --output /dev/null --write-out 'HTTP %{http_code}\n' \
  https://api.example.invalid/v1/models
```

Eine Authentifizierungsablehnung, normalerweise 401, bestätigt eine HTTP-Antwort, nicht aber Schlüssel, Modell oder Upstream-Funktion. HTTP `000` ist cURLs Kennzeichnung für eine ausbleibende Antwort, kein Serverstatus. 502/503/504 bedeutet, dass eine HTTP-Komponente geantwortet hat, der Dienstpfad aber untersucht werden muss.

Sende danach eine kurze Textanfrage. Sie kann Kontingent oder API-Guthaben verbrauchen. Der Befehl wiederholt nicht automatisch. Die 90-Sekunden-Grenze ist ein Diagnosebudget, keine Latenzgarantie.

```sh
curl --silent --show-error --connect-timeout 10 --max-time 90 \
  --write-out '\nHTTP %{http_code}; total %{time_total}s\n' \
  https://api.example.invalid/v1/chat/completions \
  -H "Authorization: Bearer ${CODING_PLAN_API_KEY:?Set CODING_PLAN_API_KEY first}" \
  -H 'Content-Type: application/json' \
  --data '{"model":"deepseek-flash","messages":[{"role":"user","content":"Say hello briefly."}],"max_tokens":128,"stream":false}'
```

Der Befehl gibt Fehlerantworten aus. HTTP-Fehler führen nicht zwingend zu einem cURL-Exitcode ungleich null; lies den ausgegebenen Status. Bei aktiviertem Reasoning kann ein kleines Ausgabebudget schon vor dem finalen Antworttext verbraucht sein. Prüfe `finish_reason` und Verbrauch, bevor du leeren Text als Verbindungsfehler deutest.

Installiere für Python `openai` und `httpx`und setze dann explizite Zeitlimits; deaktiviere SDK-Wiederholungen während der Diagnose:

```python
import os
import httpx
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["CODING_PLAN_API_KEY"],
    base_url="https://api.example.invalid/v1",
    timeout=httpx.Timeout(90.0, connect=10.0),
    max_retries=0,
)
response = client.chat.completions.create(
    model="deepseek-flash",
    messages=[{"role": "user", "content": "Say hello briefly."}],
    max_tokens=128,
    stream=False,
)
print(response.choices[0].message.content)
```

Das Python-Lesezeitlimit begrenzt das Warten auf Netzwerkdaten, nicht unbedingt die Gesamtdauer eines Streams.

## Status- und Meldungsreferenz

Diese Meldungen stammen aus der zugrunde liegenden Gateway- und Abrechnungsimplementierung. Clients, Proxys und Upstream-Anbieter können sie anders verpacken oder weitere Fehler liefern. HTTP 502/504 und 422 unten beschreiben mögliche Zwischenstellen- oder Anbieterantworten, keine speziellen Abrechnungscodes.

| Status | Meldung oder Symptom | Erster Schritt |
| --- | --- | --- |
| 400 | `Unsupported request field`, `Unsupported model` | Nicht unterstützte Felder entfernen; eine Dienst-Modell-ID verwenden |
| 400 | `Stored Responses are not enabled` | Weglassen: `store` oder senden: `store: false`; Verlauf ausdrücklich mitsenden |
| 400 | `Hosted tools require a separate tariff`, `Custom tool format is not enabled` | Nicht unterstütztes gehostetes/benutzerdefiniertes Tool entfernen; unterstützte Client-Funktionstools nutzen |
| 400 | `Only metered text input is enabled`, `Tools must be an array`, `Only a single completion is supported` | Text, ein Array unterstützter Tools und Folgendes verwenden: `n: 1` oder weglassen: `n` |
| 400 | `MULTI_INVALID_OUTPUT_LIMIT`, `MULTI_UNSUPPORTED_OVERRIDE` | Positives ganzzahliges Ausgabelimit verwenden; Routing-Überschreibungen und nicht unterstützte Optionen entfernen: `extra_body` Optionen |
| 401 | `API key required`, `ACCESS_DENIED` | Übermittelte Zugangsdaten, Ablauf und Widerruf prüfen |
| 403 | `MODEL_DENIED`, `ACCESS_DENIED` | Modellberechtigungen des Schlüssels und Kontozugang prüfen |
| 402 | `INSUFFICIENT_BALANCE` | API-Guthaben, reservierte Beträge und Abrechnungsmodus prüfen |
| 404 | Endpunkt/Modell nicht gefunden | Host prüfen, `/v1`endgültigen Pfad und Modell |
| 409 | Anfrage-/Zulassungskonflikt | Doppelte Versuche stoppen; anhaltenden Konflikt melden |
| 413 | Anfrage zu groß, `MULTI_REQUEST_TOO_LARGE` | Verlauf, eingefügte Dateien und Tool-Schemata reduzieren |
| 422 | Parametervalidierung fehlgeschlagen | Genanntes Feld ausgehend von einer minimalen Anfrage korrigieren |
| 429 | `PLAN_EXHAUSTED` | Aktiven Tarif, geltende Fenster, reserviertes Kontingent und Abrechnungsmodus prüfen |
| 429 | `CONCURRENCY_LIMIT`, `RATE_LIMIT` | Parallele Aufgaben oder Anfragehäufigkeit reduzieren |
| 500 | Interner Fehler / Anbieterfehler | Diagnosedaten sichern; vorübergehende Fehler begrenzt wiederholen |
| 502 | Bad Gateway | Client-/Netzwerkfehler von Gateway-/Upstream-Fehlern unterscheiden |
| 503 | `MODEL_UNAVAILABLE`, `SIAPI_BILLING_UNAVAILABLE`, `SIAPI_BILLING_NOT_CONFIGURED`oder Proxyfehler | Dienststatus prüfen; anhaltende Abrechnungs-/Konfigurationsfehler erfordern Support |
| 504 | Gateway Timeout | Arbeitsumfang reduzieren; Gateway- und Client-Zeitlimits unterscheiden |
| Kein HTTP-Status | Zeitüberschreitung, DNS, TLS, Verbindungsabbruch | Netzwerkschritten unten folgen |

## Authentifizierung und Modellzugriff korrigieren

- Verwende einen unter API-Schlüssel erstellten Dienstschlüssel [API-Schlüssel](/account/keys/)und keinen Clerk-Anmeldetoken oder offiziellen DeepSeek-/OpenAI-/Anthropic-Schlüssel.
- Sende für die Diagnoseanfrage `Authorization: Bearer <key>`. Prüfe zusätzliche Leerzeichen, unveränderte Platzhalter und fehlende Umgebungsvariablen im tatsächlichen Client-Prozess.
- Ersetze abgelaufene oder widerrufene Schlüssel und aktualisiere den Client. Starte Desktop-/IDE-Anwendungen nach Änderungen ihrer Zugangsdatenquelle neu; ein Shell-Export aktualisiert keine bereits laufende Anwendung.
- Bei `MODEL_DENIED` oder anderen Modellberechtigungsfehlern prüfe erlaubte Modelle und teste Flash. Fehlt einem älteren Schlüssel der Pro-Zugriff, erstelle einen neuen mit den benötigten Modellen. Tausche einen gültigen Schlüssel nicht allein wegen 502 oder einer Zeitüberschreitung.
- Bleibt der Zugang verweigert, sende dem Support bereinigte Fehlermeldung und Zeitpunkt, niemals den vollständigen Schlüssel.

## Kontingent-, Guthaben- und Parallelitätsfehler beheben

- Lies die Meldung: `PLAN_EXHAUSTED`, `RATE_LIMIT` und `CONCURRENCY_LIMIT` erfordern unterschiedliche Maßnahmen.
- Bei `PLAN_EXHAUSTED`prüfe, ob ein berechtigter Tarif aktiv ist und die Anfrage nach verbrauchten und reservierten Tokens in beide geltenden Fenster passt. Prüfe Rücksetzzeiten unter [Dein Tarif](/account/plan/); der Fehler garantiert keine Rücksetzfelder oder einen `Retry-After` Header.
- Kürze Eingabe und Ausgabebudget, wenn die Reservierung nicht passt. Pro verbraucht das 3,5-Fache des Flash-äquivalenten Kontingents. Offene oder unklare Anfragen können Reservierungen behalten; ein lokales Timeout beweist keine Freigabe.
- Prüfe den Abrechnungsmodus. Nur Tarif greift nie auf Guthaben zurück. Nur API-Guthaben verwendet keinen Tarif. Automatisch kann bei aktivierter Guthabennutzung darauf zurückgreifen; unzureichendes Guthaben kann dann zu folgendem Fehler führen: `INSUFFICIENT_BALANCE`. Aktivierter Rückgriff erlaubt Guthabenverbrauch; entscheide bewusst.
- Bei `CONCURRENCY_LIMIT`stoppe parallele Agenten und warte auf laufende Aufgaben. Bei `RATE_LIMIT`pausiere die Anfrageschleife und reduziere die Häufigkeit. Dauerhaft ungeklärte Reservierungen erfordern Support.
- Beachte `Retry-After` falls vorhanden. Andernfalls verwende begrenzte Warteintervalle bei vorübergehenden Ratenlimits. Einige Sekunden Warten lösen kein ausgeschöpftes 5-Stunden- oder 7-Tage-Fenster.

## Nicht unterstützte Anfragen und große Kontexte korrigieren

- Beginne mit der reinen Text-Diagnoseanfrage. Ergänze Streaming, Verlauf, Tools und Reasoning-Optionen einzeln.
- Entferne `store: true`, `previous_response_id`, `background`, `metadata` und Anbieter-Routing-Überschreibungen aus direkten Anfragen. Sie gehören nicht zum aktuellen öffentlichen Vertrag. Sende Gesprächsverlauf, statt dich auf gespeicherte Responses zu verlassen.
- Entferne anbieterseitig gehostete Tools wie `type: web_search` und Responses-Tools mit `type: custom`. Clientseitig ausgeführte JSON-Schema-Funktionstools sind etwas anderes: Eine Clientfunktion namens `web_search` wird nicht allein wegen ihres Namens abgelehnt.
- Verwende bei abgelehnten Medien Text. Die aktuelle öffentliche Validierung weist Medieneingaben zurück; Upstream-Modellfähigkeiten heben diese Einschränkung nicht auf.
- Beginne bei 413 oder Kontextlängenfehlern ein neues Gespräch mit kurzer Zusammenfassung, entferne große Dateien und ungenutzte Tool-Schemata und reduziere das Ausgabebudget. HTTP-Nachrichtengröße und Modellkontext sind getrennte Grenzen.
- Beginne bei Fehlern durch ausschließlich verschlüsseltes oder redigiertes Thinking-Replay ein neues Gespräch. Die Brücke benötigt Klartext-Reasoning für unterstützte Wiedergabe; verwende kein anbieterspezifisch verschlüsseltes Reasoning anderer Dienste.

## 502 Bad Gateway beheben

- Sichere Status, Zeitpunkt und bereinigte Antwort. HTML-Fehler können vor einer JSON-API-Antwort aus einem Proxy kommen; dies ist nicht automatisch ein Schlüsselproblem.
- Prüfe [Dienststatus](/service-status/) und Störungsmeldungen. Die Statusseite allein prüft keine einzelne Anfrage; führe den obigen Test ohne Schlüssel aus.
- Liefert auch der Test 502, pausiere die Generierung und melde Host und Zeitpunkt. Gateway-Prozess, Upstream-Verbindung oder Zwischenstellen können beteiligt sein; die Ursache erfordert Dienstprotokolle.
- Funktioniert die Erreichbarkeit, versuche eine kurze Anfrage ohne parallele Aufgaben. Scheitert nur ein Client, vergleiche URL und Proxyeinstellungen. Vergleiche, soweit erlaubt, ein alternatives Netzwerk zur Eingrenzung lokaler Proxy-/VPN-Probleme.
- Wiederhole höchstens zweimal nach etwa 2 und 5 Sekunden mit zufälliger Streuung; stoppe danach und kontaktiere den Support. Prüfe vor erneutem Senden den Verbrauch, falls die erste Anfrage das Modell erreicht haben könnte; eine neue Anfrage kann erneut Kosten verursachen.

## 504 Gateway Timeout beheben

- Bestätige eine tatsächliche HTTP-504-Antwort. `APITimeoutError`, `ReadTimeout`, `ETIMEDOUT` oder cURL-Exitcode 28 ohne HTTP-Antwort sind dagegen Client-/Netzwerkzeitüberschreitungen.
- Notiere vergangene Zeit und ob Stream-Daten ankamen. Gleich lange Fehlerzeiten deuten auf ein Zeitlimit hin, identifizieren aber nicht die verantwortliche Komponente.
- Teste einen neuen kurzen Textprompt mit kleinerem Ausgabelimit und ohne parallele Agenten. Bei Erfolg ergänze Kontext und optionale Funktionen schrittweise.
- Nutze bei langen Antworten Streaming, falls unterstützt. Es zeigt Fortschritt, beseitigt aber keine Upstream-Rechen- oder Proxy-Leerlaufzeitlimits.
- Gibt zuerst der Client auf, passe sein dokumentiertes Lese-/Leerlaufzeitlimit innerhalb eines endlichen Budgets an. Ein höheres Client-Zeitlimit repariert kein vom Gateway erzeugtes HTTP 504.
- Prüfe Verbrauch und reserviertes Kontingent, dann die begrenzte Wiederholungsregel unten. Anhaltende 504 bei kleinen Anfragen benötigen Support mit Zeitangaben.

## Verbindungszeitüberschreitungen, DNS- und TLS-Fehler beheben

| Symptom | Bedeutung | Nächster Schritt |
| --- | --- | --- |
| cURL-Exitcode 6 / Hostauflösung fehlgeschlagen | DNS-Abfrage fehlgeschlagen | Prüfe `api.example.invalid`; Resolver und Netzwerk prüfen |
| cURL-Exitcode 7 / Verbindung abgelehnt | TCP-Verbindung fehlgeschlagen | Firewall, Proxy, VPN und Port 443 prüfen |
| cURL-Exitcode 28 / `ConnectTimeout` / `ETIMEDOUT` | Zeitlimit überschritten | Verbindungsaufbau vom Warten auf Daten unterscheiden |
| `ReadTimeout` / `APITimeoutError` | Client hat das Warten beendet | Kurze Anfrage vergleichen; Lesezeitlimit und Wiederholungen prüfen |
| cURL-Exitcode 35 oder 60 / TLS-Zertifikatsfehler | Handshake oder Zertifikatsprüfung fehlgeschlagen | Systemzeit, Zertifikatsspeicher und gegebenenfalls Organisations-CA prüfen |
| Verbindung zurückgesetzt / Stream getrennt | Gegenstelle oder Zwischenstelle hat die Verbindung geschlossen | Teilausgabe sichern und Netzwerkpfad vergleichen |

- Führe den Test ohne Schlüssel in derselben Umgebung wie den Client aus: Terminal, Container, Remote-Host oder IDE. Ein funktionierender Browser anderswo bestätigt diese Umgebung nicht.
- Prüfe `HTTP_PROXY`, `HTTPS_PROXY` und `ALL_PROXY` lokal auf veraltetes Routing. Veröffentliche keine Proxy-URLs mit Zugangsdaten. Beachte vorgeschriebene Netzwerkeinstellungen, statt sie blind zu umgehen.
- Behebe zuerst DNS-, Firewall- und Zertifikatsprobleme. Deaktiviere weder die TLS-Prüfung noch verwende `curl -k` als Lösung.
- Treten Timeouts nur bei großen Anfragen auf, reduziere Kontext/Ausgabe und prüfe Verbindungs-, Lese- und Stream-Leerlaufeinstellungen getrennt.
- Stoppe Wiederholungsschleifen und prüfe den Verbrauch. Ein Timeout oder Abbruch beweist weder gestoppte Upstream-Verarbeitung noch null Token-Verbrauch oder eine freigegebene Reservierung.

## Claude-Code-CLI-Prüfliste

- Notiere `claude --version`. Setze `ANTHROPIC_BASE_URL` auf `https://api.example.invalid` und verwende deinen Dienstschlüssel als `ANTHROPIC_AUTH_TOKEN`. Prüfe widersprüchliche gespeicherte Zugangsdaten und Einstellungen lokal.
- Setze `ANTHROPIC_MODEL` und die Standardmodellvariablen für Opus/Sonnet/Haiku und Unteragenten aus der [Claude-Code-Anleitung](/docs/claude-code/) auf das gewünschte Modell. Die Modellauswahl im Hintergrund kann scheitern, obwohl der Hauptchat funktioniert.
- Starte die CLI in diesem Terminal neu und teste ein neues kurzes Gespräch. Ein direkter Messages-Test verwendet `/v1/messages`ein `messages` Array, ein positives `max_tokens` und `anthropic-version: 2023-06-01`.
- Prüfe bei 404 ein doppeltes `/v1` oder einen nicht unterstützten Hilfsendpunkt. Prüfe bei 400 Tools, Medien und Thinking-Daten anhand der obigen Schritte.
- Funktioniert Chat Completions, aber Messages nicht, melde den Messages-Fehler separat. Protokollumwandlung bestätigt nicht jede Clientfunktion. Diese Shell-Anleitung gilt für die CLI; Desktop-/verwaltete Integrationen können andere Einstellungen nutzen.

## Codex-Prüfliste

- Notiere `codex --version`. Sichere Konfiguration und Modellkatalog. Führe Änderungen zusammen; doppelte TOML-Tabellen können den Start vor jeder HTTP-Anfrage verhindern.
- In `~/.codex/config.toml`muss `model_provider` zur Anbietertabelle passen; setze dessen `base_url` auf `https://api.example.invalid/v1` und `wire_api` auf `responses`. Verwende eine Dienst-Modell-ID und einen `env_key` mit dem Namen der Umgebungsvariable, die deinen Schlüssel enthält.
- Starte in dieser Umgebung neu und teste eine neue Sitzung. Ein direkter `/v1/responses` Test verwendet `input`, `max_output_tokens` und `store: false`. Chat-Completions-Erfolg allein ist kein Codex-Test.
- Bei gehosteter Suche, benutzerdefinierten Tools, gespeicherten Responses oder nicht unterstützten Feldern folge den passenden Schritten oben. Kann der Client keine unterstützten Anfragen erzeugen, notiere Version und Fehler für den Support; wiederholter Schlüsseltausch hilft nicht.
- Notiere bei 404 während der Kompaktierung den Pfad. `/v1/responses/compact` wird vom aktuellen öffentlichen Proxy nicht bereitgestellt. Beginne eine neue Sitzung mit kurzer Zusammenfassung; prüfe Anbieter-/Modellfähigkeiten des installierten Clients vor Aktivierung externer Kompaktierung.
- Prüfe bei hängenden Streams `stream_idle_timeout_ms`, `request_max_retries` und `stream_max_retries` in den Anbietereinstellungen. Deaktiviere automatische Wiederholungen während der Diagnose, soweit unterstützt. Behalte bestehende Modellmetadaten, statt die Kontextgröße anderer Anbieter zu kopieren.

## OpenCode-Prüfliste

- Notiere `opencode --version`. In `/connect`wähle `Other` und verwende dieselbe Anbieter-ID wie in `opencode.json`zum Beispiel `coding-plan`.
- Verwende `npm: "@ai-sdk/openai-compatible"`, `options.baseURL: "https://api.example.invalid/v1"` und eine genaue Dienst-Modell-ID als Schlüssel unter `models`. Ein Anzeigename ist keine API-Modell-ID.
- Führe gültiges JSON zusammen, starte bei Bedarf neu und wähle das Modell mit `/models`. Fehlt der Anbieter, prüfe Syntax und Speicherort, bevor du Zugangsdaten änderst.
- Verbinde bei Authentifizierungsfehlern den Schlüssel erneut unter der passenden Anbieter-ID. Bei Endpunktfehlern verwende `/v1` genau einmal und hänge Folgendes nicht an: `/chat/completions` auf `baseURL`.
- Teste ein neues kurzes Gespräch, dann Tools und längeren Kontext. Folge bei 400 oder Stream-Abbrüchen den Anfrage-/Netzwerkschritten; notiere Anbieter und Modell für den Support.

## Eine Antwort bricht mittendrin ab

- Prüfe das Abschlusssignal des Protokolls und Fehlerereignisse. HTTP 200 beim Stream-Start garantiert keine abgeschlossene Generierung.
- Unterscheide ein Ausgabelimit (`finish_reason: length` oder ein unvollständiges Responses-Ergebnis) von einem getrennten Stream. Ein Budgetlimit erfordert bewusstes Fortsetzen oder ein größeres unterstütztes Budget; ein Abbruch erfordert Netzwerk-/Zeitlimitdiagnose.
- Kennzeichne Teilausgaben als unvollständig. Hänge nicht stillschweigend eine neue Generierung an und wiederhole keine teilweise ausgeführten Tool-Aktionen. Prüfe vorher, ob ein Tool bereits Dateien geändert oder externe Aktionen ausgeführt hat.
- Prüfe [Verbrauch](/account/usage/). Fehlende finale Verbrauchsdaten können eine offene oder unklare Reservierung zur Abstimmung zurücklassen. Fehlende Nutzungsdaten oder eine geschlossene Verbindung bedeuten nicht null Kosten.
- Bewahre letzten Ereignistyp, vergangene Zeit und bereinigte Fehlermeldung auf. Siehe [Streaming-Antworten](/docs/streaming/).

## Wiederholen ohne Endlosschleife

Behebe ungültige Anfragen und Authentifizierungs-/Zugriffsfehler vor Wiederholungen. Beachte bei vorübergehendem 429-Ratenlimit oder 500/502/503/504 `Retry-After` falls vorhanden; sonst höchstens zwei Wiederholungen mit steigenden Wartezeiten und Streuung, danach stoppen. Bei ausgeschöpftem Kontingent muss zuerst Fenster oder Abrechnung geklärt werden. Anhaltende Modell-/Abrechnungskonfigurationsfehler erfordern Support.

Deaktiviere während der Diagnose überlappende Wiederholungen in SDK, Client und eigenem Skript. Anfragen mit Timeout können bereits ausgeführt worden sein; prüfe den Verbrauch und entscheide über erneutes Senden. Wiederholte Generierung ist eine neue potenziell kostenpflichtige Anfrage, keine garantierte Fortsetzung oder kostenlose Wiederholung.

## Einen hilfreichen Supportbericht vorbereiten

Verwende [Hilfe & Kontakt](/support/) und ergänze Folgendes ohne Geheimnisse oder private Inhalte:

```text
Time and timezone:
Client / version / operating system:
API host and final path (no query secrets):
Model ID / streaming on or off:
HTTP status, or network exception / cURL exit code:
Sanitized error code and message:
Elapsed time / whether response data arrived:
Request ID (only if returned):
Key billing mode / plan reset / pending usage:
Does the no-key probe work? Does one short text request work?
Minimal request with key and private prompt removed:
```

Verbindungseinstellungen wurden am 6. November 2026 gegen die Projektimplementierung geprüft. Clienteinstellungen können sich je nach Version ändern. Referenzen: [Claude-Code-Gateway-Konfiguration](https://code.claude.com/docs/en/llm-gateway-connect), [Codex-Konfigurationsreferenz](https://developers.openai.com/codex/config-reference/), [Benutzerdefinierte OpenCode-Anbieter](https://opencode.ai/docs/providers/)und [cURL-Exitcodes](https://curl.se/libcurl/c/libcurl-errors.html).

AUF DIESER SEITE

[Hier beginnen](#start-here)[Richtige Verbindungsdaten verwenden](#use-the-correct-connection-details)[Eine Diagnoseanfrage senden](#make-one-diagnostic-request)[Status- und Meldungsreferenz](#status-and-message-reference)[Authentifizierung und Modellzugriff korrigieren](#fix-authentication-and-model-access)[Kontingent-, Guthaben- und Parallelitätsfehler beheben](#fix-quota-balance-and-concurrency-errors)[Nicht unterstützte Anfragen und große Kontexte korrigieren](#fix-unsupported-requests-and-large-context)[502 Bad Gateway beheben](#resolve-502-bad-gateway)[504 Gateway Timeout beheben](#resolve-504-gateway-timeout)[Verbindungszeitüberschreitungen, DNS- und TLS-Fehler beheben](#resolve-connection-timeouts-dns-and-tls-errors)[Claude-Code-CLI-Prüfliste](#claude-code-cli-checklist)[Codex-Prüfliste](#codex-checklist)[OpenCode-Prüfliste](#opencode-checklist)[Eine Antwort bricht mittendrin ab](#an-answer-stopped-halfway)[Wiederholen ohne Endlosschleife](#retry-without-creating-a-loop)[Einen hilfreichen Supportbericht vorbereiten](#prepare-a-useful-support-report) Brauchst du Hilfe? [Fehler beheben →](/docs/error-codes/)
