openai / openai/codex

macOS desktop renderer stalls and reconnects while reasoning summaries update

Open
#43,151 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug connectivity
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

Summary

On the ChatGPT desktop app for macOS, a long running Codex turn intermittently stops rendering its live response and enters a reconnect loop. The UI shows Reconnecting 1 of 5, then later attempts, and may remain stalled for roughly 20 to 90 seconds before the same turn resumes. Thinking summaries can freeze, disappear, and then reappear or re-stream.

The observed error is:

stream disconnected before completion: stream closed before response completed.

This began while using an API backed model route after switching from the standard subscription backed route. Wi-Fi remained usable, and other applications continued working.

Environment

  • ChatGPT desktop for macOS, version 26.901.41600, build 7982
  • macOS 26.6.2, build 25G83
  • Apple Silicon Mac
  • GPT-6-Astra through API backed usage
  • Some occurrences happened while screen recording was active

Reproduction pattern

  1. Start a long Codex turn that performs local tool work and produces several live reasoning summary updates.
  2. Allow the renderer to update the visible summary while the turn remains active.
  3. The summary stops advancing and the UI enters Reconnecting 1 of 5, followed by later attempts.
  4. After roughly 20 to 90 seconds, thinking and the response resume.
  5. The behavior is more likely to appear when the active turn receives a live update while tool work is in progress.

Local evidence

The current ChatGPT process and its renderer remained alive during the reported episodes. No corresponding macOS crash report was created. The desktop log contains a direct timestamped correlation between summary updates and layout-loop errors:

2026-09-06T02:51:48.573Z info  Reasoning summary item completed
  summary=["**Checking API route health**\n\n**Inspecting desktop logs**"]

2026-09-06T02:51:54.753Z info  Reasoning summary item completed
  summary=["**Formatting recent matching lines**\n\n**Inspecting desktop log**"]
2026-09-06T02:51:54.772Z error  [desktop-notifications][global-error]
  ResizeObserver loop completed with undelivered notifications
2026-09-06T02:51:54.998Z error  [desktop-notifications][global-error]
  ResizeObserver loop completed with undelivered notifications
2026-09-06T02:51:55.036Z error  [desktop-notifications][global-error]
  ResizeObserver loop completed with undelivered notifications

The same log recorded 788 ResizeObserver errors and 175 reasoning-summary completions for this investigation window. The active turn also generated turn/steer requests while it was still running, which is the desktop protocol used to incorporate new user input into an active turn:

2026-09-06T02:26:42.902Z info [AppServerConnection]
  response_routed ... method=turn/steer ... errorCode=null ... targetDestroyed=false

The separate local browser bridge was healthy during the post-update reproductions and recorded zero new stream failures after version 5.0.4 installed. The ChatGPT app process stayed alive for more than two hours, and no new crash report appeared. These observations make a renderer/stream reattachment problem the supported finding; they do not claim that every occurrence is a full process crash.

Expected behavior

The active turn should continue rendering, or show a clear terminal error. Updating a reasoning summary or receiving a live turn update should not cause a prolonged reconnect loop or repeated renderer layout errors.

Request

Please investigate the interaction between active-turn stream reattachment, reasoning-summary rendering, and the repeated ResizeObserver loop errors in the macOS desktop renderer. It would also help to expose a clear distinction between an upstream stream failure and a renderer/UI recovery state.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the macOS desktop renderer and the active-turn stream reattachment path described in the issue, then reproduce a long Codex turn with live reasoning-summary updates while watching the timestamped renderer logs. Compare summary rendering, ResizeObserver loop errors, and reconnect attempts to determine whether the UI stalls or the upstream stream fails. Done means active turns keep rendering or show a clear terminal error, with renderer recovery distinguished from upstream failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.