Retour aux guides
Dépannage·30 septembre 2026·6 min de lecture

Claude Code « Response stalled mid-stream » et « Streaming response ended before any complete data was received » — ce qui interrompt le flux

Les deux messages signifient que la réponse diffusée par le modèle s’est arrêtée avant d’être terminée. « The response above may be incomplete » s’affiche lorsqu’une partie de la réponse est arrivée, puis que le flux s’est interrompu, déconnecté ou rompu ; Claude Code conserve ce qui est arrivé, et répondre continue reprend le tour. « Streaming response ended before any complete data was received » signifie qu’aucune donnée exploitable n’est arrivée, de sorte que Claude Code réessaie la même requête sans diffusion — et lorsque cela se répète, la cause est généralement un proxy ou une passerelle entre Claude Code et le fournisseur du modèle, comme l’indique le message lui-même.

Dernière vérification le .

Les deux messages signifient que la réponse diffusée par le modèle s’est arrêtée avant d’être terminée. « The response above may be incomplete » s’affiche lorsqu’une partie de la réponse est arrivée, puis que le flux s’est interrompu, déconnecté ou rompu ; Claude Code conserve ce qui est arrivé, et répondre continue reprend le tour. « Streaming response ended before any complete data was received » signifie qu’aucune donnée exploitable n’est arrivée, de sorte que Claude Code réessaie la même requête sans diffusion — et lorsque cela se répète, la cause est généralement un proxy ou une passerelle entre Claude Code et le fournisseur du modèle, comme l’indique le message lui-même.

L’erreur

printed by Claude Code
API Error: Response stalled mid-stream. The response above may be incomplete.

# the wording in Claude Code's current error reference for the same stall:
API Error: The response stopped arriving. The response above may be incomplete.

# when nothing complete arrived at all:
Streaming response ended before any complete data was received. Retrying without
streaming. If this keeps happening, check any proxy or gateway between Claude Code
and your model provider.

Causes et solutions en bref

CauseSolution
La connexion est restée ouverte, mais a cessé de fournir des données, et le mécanisme de surveillance de l’inactivité du flux de Claude Code l’a interrompueRépondez continue. Si les longues pauses sont normales sur votre connexion, augmentez CLAUDE_STREAM_IDLE_TIMEOUT_MS au lieu de désactiver le mécanisme de surveillance.
La connexion a été interrompue, l’ordinateur s’est mis en veille ou le serveur a renvoyé une erreur au milieu de la réponseRépondez continue ; la partie terminée de la réponse est conservée. Si le problème se répète, vérifiez le VPN, les changements de réseau Wi-Fi et les paramètres de veille.
Un proxy ou une passerelle intermédiaire a mis en mémoire tampon, tronqué ou rejeté le flux — par exemple à cause d’un corps de requête dépassant sa limite de tailleTestez une fois sans cet intermédiaire. Augmentez la limite de taille du corps et le délai de lecture du proxy, et désactivez la mise en mémoire tampon des réponses pour la route API.
Le problème a commencé juste après une mise à niveau de Claude CodeNotez la version dans /status. Un rapport de juillet 2026 a mesuré le message d’interruption à 0 % sur 2.1.210 et à 3.0–4.4 % sur 2.1.217–2.1.218, sur la même machine.

Répondez d’abord continue

Claude Code conserve le texte et les appels d’outils terminés avant l’échec et ajoute l’avis. Dans une session interactive, lisez ce qui est arrivé et répondez continue : le tour reprend à partir de là. Dans une exécution non interactive (claude -p), Claude Code affiche le dernier bloc de texte terminé, suivi de l’avis ; reprenez cette session et envoyez continue. Aucun autre changement n’est nécessaire si cela ne se produit qu’une fois.

Distinguez les messages

La référence des erreurs de Claude Code répertorie les formulations de réponse incomplète selon la cause : erreur du serveur au milieu de la réponse, perte de connexion au milieu de la réponse, mise en veille de votre ordinateur au milieu de la réponse, arrêt de l’arrivée de la réponse (l’interruption), partie de la réponse jamais reçue et flux de réponse mal formé. Des rapports de juillet 2026 citent une ancienne formulation pour l’interruption : « Response stalled mid-stream ». Le message distinct « Streaming response ended before any complete data was received » correspond au cas où aucune donnée complète n’est arrivée, raison pour laquelle Claude Code réessaie sans diffusion au lieu de conserver une réponse partielle.

Réglez le mécanisme de surveillance, ne le désactivez pas

Claude Code utilise quatre mécanismes de temporisation qui interrompent un flux lorsqu’il ne reçoit plus de données, afin qu’une connexion inactive échoue et fasse l’objet d’une nouvelle tentative au lieu de rester bloquée : un délai maximal de réception du premier octet, un mécanisme de surveillance des événements (300 secondes), un mécanisme de surveillance des octets (180 secondes sur l’API Anthropic directe, 300 secondes ailleurs, y compris avec une valeur ANTHROPIC_BASE_URL personnalisée) et, chez certains fournisseurs, un délai d’inactivité de cinq minutes pour le corps de la réponse. CLAUDE_STREAM_IDLE_TIMEOUT_MS définit les deux mécanismes de surveillance ; les valeurs inférieures à cinq minutes sont portées à cinq minutes et le mécanisme de surveillance des octets est plafonné à 30 minutes. Placez cette variable dans le bloc env de settings.json pour que les agents en arrière-plan en bénéficient également :

~/.claude/settings.json
{
  "env": {
    "CLAUDE_STREAM_IDLE_TIMEOUT_MS": "600000"
  }
}

Derrière un proxy ou une passerelle, testez sans cet intermédiaire

Lorsque le message de nouvelle tentative sans diffusion se répète, retirez une fois l’intermédiaire : désactivez HTTPS_PROXY pour une seule session, ou définissez NO_PROXY="*", puis exécutez la même tâche. Si le problème cesse, l’intermédiaire est la cause. Les coupables habituels sont une limite de taille du corps de requête que les longues sessions finissent par dépasser, une mise en mémoire tampon des réponses qui transforme un flux continu en long silence et un délai de lecture plus court que les pauses de réflexion du modèle. Notez que le délai avant le premier octet ne s’exécute pas lorsque ANTHROPIC_BASE_URL pointe vers une passerelle, mais que le mécanisme au niveau des octets, lui, s’exécute.

Si vous appelez via Kunavo

Kunavo fait partie des passerelles concernées par ce message ; voici donc ce qu’il fait sur /v1/messages, le point de terminaison appelé par Claude Code. Le flux en amont est retenu jusqu’à la production de son premier événement de contenu ; une erreur en amont ou un flux vide avant ce point fait échouer la tentative, qui est réessayée sur un autre canal lorsque le modèle en dispose, ou renvoyée sous forme d’erreur HTTP — jamais sous la forme d’un flux HTTP 200 qui se termine sans rien contenir. Une interruption après le début du contenu ne peut pas être réessayée par une passerelle ; le mécanisme de surveillance de Claude Code et continue sont les outils appropriés dans ce cas. La manière dont les flux se terminent du côté compatible OpenAI, et comment distinguer une réponse complète d’une réponse tronquée, est expliquée dans Erreurs de streaming de l’API LLM.

Questions fréquentes

Que signifie « The response above may be incomplete » dans Claude Code ?

La réponse diffusée s’est arrêtée après l’arrivée d’une partie de celle-ci — en raison d’une interruption, d’une connexion coupée, d’une erreur du serveur ou de la mise en veille de l’ordinateur. Claude Code conserve le texte et les appels d’outils terminés et ajoute l’avis. Répondez continue pour reprendre le tour à partir de ce qui est arrivé.

« Response stalled mid-stream » signifie-t-il la même chose que « The response stopped arriving » ?

Ces formulations décrivent le même cas : la connexion est restée ouverte, mais a cessé de fournir des données jusqu’à ce qu’un mécanisme de surveillance du flux l’interrompe. La référence actuelle des erreurs de Claude Code utilise « The response stopped arriving » ; les rapports déposés en juillet 2026 citent « Response stalled mid-stream ».

Pourquoi Claude Code affiche-t-il « Retrying without streaming » ?

Parce que le flux s’est terminé avant la réception de toute donnée complète, de sorte qu’il n’y avait rien à conserver. Claude Code renvoie la même requête sans diffusion. Si le message continue d’apparaître, vérifiez le proxy ou la passerelle entre Claude Code et le fournisseur — les limites de taille du corps, la mise en mémoire tampon et les délais de lecture sont les causes habituelles.

Dois-je désactiver le mécanisme de surveillance du flux ?

Non. Les mécanismes de surveillance existent pour qu’une connexion morte échoue et réessaie au lieu de bloquer indéfiniment la session. Si votre connexion reste légitimement silencieuse pendant de longues périodes, augmentez CLAUDE_STREAM_IDLE_TIMEOUT_MS (les valeurs inférieures à cinq minutes sont relevées à cinq minutes) au lieu de définir CLAUDE_ENABLE_STREAM_WATCHDOG ou CLAUDE_ENABLE_BYTE_WATCHDOG sur 0.

L’utilisation d’une passerelle avec ANTHROPIC_BASE_URL rend-elle ce problème plus probable ?

Chaque intermédiaire entre Claude Code et le fournisseur constitue un endroit supplémentaire où un flux peut être mis en mémoire tampon, coupé ou soumis à un délai d’expiration ; testez donc sans passerelle lorsque les messages se répètent. Le mécanisme de surveillance au niveau des octets s’exécute également sur les connexions via passerelle ; le délai avant le premier octet ne s’exécute pas lorsque ANTHROPIC_BASE_URL passe par une passerelle.

Guides associés

La sémantique détaillée des erreurs est disponible dans référence des erreurs ; obtenir une clé prend une minute via inscription et la guide d’authentification.