openai / openai/codex

[ChatGPT Mac desktop] Reopening a running Codex task repeatedly crashes renderer and opens an empty new chat

Open
#44,787 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

What version of the Codex App are you using (From “About Codex” dialog)?

ChatGPT desktop app 26.903.71938, build 8576 (production), bundle identifier com.openai.codex. Version read from the installed application metadata during diagnosis.

What subscription do you have?

ChatGPT account authentication; subscription tier omitted from this public report.

What platform is your computer?

macOS 26.6.2 (25G83), Apple M1 Max, arm64, 32 GiB RAM.
Embedded renderer version recorded by Crashpad: 152.0.7977.83.

What issue are you seeing?

Selecting an existing, actively running local Codex task in the ChatGPT desktop app for Mac makes the interface become blurry and then switch to an empty new chat. Selecting the original task again repeats the failure.

Six renderer crash metadata records were found within approximately 14 minutes. The main app and local Codex worker remain alive, and the task continues executing in the background. The user consequently loses reliable access to the running task's interface.

This report concerns the ChatGPT application's renderer and recovery behaviour. No macOS operating-system crash was established.

What steps can reproduce the bug?

Observed repeatedly on the affected installation on 11 September 2026:

  1. Leave an existing local Codex task running.
  2. Select that task in the desktop sidebar.
  3. The task view begins to load, the interface becomes blurry, and an empty new chat appears.
  4. Select the original running task again.
  5. The same failure recurs while the task continues working in the background.

This is an existing-state reproduction, not a clean-profile minimal reproduction. The repeated failure is confirmed for one task; a separate diagnostic Codex task remained usable. Other tasks were not systematically tested.

What is the expected behavior?

Opening an active task should display its current conversation and preserve navigation while the worker continues. If its display process fails, recovery should retain or safely restore access to the affected task instead of repeatedly opening an empty new chat.

Additional information
Crash metadata and process continuity

Six existing Crashpad sidecar files contained:

{"capture_kind":"crash","osarch":"arm64","ptype":"renderer","ver":"152.0.7977.83"}

These records and their filesystem modification times establish repeated renderer crash capture; they are not decoded native stack traces.

Read-only process inspection showed the main ChatGPT process and Codex worker had been running continuously since well before the observed crashes. A replacement renderer process started at the time of the last crash metadata record. An independent task-status read afterwards showed the original task active, its latest turn inProgress, error=null, and recent completed tool activity.

Final failure timeline

Times below are elapsed from selecting the task. They are derived from the app log and the crash sidecar's modification time; wall-clock timestamps and private identifiers have been removed.

Elapsed Observed event
+0.0 s Primary renderer: thread_stream_view_activity_changed active=true, resumeState=needs_resume, for the affected task.
+3.9 s maybe_resume_success; latestTurnStatus=inProgress, markedStreaming=true, turnCount=5.
+5.6, +7.5, +11.4 s Primary renderer repeatedly reports ResizeObserver loop completed with undelivered notifications.
+17.7 s Renderer crash sidecar recorded; replacement renderer starts in the same second.
+20.8 s React root render requested for the primary renderer.
+23.8 s Browser sidebar owner sync now identifies a client-new-thread:<redacted> and ownerRoutePath=/.
+25.6 s [startup][renderer] app routes mounted after 7346ms.
+33.4 s Primary renderer receives task activity but reports Received item/started for unknown conversation for the original task.

Later entries repeatedly report:

[electron-message-handler] Received item/completed for unknown conversation
[electron-message-handler] Conversation state not found

The layout error's full message is:

[electron-message-handler] [desktop-notifications][global-error] ResizeObserver loop completed with undelivered notifications.

The broad pattern of task display, renderer restart and new-chat navigation repeats around the other crash records.

Interpretation and limits
  • Strongly supported: repeated renderer crashes followed by UI restart on a new-chat route, while the original local task remains alive.
  • Suspected: a defect triggered when displaying this conversation, potentially involving layout/rendering pressure.
  • The ResizeObserver errors are correlated evidence, not proof of the native crash cause. No definitive out-of-memory diagnosis, native stack trace, or specific failing component was obtained. The blur is user-observed.
  • No whole-app restart, cache reset, installation change or user-state deletion was performed during diagnosis because the local task was still working.
  • This does not establish an update regression or a reliable workaround.
Related reports checked
  • #44730 reports input lag and repeated ResizeObserver errors on the same app version. This report adds recorded renderer crashes and recovery into an empty chat; a shared root cause is not established.
  • #42730 concerns a crash/relaunch loop when a large PDF preview is restored. Here the main app and worker survive, and no large-PDF trigger has been established.

The full diagnostic evidence has also been submitted privately through OpenAI Support and escalated to a support specialist.

This public report contains selected technical fields and relative timings. It excludes account/contact details, conversation contents, task/project names, local usernames/paths, and private thread/session/crash/request identifiers. No raw logs or screenshots are attached.

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 Mac desktop renderer recovery and navigation path, using the app log timeline around the renderer crash, replacement renderer, and new-chat route. Compare the affected task's activity events with the repeated unknown-conversation and missing-state messages; done means reopening an active task preserves its conversation instead of crashing or switching to an empty chat.

Written by the indexing model from the issue text.

Assessment

Tech stack
electron, macos, react
Domain
desktop, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.