Codex panel frequently fails to load — blank or stuck on logo, then VS Code hangs until unresponsive (macOS, Apple Silicon)
What version of the IDE extension are you using?
openai.chatgpt v26.715.31925 (installed ~1 day ago). Same extension ID (openai.chatgpt) on the host and inside the Dev Container.
What subscription do you have?
ChatGPT Pro
Which IDE are you using?
VS Code 1.129.1 (Universal)
What platform is your computer?
Darwin 25.3.0 arm64 arm (macOS on Apple Silicon; VS Code reports Node.js 24.18.0)
What issue are you seeing?
When I open a project in VS Code and click the Codex icon to open the Codex panel (docked in the right-hand Secondary Side Bar), the Codex chat webview frequently fails to load. It sometimes opens normally, but very often it gets stuck in one of the states below and never becomes interactive.
1. The panel is completely blank — the CODEX tab renders no UI at all:
<img width="467" height="647" alt="Image" src="https://github.com/user-attachments/assets/041c88d4-2555-4d06-8105-9632ab73c33f" />
2. The panel shows only the OpenAI logo in the center and never finishes loading:
<img width="467" height="636" alt="Image" src="https://github.com/user-attachments/assets/7489636f-1c19-4e4d-a545-e69e0a102583" />
After it hangs like this for ~3–5 minutes, the entire VS Code window becomes unresponsive and macOS shows the "The window is not responding" dialog (Reopen / Close / Keep Waiting) — VS Code effectively has to be force-reopened:
<img width="264" height="321" alt="Image" src="https://github.com/user-attachments/assets/b6ad4a84-9ee3-4888-944b-af360299d251" />
When it does not hang completely, the panel still takes an extremely long time to load (in one captured case ~5 minutes before the UI finally mounted).
This reproduces both in a plain local VS Code window and inside a Dev Container — the behavior is identical in both, so it does not appear specific to the container/remote setup.
Based on the logs, the extension's backend/app-server starts and responds normally — it is the webview/React UI that fails to mount — so this looks like a renderer/webview hang rather than a backend or extension-host crash. There is no explicit error text in the panel itself (it just stays blank or on the logo); log timestamps and details are in the Additional information section below, and I'm happy to attach the raw logs (main.log, extension-host Codex.log) or a CPU/renderer profile of the hang.
What steps can reproduce the bug?
- On macOS (Apple Silicon), open VS Code 1.129.1 with the Codex extension (
openai.chatgptv26.715.31925) installed. - Open any project/folder — reproduces both in a normal local window and inside a Dev Container.
- Click the Codex icon to open the Codex panel and select the
CODEXtab. - Observe the webview: it frequently stays completely blank, or shows only the OpenAI logo, and never becomes interactive.
- Wait ~3–5 minutes → the VS Code window stops responding and macOS shows "The window is not responding" (Reopen / Close / Keep Waiting).
Frequency: intermittent but common — the panel sometimes opens fine, but it fails to load often enough to seriously disrupt normal work.
Feedback ID: no-active-thread-019f5b96-0772-72e0-976b-ca0df57ef5fa
What is the expected behavior?
Opening the Codex panel should reliably load the chat UI within a couple of seconds, every time, and should never freeze the VS Code window or make it unresponsive.
Additional information
- Extension:
openai.chatgptv26.715.31925 (updated ~1 day ago); same extension ID used on the host and inside the Dev Container. - IDE: VS Code 1.129.1 (Universal); Node.js 24.18.0 (from VS Code's About dialog).
- OS: macOS on Apple Silicon —
uname -mprs→Darwin 25.3.0 arm64 arm. - Subscription: ChatGPT Pro.
- Reproduces in both a clean local VS Code window and a Dev Container.
- In the screenshots the Codex view is docked next to other views in the same panel (the
CHAT/CLAUDE CODE/CODEXtabs); the problem is specific to theCODEXtab.
Diagnostics from the logs (Docker/OrbStack had 10 CPU / 16 GB RAM and ~1.2 TB free, so this is not resource starvation):
- Looks like a renderer/webview hang, not an extension-host or Docker crash. In VS Code's
main.logthe window goes unresponsive (16:55:33"not responding", again16:56:48, and a render frame is destroyed at16:57:13), while the extension host exits cleanly with code 0. - Backend alive, UI never renders. After reopening, the Codex app-server re-initialized at
16:57:29, but the React UI only began mounting at17:02:29— almost exactly 5 minutes later — and the renderer logged apotential listener LEAKaround that time. - In the Dev Container case the extension activates and the app-server responds, but a
React root render requestedevent never appears before the window is closed — i.e. the app-server is healthy and the failure is in the webview/React UI mounting. - Possibly contributing: the local Codex logs database is corrupted —
~/.codex/logs_2.sqlitefailsPRAGMA quick_check(repeated "Bad ptr map" / "invalid page" / "duplicated page"), while the main~/.codex/state_*.sqliteis intact. This might also explain generally sluggish Codex behavior across projects. - Docker/OrbStack setup, volume permissions (owned
1000:1000, noEACCES/EPERM), and thedevcontainer.json/ compose files were checked and look correct, so they don't appear to be the root cause. - Happy to provide the full
main.log, the extension-hostCodex.log, or a CPU/renderer profile of the hang.
4 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Redacted log excerpts — usernames, file paths, UUIDs, thread/task IDs, project/plugin names and internal IDs have been stripped.
The two logs line up with the "renderer/webview hang, backend healthy" picture:
1. VS Code main process (
main.log) — the window hang. The main process records the window going unresponsive, and the unresponsive samples repeatedly point at a WebSocket message handler; the render frame is then disposed, while the extension host exits cleanly (code 0). It also recurred the previous evening.2. Codex extension host (
Codex.log) — the ~5-minute UI stall + DB corruption. The extension activates and the app-server initializes immediately, but the React root render is not requested until ~5 minutes later; separately, an app-server state DB operation fails withdatabase disk image is malformed(SQLite code 11).Happy to share fuller redacted logs or a CPU profile of the hang (VS Code suggests
https://aka.ms/vscode-tracing-cpu-profile) if that would help.Follow-up: a controlled re-reproduction points to a Codex WebView resource-loading bug (macOS)
I re-ran this as a controlled test after neutralizing the disk/cache angle, and it still reproduced with everything else healthy — which isolates the failure to the Codex WebView frontend, not Docker, SQLite, or the cache.
Control reproduction (devcontainer; shared cache already cleared).
React root render requested— it hung on loading.doReadFileStream → loadResource(~4:34), and the window renderer went unresponsive (~4:56).OOMKilled=false; both container databases are healthy (state_5.sqliteandlogs_2.sqliteeachPRAGMA quick_check = ok); and the shared volume had already been trimmed before this run, so its former size can't explain the recurrence.So Docker, permissions,
devcontainer.json, SQLite integrity, OOM, and cache size are all ruled out for this failure.Same fingerprint as #33968. #33968 (also VS Code 1.129.1) shows the identical signature: the extension logs
Initialize received id=1and then goes silent, withReact root render requestedonly appearing on the launches that recover. In an earlier captured hang on my machine that gap was ~5 minutes:<details><summary><code>Codex.log</code> — ~5-min activation→render stall (redacted)</summary>
</details>
<details><summary><code>main.log</code> — VS Code window hang; unresponsive samples hit a WebSocket message handler (redacted)</summary>
(The extension host always exits cleanly with code 0 — not an ext-host crash.)
</details>
Likely mechanism — WebView asset/resource bootstrap. The
loadResourcelistener leak above, plus the size of the frontend, point at resource loading:loadResourcestack and scenario line up.webview/assets/*.jsagainst the deleted previous extension dir →net::ERR_FAILED, React never mounts, only the logo shows, backend green. My extension had updated ~1 day before the repro; I'll capture the WebView DevTools console next time it hangs.Separate, independent problems (not the cause here).
~/.codex/logs_2.sqlitestill failsPRAGMA quick_check. That's a real defect that can affect Codex outside the container, but the container's own DBs are healthy while the WebView still hangs — so it doesn't gate the WebView.Would help (maintainer asks):
net::ERR_FAILED/ blockedvscode-webview) into the Codex output channel.logs_2.sqlite.Related: #33968, #34184, #33032.
Confirming a closely related reproduction on macOS / Apple Silicon.
React root render requestedandapp routes mounted), then later became gray / unresponsive while reasoning and tool updates were streaming.ResizeObserver loop completed with undelivered notificationsfrom 09:45:51 to 10:28:30, repeatedly adjacent to reasoning-summary item events.Item not found in turn state, 57state db discrepancy ... falling_backmessages, and unhandled broadcasts includingthread-stream-following-changed,thread-read-state-changed, andclient-status-changed. The extension reportedthread_toolsas enabled while the bundled CLI logged it as an unknown feature key.webview/assetsornet::ERR_FAILEDmessages in this occurrence, so this does not appear to be exclusively the stale service-worker asset-path failure mode.ipc-connection-resetfollowed by extension reactivation recovered the renderer: the next startup again loggedapp routes mounted, and no further ResizeObserver errors appeared during the captured period.This looks like a related streaming/event-state/layout variant: the backend remains active but the webview renderer degrades after mounting. I can provide further redacted log excerpts if useful.