openai / openai/codex

Codex sidebar never loads on Remote-SSH/WSL: PendingMigrationError (navigator global) during Zod schema init, persists across v26.901.22334 and v26.5825.x

Open
#43,476 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug extension remote windows-os
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

What version of the IDE extension are you using?

26.901.22334 (also reproduced on 26.5825.51511 / 26.5825.41651 / 26.5825.32147)

What subscription do you have?

Plus

Which IDE are you using?

VS Code 1.136.1 (commit a44adf7f53e00964ab890f9f8758a334f1fc15bc), via Remote-SSH/WSL

What platform is your computer?

Windows 11 x64 (host, running VS Code client) Remote: WSL2 Linux (extension host runs here — ~/.vscode-server) uname -mprs output: <Linux 6.6.87.2-microsoft-standard-WSL2 x86_64 x86_64>

What issue are you seeing?

The Codex sidebar never loads in VS Code when connected via Remote-SSH/WSL. The panel stays blank (only the logo is shown) and the chat UI never mounts.

Console error (Help > Toggle Developer Tools > Console, filtered by "openai")

ERR navigator is now a global in nodejs, please see https://aka.ms/vscode-extensions/navigator for additional info on this error.: PendingMigrationError: navigator is now a global in nodejs, please see https://aka.ms/vscode-extensions/navigator for additional info on this error.
    at get (file:///home/ken/.vscode-server/bin/a44adf7…/out/vs/workbench/api/node/extensionHostProcess.js:851:7297)
    at /home/ken/.vscode-server/extensions/openai.chatgpt-26.901.22334-linux-x64/out/extension.js:1:11415
    at get value (/home/ken/.vscode-server/extensions/openai.chatgpt-26.901.22334-linux-x64/out/extension.js:1:3695)
    at /home/ken/.vscode-server/extensions/openai.chatgpt-26.901.22334-linux-x64/out/extension.js:63:145
    at $ZodObjectJIT.n (/home/ken/.vscode-server/extensions/openai.chatgpt-26.901.22334-linux-x64/out/extension.js:1:933)
    at /home/ken/.vscode-server/extensions/openai.chatgpt-26.901.22334-linux-x64/out/extension.js:65:36560
    at n (/home/ken/.vscode-server/extensions/openai.chatgpt-26.901.22334-linux-x64/out/extension.js:1:933)
    at new ZodObject (/home/ken/.vscode-server/extensions/openai.chatgpt-26.901.22334-linux-x64/out/extension.js:1:1175)
    at Object.ce (/home/ken/.vscode-server/extensions/openai.chatgpt-26.901.22334-linux-x64/out/extension.js:65:24629)
    ...
    at Object.<anonymous> (/home/ken/.vscode-server/extensions/openai.chatgpt-26.901.22334-linux-x64/out/extension.js:931:39274)
    at Module._compile (node:internal/modules/cjs/loader:1871:14)
    at Object..js (node:internal/modules/cjs/loader:2002:10)
    at Module.load (node:internal/modules/cjs/loader:1594:32)

The crash happens during Zod schema construction (ZodObjectJIT / new ZodObject) at module load time, i.e. before activate() runs. Because it's thrown at the top level of require(), VS Code's extension-loading machinery can't catch it gracefully, so the extension fails to initialize at all.

What I've tried (none of it fixed it)

  • Downgrading through multiple recent extension versions: 26.901.22334, 26.5825.51511, 26.5825.41651, 26.5825.32147
  • The documented workaround from #33743 [Bug Solved & Solution] VS Code codex extension blank sidebar in Remote SSH on version 26.707.91948: added "extensions.supportNodeGlobalNavigator": true to ~/.vscode-server/data/Machine/settings.json (confirmed present)
  • Fully shutting down WSL (wsl --shutdown in PowerShell) to force a completely fresh vscode-server process, then reconnecting — this guarantees no stale cache or leftover process was involved
  • "Developer: Reload Window"
  • Clearing VS Code's webview/service-worker cache (Service Worker, Cache, Code Cache, GPUCache, CachedData)
  • Signing out and back in

The error reproduces 100% of the time, even immediately after a full WSL shutdown/restart with the supportNodeGlobalNavigator setting confirmed in place — this rules out stale caching/process state and points to a genuine code-level incompatibility in the bundled extension.

What steps can reproduce the bug?
  1. Connect VS Code to a remote Linux environment via WSL2 (or Remote-SSH).
  2. Install/update the Codex extension (openai.chatgpt) — reproduced on 26.901.22334, 26.5825.51511, 26.5825.41651, 26.5825.32147.
  3. Open the Codex sidebar.
  4. The panel stays blank (only the logo shows); the chat UI never mounts.
  5. Open Help > Toggle Developer Tools > Console, filter by "openai" — see the PendingMigrationError stack trace (included above).

Tried the documented workaround from #33743 ("extensions.supportNodeGlobalNavigator": true in ~/.vscode-server/data/Machine/settings.json + Reload Window, followed by a full wsl --shutdown and reconnect) — did not fix it.

What is the expected behavior?

The Codex sidebar should load and the chat UI should mount normally over Remote-SSH/WSL, as it does in a local (non-remote) VS Code window.

Additional information

Same crash signature (ZodObjectJIT / new ZodObject → PendingMigrationError: navigator is now a global in nodejs, thrown during Zod schema init before activate()) is also reported in Anthropic's Claude Code VS Code extension on WSL2: https://github.com/anthropics/claude-code/issues/57281

This points to the underlying bug being in how the bundled code (Zod usage) detects the runtime environment — it should check typeof process === 'object' && process?.versions?.node before touching navigator, as noted in #33743, rather than relying on typeof navigator === 'object'.

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

Reproduce the failure over WSL2 or Remote-SSH and inspect the bundled extension at out/extension.js around the ZodObjectJIT/new ZodObject stack frames. Start by tracing the module-load path before activate() and the navigator access, then verify the Codex sidebar mounts successfully in a remote window without the PendingMigrationError.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
devtools
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.