“API Error: The response stopped arriving” é o aviso de que, no meio de uma resposta, os dados pararam de chegar embora a conexão continuasse aberta, e o próprio temporizador de monitoramento do Claude Code encerrou essa conexão. A saída concluída até ali continua na tela. Em uma sessão interativa, basta responder continue para retomar a partir do último ponto concluído.

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

Antes da v2.1.227, essa mesma mensagem aparecia como Response stalled mid-stream. A referência oficial de erros registra a mudança de nome, e o que acontece é exatamente o mesmo. Ao procurar informações ou relatos de bugs escritos com a mensagem antiga, pesquise pelas duas formas.

Comece pelo que vem depois de “API Error:”

As mensagens de “parou” e “caiu” mudam conforme a causa

The response stopped arriving
Depois que a saída começou, os dados pararam com a conexão ainda aberta
→ Retome com continue
O tema deste artigo
Connection lost mid-response
Depois que a saída começou, a própria conexão caiu
→ Veja a diferença entre queda e silêncio
A mensagem antiga era Connection closed
The response stalled before a response was produced
Parou depois do raciocínio, antes de qualquer saída começar
→ O reenvio funciona de outro jeito
Não sobra nenhuma saída
Streaming response ended before any complete data was received
A resposta terminou sem dados utilizáveis e foi reenviada sem streaming
→ Suspeite do proxy no caminho
Não parou: terminou vazia
Diagrama baseado nas explicações da referência oficial de erros, para escolher o que verificar a partir do texto da mensagem.

1. O que a mensagem significa: não é queda, é “silêncio”

A referência oficial de erros do Claude Code explica que essa mensagem aparece quando a conexão continuou aberta, mas deixou de entregar dados, e por isso o monitor de inatividade do streaming (idle watchdog) a encerrou. Não é o corpo de um erro devolvido pela API: é uma nota que o próprio Claude Code, que estava recebendo a resposta, acrescenta.

Mesmo quando a resposta “para no meio”, o Claude Code usa textos diferentes conforme a causa. A documentação oficial lista as quatro mensagens abaixo, todas terminando com “The response above may be incomplete.” (a resposta acima pode 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.

A primeira linha corresponde ao servidor devolver sobrecarga ou um erro 5xx no meio da resposta; a segunda, à queda da conexão; a terceira, ao computador entrar em suspensão durante a resposta. Só a quarta, a mensagem deste artigo, indica que os dados pararam de chegar sem que houvesse erro nem queda.

Quem encerra são quatro temporizadores de monitoramento

Segundo a documentação oficial de configuração de rede, o Claude Code tem quatro temporizadores que encerram streams que ficaram em silêncio. Eles existem para que uma conexão morta não fique travada para sempre e possa ser tratada como falha. Depois que a resposta começa a fluir, os que valem são os três primeiros da tabela abaixo.

TemporizadorQuando encerraTempo padrão
Monitor em nível de bytesNenhum byte chega pela conexão (nem mesmo os keep-alives do SSE)180 segundos com conexão direta à API da Anthropic; 300 segundos nos demais casos
Monitor em nível de eventosNenhum evento da resposta pode ser lido300 segundos (todos os provedores)
Tempo limite de inatividade do corpoNenhum byte chega por 5 minutos5 minutos (exceto na API direta da Anthropic e no Claude Platform on AWS)
Prazo do primeiro byteDepois do envio, nenhum cabeçalho da resposta chega180 segundos na API direta; 300 segundos nos demais casos (mais 1 segundo a cada 32 KB do corpo). Gera No response from API, não esta mensagem

Com conexão direta à API da Anthropic, a referência é o monitor em nível de bytes, de 180 segundos. Ou seja, até essa mensagem aparecer, a tela parece parada por alguns minutos. Segundo a documentação oficial, quando a requisição continua viva mas passa 20 segundos sem receber dados, antes aparece o aviso abaixo. Ele significa “ainda não falhou”, e a contagem regressiva vai até o momento do encerramento (antes da v2.1.185, eram 10 segundos e o texto era outro).

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

Se os dados voltarem, o aviso some sozinho. A mensagem deste artigo aparece quando ele não some, o encerramento acontece, e parte da saída já estava concluída.

2. Renomeada de “Response stalled mid-stream” na v2.1.227

Logo depois de explicar as quatro mensagens, a referência oficial de erros diz que, antes da v2.1.227, Connection lost mid-response aparecia como Connection closed mid-response e The response stopped arriving aparecia como Response stalled mid-stream. Na mesma versão, a mensagem de antes do início da saída também foi trocada.

Mensagem antes da v2.1.227Mensagem atualArtigo neste site
Response stalled mid-streamThe response stopped arrivingEste artigo
Response stalled while thinking, before producing a responseThe response stalled before a response was producedSeção 3 deste artigo
Connection closed mid-responseConnection lost mid-responseArtigos sobre closed e lost (no texto abaixo)

Casos em que a mensagem antiga, Response stalled mid-stream, apareceu junto com o modelo repetindo a mesma palavra sem parar estão reunidos no artigo sobre Response stalled mid-stream e o loop infinito de “court”. Do lado da conexão que cai, os relatos da época da mensagem antiga estão no artigo sobre Connection closed mid-response, e a mensagem renomeada é explicada no artigo sobre Connection lost mid-response.

Serve de pista da versão

Se aparecer stopped arriving, o Claude Code é da v2.1.227 ou posterior. Se aparecer stalled mid-stream, é uma versão anterior.

Não consta no CHANGELOG

Em 22 de setembro de 2026, lemos a entrada da v2.1.227 no CHANGELOG oficial, e a mudança de texto não estava registrada. A publicação no npm foi em 10 de agosto de 2026 (UTC).

Procure relatos pelas duas mensagens

O mesmo fenômeno foi relatado com dois nomes. Ao pesquisar issues no GitHub, use tanto a mensagem nova quanto a antiga.

Antes da v2.1.222, pode ser um falso alarme

Segundo a documentação oficial, as versões do Claude Code anteriores à v2.1.222 tinham dois tipos de falso alarme. O primeiro: em gateways acessados via ANTHROPIC_BASE_URL ou ANTHROPIC_AWS_BASE_URL, a conexão era encerrada mesmo com os keep-alives do servidor chegando, porque só os eventos legíveis eram contados. O segundo: quando a conexão parava depois de a resposta já ter sido concluída, a nota aparecia mesmo assim e uma resposta completa era tratada como erro. Se claude --version mostrar algo abaixo de 2.1.222, atualize primeiro.

3. Diferenças em relação a mensagens parecidas

A mensagem exibida depende de até onde a resposta tinha avançado quando parou. Organizando a explicação oficial de “Automatic retries” na ordem em que a resposta avança, fica assim:

Quanto mais tarde a parada, mais saída sobra e menos reenvio automático há

① Esperando os cabeçalhos

Os cabeçalhos da resposta não chegam dentro do prazo. Reenvia no máximo 1 vez

No response from API

② Nada concluído ainda

Os cabeçalhos chegaram mas o conteúdo não, ou parou depois do raciocínio e antes da saída. Reenvia no máximo 1 vez, além das 10 tentativas normais; se parar de novo depois do raciocínio, termina com a mensagem abaixo

The response stalled before a response was produced

③ Depois de concluir um bloco

Parou depois de concluir um bloco de texto ou uma chamada de ferramenta (inclusive depois de terminar o raciocínio e começar a escrever). Não reenvia

The response stopped arriving (este artigo)

④ Depois de a resposta terminar

Mantém a resposta completa e encerra o turno normalmente. Nenhuma nota aparece

Sem mensagem (v2.1.222 ou posterior)

Fonte: diagrama feito a partir de “Automatic retries”, “No response from API” e “The response above may be incomplete” na referência oficial de erros do Claude Code.

O motivo de não reenviar no caso ③ também está na documentação oficial: reenviar a requisição depois de concluir um bloco de texto ou uma chamada de ferramenta poderia executar a mesma chamada de ferramenta duas vezes. Por isso o Claude Code mantém o que foi concluído e, em vez de descartar o turno, acrescenta a nota.

MensagemO que está acontecendoSaída que sobra e reenvio
The response stopped arrivingOs dados pararam com a conexão ainda abertaO que foi concluído permanece. Não reenvia
Connection lost mid-responseA própria conexão caiuO que foi concluído permanece. Não reenvia
Server error mid-responseO servidor devolveu sobrecarga ou 5xx no meioO que foi concluído permanece (v2.1.199 ou posterior). Não reenvia
The response stalled before a response was producedParou duas vezes seguidas depois do raciocínio, antes de a saída começarNão sobra saída. Aparece depois de 1 reenvio
No response from APINenhum cabeçalho da resposta chegou dentro do prazoNão sobra saída. Aparece depois de 1 reenvio
Streaming response ended before any complete data was receivedA resposta terminou sem nenhum dado utilizávelReenvia automaticamente sem streaming (só um aviso)

A diferença para Connection lost mid-response: “queda ou silêncio”

As duas aparecem depois de parte da saída já ter saído, e têm em comum a saída que permanece e a retomada com continue. O que muda é a forma como a resposta parou. lost significa que a conexão foi perdida: suspeite de uma queda momentânea da sua rede, de uma reconexão da VPN ou de um equipamento no caminho cortando a conexão. stopped arriving significa que a conexão continua, mas nenhum conteúdo passa por ela, e o encerramento só acontece depois de esperar o tempo do temporizador de monitoramento. Por isso, o ajuste dos temporizadores da seção 6 só tem chance de ajudar no caso de stopped arriving.

A diferença para Streaming response ended…: “parou ou terminou vazia”

Segundo a documentação oficial, Streaming response ended before any complete data was received é um aviso de que a resposta terminou sem entregar nenhum dado utilizável. O Claude Code deixa de usar streaming, reenvia a mesma requisição e continua o turno. O aviso aparece só uma vez por sessão, em sessões interativas (antes da v2.1.239, o reenvio era silencioso). A documentação oficial aponta como causa comum um proxy ou gateway no caminho que consome ou transforma o corpo da resposta. Já stopped arriving é uma resposta que chegou até certo ponto e parou, e ela não é reenviada automaticamente.

4. O que acontece com o trabalho feito até ali

Pela explicação oficial, o Claude Code mantém todos os blocos concluídos e, no fim do turno, descarta o último bloco que estava pela metade. É por isso que as últimas frases na tela, ou a última chamada de ferramenta, podem estar faltando. As chamadas de ferramenta que tinham sido concluídas são executadas, e o turno continua a partir dos resultados delas. O que acontece depois da parada varia conforme o ambiente de execução.

Sessão interativa

Leia a resposta que ficou na tela e responda continue: o trabalho segue a partir do último bloco concluído. Se você repetir a instrução desde o início, pode executar de novo operações que já foram feitas.

-p, Agent SDK e sessões na nuvem

Se a resposta interrompida tiver só texto, sem chamadas de ferramenta, o próprio Claude Code pede para continuar. Ele tenta até 3 vezes seguidas, e a nota só aparece quando as tentativas se esgotam (v2.1.246 ou posterior).

Subagentes

Em modo interativo ou não, se a resposta tiver só texto, o subagente é instruído a continuar. Quando essas instruções se esgotam, a nota passa a ser a última mensagem do subagente (v2.1.257 ou posterior).

Hooks

Segundo a documentação oficial de hooks, em um turno que termina com erro da API é executado StopFailure, e não Stop. A saída e o código de saída desse hook são ignorados, então não é possível usar um hook para fazer continue automaticamente.

A saída ao parar com -p e como continuar

Na saída de texto padrão do modo não interativo, o Claude Code imprime o último bloco de texto concluído naquele turno e, em seguida, esta mensagem (antes da v2.1.219, só a mensagem aparecia e a resposta era descartada). Mas, se não sobrar nenhum texto concluído, por exemplo quando a conversa foi compactada no meio do turno e esse texto sumiu, só a mensagem é impressa (acrescentado em 26 de setembro de 2026, após conferir a referência oficial de erros). Com --output-format json ou stream-json, a mensagem vai no campo result. O procedimento oficial é esperar a conexão estabilizar, retomar a sessão e enviar continue.

# Continuar a conversa mais recente
claude -p "continue" --continue

# Continuar indicando o ID da sessão
claude -p "continue" --resume "$session_id"

Sobre a retomada automática por hooks, o autor da Issue #87972 escreve que “na época da mensagem antiga, o hook Stop era executado e dava para continuar automaticamente, mas isso parou de funcionar mais ou menos quando a mensagem foi renomeada”. É uma observação do autor, e a documentação oficial não diz se o comportamento anterior era intencional. Pela documentação oficial atual, um hook pode registrar ou notificar, mas não consegue retomar o turno.

5. Causas: o que a documentação oficial diz e o que foi relatado

Essa mensagem só informa o resultado, “os dados pararam de chegar”; por que pararam não dá para saber pela mensagem. Separamos as informações por grau de certeza.

✅ Fatores que fazem o stream silenciar ou ser encerrado, segundo a documentação oficial e o CHANGELOG

  • Mecanismo: os dados pararam com a conexão aberta, e o temporizador de monitoramento a encerrou. Na API direta, a conexão é encerrada depois de 180 segundos sem bytes, keep-alives incluídos
  • Falso alarme em gateways: antes da v2.1.222, gateways acessados via ANTHROPIC_BASE_URL e similares podiam ter a conexão encerrada mesmo com os keep-alives chegando. Gateways acessados pela URL base de um provedor, como ANTHROPIC_BEDROCK_BASE_URL, ficam fora do monitor em nível de bytes
  • Silêncio durante raciocínios longos: no CHANGELOG, a v2.1.229 diz que passou a enviar keep-alives SSE nas respostas em streaming do gateway durante raciocínios longos, para evitar cortes por inatividade com Vertex ou Bedrock como upstream; a v2.1.257 diz que corrigiu um problema em que, no Bedrock e no Bedrock Mantle com Opus 4.7 ou posterior, a requisição ficava em silêncio durante raciocínios longos não exibidos e a conexão era cortada pelo tempo limite de inatividade
  • Recuperação após o encerramento: a v2.1.232 corrigiu um problema em que, em configurações com Bedrock, Vertex e gateways, o tempo limite de inatividade do stream fazia a requisição falhar sem se recuperar
  • Buffer do proxy: a explicação oficial das variáveis de ambiente diz que o piso de 5 minutos de CLAUDE_STREAM_IDLE_TIMEOUT_MS existe “para absorver raciocínios longos e o buffer de proxies”

A documentação oficial coloca essa mensagem na seção “Server errors” da referência de erros. O início da seção diz que a maioria vem do lado do provedor de inferência, como os serviços da Anthropic, mas, sobre esta mensagem específica, a explicação oficial vai só até o mecanismo acima. A documentação oficial não identifica se a parada acontece na sua rede, em um equipamento no caminho ou no servidor.

🟡 Casos relatados no GitHub com causa ainda não confirmada

Em 22 de setembro de 2026, abrimos e lemos as issues abaixo, que contêm esta mensagem. Todas são relatos ou hipóteses de usuários e, no que lemos, não há resposta pública da Anthropic.

  • #88900 (Linux, 2.1.240, sem proxy nem gateway): relato de que a resposta parou depois de chegarem cerca de 0,5 a 2,7 KB e, 180 segundos depois, o monitor em nível de bytes encerrou a conexão. O autor diz que sessões diferentes pararam ao mesmo tempo no mesmo minuto e pede que os logs do servidor sejam verificados
  • #90005 (Windows 11, 2.1.246): relato de 33 ocorrências em um único dia, contra 0 nos dias anteriores. O autor mediu largura de banda, perda de pacotes e proxy e os considerou saudáveis, mas ressalva que não fez um teste de conexões mantidas abertas por muito tempo e que não conseguiu descartar cortes por inatividade de um NAT de nível de operadora (CGNAT)
  • #89027 (macOS, extensão do VS Code 2.1.238 a 2.1.241): relato de que o log registrou um encerramento “byte-level” e 180000 ms de silêncio. Aconteceu no meio de um WebFetch de um subagente
  • #87246 (macOS, 2.1.232): relato que só colou esta mensagem e foi fechado como “not planned” (sem previsão de correção). Um comentário posterior observa que subagentes em segundo plano pararam um atrás do outro com esta mensagem

#88900 e #90005 dizem que a resposta parou sem que houvesse problema aparente na rede local. Mesmo assim, isso não basta para concluir que a causa está no servidor. Como o próprio autor de #90005 escreve, testes de comunicação curtos não reproduzem a situação de “uma conexão que fica aberta por vários minutos e silencia no meio”.

6. O que fazer quando a resposta para

A ordem vai do que dá menos trabalho e mais resultado para o resto. Se aconteceu só uma vez, a etapa 2 resolve.

01

Confira a saída que sobrou e o estado real do trabalho

As chamadas de ferramenta concluídas foram executadas. Se a parada aconteceu no meio de uma alteração de arquivo ou de um comando, veja primeiro o que mudou com git status ou git diff.

02

Responda continue

É o procedimento oficial de recuperação: o trabalho continua a partir do último bloco concluído. Se você colar a instrução original de novo, as operações já feitas serão executadas outra vez.

03

Verifique a versão e atualize

Veja a versão com claude --version e atualize com claude update. Se for anterior à 2.1.222, pode ser o falso alarme da seção 2. Se você usa Bedrock, Vertex ou um gateway, as versões 2.1.229, 2.1.232 e 2.1.257 também trazem correções relacionadas (seção 5).

04

Isole o caminho da rede

Confira o proxy em uso na linha Proxy de /status. Se o problema parar ao desligar a VPN ou o proxy, trocar de rede ou tirar o gateway (ANTHROPIC_BASE_URL) e conectar diretamente, a causa está no que você removeu.

05

Encurte cada resposta

Instruções como ler muitos arquivos e depois escrever um relatório longo devem ser divididas entre leitura e escrita. A documentação oficial não cita isso como solução para esta mensagem, mas, no item “Request timed out”, recomenda dividir tarefas longas em instruções menores. Na #87972 também aparece a dica de um usuário: manter cada resposta curta faz a parada acontecer menos.

06

Consulte a página de status

Veja em status.claude.com se há alguma instabilidade em andamento. Mas o autor de #90005 conta que, no período em que as paradas continuavam, o status dizia que estava tudo normal. Não conclua que o problema é seu só porque a página está verde.

07

Se o caminho fica em silêncio por muito tempo, aumente o tempo do monitor

Em ambientes em que um proxy ou gateway acumula a resposta, aumentar o monitor em nível de bytes reduz os encerramentos. Coloque a configuração em env no arquivo de configurações, como abaixo. Como as variáveis de ambiente do shell podem não chegar aos agentes em segundo plano, a documentação oficial recomenda o arquivo de configurações em vez de um export no shell.

Exemplo em ~/.claude/settings.json (monitor em nível de bytes com 10 minutos):

{
  "env": {
    "CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS": "600000"
  }
}
Variável de ambienteExplicação oficial
CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MSTempo só do monitor em nível de bytes. Ajustado para ficar entre 10 segundos e 30 minutos. v2.1.210 ou posterior
CLAUDE_STREAM_IDLE_TIMEOUT_MSTempo dos monitores em nível de bytes e de eventos. Valores abaixo de 5 minutos sobem para 5 minutos; no nível de bytes, o máximo é 30 minutos
API_FORCE_IDLE_TIMEOUTCom 0, desliga o tempo limite de inatividade do corpo de 5 minutos; com 1, aplica-o a todos os provedores. Independente dos temporizadores de monitoramento
CLAUDE_CODE_MAX_RETRIESNúmero de novas tentativas (padrão 10). Como esta situação foi projetada para nunca reenviar, aumentar o número não reduz a mensagem

Desligar o monitoramento não é recomendado

Definir CLAUDE_ENABLE_BYTE_WATCHDOG ou CLAUDE_ENABLE_STREAM_WATCHDOG como 0 desliga o próprio monitor. A documentação oficial explica que esses temporizadores existem “para que uma conexão morta não fique travada, mas falhe e seja tentada de novo”. Desligando, a mensagem some, mas você passa a esperar indefinidamente por uma conexão que realmente parou. E, se os dados do servidor de fato pararam, aumentar o tempo só faz a falha demorar mais.

7. Como confirmar que resolveu

Não dê como resolvido só porque a mensagem não apareceu uma vez. Rode um trabalho do mesmo tamanho e observe estes quatro pontos.

Versão

Com claude --version, veja se a atualização foi aplicada. A versão incluída na extensão da IDE ou no aplicativo desktop pode ser atualizada separadamente da CLI

Aviso de espera

Se Waiting for API response aparece mas some sozinho, o silêncio está sendo curto. A documentação oficial orienta a tratar como problema de rede se ele aparecer em toda tentativa

Log de depuração

Ao iniciar com claude --debug, o log vai para ~/.claude/debug/<session-id>.txt. Os autores de #88900 e #89027 encontraram, no momento do encerramento, uma linha começando com “Streaming idle timeout (byte-level)” (o texto dessa linha não consta na documentação oficial)

Ocorrências no log de conversas

As conversas ficam salvas em JSONL dentro de ~/.claude/projects/. Conte quantas vezes a mensagem apareceu antes e depois de atualizar ou mudar a configuração, e compare. A documentação oficial avisa que o formato é interno e muda a cada versão

# Verificar a versão
claude --version

# Iniciar gravando o log de depuração
claude --debug

# Contar os arquivos de log de conversa que contêm a mensagem (macOS e Linux)
grep -rl "The response stopped arriving" ~/.claude/projects/ | wc -l

# Da mesma forma, contar as linhas que contêm a mensagem (PowerShell)
Get-ChildItem "$HOME\.claude\projects" -Recurse -Filter *.jsonl | Select-String -SimpleMatch "The response stopped arriving" | Measure-Object

Use a contagem como referência. O autor de #90005 conta que, em certo intervalo de 85 minutos, a tela parou 15 vezes, mas só 1 registro ficou no log de conversas. Mesmo que o log de conversas mostre 0, é mais seguro anotar você mesmo quantas vezes a tela parou.

8. Informações para guardar ao relatar

A referência oficial de erros indica quatro canais para quando o problema não se resolve:

  • Execute /feedback dentro do Claude Code. A transcrição da conversa e a sua descrição são enviadas à Anthropic, e também é possível abrir uma issue no GitHub já preenchida. Em provedores como Bedrock e Vertex, em vez de enviar, o conteúdo é salvo localmente
  • Execute claude doctor no shell e veja o diagnóstico da instalação, somente leitura
  • Consulte instabilidades em status.claude.com
  • Procure nas issues existentes no GitHub, pesquisando pela mensagem nova e pela antiga

Modelo de anotações para o relato

Ambiente
Resultado de claude --version / sistema operacional / onde você usa (CLI no terminal, extensão do VS Code, aplicativo desktop)
Caminho
API direta ou Bedrock, Vertex ou gateway (ANTHROPIC_BASE_URL) / se há proxy e VPN
Mensagem
Texto completo do erro / horário e fuso horário da ocorrência / se Waiting for API response apareceu logo antes / se foi na conversa principal ou em um subagente
Frequência
Quantas vezes por dia e desde quando / se houve atualização ou mudança de configuração nesse dia
O que você tentou
O que mudou antes e depois de atualizar, desligar a VPN ou o proxy, trocar de rede e dividir os turnos

9. O que está confirmado e o que não está

✅ Confirmado pela documentação oficial

  • Significa que “a conexão continuou aberta, os dados pararam e o temporizador de monitoramento a encerrou”
  • Antes da v2.1.227, aparecia como Response stalled mid-stream
  • A saída concluída permanece, e a recuperação é com continue
  • Não há reenvio, para não executar a mesma chamada de ferramenta duas vezes
  • Antes da v2.1.222, havia falsos alarmes em gateways e em paradas depois da conclusão

🟡 Relatado, mas não confirmado

  • Para mesmo com a rede local saudável (#88900, #90005)
  • Para depois de chegarem alguns KB, em várias sessões ao mesmo tempo (#88900)
  • O log de conversas registra menos ocorrências do que a tela (#90005)
  • Na época da mensagem antiga, dava para retomar automaticamente com o hook Stop (#87972)

🔴 Não divulgado

  • Uma explicação oficial de por que os dados param (não há resposta pública nas issues acima)
  • Se a parada está na sua máquina, no caminho ou no servidor
  • O motivo da mudança de nome (não consta no CHANGELOG)

10. Resumo

“API Error: The response stopped arriving” indica que, depois de parte da resposta ter chegado, os dados pararam com a conexão ainda aberta e o temporizador de monitoramento do Claude Code a encerrou. É a mesma coisa que Response stalled mid-stream, de antes da v2.1.227, e a saída concluída permanece. Primeiro confira o estado do trabalho e depois responda continue.

Se a mensagem se repetir, tente nesta ordem: atualizar a versão, isolar VPN, proxy e gateway, e encurtar cada resposta. Só em ambientes em que o caminho fica em silêncio por muito tempo vale aumentar o tempo do monitor em nível de bytes. O lugar onde procurar a causa é diferente do de Connection lost mid-response, em que a própria conexão cai, então compare primeiro o texto das mensagens. Outros erros estão reunidos em Erros comuns do Claude Code e como resolvê-los.

FAQ

P. O que significa “API Error: The response stopped arriving”?
R. Significa que, no meio da resposta, os dados pararam de chegar embora a conexão continuasse aberta, e o temporizador de monitoramento do Claude Code encerrou essa conexão. É a mensagem para quando a parada acontece depois de concluir um bloco de texto ou uma chamada de ferramenta, e a saída até ali permanece.

P. É um erro diferente de “Response stalled mid-stream”?
R. É o mesmo. A referência oficial de erros deixa claro que, antes da v2.1.227, esta mensagem aparecia como Response stalled mid-stream. Só o texto mudou; não surgiu um novo tipo de falha.

P. O que respondo para continuar de onde parou?
R. Responda continue. O trabalho segue a partir do último bloco concluído. Se a parada foi no meio de uma operação com arquivos ou de um comando, é mais seguro conferir antes o estado real com git status ou algo parecido.

P. Aumentar o número de novas tentativas faz a mensagem sumir?
R. Não. Nesta situação, o Claude Code foi projetado para nunca reenviar, para não executar a mesma chamada de ferramenta duas vezes. CLAUDE_CODE_MAX_RETRIES vale para falhas que acontecem antes de a saída começar.

P. Qual é a diferença para “Connection lost mid-response”?
R. lost significa que a própria conexão caiu; stopped arriving significa que a conexão continuou, mas os dados pararam de chegar. Nos dois casos a saída concluída permanece e dá para retomar com continue, mas o ajuste do tempo do monitor só tem chance de ajudar no caso de stopped arriving.

Fontes primárias consultadas