Chrome plugin crashes before browser discovery with “Cannot redefine property: process”
The Chrome extension shows Connected, but Codex cannot initialize the Chrome browser-control runtime.
Environment:
- Windows 11 Pro 10.0.26200, x64
- Codex/ChatGPT desktop app: 26.707.9564.0
- Chrome: 150.0.7871.115
- Chrome plugin: 26.707.71524
- Chrome extension: 1.2.27203.26575
- Chrome extension ID: hehggadaopoacecdllhhajmbjkdcmajg
- CUA Node: 24.14.0
- node_repl runtime: 20260713.2
- Task ID: 019f5fad-381b-7601-8f0c-6164dd3ff9da
Reproduction:
- Open the latest Codex desktop app.
- Confirm the ChatGPT Chrome extension displays “Connected”.
- Start a new Codex task.
- Invoke @Chrome or ask Codex to inspect Chrome.
- Browser initialization fails immediately.
Exact error:
TypeError: Cannot redefine property: process
at .../chrome/26.707.71524/scripts/browser-client.mjs:33:22
at SourceTextModule.evaluate (node:internal/vm/module:233:26)
The failing source line is:
globalThis.process = processShim;
Troubleshooting already completed:
- Restarted Codex three times.
- Reinstalled the Chrome plugin.
- Reinstalled the Chrome extension.
- Confirmed the extension remains Connected.
- Tested from a new task.
- Reset and retried the browser-control runtime.
- Verified the native messaging manifest exists and is correct.
- Verified the Windows registry points to the correct native-host manifest.
- Verified native-host name, extension origin, and extension ID all match.
- Verified the extension is installed and enabled in the active Chrome profile.
- Verified the same browser-client.mjs imports successfully with standalone Node; it fails only inside Codex’s browser-control execution runtime.
This appears to be a compatibility regression between the current node_repl runtime and the bundled Chrome plugin. The runtime may be exposing a non-redefinable process property while browser-client.mjs attempts to replace it.
Expected:
Codex initializes @Chrome and discovers/controls the connected Chrome session.
Actual:
Initialization fails before Chrome discovery or native-host communication begins.
8 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
The bundled Browser plugin is affected by the same failure as the Chrome plugin.
Verified after updating the Codex Windows app:
latest): resolves to 26.707.71524Both fail during browser runtime initialization with:
Cannot redefine property: process
The failure occurs before either plugin can discover or access a tab. I tested each plugin independently after resetting the JavaScript runtime, so this does not appear to be stale state shared between the two tests.
The in-app Browser already had a localhost tab open, and Chrome had an available tab, but neither could be reached because initialization failed first.
I reproduced the same failure on Windows with the following environment:
26.707.9564.026.707.715240.144.21.2.27203.26575150.0.7871.114The extension installation check reports installed/enabled, and the native host manifest check reports
correct: true. The failure reproduces after reinstalling the plugin and extension, restarting Chrome and the app, rebooting Windows, and resetting the JavaScript kernel. Initialization stops atCannot redefine property: processbefore Chrome discovery.I see. Was your in-app Browser plugin experienced the same thing as well?
Yes. The bundled in-app Browser plugin initially failed with the same
Cannot redefine property: processerror before tab discovery. I later got the in-app Browser working through a temporary local workaround, but this was not an official fix, and the Chrome plugin remained affected.I see. What was your workaround? I just gave up and switch to another agent lol.
It was a temporary, unsupported runtime-only workaround for the in-app Browser. I had the agent copy the bundled
browser-client.mjsto a temporary file and replace these global writes:with module-local bindings:
The agent then imported that temporary copy in the Node REPL and initialized the in-app Browser binding from it. I did not modify the installed plugin, and the temporary file was deleted afterward. It only worked for the in-app Browser in that running kernel; it did not fix the Chrome plugin and would need to be recreated after a runtime reset. So it was useful for finishing the task, but definitely not a permanent or supported fix.
So the issue was 100% from Codex and the plugins' side of things. This would be helpful for the fix, I think. I also found a post that might explain what happened here, alongside a real fix: https://github.com/openai/codex/issues/32936