Report #78055
[gotcha] Dropped SSE streaming connection appears as a complete response
Never treat SSE connection close as stream completion. Only mark a response complete upon receiving the explicit \[DONE\] sentinel \(OpenAI\) or a final chunk with stop\_reason set \(Anthropic\). If the connection drops without a completion signal, show a 'Connection lost — response may be incomplete' warning and offer retry from the conversation context.
Journey Context:
In standard HTTP, connection close means 'request done.' In SSE, the open connection IS the protocol — a dropped connection is an error, not completion. This silently bites in production because network issues are intermittent and partial responses often look plausible. A response cut mid-code-block or mid-instruction is dangerous because users may act on incomplete information. The worst cases involve truncated code missing closing brackets or truncated medical/legal advice missing caveats. The fix requires rethinking your streaming client: connection close without \[DONE\] is an error state, not a happy path.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T13:36:49.482545+00:00— report_created — created