«API Error: The response stopped arriving» indica que, en mitad de una respuesta en streaming, los datos dejaron de llegar aunque la conexión seguía abierta, y que el propio temporizador de vigilancia de Claude Code cortó esa conexión. Todo lo que se completó antes de ese momento sigue en pantalla. En una sesión interactiva, responde continue y Claude seguirá desde el último punto completado.

API Error: The response stopped arriving. The response above may be incomplete.

Antes de la v2.1.227, este mensaje decía Response stalled mid-stream. La referencia oficial de errores deja constancia del cambio de nombre, y lo que ocurre es lo mismo. Si buscas información o informes de errores redactados con el texto antiguo, busca con las dos cadenas.

Lo primero es leer lo que va después de «API Error:»

Los mensajes de «se detuvo» y «se cortó» cambian de texto según la causa

The response stopped arriving
La salida ya había empezado y los datos se detuvieron con la conexión abierta
→ Retomar con continue
El tema de este artículo
Connection lost mid-response
La salida ya había empezado y se cayó la propia conexión
→ Ver la diferencia entre corte y silencio
Texto antiguo: Connection closed
The response stalled before a response was produced
Terminó de pensar y se atascó antes de que empezara ninguna salida
→ Los reintentos funcionan distinto
No se conserva ninguna salida
Streaming response ended before any complete data was received
La respuesta terminó sin datos utilizables y se reenvió sin streaming
→ Sospecha de un proxy en la ruta
No se detuvo: terminó vacía
Diagrama para decidir qué revisar a partir del texto del mensaje, basado en la referencia oficial de errores.

1. Qué significa el mensaje: silencio, no desconexión

La referencia oficial de errores de Claude Code explica este mensaje así: la conexión siguió abierta pero dejó de entregar datos, de modo que el vigilante de inactividad del streaming (idle watchdog) la cortó. No es el cuerpo de un error devuelto por la API, sino una nota que añade el propio Claude Code mientras recibe la respuesta.

Aunque en todos los casos «se detuvo a medias», Claude Code redacta el mensaje de forma distinta según la causa. La referencia oficial enumera los cuatro siguientes, que terminan igual: «The response above may be incomplete.» (la respuesta anterior puede estar incompleta).

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.

La primera línea aparece cuando el servidor devuelve un error de sobrecarga o 5xx a mitad de la respuesta; la segunda, cuando se cae la conexión; la tercera, cuando el equipo entra en suspensión en mitad de la respuesta. Solo la cuarta, la de este artículo, significa que los datos dejaron de llegar sin que hubiera ni un error ni una desconexión.

Quien corta son cuatro temporizadores de vigilancia

Según la documentación oficial de configuración de red, Claude Code tiene cuatro temporizadores que abortan un stream que se ha quedado en silencio, para que una conexión muerta falle en lugar de quedarse colgada indefinidamente. Una vez que la respuesta ha empezado a llegar, actúan los tres primeros de la tabla.

TemporizadorCuándo cortaTiempo predeterminado
Vigilancia a nivel de bytesNo llega ni un byte por la conexión (ni siquiera los keep-alive de SSE)180 segundos con conexión directa a la API de Anthropic; 300 segundos en los demás casos
Vigilancia a nivel de eventosNo se puede leer ningún evento de la respuesta300 segundos (todos los proveedores)
Tiempo de inactividad del cuerpoNo llega ningún byte durante 5 minutos5 minutos (salvo en la API directa de Anthropic y en Claude Platform on AWS)
Plazo del primer byteTras el envío, no llega ninguna cabecera de respuesta180 segundos en la API directa; 300 segundos en los demás casos (más 1 segundo por cada 32 KB del cuerpo de la petición). Produce No response from API, no este mensaje

Si te conectas directamente a la API de Anthropic, la referencia es el límite de 180 segundos de la vigilancia a nivel de bytes. Es decir, la pantalla parece congelada durante unos minutos antes de que aparezca este mensaje. Según la referencia oficial, cuando la petición sigue viva pero llevan 20 segundos sin llegar datos, primero aparece el siguiente aviso. Significa «todavía no ha fallado», y la cuenta atrás llega hasta el momento del corte (antes de la v2.1.185 el umbral era de 10 segundos y el texto era otro).

Waiting for API response · will retry in … · check your network

Si los datos vuelven, el aviso desaparece solo. El mensaje de este artículo aparece cuando no desaparece, se llega al corte y parte de la salida ya se había completado.

2. En la v2.1.227 sustituyó a «Response stalled mid-stream»

Justo después de describir los cuatro mensajes, la referencia oficial de errores indica que, antes de la v2.1.227, Connection lost mid-response se mostraba como Connection closed mid-response y The response stopped arriving como Response stalled mid-stream. En esa misma versión también se renombró el mensaje de los atascos anteriores a cualquier salida.

Mensaje antes de la v2.1.227Mensaje actualArtículo de este sitio
Response stalled mid-streamThe response stopped arrivingEste artículo
Response stalled while thinking, before producing a responseThe response stalled before a response was producedSección 3 de este artículo
Connection closed mid-responseConnection lost mid-responseLos artículos sobre closed y lost (enlazados abajo)

Un caso en el que el antiguo Response stalled mid-stream apareció junto con el modelo repitiendo la misma palabra una y otra vez se analiza en nuestro artículo sobre Response stalled mid-stream y el bucle infinito de «court». Para el mensaje de desconexión, los informes de la época del texto antiguo están en el artículo sobre Connection closed mid-response, y el texto renombrado se explica en el artículo sobre Connection lost mid-response.

Una pista sobre tu versión

Si ves stopped arriving, tu Claude Code es la v2.1.227 o posterior. Si ves stalled mid-stream, es una versión anterior.

No figura en el CHANGELOG

El 22 de septiembre de 2026 leímos la entrada de la v2.1.227 en el CHANGELOG oficial y el cambio de texto no aparecía. Se publicó en npm el 10 de agosto de 2026 (UTC).

Busca informes con los dos textos

El mismo fenómeno se ha informado con dos nombres. Al buscar issues en GitHub, prueba tanto el texto antiguo como el nuevo.

Antes de la v2.1.222 puede ser una falsa alarma

Según la referencia oficial, Claude Code anterior a la v2.1.222 tenía dos tipos de falsas alarmas. Una: con gateways configurados mediante ANTHROPIC_BASE_URL o ANTHROPIC_AWS_BASE_URL, solo contaba los eventos leídos y cortaba el stream aunque llegaran los keep-alive del servidor. La otra: también mostraba esta nota cuando la conexión se detenía después de terminar la respuesta, con lo que trataba una respuesta completa como un error. Si claude --version muestra una versión inferior a la 2.1.222, actualiza primero.

3. En qué se diferencia de mensajes parecidos

El mensaje que ves depende de hasta dónde había avanzado la respuesta cuando se detuvo. Si ordenamos la explicación oficial de «Automatic retries» según el avance de la respuesta, queda así.

Cuanto más tarde se detiene, más salida se conserva y menos se reintenta automáticamente

① Esperando las cabeceras

Las cabeceras de la respuesta no llegan dentro del plazo. Se reintenta como máximo una vez

No response from API

② Aún no se ha completado nada

Llegaron las cabeceras pero no el contenido, o terminó de pensar y se atascó antes de la salida. Se reintenta como máximo una vez, aparte de los 10 habituales; si vuelve a atascarse después de pensar, termina con el mensaje siguiente

The response stalled before a response was produced

③ Tras completar un bloque

Se detuvo después de completar un bloque de texto o una llamada a herramienta (incluido el caso en que terminó de pensar y empezó a escribir). No se reintenta

The response stopped arriving (este artículo)

④ Tras completar la respuesta

Se conserva la respuesta completa y el turno termina con normalidad. No aparece ninguna nota

Sin mensaje (v2.1.222 y posteriores)

Fuente: diagrama elaborado a partir de los apartados «Automatic retries», «No response from API» y «The response above may be incomplete» de la referencia oficial de errores de Claude Code.

El motivo por el que ③ no se reintenta también está documentado. Reenviar la petición después de completar un bloque de texto o una llamada a herramienta podría ejecutar dos veces la misma llamada a herramienta. Por eso Claude Code conserva lo completado y añade una nota en lugar de descartar el turno.

MensajeQué ocurreSalida conservada y reintentos
The response stopped arrivingLos datos se detuvieron con la conexión abiertaSe conserva lo completado. No se reintenta
Connection lost mid-responseSe cayó la propia conexiónSe conserva lo completado. No se reintenta
Server error mid-responseEl servidor devolvió una sobrecarga o un 5xx a mitad de caminoSe conserva lo completado (v2.1.199 y posteriores). No se reintenta
The response stalled before a response was producedSe atascó dos veces seguidas después de pensar y antes de empezar la salidaNo se conserva salida. Aparece tras un reintento
No response from APINo llegó ninguna cabecera de respuesta dentro del plazoNo se conserva salida. Aparece tras un reintento
Streaming response ended before any complete data was receivedLa respuesta terminó sin ningún dato utilizableSe reenvía automáticamente sin streaming (solo aviso)

La diferencia con Connection lost mid-response: corte o silencio

Los dos aparecen después de que haya salido parte de la respuesta, y en ambos se conserva la salida y se puede retomar con continue. Lo que cambia es la forma de detenerse. Lost significa que se determinó que la conexión se perdió, así que conviene sospechar de un microcorte en tu propia red, de una VPN que se reconecta o de un equipo intermedio que corta la conexión. Stopped arriving significa que la conexión sigue ahí pero no fluye nada por ella, y el corte llega solo después de agotar el tiempo del temporizador de vigilancia. Por eso los ajustes de temporizador de la sección 6 solo pueden ayudar en el caso de stopped arriving.

La diferencia con Streaming response ended…: se detuvo o terminó vacía

Según la referencia oficial, Streaming response ended before any complete data was received es un aviso que aparece cuando una respuesta terminó sin entregar ningún dato utilizable. Claude Code deja de usar streaming, reenvía la misma petición y continúa el turno. El aviso se muestra solo una vez por sesión interactiva (antes de la v2.1.239 el reenvío era silencioso). La referencia oficial señala que una causa habitual es un proxy o gateway en la ruta que consume o transforma el cuerpo de la respuesta. Stopped arriving, en cambio, es una respuesta que llegó en parte y luego se detuvo, y no se reenvía automáticamente.

4. Qué pasa con el trabajo hecho hasta ese momento

Según la explicación oficial, Claude Code conserva todos los bloques completados y descarta al final del turno el último bloque, el que estaba a medias. Por eso pueden faltar las últimas frases de la pantalla o la última llamada a herramienta. Las llamadas a herramientas que se habían completado se ejecutan, y el turno continúa a partir de sus resultados. Lo que ocurre después depende del entorno de ejecución.

Sesiones interactivas

Lee la respuesta que quedó en pantalla y responde continue: seguirá desde el último bloque completado. Si vuelves a dar las instrucciones desde el principio, corres el riesgo de repetir operaciones que ya se ejecutaron.

-p, Agent SDK y sesiones en la nube

Si la respuesta detenida es solo texto y no incluye llamadas a herramientas, Claude Code se pide a sí mismo que continúe. Lo intenta hasta 3 veces seguidas, y la nota solo aparece cuando se agotan esos intentos (v2.1.246 y posteriores).

Subagentes

Tanto en sesiones interactivas como no interactivas, si la respuesta es solo texto, se pide al subagente que continúe. Cuando se agotan esos intentos, la nota pasa a ser el último mensaje del subagente (v2.1.257 y posteriores).

Hooks

Según la documentación oficial de hooks, un turno que termina en un error de la API dispara StopFailure en lugar de Stop. Su salida y su código de salida se ignoran, así que un hook no puede hacer que Claude ejecute continue automáticamente.

Qué muestra -p cuando se detiene y cómo continuar

Con la salida de texto predeterminada del modo no interactivo, Claude Code imprime el último bloque de texto completado de ese turno y, a continuación, este mensaje (antes de la v2.1.219 solo mostraba el mensaje y la respuesta se descartaba). Sin embargo, si no queda ningún texto completado, por ejemplo porque la conversación se compactó en mitad del turno y ese texto desapareció, solo se muestra el mensaje (añadido tras comprobarlo en la referencia oficial de errores el 26 de septiembre de 2026). Con --output-format json o stream-json, el mensaje va en el campo result. El procedimiento oficial es esperar a que la conexión se estabilice, reanudar la sesión y enviar continue.

# Continuar la conversación más reciente
claude -p "continue" --continue

# Continuar una sesión concreta por su ID
claude -p "continue" --resume "$session_id"

Sobre la reanudación automática mediante hooks, el autor de la issue #87972 escribe que, en la época del texto antiguo, el hook Stop se disparaba y permitía continuar automáticamente, pero que dejó de funcionar más o menos cuando se cambió el nombre. Es una observación del autor, y la documentación oficial no dice si el comportamiento anterior era intencionado. Según la documentación oficial actual, un hook puede registrar o notificar, pero no puede reanudar el turno.

5. Causas: lo que está documentado y lo que se ha informado

Este mensaje solo comunica el resultado («dejaron de llegar datos») y no dice por qué se detuvo. A continuación, la información ordenada según su grado de certeza.

✅ Factores documentados oficialmente y en el CHANGELOG que hacen que un stream se quede en silencio o se corte

  • Mecanismo: los datos se detuvieron con la conexión abierta y un temporizador de vigilancia la cortó. En la API directa, se corta tras 180 segundos sin bytes, keep-alive incluidos
  • Falsas alarmas con gateways: antes de la v2.1.222, los gateways configurados mediante ANTHROPIC_BASE_URL y similares podían cortarse aunque llegaran keep-alive. Los gateways que pasan por la URL base de un proveedor, como ANTHROPIC_BEDROCK_BASE_URL, quedan fuera de la vigilancia a nivel de bytes
  • Silencio durante razonamientos largos: la entrada del CHANGELOG de la v2.1.229 dice que ahora se envían keep-alive de SSE en las respuestas en streaming de los gateways durante el razonamiento largo, para evitar desconexiones por inactividad con Vertex o Bedrock como origen; la de la v2.1.257 dice que se corrigió un problema por el que, en Bedrock y Bedrock Mantle con Opus 4.7 y posteriores, las peticiones quedaban en silencio durante un razonamiento largo no visible y la conexión se cortaba por el tiempo de inactividad
  • Recuperación tras un corte: la v2.1.232 corrigió un problema por el que, en configuraciones con Bedrock, Vertex o gateways, un tiempo de inactividad del stream hacía fallar la petición sin recuperarse
  • Buffering del proxy: la documentación oficial de variables de entorno explica que el mínimo de 5 minutos de CLAUDE_STREAM_IDLE_TIMEOUT_MS existe para absorber los razonamientos largos y el buffering de los proxies

La referencia oficial sitúa este mensaje en su apartado «Server errors». Ese apartado empieza diciendo que la mayoría proceden del lado del proveedor de inferencia, como el servicio de Anthropic, pero para este texto concreto la explicación oficial no va más allá del mecanismo descrito arriba. La documentación oficial no determina si se detuvo en tu propia red, en un equipo intermedio o en el servidor.

🟡 Casos informados en GitHub cuya causa no está confirmada

El 22 de septiembre de 2026 abrimos y leímos las siguientes issues que contienen este texto. Todas son informes o suposiciones de usuarios y, en lo que leímos, no hay ninguna respuesta pública de Anthropic.

  • #88900 (Linux, 2.1.240, sin proxy ni gateway): informa de que la respuesta se detuvo tras llegar unos 0,5–2,7 KB y de que la vigilancia a nivel de bytes la cortó a los 180 segundos. El autor dice que varias sesiones distintas se detuvieron en el mismo minuto y pide que se revisen los registros del servidor
  • #90005 (Windows 11, 2.1.246): informa de 33 casos en un día, frente a 0 en los días anteriores. El autor midió el ancho de banda, la pérdida de paquetes y el proxy y los encontró en buen estado, pero advierte que no eran pruebas de conexiones abiertas durante mucho tiempo y escribe que no pudo descartar desconexiones por inactividad de un NAT de nivel de operador (CGNAT)
  • #89027 (macOS, extensión de VS Code 2.1.238–2.1.241): informa de que el registro anotó un corte «byte-level» y 180000 ms de silencio. Ocurrió durante un WebFetch de un subagente
  • #87246 (macOS, 2.1.232): un informe que solo pegaba este mensaje, cerrado como no previsto (not planned). En un comentario posterior se observa que varios subagentes en segundo plano se detuvieron uno tras otro con este mensaje

#88900 y #90005 dicen que se detuvo aunque su propia red no tenía ningún problema. Sin embargo, eso por sí solo no demuestra que la causa esté en el servidor. Como señala también el autor de #90005, las pruebas de conexiones cortas no reproducen una conexión que permanece abierta varios minutos y se queda en silencio a mitad de camino.

6. Qué hacer cuando se detiene

Los pasos van ordenados de menor esfuerzo y mayor efecto a mayor esfuerzo. Si solo ha pasado una vez, basta con llegar al paso 2.

01

Revisa la salida que quedó y el estado real del trabajo

Las llamadas a herramientas que se habían completado ya se ejecutaron. Si se detuvo mientras modificaba archivos o ejecutaba un comando, mira primero cuánto cambió con git status o git diff.

02

Responde continue

Es el procedimiento oficial de recuperación: continúa desde el último bloque completado. Si vuelves a pegar las instrucciones originales desde el principio, se ejecutarán otra vez operaciones que ya estaban hechas.

03

Comprueba la versión y actualiza

Consulta la versión con claude --version y actualiza con claude update. Si es anterior a la 2.1.222, puede tratarse de una de las falsas alarmas de la sección 2. Si usas Bedrock, Vertex o un gateway, las versiones 2.1.229, 2.1.232 y 2.1.257 también incluyen correcciones relacionadas (sección 5).

04

Aísla la ruta de red

Comprueba el proxy en uso en la línea Proxy de /status. Si deja de detenerse al desactivar la VPN o el proxy, al cambiar a otra conexión o al quitar el gateway (ANTHROPIC_BASE_URL) para conectarte directamente, la causa está en lo que quitaste.

05

Acorta cada respuesta

Divide instrucciones del tipo «lee muchísimos archivos y luego escribe un informe largo» en un paso de lectura y otro de redacción. La referencia oficial no lo propone como solución para este mensaje, pero en el apartado «Request timed out» recomienda dividir las tareas largas en instrucciones más pequeñas. En #87972 también se comparte el truco de un usuario: mantener cada respuesta corta hace que se detenga menos.

06

Consulta si hay incidencias

Revisa en status.claude.com si hay alguna incidencia en curso. Ten en cuenta, eso sí, que el autor de #90005 dice que la página de estado indicaba «todos los sistemas operativos» durante el periodo en que no paraba de detenerse. Que esté en verde no significa por sí solo que el problema sea tuyo.

07

Si la ruta se queda en silencio mucho tiempo, alarga la vigilancia

En entornos donde un proxy o gateway acumula la respuesta, alargar la vigilancia a nivel de bytes reduce los cortes. Configúralo en la sección env del archivo de ajustes, como se muestra abajo. Los agentes en segundo plano pueden no recibir las variables de entorno de tu shell, así que la documentación oficial recomienda el archivo de ajustes en lugar de exportarlas en la shell.

Ejemplo para ~/.claude/settings.json (vigilancia a nivel de bytes a 10 minutos):

{
  "env": {
    "CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS": "600000"
  }
}
Variable de entornoDescripción oficial
CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MSEl tiempo de la vigilancia a nivel de bytes únicamente. Se ajusta a un valor entre 10 segundos y 30 minutos. v2.1.210 y posteriores
CLAUDE_STREAM_IDLE_TIMEOUT_MSEl tiempo de las vigilancias a nivel de bytes y de eventos. Los valores inferiores a 5 minutos se elevan a 5 minutos, y en la vigilancia a nivel de bytes el máximo es 30 minutos
API_FORCE_IDLE_TIMEOUTCon 0 desactiva el tiempo de inactividad del cuerpo de 5 minutos; con 1 lo aplica a todos los proveedores. Es independiente de los temporizadores de vigilancia
CLAUDE_CODE_MAX_RETRIESEl número de reintentos (10 por defecto). La situación de este mensaje está diseñada para no reenviarse en ningún caso, así que subirlo no hace que aparezca menos

No se recomienda desactivar la vigilancia

Poner CLAUDE_ENABLE_BYTE_WATCHDOG o CLAUDE_ENABLE_STREAM_WATCHDOG a 0 detiene la propia vigilancia. La documentación oficial explica que estos temporizadores existen para que una conexión muerta falle y se reintente en lugar de quedarse colgada. Desactivarlos puede hacer que el mensaje desaparezca, pero entonces esperarás indefinidamente en una conexión que de verdad se ha detenido. Y si los datos del servidor se han detenido realmente, alargar el tiempo solo retrasa el fallo.

7. Cómo comprobar que está resuelto

No lo des por resuelto solo porque no haya aparecido una vez. Lanza una tarea de tamaño similar y revisa estos cuatro puntos.

Versión

Si claude --version refleja la actualización. La versión incluida en una extensión del IDE o en la aplicación de escritorio puede actualizarse por separado de la CLI

El aviso de espera

Si aparece Waiting for API response pero desaparece solo, los silencios se mantienen cortos. La referencia oficial recomienda tratarlo como un problema de red si aparece en cada intento

Registro de depuración

Si arrancas con claude --debug, el registro se escribe en ~/.claude/debug/<session-id>.txt. Los autores de #88900 y #89027 encontraron en el momento del corte una línea que empieza por «Streaming idle timeout (byte-level)» (el texto de esa línea no figura en la documentación oficial)

Recuento en los registros de conversación

Las conversaciones se guardan como JSONL en ~/.claude/projects/. Cuenta cuántas veces aparece este texto antes y después de una actualización o de un cambio de ajustes y compara. La documentación oficial advierte que el formato es interno y cambia entre versiones

# Comprobar la versión
claude --version

# Arrancar con registro de depuración
claude --debug

# Contar los archivos de conversación que contienen este texto (macOS, Linux)
grep -rl "The response stopped arriving" ~/.claude/projects/ | wc -l

# Igualmente, contar las líneas que contienen este texto (PowerShell)
Get-ChildItem "$HOME\.claude\projects" -Recurse -Filter *.jsonl | Select-String -SimpleMatch "The response stopped arriving" | Measure-Object

Usa el recuento como orientación. El autor de #90005 escribe que en un tramo de 85 minutos se detuvo 15 veces en pantalla, pero en los registros de conversación solo quedó 1 anotación. Aunque los registros marquen 0, lo más fiable es llevar tu propia cuenta de las veces que se detiene en pantalla.

8. Qué información guardar al informar del error

La referencia oficial de errores indica estos cuatro canales para cuando el problema no se resuelve.

  • Ejecutar /feedback dentro de Claude Code. Envía a Anthropic la transcripción de la conversación y tu descripción, y también permite abrir una issue de GitHub ya rellenada. Con proveedores como Bedrock o Vertex, se guarda localmente en lugar de enviarse
  • Ejecutar claude doctor en la shell para ver un diagnóstico de solo lectura de la instalación
  • Consultar incidencias en status.claude.com
  • Buscar entre las issues existentes de GitHub, con el texto antiguo y con el nuevo

Plantilla de notas para el informe

Entorno
Resultado de claude --version / sistema operativo / dónde lo usas (CLI en la terminal, extensión de VS Code, aplicación de escritorio)
Ruta
API directa, o Bedrock, Vertex o un gateway (ANTHROPIC_BASE_URL) / si usas proxy o VPN
Mensaje
Texto completo del error / hora en que ocurrió y zona horaria / si justo antes apareció Waiting for API response / conversación principal o subagente
Frecuencia
Veces al día y día en que empezó / si ese día actualizaste o cambiaste algún ajuste
Qué has probado
Qué cambió antes y después de actualizar, desactivar la VPN o el proxy, usar otra conexión o dividir los turnos

9. Qué está confirmado y qué no

✅ Confirmado oficialmente

  • Significa «la conexión siguió abierta, los datos se detuvieron y un temporizador de vigilancia la cortó»
  • Antes de la v2.1.227 se mostraba como Response stalled mid-stream
  • Se conserva la salida completada y se recupera con continue
  • No se reenvía, para no ejecutar dos veces la misma llamada a herramienta
  • Antes de la v2.1.222 había falsas alarmas con gateways y con detenciones posteriores a la respuesta completa

🟡 Informado, pero sin confirmar

  • Se detiene aunque la red local esté en buen estado (#88900, #90005)
  • Se detiene tras llegar unos pocos KB, en varias sesiones a la vez (#88900)
  • Los registros de conversación anotan menos casos de los que se ven en pantalla (#90005)
  • En la época del texto antiguo, un hook Stop podía reanudar automáticamente (#87972)

🔴 Sin información pública

  • Una explicación oficial de por qué se detienen los datos (no hay respuesta pública en las issues anteriores)
  • Si la detención está en el equipo local, en la ruta o en el servidor
  • El motivo del cambio de nombre (no figura en el CHANGELOG)

10. Resumen

«API Error: The response stopped arriving» indica que, después de que parte de la respuesta ya hubiera llegado, los datos se detuvieron con la conexión abierta y el temporizador de vigilancia de Claude Code la cortó. Es lo mismo que Response stalled mid-stream antes de la v2.1.227, y la salida completada se conserva. Comprueba primero el estado de tu trabajo y luego responde continue.

Si se repite, prueba en este orden: actualizar la versión, aislar la VPN, el proxy o el gateway, y acortar cada respuesta. Solo en entornos donde la ruta se queda en silencio mucho tiempo tiene sentido alargar la vigilancia a nivel de bytes. Connection lost mid-response, en el que se cae la propia conexión, apunta a otros lugares donde investigar, así que compara primero el texto del mensaje. Los demás errores están reunidos en nuestra recopilación de errores habituales de Claude Code y sus soluciones.

Preguntas frecuentes

P. ¿Qué significa «API Error: The response stopped arriving»?
R. Significa que, en mitad de una respuesta en streaming, los datos dejaron de llegar con la conexión todavía abierta y el temporizador de vigilancia de Claude Code cortó esa conexión. Es el mensaje de una detención ocurrida después de completar un bloque de texto o una llamada a herramienta, y la salida hasta ese punto se conserva.

P. ¿Es un error distinto de «Response stalled mid-stream»?
R. Es el mismo. La referencia oficial de errores indica que, antes de la v2.1.227, este mensaje era Response stalled mid-stream. Solo ha cambiado el texto; no significa que haya empezado un tipo de fallo nuevo.

P. ¿Qué respondo para retomar donde se quedó?
R. Responde continue. Seguirá desde el último bloque completado. Si se detuvo en mitad de una operación con archivos o de un comando, es más seguro comprobar antes el estado real con git status o similar.

P. ¿Desaparecerá si subo el número de reintentos?
R. No. En esta situación, Claude Code está diseñado para no reenviar nada, de modo que la misma llamada a herramienta no se ejecute dos veces. CLAUDE_CODE_MAX_RETRIES se aplica a los fallos anteriores al inicio de la salida.

P. ¿En qué se diferencia de «Connection lost mid-response»?
R. Lost significa que se cayó la propia conexión; stopped arriving, que la conexión siguió abierta pero los datos dejaron de llegar. En ambos casos se conserva la salida completada y puedes retomar con continue, pero ajustar el tiempo de vigilancia solo puede ayudar en el caso de stopped arriving.

Fuentes primarias