„API Error: The response stopped arriving“ bedeutet: Während eine Antwort übertragen wurde, kamen keine Daten mehr an, obwohl die Verbindung offen blieb, und ein Überwachungstimer von Claude Code selbst hat die Verbindung daraufhin abgebrochen. Die bis dahin abgeschlossene Ausgabe bleibt auf dem Bildschirm erhalten. In einer interaktiven Sitzung antworten Sie einfach mit continue, und Claude Code macht an der zuletzt abgeschlossenen Stelle weiter.
API Error: The response stopped arriving. The response above may be incomplete.
Vor v2.1.227 lautete diese Meldung Response stalled mid-stream. Die offizielle Fehlerreferenz nennt die Umbenennung ausdrücklich; es passiert dasselbe wie vorher. Wenn Sie nach Informationen oder Fehlerberichten suchen, die noch den alten Wortlaut verwenden, suchen Sie mit beiden Formulierungen.
Zuerst den Wortlaut nach „API Error:“ lesen
Meldungen für „hängen geblieben“ und „abgebrochen“ unterscheiden sich je nach Ursache
Nachdem die Ausgabe begonnen hatte, kamen keine Daten mehr, obwohl die Verbindung offen blieb
Nachdem die Ausgabe begonnen hatte, brach die Verbindung selbst ab
Nach dem Nachdenken hängen geblieben, bevor überhaupt eine Ausgabe begonnen hatte
Die Antwort endete ohne verwertbare Daten und wurde ohne Streaming erneut gesendet
Inhalt
- 1. Was die Meldung bedeutet – kein Abbruch, sondern „Funkstille“
- 2. In v2.1.227 von „Response stalled mid-stream“ umbenannt
- 3. Unterschiede zu ähnlichen Meldungen
- 4. Was mit der bisherigen Arbeit passiert
- 5. Ursachen – was offiziell dokumentiert und was nur berichtet ist
- 6. Vorgehen, wenn die Antwort hängen bleibt
- 7. Prüfen, ob es behoben ist
- 8. Was Sie für einen Fehlerbericht festhalten
- 9. Was bestätigt ist und was nicht
- 10. Zusammenfassung
- FAQ
1. Was die Meldung bedeutet – kein Abbruch, sondern „Funkstille“
Die offizielle Fehlerreferenz von Claude Code erklärt diese Meldung so: Die Verbindung blieb offen, lieferte aber keine Daten mehr, deshalb hat der Leerlaufwächter für das Streaming (idle watchdog) sie beendet. Es ist also kein Fehlertext, den die API zurückgegeben hat, sondern ein Hinweis, den Claude Code als Empfänger der Antwort selbst anfügt.
Auch wenn es jedes Mal „mittendrin hängen geblieben“ heißt, formuliert Claude Code die Meldung je nach Ursache anders. Die offizielle Referenz nennt die folgenden vier; gemeinsam ist ihnen der Schluss „The response above may be incomplete.“ (Die Antwort oben ist möglicherweise unvollständig.)
API Error: Server error mid-response. The response above may be incomplete.
API Error: Connection lost mid-response. The response above may be incomplete.
API Error: Your computer went to sleep mid-response. The response above may be incomplete.
API Error: The response stopped arriving. The response above may be incomplete.
Die erste Zeile steht für den Fall, dass der Server mitten in der Antwort eine Überlastung oder einen 5xx-Fehler meldet, die zweite für eine abgebrochene Verbindung und die dritte dafür, dass der Rechner während der Antwort in den Ruhezustand ging. Nur die vierte, die Meldung aus diesem Artikel, bedeutet: Es gab weder einen Fehler noch einen Verbindungsabbruch, aber es kamen keine Daten mehr an.
Beendet wird die Verbindung von vier Überwachungstimern
Laut der offiziellen Dokumentation zur Netzwerkkonfiguration hat Claude Code vier Timer, die einen verstummten Stream beenden. So bleibt eine tote Verbindung nicht ewig hängen, sondern kann als Fehler behandelt werden. Sobald die Antwort zu fließen begonnen hat, greifen die ersten drei in der Tabelle unten.
| Timer | Wann er abbricht | Standardzeit |
|---|---|---|
| Überwachung auf Byte-Ebene | Auf der Leitung kommt kein einziges Byte an (auch keine SSE-Keepalives) | 180 Sekunden bei direkter Verbindung zur Anthropic API, sonst 300 Sekunden |
| Überwachung auf Ereignis-Ebene | Es lässt sich kein einziges Antwortereignis auslesen | 300 Sekunden (bei allen Anbietern) |
| Leerlauf-Timeout für den Antwortinhalt | 5 Minuten lang kommen keine Bytes an | 5 Minuten (außer bei direkter Anthropic API und Claude Platform on AWS) |
| Frist für das erste Byte | Nach dem Senden kommt kein einziger Antwort-Header an | 180 Sekunden bei direkter API, sonst 300 Sekunden (plus 1 Sekunde je 32 KB Anfrageinhalt). Ergibt nicht diese Meldung, sondern No response from API |
Bei direkter Verbindung zur Anthropic API ist der Richtwert die 180 Sekunden der Überwachung auf Byte-Ebene. Bis diese Meldung erscheint, wirkt der Bildschirm also mehrere Minuten lang eingefroren. Laut offizieller Referenz erscheint vorher schon das folgende Banner, wenn die Anfrage noch lebt, aber 20 Sekunden lang keine Daten kommen. Es bedeutet „noch nicht fehlgeschlagen“, und der Countdown zählt bis zum Zeitpunkt des Abbruchs (vor v2.1.185 waren es 10 Sekunden, und der Wortlaut war ein anderer).
Waiting for API response · will retry in … · check your network
Kommen die Daten wieder, verschwindet das Banner von selbst. Verschwindet es nicht, läuft der Countdown bis zum Abbruch, und war zu diesem Zeitpunkt bereits ein Teil der Ausgabe abgeschlossen, erscheint die Meldung aus diesem Artikel.
2. In v2.1.227 von „Response stalled mid-stream“ umbenannt
Direkt nach der Erklärung der vier Meldungen schreibt die offizielle Fehlerreferenz: Vor v2.1.227 wurde Connection lost mid-response als Connection closed mid-response und The response stopped arriving als Response stalled mid-stream angezeigt. In derselben Version wurde auch die Meldung für den Fall umbenannt, dass noch keine Ausgabe begonnen hat.
| Meldung vor v2.1.227 | Aktuelle Meldung | Artikel auf dieser Website |
|---|---|---|
Response stalled mid-stream | The response stopped arriving | Dieser Artikel |
Response stalled while thinking, before producing a response | The response stalled before a response was produced | Kapitel 3 dieses Artikels |
Connection closed mid-response | Connection lost mid-response | Artikel zu closed und lost (siehe Text unten) |
Fälle, in denen der alte Wortlaut Response stalled mid-stream zusammen mit einem Modell auftrat, das endlos dasselbe Wort wiederholte, fassen wir im Artikel zu Response stalled mid-stream und der „court“-Endlosschleife zusammen. Bei der Meldung für eine abgebrochene Verbindung trennen wir die Berichte aus der Zeit des alten Wortlauts im Artikel zu Connection closed mid-response vom neuen Wortlaut im Artikel zu Connection lost mid-response.
Ein Hinweis auf die Version
Steht dort stopped arriving, läuft Claude Code in v2.1.227 oder neuer. Steht dort stalled mid-stream, ist die Version älter.
Nicht im CHANGELOG
Am 22. September 2026 haben wir den Eintrag zu v2.1.227 im offiziellen CHANGELOG gelesen; die geänderte Formulierung war dort nicht erwähnt. Auf npm veröffentlicht wurde die Version am 10. August 2026 (UTC).
Berichte mit beiden Formulierungen suchen
Dasselbe Phänomen wird unter zwei Namen gemeldet. Suchen Sie in den GitHub-Issues nach dem alten und dem neuen Wortlaut.
Vor v2.1.222 kann es ein Fehlalarm sein
Laut offizieller Referenz gab es in Claude Code vor v2.1.222 zwei Arten von Fehlalarmen. Erstens wurde bei Gateways, die über ANTHROPIC_BASE_URL oder ANTHROPIC_AWS_BASE_URL angebunden sind, abgebrochen, obwohl Keepalives des Servers ankamen, weil nur auslesbare Ereignisse gezählt wurden. Zweitens erschien der Hinweis auch dann, wenn die Verbindung erst nach einer vollständigen Antwort stockte, sodass eine vollständige Antwort als Fehler behandelt wurde. Ist die Ausgabe von claude --version kleiner als 2.1.222, aktualisieren Sie zuerst.
3. Unterschiede zu ähnlichen Meldungen
Welche Meldung erscheint, hängt davon ab, wie weit die Antwort gekommen war, als sie hängen blieb. Ordnet man die offizielle Erklärung „Automatic retries“ nach dem Fortschritt der Antwort, ergibt sich folgendes Bild.
Je später die Antwort hängen bleibt, desto mehr Ausgabe bleibt erhalten und desto weniger wird automatisch erneut gesendet
① Warten auf die Header
Die Antwort-Header kommen nicht innerhalb der Frist. Höchstens einmal erneut gesendet
No response from API
② Noch nichts abgeschlossen
Die Header kamen, aber kein Inhalt, oder es blieb nach dem Nachdenken vor der Ausgabe hängen. Zusätzlich zu den üblichen 10 Versuchen höchstens einmal erneut gesendet; bleibt es nach dem Nachdenken wieder hängen, endet es mit dieser Meldung
The response stalled before a response was produced
③ Nach einem abgeschlossenen Block
Hängen geblieben, nachdem ein Textblock oder ein Tool-Aufruf abgeschlossen war (auch nach dem Nachdenken, als das Schreiben schon begonnen hatte). Wird nicht erneut gesendet
The response stopped arriving (dieser Artikel)
④ Nach vollständiger Antwort
Die vollständige Antwort bleibt erhalten, und der Turn endet normal. Kein Hinweis
Keine Meldung (ab v2.1.222)
Warum bei ③ nicht erneut gesendet wird, steht ebenfalls in der offiziellen Referenz: Wird die Anfrage erneut gesendet, nachdem bereits ein Textblock oder ein Tool-Aufruf abgeschlossen war, könnte derselbe Tool-Aufruf doppelt ausgeführt werden. Deshalb behält Claude Code das Abgeschlossene und hängt einen Hinweis an, statt den Turn zu verwerfen.
| Meldung | Was passiert | Erhaltene Ausgabe und erneutes Senden |
|---|---|---|
The response stopped arriving | Verbindung blieb offen, aber die Daten stoppten | Abgeschlossenes bleibt erhalten. Kein erneutes Senden |
Connection lost mid-response | Die Verbindung selbst brach ab | Abgeschlossenes bleibt erhalten. Kein erneutes Senden |
Server error mid-response | Der Server meldete mittendrin Überlastung oder einen 5xx-Fehler | Abgeschlossenes bleibt erhalten (ab v2.1.199). Kein erneutes Senden |
The response stalled before a response was produced | Nach dem Nachdenken zweimal hintereinander hängen geblieben, bevor eine Ausgabe begann | Keine Ausgabe bleibt übrig. Erscheint nach einem erneuten Senden |
No response from API | Innerhalb der Frist kam kein einziger Antwort-Header | Keine Ausgabe bleibt übrig. Erscheint nach einem erneuten Senden |
Streaming response ended before any complete data was received | Die Antwort endete ohne verwertbare Daten | Wird automatisch ohne Streaming erneut gesendet (nur eine Warnung) |
Der Unterschied zu Connection lost mid-response: Abbruch oder Funkstille
Beide Meldungen erscheinen, nachdem bereits ein Teil der Ausgabe da war; in beiden Fällen bleibt die Ausgabe erhalten, und Sie machen mit continue weiter. Unterschiedlich ist die Art des Stillstands. lost bedeutet, dass die Verbindung als verloren erkannt wurde; hier kommen kurze Aussetzer der eigenen Leitung, ein neu aufgebautes VPN oder ein Gerät auf dem Weg, das die Verbindung trennt, in Frage. stopped arriving bedeutet, dass die Verbindung zwar noch besteht, aber kein Inhalt mehr fließt; abgebrochen wird erst, nachdem der Überwachungstimer abgelaufen ist. Deshalb kann die in Kapitel 6 beschriebene Anpassung der Timer nur bei stopped arriving etwas bewirken.
Der Unterschied zu Streaming response ended…: hängen geblieben oder leer beendet
Laut offizieller Referenz ist Streaming response ended before any complete data was received eine Warnung für den Fall, dass die Antwort endete, ohne auch nur ein verwertbares Datenstück zu liefern. Claude Code verzichtet dann auf Streaming, sendet dieselbe Anfrage erneut und setzt den Turn fort. In interaktiven Sitzungen erscheint die Warnung nur einmal pro Sitzung (vor v2.1.239 wurde stillschweigend erneut gesendet). Als häufige Ursache nennt die offizielle Referenz einen Proxy oder ein Gateway auf dem Weg, der den Antwortinhalt verbraucht oder umwandelt. stopped arriving dagegen bleibt stehen, nachdem die Antwort schon teilweise angekommen ist, und wird nicht automatisch erneut gesendet.
4. Was mit der bisherigen Arbeit passiert
Laut offizieller Erklärung behält Claude Code alle abgeschlossenen Blöcke und verwirft am Ende des Turns den letzten, unvollständigen Block. Deshalb können die letzten Sätze auf dem Bildschirm oder der letzte Tool-Aufruf fehlen. Abgeschlossene Tool-Aufrufe werden ausgeführt, und der Turn geht mit deren Ergebnissen weiter. Wie es nach dem Stillstand weitergeht, hängt von der Ausführungsumgebung ab.
Interaktive Sitzung
Lesen Sie die Antwort auf dem Bildschirm und antworten Sie mit continue; es geht ab dem zuletzt abgeschlossenen Block weiter. Geben Sie die Anweisung von vorn, riskieren Sie, bereits ausgeführte Vorgänge ein zweites Mal auszuführen.
-p, Agent SDK, Cloud-Sitzungen
Besteht die hängen gebliebene Antwort nur aus Text ohne Tool-Aufrufe, fordert Claude Code selbst zum Weitermachen auf. Das geschieht bis zu dreimal hintereinander, und erst wenn diese Versuche aufgebraucht sind, erscheint der Hinweis (ab v2.1.246).
Subagenten
Ob interaktiv oder nicht: Bei einer reinen Textantwort wird der Subagent zum Weitermachen aufgefordert. Sind die Aufforderungen aufgebraucht, wird der Hinweis zur letzten Nachricht des Subagenten (ab v2.1.257).
Hooks
Laut offizieller Hook-Dokumentation läuft bei einem Turn, der mit einem API-Fehler endet, nicht Stop, sondern StopFailure. Dessen Ausgabe und Exit-Code werden ignoriert, sodass Sie über einen Hook nicht automatisch continue auslösen können.
Ausgabe und Fortsetzung bei -p
Mit der Standard-Textausgabe im nicht interaktiven Modus gibt Claude Code den letzten abgeschlossenen Textblock dieses Turns aus, gefolgt von dieser Meldung (vor v2.1.219 kam nur die Meldung, und die Antwort wurde verworfen). Ist allerdings kein abgeschlossener Text mehr vorhanden, etwa weil das Gespräch mitten im Turn komprimiert und dieser Text dabei entfernt wurde, erscheint nur die Meldung (ergänzt nach Prüfung der offiziellen Fehlerreferenz am 26. September 2026). Mit --output-format json oder stream-json landet die Meldung im Feld result. Das offizielle Vorgehen: Warten Sie, bis sich die Verbindung beruhigt hat, setzen Sie dann die Sitzung fort und senden Sie continue.
# Das letzte Gespräch fortsetzen
claude -p "continue" --continue
# Mit Angabe der Sitzungs-ID fortsetzen
claude -p "continue" --resume "$session_id"
Zur automatischen Fortsetzung per Hook schreibt der Verfasser von Issue #87972: Zur Zeit des alten Wortlauts habe der Stop-Hook ausgelöst und automatisch weitergemacht, doch etwa zeitgleich mit der Umbenennung funktioniere das nicht mehr. Das ist eine Beobachtung des Verfassers; ob das frühere Verhalten beabsichtigt war, steht nirgends offiziell. Folgt man der aktuellen offiziellen Dokumentation, können Sie per Hook zwar protokollieren oder benachrichtigen, den Turn aber nicht fortsetzen lassen.
5. Ursachen – was offiziell dokumentiert und was nur berichtet ist
Die Meldung teilt nur das Ergebnis mit, dass keine Daten mehr kamen; warum, lässt sich an ihr nicht ablesen. Wir ordnen die Ursachen nach ihrer Belastbarkeit.
✅ In der offiziellen Dokumentation und im CHANGELOG genannte Gründe, warum ein Stream verstummt oder abgebrochen wird
- Mechanismus: Die Verbindung blieb offen, die Daten stoppten, und ein Überwachungstimer brach ab. Bei direkter API wird abgebrochen, wenn 180 Sekunden lang kein Byte ankommt, Keepalives eingeschlossen
- Fehlalarme bei Gateways: Vor v2.1.222 wurde bei Gateways über
ANTHROPIC_BASE_URLund ähnliche Variablen teils abgebrochen, obwohl Keepalives ankamen. Gateways, die über die Basis-URL eines Anbieters wieANTHROPIC_BEDROCK_BASE_URLangebunden sind, werden von der Überwachung auf Byte-Ebene nicht erfasst - Funkstille während langen Nachdenkens: Im CHANGELOG steht bei v2.1.229, dass Gateway-Streaming-Antworten nun auch während langen Nachdenkens SSE-Keepalives senden, um Leerlaufabbrüche bei Vertex oder Bedrock als Upstream zu verhindern, und bei v2.1.257, dass ein Problem behoben wurde, bei dem Anfragen mit Opus 4.7 und neuer auf Bedrock und Bedrock Mantle während langen, nicht angezeigten Nachdenkens verstummten und die Verbindung durch das Leerlauf-Timeout getrennt wurde
- Erholung nach dem Abbruch: In v2.1.232 wurde ein Problem behoben, bei dem in Konfigurationen mit Bedrock, Vertex oder Gateways das Leerlauf-Timeout des Streams Anfragen scheitern ließ, ohne dass sie sich erholten
- Pufferung durch Proxys: Die offizielle Beschreibung der Umgebungsvariablen begründet die Untergrenze von 5 Minuten für
CLAUDE_STREAM_IDLE_TIMEOUT_MSdamit, dass lange Denkphasen und die Pufferung durch Proxys abgefangen werden sollen
Offiziell steht diese Meldung im Abschnitt „Server errors“ der Fehlerreferenz. Am Anfang dieses Abschnitts heißt es zwar, die meisten Fehler kämen vom Inferenzanbieter, etwa den Diensten von Anthropic, doch zu genau diesem Wortlaut erklärt die offizielle Referenz nur den oben beschriebenen Mechanismus. Ob der Stillstand in Ihrer eigenen Leitung, bei einem Gerät auf dem Weg oder beim Server entstand, legt die offizielle Referenz nicht fest.
🟡 Auf GitHub gemeldete Fälle, deren Ursache nicht geklärt ist
Am 22. September 2026 haben wir die folgenden Issues mit diesem Wortlaut geöffnet und gelesen. Alle sind Berichte oder Vermutungen von Nutzern, und in dem, was wir gelesen haben, gibt es keine öffentliche Antwort von Anthropic.
- #88900 (Linux, 2.1.240, weder Proxy noch Gateway): Die Antwort blieb nach etwa 0,5 bis 2,7 KB stehen, und nach 180 Sekunden brach die Überwachung auf Byte-Ebene ab. Der Verfasser berichtet, dass getrennte Sitzungen in derselben Minute gleichzeitig hängen blieben, und bittet darum, die serverseitigen Logs zu prüfen
- #90005 (Windows 11, 2.1.246): An einem Tag trat die Meldung 33-mal auf, an den Tagen davor kein einziges Mal. Der Verfasser hat Bandbreite, Paketverlust und Proxy gemessen und für unauffällig befunden, weist aber darauf hin, dass diese Tests keine lange offene Verbindung messen, und schreibt, dass er Leerlaufabbrüche durch Carrier-Grade-NAT nicht ausschließen kann
- #89027 (macOS, VS-Code-Erweiterung 2.1.238 bis 2.1.241): Im Log waren ein „byte-level“-Abbruch und 180000 ms Stille verzeichnet. Es geschah während eines WebFetch in einem Subagenten
- #87246 (macOS, 2.1.232): Ein Bericht, der nur diesen Wortlaut enthielt, als „not planned“ (nicht geplant) geschlossen. In einem Nachtrag wird beobachtet, dass Hintergrund-Subagenten nacheinander mit dieser Meldung stehen blieben
In #88900 und #90005 heißt es, die Antwort sei hängen geblieben, obwohl an der eigenen Leitung nichts Auffälliges zu finden war. Allein daraus lässt sich aber nicht schließen, dass die Ursache beim Server liegt. Wie auch der Verfasser von #90005 schreibt, bilden kurze Verbindungstests die Situation nicht nach, in der eine mehrere Minuten offene Verbindung mittendrin verstummt.
6. Vorgehen, wenn die Antwort hängen bleibt
Die Schritte sind von oben nach unten geordnet: zuerst die mit wenig Aufwand und großer Wirkung. Trat die Meldung nur einmal auf, sind Sie nach Schritt 2 fertig.
Erhaltene Ausgabe und tatsächlichen Arbeitsstand prüfen
Abgeschlossene Tool-Aufrufe wurden ausgeführt. Blieb die Antwort mitten in einer Dateiänderung oder einem Befehl stehen, sehen Sie zuerst mit git status oder git diff nach, wie weit sich etwas geändert hat.
Mit continue antworten
Das ist das offizielle Vorgehen zur Wiederaufnahme. Es geht ab dem zuletzt abgeschlossenen Block weiter. Fügen Sie die ursprüngliche Anweisung von vorn ein, laufen bereits erledigte Vorgänge ein zweites Mal.
Version prüfen und aktualisieren
Prüfen Sie die Version mit claude --version und aktualisieren Sie mit claude update. Ist sie älter als 2.1.222, kommt der Fehlalarm aus Kapitel 2 in Frage. Nutzen Sie Bedrock, Vertex oder ein Gateway, sind auch die Korrekturen in 2.1.229, 2.1.232 und 2.1.257 relevant (Kapitel 5).
Den Netzwerkweg eingrenzen
Prüfen Sie in der Zeile Proxy von /status, welchen Proxy Sie verwenden. Hört das Hängenbleiben auf, wenn Sie VPN oder Proxy abschalten, eine andere Leitung verwenden oder das Gateway (ANTHROPIC_BASE_URL) entfernen und direkt verbinden, liegt die Ursache bei dem, was Sie entfernt haben.
Einzelne Antworten kürzer halten
Teilen Sie Anweisungen wie „viele Dateien lesen und dann einen langen Bericht schreiben“ in Lesen und Schreiben auf. Die offizielle Referenz nennt das nicht als Abhilfe für diese Meldung, empfiehlt aber im Abschnitt „Request timed out“, lange Aufgaben in kleinere Anweisungen aufzuteilen. Auch in #87972 beschreibt ein Nutzer, dass kurze Antworten seltener hängen bleiben.
Störungsmeldungen prüfen
Sehen Sie auf status.claude.com nach, ob gerade eine Störung läuft. Der Verfasser von #90005 schreibt allerdings, dass der Status während der Zeit, in der es ständig hängen blieb, „alles in Ordnung“ zeigte. Schließen Sie aus einem grünen Status nicht, dass das Problem bei Ihnen liegt.
Bei langer Stille auf dem Weg die Überwachungszeit verlängern
In Umgebungen, in denen ein Proxy oder Gateway Antworten zurückhält, wird seltener abgebrochen, wenn Sie die Überwachung auf Byte-Ebene verlängern. Tragen Sie den Wert wie unten unter env in die Einstellungsdatei ein. Hintergrund-Agenten erreichen die Umgebungsvariablen der Shell nicht immer, deshalb empfiehlt die offizielle Referenz die Einstellungsdatei statt eines export in der Shell.
Ein Beispiel für ~/.claude/settings.json (Überwachung auf Byte-Ebene auf 10 Minuten):
{
"env": {
"CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS": "600000"
}
}
| Umgebungsvariable | Offizielle Beschreibung |
|---|---|
CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS | Zeit nur für die Überwachung auf Byte-Ebene. Wird auf 10 Sekunden bis 30 Minuten begrenzt. Ab v2.1.210 |
CLAUDE_STREAM_IDLE_TIMEOUT_MS | Zeit für die Überwachung auf Byte- und auf Ereignis-Ebene. Werte unter 5 Minuten werden auf 5 Minuten angehoben; für die Byte-Ebene gilt eine Obergrenze von 30 Minuten |
API_FORCE_IDLE_TIMEOUT | Mit 0 wird das 5-minütige Leerlauf-Timeout für den Antwortinhalt abgeschaltet, mit 1 gilt es für alle Anbieter. Unabhängig von den Überwachungstimern |
CLAUDE_CODE_MAX_RETRIES | Anzahl der Wiederholungsversuche (Standard 10). In der Situation dieser Meldung wird grundsätzlich nicht erneut gesendet, daher ändert ein höherer Wert nichts an der Häufigkeit |
Die Überwachung abzuschalten, ist nicht empfehlenswert
Setzen Sie CLAUDE_ENABLE_BYTE_WATCHDOG oder CLAUDE_ENABLE_STREAM_WATCHDOG auf 0, wird die Überwachung selbst abgeschaltet. Die offizielle Referenz beschreibt diese Timer als Mittel, damit eine tote Verbindung nicht hängen bleibt, sondern fehlschlägt und erneut versucht wird. Schalten Sie sie ab, verschwindet zwar die Meldung, aber Sie warten endlos auf eine Verbindung, die wirklich stehen geblieben ist. Und wenn die Daten vom Server tatsächlich ausbleiben, verzögert eine längere Zeit nur den Fehlschlag.
7. Prüfen, ob es behoben ist
Erklären Sie das Problem nicht schon für gelöst, nur weil die Meldung einmal ausblieb. Achten Sie bei einer Aufgabe ähnlichen Umfangs auf die folgenden vier Punkte.
Version
Mit claude --version prüfen, ob das Update angekommen ist. Die in IDE-Erweiterungen oder der Desktop-App enthaltene Version wird unter Umständen getrennt von der CLI aktualisiert
Warte-Banner
Erscheint Waiting for API response, verschwindet aber von selbst, bleiben die Stillephasen kurz. Laut offizieller Referenz sollten Sie es als Netzwerkproblem behandeln, wenn es bei jedem Versuch erscheint
Debug-Log
Starten Sie mit claude --debug, wird das Log nach ~/.claude/debug/<session-id>.txt geschrieben. Die Verfasser von #88900 und #89027 fanden zum Zeitpunkt des Abbruchs eine Zeile, die mit „Streaming idle timeout (byte-level)“ beginnt (der Wortlaut der Zeile steht nicht in der offiziellen Dokumentation)
Anzahl in den Gesprächsprotokollen
Gespräche werden als JSONL unter ~/.claude/projects/ gespeichert. Zählen und vergleichen Sie, wie oft der Wortlaut vor und nach einem Update oder einer Einstellungsänderung vorkommt. Laut offizieller Referenz ist das Format intern und kann sich von Version zu Version ändern
# Version prüfen
claude --version
# Mit Debug-Log starten
claude --debug
# Gesprächsprotokolle mit diesem Wortlaut zählen (macOS, Linux)
grep -rl "The response stopped arriving" ~/.claude/projects/ | wc -l
# Ebenso die Zeilen mit diesem Wortlaut zählen (PowerShell)
Get-ChildItem "$HOME\.claude\projects" -Recurse -Filter *.jsonl | Select-String -SimpleMatch "The response stopped arriving" | Measure-Object
Nutzen Sie die Anzahl nur als Anhaltspunkt. Der Verfasser von #90005 schreibt, dass es in einem Zeitraum von 85 Minuten auf dem Bildschirm 15-mal hängen blieb, im Gesprächsprotokoll aber nur ein einziger Eintrag landete. Selbst wenn die Protokolle 0 Treffer zeigen, ist es sicherer, auch selbst mitzuschreiben, wie oft es auf dem Bildschirm hängen blieb.
8. Was Sie für einen Fehlerbericht festhalten
Die offizielle Fehlerreferenz nennt vier Anlaufstellen, wenn sich ein Problem nicht lösen lässt:
- Führen Sie in Claude Code
/feedbackaus. Gesprächsverlauf und Beschreibung werden an Anthropic gesendet, und Sie können auch ein vorausgefülltes GitHub-Issue öffnen. Bei Anbietern wie Bedrock oder Vertex wird stattdessen lokal gespeichert - Führen Sie in der Shell
claude doctoraus und sehen Sie sich die schreibgeschützte Diagnose Ihrer Installation an - Prüfen Sie auf status.claude.com, ob eine Störung vorliegt
- Durchsuchen Sie die bestehenden Issues auf GitHub, mit dem alten und dem neuen Wortlaut
Vorlage für Berichtsnotizen
- Umgebung
- Ausgabe von
claude --version/ Betriebssystem / wo Sie es nutzen (CLI im Terminal, VS-Code-Erweiterung, Desktop-App) - Netzwerkweg
- Direkte API oder Bedrock, Vertex bzw. ein Gateway (
ANTHROPIC_BASE_URL) / ob Proxy und VPN im Einsatz sind - Meldung
- Vollständiger Fehlertext / Zeitpunkt und Zeitzone / ob unmittelbar davor
Waiting for API responseerschien / Hauptgespräch oder Subagent - Häufigkeit
- Anzahl pro Tag und seit wann / ob Sie an dem Tag aktualisiert oder Einstellungen geändert haben
- Was Sie versucht haben
- Was sich vor und nach dem Update, dem Abschalten von VPN oder Proxy, einer anderen Leitung oder dem Aufteilen der Turns geändert hat
9. Was bestätigt ist und was nicht
✅ Offiziell bestätigt
- Bedeutung: Die Verbindung blieb offen, die Daten stoppten, und ein Überwachungstimer brach ab
- Vor v2.1.227 lautete die Meldung
Response stalled mid-stream - Abgeschlossene Ausgabe bleibt erhalten; weiter geht es mit
continue - Kein erneutes Senden, damit derselbe Tool-Aufruf nicht doppelt ausgeführt wird
- Vor v2.1.222 gab es Fehlalarme bei Gateways und bei Stillstand nach Abschluss der Antwort
🟡 Berichtet, aber nicht bestätigt
- Bleibt auch bei unauffälliger eigener Leitung hängen (#88900, #90005)
- Bleibt nach einigen KB stehen, in mehreren Sitzungen gleichzeitig (#88900)
- Die Gesprächsprotokolle verzeichnen weniger Fälle als auf dem Bildschirm (#90005)
- Zur Zeit des alten Wortlauts ließ sich per Stop-Hook automatisch fortsetzen (#87972)
🔴 Nicht veröffentlicht
- Eine offizielle Erklärung, warum die Daten stoppen (keine öffentliche Antwort in den Issues oben)
- Ob der Stillstand lokal, auf dem Netzwerkweg oder beim Server liegt
- Der Grund für die Umbenennung (steht nicht im CHANGELOG)
10. Zusammenfassung
„API Error: The response stopped arriving“ bedeutet: Nachdem die Antwort bereits teilweise übertragen war, stoppten die Daten, obwohl die Verbindung offen blieb, und ein Überwachungstimer von Claude Code hat abgebrochen. Es ist dieselbe Meldung wie Response stalled mid-stream vor v2.1.227, und die abgeschlossene Ausgabe bleibt erhalten. Prüfen Sie zuerst den Stand Ihrer Arbeit und antworten Sie dann mit continue.
Tritt sie häufig auf, gehen Sie in dieser Reihenfolge vor: Version aktualisieren, VPN, Proxy und Gateway eingrenzen, einzelne Antworten kürzer halten. Nur in Umgebungen, in denen der Netzwerkweg lange verstummt, lohnt es sich, die Zeit der Überwachung auf Byte-Ebene zu verlängern. Bei Connection lost mid-response, wo die Verbindung selbst abbricht, suchen Sie die Ursache an anderer Stelle; vergleichen Sie deshalb zuerst den Wortlaut der Meldung. Weitere Fehler fassen wir unter Häufige Fehler in Claude Code und ihre Lösungen zusammen.
FAQ
F: Was bedeutet „API Error: The response stopped arriving“?
A: Während die Antwort übertragen wurde, kamen keine Daten mehr an, obwohl die Verbindung offen blieb, und ein Überwachungstimer von Claude Code hat die Verbindung beendet. Die Meldung erscheint, wenn die Antwort nach einem abgeschlossenen Textblock oder Tool-Aufruf hängen blieb; die bisherige Ausgabe bleibt erhalten.
F: Ist das ein anderer Fehler als „Response stalled mid-stream“?
A: Nein, es ist derselbe. Die offizielle Fehlerreferenz hält ausdrücklich fest, dass diese Meldung vor v2.1.227 Response stalled mid-stream lautete. Nur der Wortlaut hat sich geändert; es ist keine neue Art von Störung.
F: Was muss ich antworten, damit es weitergeht?
A: Antworten Sie mit continue. Es geht ab dem zuletzt abgeschlossenen Block weiter. Blieb die Antwort mitten in einem Dateivorgang oder Befehl stehen, prüfen Sie sicherheitshalber zuerst mit git status oder Ähnlichem den tatsächlichen Stand.
F: Verschwindet die Meldung, wenn ich mehr Wiederholungsversuche zulasse?
A: Nein. In dieser Situation sendet Claude Code grundsätzlich nicht erneut, damit derselbe Tool-Aufruf nicht doppelt ausgeführt wird. CLAUDE_CODE_MAX_RETRIES wirkt nur bei Fehlern, bevor eine Ausgabe begonnen hat.
F: Was ist der Unterschied zu „Connection lost mid-response“?
A: lost bedeutet, dass die Verbindung selbst abgebrochen ist; stopped arriving bedeutet, dass die Verbindung bestehen blieb, aber keine Daten mehr kamen. In beiden Fällen bleibt die abgeschlossene Ausgabe erhalten, und Sie können mit continue weitermachen, doch nur bei stopped arriving kann es etwas bringen, die Überwachungszeit anzupassen.
Verwendete Primärquellen
- Claude Code — Error reference (offizielle Dokumentation): die vier Meldungen unter The response above may be incomplete und die Umbenennung in v2.1.227, Fehlalarme vor v2.1.222, Automatic retries, das Warte-Banner, No response from API, Streaming response ended before any complete data was received, Report an error
- Claude Code — Enterprise network configuration (offizielle Dokumentation): die vier Überwachungstimer und ihre Standardzeiten, Umgebungsvariablen zur Einstellung, Debug-Log, Weitergabe von Einstellungen an Hintergrund-Agenten
- Claude Code — Environment variables (offizielle Dokumentation): Beschreibung von
CLAUDE_STREAM_IDLE_TIMEOUT_MS,CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MSundAPI_FORCE_IDLE_TIMEOUT - Claude Code — Hooks reference (offizielle Dokumentation): StopFailure bei Turns, die mit einem API-Fehler enden
- Claude Code — Run Claude Code programmatically (offizielle Dokumentation): Fortsetzen mit
--continueund--resume - anthropics/claude-code — CHANGELOG (offiziell): die Einträge zu v2.1.222, v2.1.227, v2.1.229, v2.1.232, v2.1.246 und v2.1.257
- GitHub-Issues: #88900, #90005, #89027, #87246, #87972 (alle Berichte von Nutzern; geprüft am 22. September 2026)