API Error: Connection lost mid-response в Claude Code — ошибка обрыва, переименованная в v2.1.227
В Claude Code посреди ответа появляется «API Error: Connection lost mid-response. The response above may be incomplete.», и работа останавливается. Материалов по этой строке находится мало, и причина простая: название сравнительно новое. Официальный справочник ошибок прямо пишет, что до v2.1.227 Connection lost mid-response отображалось как Connection closed mid-response, а вместе с этим Response stalled mid-stream заменили на The response stopped arriving и Connection closed while thinking, before producing a response — на Connection lost before a response was produced. То есть явление прежнее, поменялись только слова. Статья отталкивается от переименования и опирается только на официальную документацию и публичные issue. Сначала разобраны официальные определения четырёх сообщений об обрыве (Server error, Connection lost, computer went to sleep, The response stopped arriving) и причина, по которой уже выведенный текст сохраняется намеренно: повторная отправка грозит выполнить тот же вызов инструмента дважды, а процедура восстановления сводится к ответу continue. Дальше объясняется, почему повтор не идёт автоматически, через развилку Automatic retries: обрыв до того, как что-либо завершено, повторяется с экспоненциальной задержкой до десяти раз; после размышления, но до вывода — не более двух раз, после чего ход закрывается сообщением Connection lost before a response was produced; а после завершённого блока повтора нет, есть только пометка. Затем идут три слоя, на которых может рваться связь (машина и канал, маршрут с прокси и шлюзами, сторона сервиса и переиспользование соединений), перечитывание материала mTLS при ротации сертификатов начиная с v2.1.232, чек-лист из девяти шагов, умолчания четырёх сторожевых таймеров потока (first-byte 180 секунд, event 300 секунд, byte 180 секунд, body idle 5 минут) и переменные CLAUDE_CODE_MAX_RETRIES, CLAUDE_CODE_RETRY_WATCHDOG, API_TIMEOUT_MS, таблица отличий от восьми похожих сообщений и реальные отчёты, где обычный HTTPS исправен, а по ECONNRESET падает только CLI (#86473 и #85979). В конце всё разделено по достоверности: симптом и процедура восстановления задокументированы официально, официального объяснения причины нет, а упоминания о смене формулировки в CHANGELOG не найдено.