[Windows App] Repeated `stream disconnected before completion` during long-running tool operations while work continues
Environment
- Client: Codex desktop app
- OS: Windows
- Model shown in UI:
5.6 Solwith Ultra reasoning - Observed: 2026-08-09, approximately 10:00–10:15 JST
- App version: Not visible in the captured UI
Summary
The Codex desktop app repeatedly loses the response stream during a normal multi-step file/PDF operation. The error can occur several times in one task with different request IDs.
Importantly, the underlying tool work sometimes appears to continue after the error: the app later resumes output, additional commands run, and the task-progress/file-change indicators remain active. This suggests the backend/tool process may still be alive while the app-to-backend response stream is being lost or incorrectly surfaced as a fatal error.
This is not limited to one old conversation. A completely new thread initially completed the session-start protocol normally, but the same stream-disconnection problem returned once a longer PDF extraction/rendering and file-editing task began.
Error shown
stream disconnected before completion: An error occurred while processing your request. You can retry your request, or contact us through our help center at help.openai.com if the error persists. Please include the request ID ... in your message.
The UI also displayed reconnect attempts such as:
Reconnecting 4/5
Reconnecting 3/5
Sequence observed
- An earlier thread had two interrupted turns following what appeared to be a false-positive interpretation of wording as a safety issue.
- Subsequent turns in that thread repeatedly showed
stream disconnected before completion. - A completely new Codex thread was created on the same machine and the session-start protocol completed successfully.
- A normal PDF test was started involving text extraction, cropping/rendering checks, command execution, image inspection, and file modifications.
- During that new-thread task, the stream disconnected repeatedly with different request IDs.
- Between disconnects, Codex resumed output and continued executing commands. The UI still showed task progress (
3/6) and four modified files, indicating that the operation had not cleanly terminated when the stream error appeared.
Request IDs
04840085-ec25-4ee4-b370-aee2afd1a56b
16c96118-7c40-49db-aee9-b1f09e610d0a
f92d22c6-871d-4697-9983-442b07f9d00a
816e89ec-150e-411f-bf00-6bab796d93a6
Expected behavior
- The response stream should remain connected for long-running tool/file operations.
- If transport reconnects, the turn should recover without repeatedly surfacing a fatal-looking error while the backend continues working.
- If a turn is stopped for a safety decision, the UI should distinguish that condition from a network/stream failure.
Actual behavior
- Multiple stream-disconnection errors occur during one ordinary task.
- Each failure receives a different request ID.
- Reconnect attempts are shown, yet subsequent output and tool commands can still appear.
- A new conversation does not reliably avoid the problem once the task becomes longer and tool-heavy.
- This makes it difficult to know whether the operation is still running, partially completed, or safe to retry.
Privacy note
The screenshot and private project/repository names are intentionally not attached. The request IDs above are included so the corresponding backend events can be correlated.
3 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
I’m experiencing the same issue repeatedly on the Codex Windows app today (August 9, 2026, JST).
The error is:
stream disconnected before completion: An error occurred while processing your request.It has occurred multiple times during longer-running Codex operations.
Request IDs:
This appears to be reproducible rather than a one-off network interruption.
In some cases, Codex appears to continue working after the error is displayed, so it may be related to the response stream disconnecting while the underlying task is still running.
Independent Windows reproduction with logs and transport controls
I can reproduce the same issue repeatedly on August 9, 2026 JST.
Environment
26.803.5235.0gpt-5.6-sol, reasoninghighthroughultrapriority(Fast) anddefaultStrongest reproduction
A thread that had previously been the healthy control ran normally for 5,023,133 ms (83m 43s), performing substantial reasoning and tool work, before failing:
019fc338-6be9-7383-99b6-a07eb5e8fc31019fe434-22f4-7db2-8fe3-05ff78552c04c3d42f4d-8f3f-4da8-ab55-392e1c4652a0last_agent_message=null,codex_error_info=otherThe client exhausted WebSocket retries
1/5through5/5, then fell back to HTTP Responses. The HTTP request was 5,281,562 bytes before zstd compression and 2,920,184 bytes after. The HTTP path received HTTP 200, then also exhausted retries through5/5and failed.Retained HTTP retry request IDs:
32b4846c-e0ac-4f09-8f57-62a61d9218c684a2d033-58d8-45d1-99e8-87eb978e0392d4df80c1-63a5-4587-b5dd-5c271734a65e6fa195e2-a545-468f-a44f-4713efe31a3bc3d42f4d-8f3f-4da8-ab55-392e1c4652a0This makes a WebSocket-only failure or inability to establish basic HTTP connectivity insufficient explanations.
Cross-session / tier controls
A separate thread failed first under Fast and then failed again after switching to the Default tier. Both HTTP attempts received status 200 before the response stream disconnected:
3f58c6af-f577-485b-9669-18c9bbc7fd1b3b92edb3-d12c-4729-b406-5c027bf07a0eDuring that Default-tier failure, the later-failing control thread above was still producing normal reasoning, tool calls, tool outputs, and patch application on the same PC, account, network, and App process. It then transitioned to the same failure pattern later. This weakens both a single poisoned-context explanation and a host-wide basic network outage explanation.
A strict
codex doctor --jsoncheck during the incident passed provider HTTP reachability and the Responses WebSocket handshake. Context7 and Cloudflare MCP processes were absent from the App tree during the reproduction.Local App state after failure
Immediately after the final failure, the full App process tree retained:
CLOSE_WAITsocketsnode.exeand 17node_repl.exeprocessesThis is elevated, but below an earlier retained-resource snapshot, so reaching the previous resource maximum is not required for the stream failure.
Uploaded feedback
Fresh logs and diagnostics for the formerly healthy control failure were uploaded through the built-in feedback flow:
019fe484-1541-70f2-87fe-f39693e362dbRelated Default-tier reproduction with logs:
019fe45f-f5ed-7610-98b9-76468088dabdPrompt bodies, tool payloads, private source code, authorization headers, cookies, and credentials are intentionally omitted here. Please correlate the request IDs and feedback threads with server-side traces.