Codex Desktop Windows: renderer error boundary "process is not defined" whenever project/browser sidebar mounts — app stuck on "Something went wrong"

Open
#35,173 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
electron, javascript
Domain
desktop, frontend

Research direction

Start with the Electron renderer path that mounts the project/browser sidebar and compare it with the logged bundle component C3s in app://-/assets/app-initial-DVfVy4b5.js. Reproduce from a clean %USERPROFILE%.codex profile by adding a project, then verify that the sidebar no longer throws "process is not defined" or takes the app to the full-screen error boundary.

Written by the indexing model from the issue text.

Description

app browser bug windows-os

What version of the Codex App are you using (from "About Codex" dialog)?

  • Package: OpenAI.Codex_26.721.3996.0_x64__2p2nqsd0c76g0 (Microsoft Store / MSIX, latest per Store)
  • Release seen in logs: 26.721.31836

What subscription do you have?

ChatGPT Plus

What platform is your computer?

Microsoft Windows NT 10.0.26200.0 x64 (Windows 11, system locale zh-CN)

What issue are you seeing?

The app worked fine and broke mid-use on 2026-07-24 without any app update (suggesting a server-side flag/config rollout). Every launch now ends in a full-screen error boundary ("糟糕,出错了 / Something went wrong" with "更新 ChatGPT / 重试" buttons).

Minimal reproduction on a fully clean profile: after wiping the entire %USERPROFILE%\.codex directory and logging in fresh, the app is stable until I create/add a project. The moment a project is created and the project sidebar mounts, the renderer crashes. This is not stale-state corruption — the current build crashes whenever the project/browser sidebar component mounts on this machine.

Log signature — the error boundary fires ~20 ms after every in-app-browser (IAB) sidebar sync, with errorMessage="process is not defined":

2026-07-24T12:45:48.957Z browser_use_iab_backend_startup_ready backend=iab ...
2026-07-24T12:45:48.9xxZ  error [electron-message-handler] error boundary
    errorMessage="process is not defined"
    componentStack="at C3s (app://-/assets/app-initial-DVfVy4b5.js:8875:151178) ..."

process is not defined indicates a bundling defect (browser context referencing Node's process) in the IAB sidebar/pane component, which the error boundary escalates into an unrecoverable full-screen failure.

Logs location: %LOCALAPPDATA%\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Local\Codex\Logs\<date>\codex-desktop-*.log

Region-dependent compounding factor

On non-US egress IPs, startup additionally fails with Statsig: error while bootstrapping post-login client (timeout) — same family as #26780 / #26750 (user.custom.workspace_type: Invalid input). Switching to a US exit IP makes the Statsig error disappear, but the process is not defined crash remains (it is the IAB sidebar, not Statsig).

What I tried (complete matrix)

Attempt Result
Retry / relaunch ❌ persists
CN direct / SG egress / US proxy + TUN ✅ fixes Statsig timeout only; ❌ crash persists
Windows locale zh-CN → en-US ❌ no effect
Reset-AppxPackage (full app-data reset) ❌ persists (state lives in ~/.codex)
Fresh re-login (moved ~/.codex/auth.json) ❌ persists
Disable browser@openai-bundled plugin in config.toml ❌ IAB backend still starts, crash persists
Clear ~/.codex/browser (IAB session residue) ❌ persists
Move away entire ~/.codex (fresh profile) ✅ stable — until a project is created
Restore old .codex-global-state.json sanitized 3 ways (no thread-browser-tabs-v1:* keys; 170-key subset; 19 project-sidebar keys only) ❌ crash returns every time — any restore of the persisted atom state re-triggers it
Codex Beta 26.715.3651.0 (Product ID 9N8CJ4W95TBZ, sideloaded) testing

Expected behavior

  1. The renderer should not throw process is not defined — the IAB sidebar/pane bundle must not reference Node globals in browser context.
  2. Browser-sidebar state re-hydration should be fault-tolerant: a legacy or corrupt electron-persisted-atom-state entry should disable the pane, not crash the whole app into an unrecoverable error boundary.
  3. Until fixed, Windows users need a supported way to disable the in-app browser / project browser sidebar entirely.

Related issues

  • #26780 — Statsig bootstrap fails on user.custom.workspace_type (zh-CN, i18n/Browser Use disabled)
  • #26750 — white screen after login, Statsig workspace_type invalid input
  • #19750 — browser-sidebar thread poisons the app; clearing local browser state doesn't help
  • #27882 / #27899 — statsig-disabled / Statsig bootstrap errors on 26.609+

Additional information

  • Full log excerpts, all three sanitized .codex-global-state.json variants, and exact repro steps available on request.
  • Current workaround: fresh ~/.codex profile, browser plugin disabled, do not add projects — app is then stable but projects/UI state are lost, which defeats the purpose of the desktop app.
Dominant language
Rust
Stars
125k
Forks
19.5k
Avg merge
1m
Merged PRs (30d)
1k

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.

More from openai/codex

All issues in openai/codex

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.