API Error: Connection closed mid-response in Claude Code: Ursachen und Lösung
Claude Code bleibt mitten in einer Antwort mit „API Error: Connection closed mid-response. The response above may be incomplete.“ stehen. Das ist kein Prompt-Problem: Die Verbindung, die die gestreamte Antwort transportierte, wurde geschlossen, während die Antwort noch ankam. Dieser Artikel stützt sich ausschließlich auf die offizielle Fehlerreferenz, das offizielle Changelog und Issues mit Paketmitschnitten. Er beginnt mit den offiziellen Definitionen: Connection closed heißt, die Leitung wurde gekappt, Response stalled heißt, sie ist verstummt, Server error heißt, mitten im Stream kam ein 5xx; er erklärt, warum die Teilausgabe bewusst erhalten bleibt (ein erneutes Senden könnte dieselben Tool-Aufrufe zweimal ausführen) und dass der dokumentierte Wiederaufnahmeschritt die Antwort continue ist. Anschließend trennt er die drei Ebenen, von denen das Schließen ausgehen kann (Ihr Rechner und der Ruhezustand, ein Leerlauf-Timeout in Proxy oder VPN, oder ein Schließen vom Server aus) und zeigt die vom Melder des Issues #67766 veröffentlichten Messwerte: alle zehn Vorfälle waren saubere serverseitige Schließungen, der Fehler erschien 3 bis 105 ms nach dem FIN, 7 bis 20 KB der Antwort waren bereits eingetroffen, der Anfragerumpf lag bei 1 bis 2,5 MB, eine neue Verbindung gelang in etwa 20 ms, und in 23 Tagen Aufzeichnungen fanden sich 200 Fehler in 171 Vorfällen, davon 87 weniger als fünf Sekunden nach dem vorherigen Aufruf. Der praktische Kern ist eine Chronologie echter Changelog-Einträge — 2.1.179 bewahrt die Teilantwort, 2.1.185 verschiebt den Stockungshinweis von 10 auf 20 Sekunden, 2.1.198 wiederholt vorübergehende Abbrüche mit Backoff, 2.1.199 bewahrt die Teilantwort auch bei Serverfehlern im Stream, 2.1.214 deaktiviert den Keep-Alive-Pool nach einem Fehler durch eine veraltete Verbindung — gegengehalten mit den Versionen der Meldungen (2.1.173, 2.1.181, 2.1.183), die alle vor 2.1.198 liegen. Zum Schluss folgen die begünstigenden Bedingungen, eine Checkliste in acht Schritten, sechs Leitlinien für Entwickler, die Abgrenzung zu Unable to connect und Prompt is too long sowie eine klare Trennung zwischen offiziell Bestätigtem und Unbestätigtem.