«API Error: The response stopped arriving» означает, что посреди потокового ответа соединение оставалось открытым, но данные перестали приходить, и сторожевой таймер самого Claude Code оборвал это соединение. Всё, что было выведено до этого момента полностью, остаётся на экране. В интерактивной сессии достаточно ответить continue, и работа продолжится с последнего завершённого места.
API Error: The response stopped arriving. The response above may be incomplete.
До v2.1.227 это сообщение звучало как Response stalled mid-stream. Официальный справочник ошибок прямо указывает на переименование: происходит то же самое. Когда ищете материалы или баг-репорты, написанные со старой формулировкой, ищите по обоим вариантам.
Сначала смотрите на формулировку после «API Error:»
Сообщения «ответ остановился» и «соединение оборвалось» звучат по-разному в зависимости от причины
Вывод уже пошёл, соединение осталось открытым, но данные остановились
Вывод уже пошёл, но само соединение оборвалось
Модель закончила размышлять, но остановилась до того, как начался хоть какой-то вывод
Ответ завершился без пригодных данных, и запрос был повторён без потоковой передачи
Содержание
- 1. Что означает сообщение: не обрыв, а «тишина»
- 2. В v2.1.227 сообщение переименовано из «Response stalled mid-stream»
- 3. Чем оно отличается от похожих сообщений
- 4. Что происходит с уже сделанной работой
- 5. Причины: что написано официально и что сообщают пользователи
- 6. Что делать, когда ответ остановился
- 7. Как проверить, что проблема ушла
- 8. Что сохранить для баг-репорта
- 9. Что подтверждено, а что нет
- 10. Итоги
- FAQ
1. Что означает сообщение: не обрыв, а «тишина»
Официальный справочник ошибок Claude Code объясняет это сообщение так: соединение оставалось открытым, но перестало доставлять данные, поэтому сторожевой таймер простоя потока (idle watchdog) его оборвал. Это не текст ошибки, которую вернул API, а пометка, которую добавляет сам Claude Code, принимавший ответ.
Даже когда ответ «остановился на полпути», Claude Code формулирует сообщение по-разному в зависимости от причины. Официально перечислены четыре варианта, и у всех одинаковое окончание — «The response above may be incomplete.» («Ответ выше может быть неполным»).
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.
Первая строка — сервер посреди ответа вернул ошибку перегрузки или 5xx, вторая — оборвалось соединение, третья — компьютер ушёл в сон во время ответа. Только четвёртая строка, о которой эта статья, означает, что ни ошибки, ни обрыва не было, а данные просто перестали приходить.
Соединение обрывают четыре сторожевых таймера
Согласно официальной документации по сетевой настройке, у Claude Code есть четыре таймера, которые обрывают затихший поток. Они нужны, чтобы мёртвое соединение не висело бесконечно, а считалось неудачей. После того как ответ начал поступать, действуют первые три из таблицы ниже.
| Таймер | Когда обрывает | Время по умолчанию |
|---|---|---|
| Побайтовый контроль | По линии не приходит ни одного байта (включая keep-alive SSE) | 180 секунд при прямом подключении к Anthropic API, в остальных случаях 300 секунд |
| Контроль по событиям | Не удаётся прочитать ни одного события ответа | 300 секунд (у всех провайдеров) |
| Тайм-аут простоя тела ответа | 5 минут не приходит ни одного байта | 5 минут (кроме прямого Anthropic API и Claude Platform on AWS) |
| Срок первого байта | После отправки не приходит ни одного заголовка ответа | 180 секунд для прямого API, иначе 300 секунд (плюс 1 секунда на каждые 32 КБ тела запроса). В этом случае вы увидите не это сообщение, а No response from API |
При прямом подключении к Anthropic API ориентир — 180 секунд побайтового контроля. То есть перед появлением этого сообщения экран выглядит замершим несколько минут. По официальным данным, если запрос жив, но данных нет 20 секунд, сначала появляется следующий баннер. Он означает «ещё не неудача», а обратный отсчёт показывает время до обрыва (до v2.1.185 порог был 10 секунд и текст был другим).
Waiting for API response · will retry in … · check your network
Если данные снова пойдут, баннер исчезнет сам. Сообщение из этой статьи появляется, когда баннер не исчез, отсчёт дошёл до обрыва, а часть вывода к этому моменту уже была завершена.
2. В v2.1.227 сообщение переименовано из «Response stalled mid-stream»
Сразу после описания четырёх сообщений официальный справочник ошибок пишет: до v2.1.227 Connection lost mid-response отображалось как Connection closed mid-response, а The response stopped arriving — как Response stalled mid-stream. В той же версии поменялось и сообщение для остановки до начала вывода.
| Сообщение до v2.1.227 | Сообщение сейчас | Статья на нашем сайте |
|---|---|---|
Response stalled mid-stream | The response stopped arriving | Эта статья |
Response stalled while thinking, before producing a response | The response stalled before a response was produced | Раздел 3 этой статьи |
Connection closed mid-response | Connection lost mid-response | Статьи о closed и lost (ссылки ниже) |
Случаи, когда старое сообщение Response stalled mid-stream появлялось вместе с тем, что модель бесконечно повторяла одно и то же слово, собраны в статье о Response stalled mid-stream и бесконечном цикле «court». Сообщения об оборванном соединении разобраны отдельно: отчёты времён старой формулировки — в статье о Connection closed mid-response, новая формулировка — в статье о Connection lost mid-response.
Подсказка о версии
Если вы видите stopped arriving, ваш Claude Code — v2.1.227 или новее. Если stalled mid-stream — версия старше.
В CHANGELOG этого нет
22 сентября 2026 года мы прочитали запись о v2.1.227 в официальном CHANGELOG: смена формулировки там не упоминается. В npm версия опубликована 10 августа 2026 года (UTC).
Ищите по обеим формулировкам
Об одном и том же явлении сообщают под двумя названиями. При поиске по Issues на GitHub проверяйте и новую, и старую формулировку.
До v2.1.222 возможны ложные срабатывания
По официальным данным, в Claude Code до v2.1.222 было два вида ложных срабатываний. Первый — со шлюзами, подключёнными через ANTHROPIC_BASE_URL или ANTHROPIC_AWS_BASE_URL: keep-alive от сервера доходил, но учитывались только прочитанные события, и соединение обрывалось. Второй — пометка ставилась и тогда, когда соединение затихало уже после завершения ответа, так что полный ответ считался ошибкой. Если claude --version показывает версию ниже 2.1.222, сначала обновитесь.
3. Чем оно отличается от похожих сообщений
Какое сообщение вы увидите, зависит от того, на каком этапе ответа произошла остановка. Если разложить официальное описание «Automatic retries» по ходу ответа, получится так.
Чем позже остановка, тем больше вывода остаётся и тем реже запрос повторяется автоматически
① Пока ждём заголовки
Заголовки ответа не пришли в срок. Запрос повторяется не более одного раза
No response from API
② Пока ничего не завершено
Заголовки пришли, а содержимое нет, или модель закончила размышлять и остановилась до вывода. Запрос повторяется не более одного раза сверх обычных 10 попыток; если после размышления снова остановка — завершается таким сообщением
The response stalled before a response was produced
③ После завершённого блока
Остановка после того, как завершён хотя бы один блок текста или вызов инструмента (в том числе после того, как модель закончила размышлять и начала писать). Запрос не повторяется
The response stopped arriving (эта статья)
④ После завершения ответа
Полный ответ сохраняется, ход завершается как обычно. Пометки нет
Без сообщения (с v2.1.222)
Почему на этапе ③ запрос не повторяется, тоже сказано официально: если повторить запрос после того, как завершён хотя бы один блок текста или вызов инструмента, один и тот же вызов инструмента может выполниться дважды. Поэтому Claude Code сохраняет завершённое и вместо того, чтобы выбросить ход, добавляет пометку.
| Сообщение | Что происходит | Что остаётся и повторяется ли запрос |
|---|---|---|
The response stopped arriving | Соединение открыто, но данные остановились | Завершённое остаётся. Запрос не повторяется |
Connection lost mid-response | Оборвалось само соединение | Завершённое остаётся. Запрос не повторяется |
Server error mid-response | Сервер посреди ответа вернул ошибку перегрузки или 5xx | Завершённое остаётся (с v2.1.199). Запрос не повторяется |
The response stalled before a response was produced | После размышления, до начала вывода, остановка произошла два раза подряд | Вывода не остаётся. Появляется после одной повторной отправки |
No response from API | В срок не пришло ни одного заголовка ответа | Вывода не остаётся. Появляется после одной повторной отправки |
Streaming response ended before any complete data was received | Ответ завершился, не доставив пригодных данных | Запрос автоматически повторяется без потоковой передачи (только предупреждение) |
Отличие от Connection lost mid-response: «обрыв или тишина»
Оба сообщения появляются после того, как часть вывода уже показана; в обоих случаях завершённое остаётся и можно продолжить через continue. Разница — в характере остановки. lost означает, что соединение потеряно: подозревать стоит кратковременные сбои вашей линии, переподключение VPN или обрыв на промежуточном оборудовании. stopped arriving означает, что соединение живо, но содержимое не идёт, и обрыв произошёл только после того, как истекло время сторожевого таймера. Поэтому настройка таймеров из раздела 6 может помочь только в случае stopped arriving.
Отличие от Streaming response ended…: «остановился или пришёл пустым»
По официальным данным, Streaming response ended before any complete data was received — это предупреждение о том, что ответ завершился, не доставив ни одного пригодного фрагмента данных. Claude Code отказывается от потоковой передачи, повторяет тот же запрос и продолжает ход. В интерактивной сессии предупреждение показывается один раз за сессию (до v2.1.239 повтор происходил молча). Частая причина, по словам документации, — промежуточный прокси или шлюз, который поглощает или преобразует тело ответа. А stopped arriving — это ответ, который пришёл частично и потом остановился; автоматически он не повторяется.
4. Что происходит с уже сделанной работой
Согласно официальному описанию, Claude Code сохраняет все завершённые блоки, а в конце хода отбрасывает последний, недописанный блок. Именно поэтому на экране могут отсутствовать последние несколько предложений или последний вызов инструмента. Завершённые вызовы инструментов выполняются, и ход продолжается с их результатами. Дальнейшее поведение зависит от среды выполнения.
Интерактивная сессия
Прочитайте оставшийся на экране ответ и ответьте continue — работа продолжится с последнего завершённого блока. Если дать задание заново с самого начала, уже выполненные операции могут повториться.
-p, Agent SDK, облачные сессии
Если остановившийся ответ состоял только из текста без вызовов инструментов, Claude Code сам просит модель продолжить. До трёх попыток подряд; пометка появляется, только когда попытки исчерпаны (с v2.1.246).
Субагенты
Независимо от того, интерактивный режим или нет, если ответ состоял только из текста, субагента просят продолжить. Когда попытки исчерпаны, пометка становится последним сообщением субагента (с v2.1.257).
Хуки
Согласно официальному описанию хуков, для хода, завершившегося ошибкой API, срабатывает не Stop, а StopFailure. Его вывод и код завершения игнорируются, поэтому автоматически выполнить continue через хук нельзя.
Что выводит -p при остановке и как продолжить
В неинтерактивном режиме с текстовым выводом по умолчанию Claude Code печатает последний завершённый текстовый блок этого хода, а за ним — это сообщение (до v2.1.219 печаталось только сообщение, а ответ отбрасывался). Однако если завершённого текста не осталось — например, потому что разговор был сжат посреди хода и этот текст исчез, — выводится только сообщение (дополнено после проверки официального справочника ошибок 26 сентября 2026 года). При --output-format json или stream-json сообщение попадает в поле result. Официальная процедура — дождаться, пока связь стабилизируется, возобновить сессию и отправить continue.
# продолжить последний разговор
claude -p "continue" --continue
# продолжить сессию по её ID
claude -p "continue" --resume "$session_id"
Что касается автоматического возобновления через хуки: автор Issue #87972 пишет, что во времена старой формулировки срабатывал хук Stop и работу можно было продолжать автоматически, но примерно тогда же, когда сообщение переименовали, это перестало работать. Это наблюдение автора, и официально не сказано, было ли прежнее поведение задуманным. Если следовать текущей официальной документации, хуком можно записать событие или отправить уведомление, но возобновить ход нельзя.
5. Причины: что написано официально и что сообщают пользователи
Сообщение лишь фиксирует результат — «данные перестали приходить»; почему это произошло, из него не понять. Разделим сведения по степени достоверности.
✅ Причины затихания и обрыва потока, описанные в официальной документации и CHANGELOG
- Механизм: соединение открыто, данные остановились, сторожевой таймер оборвал его. При прямом API обрыв происходит, если 180 секунд не приходит ни одного байта, включая keep-alive
- Ложные срабатывания со шлюзами: до v2.1.222 шлюзы, подключённые через
ANTHROPIC_BASE_URLи т. п., могли обрываться, даже когда keep-alive доходил. Шлюзы, подключённые через базовый URL провайдера, напримерANTHROPIC_BEDROCK_BASE_URL, побайтовым контролем не охватываются - Тишина во время долгого размышления: в CHANGELOG для v2.1.229 сказано, что во время долгого размышления в потоковые ответы шлюза теперь передаётся keep-alive SSE, чтобы избежать обрыва по простою, когда вышестоящим провайдером служат Vertex или Bedrock; для v2.1.257 — что исправлена проблема, при которой в Bedrock и Bedrock Mantle с Opus 4.7 и новее запрос затихал во время долгого скрытого размышления и соединение обрывалось по тайм-ауту простоя
- Восстановление после обрыва: в v2.1.232 исправлена проблема, из-за которой в конфигурациях с Bedrock, Vertex и шлюзами тайм-аут простоя потока не восстанавливался и запрос завершался неудачей
- Буферизация в прокси: в официальном описании переменных окружения нижняя граница
CLAUDE_STREAM_IDLE_TIMEOUT_MSв 5 минут объясняется тем, что она должна покрывать долгое размышление и буферизацию в прокси
В официальном справочнике ошибок это сообщение находится в разделе «Server errors». В начале раздела сказано, что большинство таких ошибок исходит со стороны провайдера инференса, например сервисов Anthropic, однако для этой конкретной формулировки официально объяснён только описанный выше механизм. Где именно произошла остановка — на вашей линии, на промежуточном оборудовании или на сервере, — официально не установлено.
🟡 Случаи, о которых сообщают на GitHub, но причина которых не установлена
22 сентября 2026 года мы открыли и прочитали следующие Issues с этой формулировкой. Все они — сообщения или предположения пользователей; в прочитанном нами нет публичного ответа Anthropic.
- #88900 (Linux, 2.1.240, без прокси и шлюза): ответ останавливался, успев прийти примерно на 0,5–2,7 КБ, и через 180 секунд его обрывал побайтовый контроль. Автор пишет, что остановки происходили одновременно в разных сессиях в одну и ту же минуту, и просит проверить логи на стороне сервера
- #90005 (Windows 11, 2.1.246): сообщение появилось 33 раза за день, хотя в предыдущие дни — ни разу. Автор измерил пропускную способность, потерю пакетов и прокси и счёл их в норме, но оговаривается, что это не тест долго открытого соединения, и пишет, что не может исключить обрыв по простою на NAT уровня оператора (CGNAT)
- #89027 (macOS, расширение VS Code 2.1.238–2.1.241): в логе были записаны обрыв «byte-level» и 180000 мс тишины. Это происходило во время WebFetch у субагента
- #87246 (macOS, 2.1.232): отчёт, содержащий только эту формулировку, закрыт как «не планируется» (not planned). В дополнениях есть наблюдение, что фоновые субагенты один за другим останавливались с этим сообщением
В #88900 и #90005 написано, что остановки происходили, хотя с локальной линией всё было в порядке. Однако одного этого недостаточно, чтобы считать виновником сервер. Как отмечает и автор #90005, короткие сетевые тесты не воспроизводят ситуацию, когда соединение, открытое несколько минут, посреди работы замолкает.
6. Что делать, когда ответ остановился
Шаги расположены сверху вниз: сначала то, что требует меньше усилий и даёт больший эффект. Если сообщение появилось один раз, достаточно шага 2.
Проверьте оставшийся вывод и реальное состояние работы
Завершённые вызовы инструментов уже выполнены. Если остановка случилась во время правки файлов или выполнения команды, сначала посмотрите через git status или git diff, что успело измениться.
Ответьте continue
Это официальная процедура восстановления: работа продолжится с последнего завершённого блока. Если вставить исходное задание заново, уже сделанные операции выполнятся ещё раз.
Проверьте версию и обновитесь
Посмотрите версию через claude --version и обновитесь командой claude update. Если версия старше 2.1.222, возможно, это ложное срабатывание из раздела 2. Если вы работаете через Bedrock, Vertex или шлюз, к делу относятся и исправления в 2.1.229, 2.1.232 и 2.1.257 (раздел 5).
Локализуйте сетевой путь
В строке Proxy команды /status проверьте, какой прокси используется. Отключите VPN или прокси, подключитесь к другой сети или уберите шлюз (ANTHROPIC_BASE_URL) и подключитесь напрямую. Если после одного из этих шагов остановки прекратились, причина — в том, что вы убрали.
Сократите один ответ
Задание вида «прочитай множество файлов, а потом напиши длинный отчёт» разбейте на чтение и написание. Официально это не указано как решение для данного сообщения, но в разделе «Request timed out» документация советует делить длинные задачи на небольшие запросы. В #87972 пользователи тоже делятся приёмом: если держать каждый ответ коротким, остановки случаются реже.
Проверьте статус сервиса
На status.claude.com проверьте, нет ли текущего инцидента. Впрочем, автор #90005 пишет, что в то время, когда ответы у него постоянно останавливались, статус показывал «всё в порядке». Зелёный статус ещё не значит, что проблема на вашей стороне.
Если сетевой путь подолгу молчит, увеличьте время контроля
В средах, где прокси или шлюз накапливают ответ, увеличение времени побайтового контроля снижает вероятность обрыва. Задайте его в разделе env файла настроек, как показано ниже. Фоновые агенты могут не получать переменные окружения оболочки, поэтому документация рекомендует файл настроек, а не export в оболочке.
Пример для ~/.claude/settings.json (побайтовый контроль — 10 минут).
{
"env": {
"CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS": "600000"
}
}
| Переменная окружения | Официальное описание |
|---|---|
CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS | Время только для побайтового контроля. Ограничивается диапазоном от 10 секунд до 30 минут. С v2.1.210 |
CLAUDE_STREAM_IDLE_TIMEOUT_MS | Время и для побайтового контроля, и для контроля по событиям. Значения меньше 5 минут поднимаются до 5 минут; для побайтового контроля верхний предел — 30 минут |
API_FORCE_IDLE_TIMEOUT | Значение 0 отключает 5-минутный тайм-аут простоя тела ответа, 1 включает его для всех провайдеров. Не зависит от сторожевых таймеров |
CLAUDE_CODE_MAX_RETRIES | Число повторных попыток (по умолчанию 10). В ситуации этого сообщения запрос по замыслу не повторяется, поэтому увеличение числа ничего не изменит |
Отключать контроль не рекомендуем
Если выставить CLAUDE_ENABLE_BYTE_WATCHDOG или CLAUDE_ENABLE_STREAM_WATCHDOG в 0, контроль отключится полностью. Документация объясняет, что эти таймеры нужны, чтобы мёртвое соединение не висело, а завершалось неудачей и повторялось. Если их отключить, сообщение исчезнет, но действительно зависшее соединение вы будете ждать бесконечно. А если данные с сервера на самом деле остановились, увеличение времени лишь отсрочит неудачу.
7. Как проверить, что проблема ушла
Не считайте проблему решённой только потому, что сообщение один раз не появилось. Запустите работу того же объёма и проверьте четыре пункта.
Версия
Через claude --version — применилось ли обновление. Версия, встроенная в расширение IDE или настольное приложение, может обновляться отдельно от CLI
Баннер ожидания
Если Waiting for API response появляется, но сам исчезает, тишина была короткой. Документация советует считать проблему сетевой, если баннер появляется при каждой попытке
Отладочный лог
Если запустить claude --debug, лог пишется в ~/.claude/debug/<session-id>.txt. Авторы #88900 и #89027 видели в момент обрыва строку, начинающуюся с «Streaming idle timeout (byte-level)» (текст этой строки в официальной документации не приводится)
Число случаев в журнале разговоров
Разговоры хранятся в JSONL в ~/.claude/projects/. Посчитайте, сколько раз встречается эта формулировка до и после обновления или смены настроек, и сравните. Документация предупреждает, что формат внутренний и меняется от версии к версии
# проверить версию
claude --version
# запустить с записью отладочного лога
claude --debug
# посчитать файлы журнала разговоров с этой формулировкой (macOS, Linux)
grep -rl "The response stopped arriving" ~/.claude/projects/ | wc -l
# то же, но посчитать строки с этой формулировкой (PowerShell)
Get-ChildItem "$HOME\.claude\projects" -Recurse -Filter *.jsonl | Select-String -SimpleMatch "The response stopped arriving" | Measure-Object
Используйте подсчёт как ориентир. Автор #90005 пишет, что за 85 минут ответ на экране останавливался 15 раз, а в журнале разговоров осталась лишь одна запись. Даже если в журнале 0 случаев, надёжнее самостоятельно записывать, сколько раз ответ останавливался на экране.
8. Что сохранить для баг-репорта
Официальный справочник ошибок называет четыре пути, если проблема не решается.
- Выполнить
/feedbackвнутри Claude Code. Запись разговора и описание отправляются в Anthropic; можно также открыть заполненный Issue на GitHub. У провайдеров вроде Bedrock и Vertex вместо отправки всё сохраняется локально - Выполнить в оболочке
claude doctorи посмотреть диагностику установки (только чтение) - Проверить инциденты на status.claude.com
- Поискать существующие Issues на GitHub — по новой и по старой формулировке
Шаблон заметки для отчёта
- Окружение
- Вывод
claude --version/ ОС / где используете (CLI в терминале, расширение VS Code, настольное приложение) - Сетевой путь
- Прямой API или Bedrock, Vertex, шлюз (
ANTHROPIC_BASE_URL) / есть ли прокси и VPN - Сообщение
- Полный текст ошибки / время и часовой пояс / появлялся ли перед этим
Waiting for API response/ основной разговор или субагент - Частота
- Сколько раз в день и с какого дня началось / обновляли ли что-то или меняли настройки в тот день
- Что пробовали
- Что изменилось до и после обновления, отключения VPN или прокси, смены сети, разбиения хода
9. Что подтверждено, а что нет
✅ Подтверждено официально
- Смысл: «соединение открыто, данные остановились, сторожевой таймер оборвал его»
- До v2.1.227 сообщение звучало как
Response stalled mid-stream - Завершённый вывод остаётся, восстановление — через
continue - Запрос не повторяется, чтобы не выполнить один и тот же вызов инструмента дважды
- До v2.1.222 были ложные срабатывания со шлюзами и при остановке после завершения ответа
🟡 Сообщают, но не подтверждено
- Ответ останавливается, даже когда локальная линия в порядке (#88900, #90005)
- Остановка после нескольких КБ и одновременно в нескольких сессиях (#88900)
- В журнале разговоров записей меньше, чем остановок на экране (#90005)
- Во времена старой формулировки можно было автоматически продолжать через хук Stop (#87972)
🔴 Не опубликовано
- Официальное объяснение, почему данные останавливаются (в Issues выше публичного ответа нет)
- Где происходит остановка: у пользователя, на сетевом пути или на сервере
- Причина переименования (в CHANGELOG не упоминается)
10. Итоги
«API Error: The response stopped arriving» означает, что после того, как ответ частично пришёл, соединение осталось открытым, но данные остановились, и сторожевой таймер Claude Code оборвал его. Это то же самое, что Response stalled mid-stream до v2.1.227; завершённый вывод сохраняется. Сначала проверьте состояние работы, затем ответьте continue.
Если сообщение появляется часто, пробуйте по порядку: обновить версию, исключить по очереди VPN, прокси и шлюз, сократить каждый ответ. Только в средах, где сетевой путь подолгу молчит, есть смысл увеличить время побайтового контроля. У Connection lost mid-response, при котором обрывается само соединение, причины надо искать в другом месте, поэтому сначала сверьте формулировку сообщения. Другие ошибки собраны в статье Частые ошибки Claude Code и их решения.
FAQ
В. Что означает «API Error: The response stopped arriving»?
О. Посреди потокового ответа соединение оставалось открытым, но данные перестали приходить, и сторожевой таймер Claude Code оборвал это соединение. Сообщение появляется, когда остановка произошла после того, как завершён хотя бы один блок текста или вызов инструмента; всё выведенное до этого сохраняется.
В. Это другая ошибка, чем «Response stalled mid-stream»?
О. Нет, та же самая. Официальный справочник ошибок прямо указывает, что до v2.1.227 это сообщение выглядело как Response stalled mid-stream. Изменился только текст — нового вида сбоя не появилось.
В. Что ответить, чтобы продолжить с места остановки?
О. Ответьте continue. Работа продолжится с последнего завершённого блока. Если остановка случилась во время операций с файлами или выполнения команды, безопаснее сначала проверить реальное состояние через git status и т. п.
В. Поможет ли увеличить число повторных попыток?
О. Не поможет. В этой ситуации Claude Code по замыслу не повторяет запрос, чтобы не выполнить один и тот же вызов инструмента дважды. CLAUDE_CODE_MAX_RETRIES влияет на неудачи до начала вывода.
В. Чем оно отличается от «Connection lost mid-response»?
О. lost означает, что оборвалось само соединение, а stopped arriving — что соединение осталось, но данные перестали приходить. В обоих случаях завершённый вывод сохраняется и можно продолжить через continue, но настройка времени контроля может помочь только в случае stopped arriving.
Использованные первоисточники
- Claude Code — Error reference (официальная документация): четыре сообщения The response above may be incomplete и переименование в v2.1.227, ложные срабатывания до v2.1.222, Automatic retries, баннер ожидания, No response from API, Streaming response ended before any complete data was received, Report an error
- Claude Code — Enterprise network configuration (официальная документация): четыре сторожевых таймера и их время по умолчанию, переменные окружения для настройки, отладочный лог, передача настроек фоновым агентам
- Claude Code — Environment variables (официальная документация): описание
CLAUDE_STREAM_IDLE_TIMEOUT_MS,CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MSиAPI_FORCE_IDLE_TIMEOUT - Claude Code — Hooks reference (официальная документация): StopFailure для хода, завершившегося ошибкой API
- Claude Code — Run Claude Code programmatically (официальная документация): возобновление через
--continueи--resume - anthropics/claude-code — CHANGELOG (официальный): записи v2.1.222, v2.1.227, v2.1.229, v2.1.232, v2.1.246 и v2.1.257
- Issues на GitHub: #88900, #90005, #89027, #87246, #87972 (все — сообщения пользователей; проверено 22 сентября 2026 года)