Built-in Browser plugin fails to initialize with “Cannot redefine property: process”
Description:
The built-in Browser plugin fails during runtime initialization and cannot connect to the in-app browser.
Error:
TypeError: Cannot redefine property: process
The stack trace points to:
.codex\plugins\cache\openai-bundled\browser\26.707.71524\scripts\browser-client.mjs:33:22
At that line, the plugin attempts to execute:
globalThis.process = processShim;
Environment:
OS: Windows 10, version 10.0.26200, x64
Codex desktop package: OpenAI.Codex_26.707.9564.0_x64
Browser plugin version: 26.707.71524
Codex command runner: 0.144.2
Steps to reproduce:
Start the Codex desktop application.
Enable the built-in Browser plugin.
Ask Codex to initialize or use the in-app browser.
The Browser runtime immediately fails with the error above.
Troubleshooting already attempted:
Fully restarted the Codex desktop client.
Disabled and re-enabled the built-in Browser plugin.
Reset the JavaScript/Node REPL kernel.
Increased sandbox permissions.
Reinitialized the Browser runtime from a clean state.
The same error occurs consistently. The failure happens before browser discovery, tab creation, or page navigation. The Browser plugin cache was refreshed after re-enabling it, but the same plugin version was installed.
Expected behavior:
The Browser runtime should initialize successfully and connect to the in-app browser.
Actual behavior:
Initialization stops at browser-client.mjs:33 because the process property cannot be redefined.
This appears to be a compatibility or version-pairing issue between the bundled Browser plugin and the current JavaScript/Node REPL runtime. Since Browser is a built-in plugin, it cannot be uninstalled or manually reinstalled through the plugin interface.
9 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
same happening on mac os:
The built-in browser fails to initialize.
Steps to reproduce:
Run the following code through mcp__node_repl__js:
if (globalThis.agent?.browsers == null) {
const { setupBrowserRuntime } = await import(
"/Users/markliu/.codex/plugins/cache/openai-bundled/browser/26.707.71524/scripts/browser-client.mjs"
);
await setupBrowserRuntime({ globals: globalThis });
}
Actual error:
Cannot redefine property: process
The same error still occurs after running mcp__node_repl__js_reset and retrying the initialization.
Environment:
Expected behavior:
setupBrowserRuntime should initialize successfully, allowing the built-in browser to be accessed through agent.browsers.get("iab").
Actual behavior:
Initialization fails because of a conflict involving the global process property. As a result, the built-in browser cannot be opened or controlled.
Solved on my end (locally)
https://github.com/openai/codex/issues/32941#issuecomment-4965299465
Independent Windows reproduction confirming this issue.
Environment:
26.707.71524Reproduction:
browser-client.mjsandsetupBrowserRuntime({ globals: globalThis })workflow.Cannot redefine property: process.yahoo.com) to exclude target-site authentication. The runtime fails before navigation, so the target URL is never reached.This also reproduces when the visible tab is an authenticated session, confirming the problem is independent of page authentication or application code. The failure blocks any workflow requiring the authenticated in-app Browser, including browser-assisted market-data collection.
Expected: the trusted bundled Browser client should import and attach to the in-app Browser without attempting to replace the runtime's protected
processglobal.Additional Windows reproduction with a useful two-stage failure boundary.
Environment
OpenAI.Codex_26.707.9564.0_x64__2p2nqsd0c76g0ChatGPT.exefile version:150.0.7871.11526.707.71524~/.codex/plugins/cache/openai-bundled/browser/26.707.71524/scripts/browser-client.mjsThe in-app Browser UI itself worked normally: pages loaded, the ChatGPT account was signed in, and the target conversation was visible. The Browser plugin files, manifest, skills, docs, assets, and
browser-client.mjswere present and unmodified.Stage 1: managed JS kernel failed before user code
Before a full Codex Desktop restart, the standard Browser bootstrap failed with:
Even a minimal control-runtime expression that only returned
cwd,tmpDir, andhomeDirproduced the same error. This indicates that this first failure occurred before Browser code or user JavaScript executed.The following explicit paths existed at the time:
browser-client.mjs%TEMP%C:\Users\fanmo\.codexTherefore the missing path was likely an internal kernel-assets target rather than one of those visible paths.
Stage 2: restart restored the kernel, but Browser bootstrap still failed
After fully restarting Codex Desktop, simple Node-backed control code worked again. The kernel-assets error disappeared, but importing the official bundled Browser client and running:
consistently failed with:
A clean JavaScript-kernel reset did not change the result.
Immediately after failure, none of the Browser globals had been created:
The same failure occurred both when attempting to bind an existing authenticated in-app Browser tab and when starting from a clean state before creating any new tab. Execution never reached browser discovery,
agent.browsers.get("iab"), tab creation, or navigation.Interpretation
This observation separates two layers:
failed to write kernel assets) that was cleared by a full application restart.Cannot redefine property: process) that remained after the managed kernel itself was functional.The current bundled client assigns its own shim to
globalThis.process/globalThis.global.process, while the managed runtime exposes a protected process surface. Combined with the cross-platform reports in this thread, this strongly suggests the persistent Browser failure is a plugin/runtime compatibility regression rather than a website, login, tab, sandbox-permission, or ordinary cache issue.No plugin files or caches were modified or deleted. I am leaving the installation unchanged and waiting for an official fix.
Reproduced on a newer Windows Store build after a clean forced reinstall.
Environment:
Observed behavior:
scripts/browser-client.mjs.Cannot redefine property: processTroubleshooting performed:
9PLM9XGG6VKS.Result: the error persists unchanged. No project content, browser cookies, URLs, or account identifiers are involved in the reproduction.
Confirming the same regression on Windows 11 x64.
OpenAI.Codex 26.707.9564.026.707.71524TypeError: Cannot redefine property: processbrowser-client.mjs:33:2226.707.51957successfully initialized the Codex in-app browser. Version26.707.71524now fails during module import, before URL navigation or authentication.This appears to confirm a version-pairing regression between the bundled Browser client and the Node REPL runtime.
Additional Windows reproduction with a different app/plugin version pair.
Environment
26.707.7222126.707.31428Reproduction and diagnostics
browser-client.mjsbootstrap and callsetupBrowserRuntime({ globals: globalThis }).The failure occurs before browser discovery, tab creation, or navigation. Resetting the JavaScript runtime and fully restarting Codex Desktop did not help.
The bundled Chrome plugin fails at the same bootstrap stage with the same error, so this appears to be in the shared browser-control runtime rather than the in-app Browser backend itself.
After restarting Codex, this directory disappeared and was not restored:
The local state indicates that automatic installation of the bundled Browser plugin is not disabled, but no Browser plugin directory or installation staging files are present after restart. The underlying
codex-browser-appprofile still exists, which suggests the Chromium profile is present while the Browser control plugin/bridge is unavailable.A potentially related background-process error was also observed after restart:
Impact
Both the in-app Browser and Chrome automation surfaces are blocked, preventing local web application testing, navigation, screenshots, DOM inspection, and UI automation.
Follow-up to my earlier Windows report: https://github.com/openai/codex/issues/32935#issuecomment-4979228975
I found that the original Browser runtime incompatibility appears to be fixed in a newer bundled Browser plugin, but Codex Desktop did not update the runtime marketplace snapshot on my machine.
Version mismatch
OpenAI.Codex_26.715.2236.0_x6426.715.2131626.707.3142826.707.31428The relevant configuration in
~/.codex/config.tomlpointed theopenai-bundledmarketplace to:The Browser manifest in that marketplace still reported
26.707.31428, even though the current Codex application package already contained Browser26.715.21316.Because the marketplace version and cached version were both
26.707.31428, Codex treated the installed plugin as current. Deleting the cache, uninstalling/reinstalling the plugin, and restarting Codex only installed the same old version again from the stale marketplace.Temporary workaround
The following manual workaround resolved the problem for me:
browserplugin directory from the current Codex application package:``
text
``C:\Program Files\WindowsApps\OpenAI.Codex_26.715.2236.0_x64__...\app\resources\plugins\openai-bundled\plugins\browser
``
text
``C:\Users\<user>\.codex\.tmp\bundled-marketplaces\openai-bundled\plugins\browser
After reinstalling, Codex created the new cache directory for
26.715.21316.Verification
Using Browser
26.715.21316, I successfully:setupBrowserRuntime({ globals: globalThis });https://example.com/;Learn morelink and navigated to the IANA page;The
Cannot redefine property: processerror no longer occurs with this version.This appears to be a bundled-marketplace refresh/synchronization problem rather than a missing fixed plugin. The fixed plugin was already present in the installed Codex package, but the user-level runtime marketplace remained stale and caused reinstallations to keep selecting the old version.
This is only a temporary workaround because the generated marketplace snapshot may be overwritten. Ideally, Codex Desktop should automatically refresh the runtime bundled marketplace whenever the application-bundled plugin version changes.