Windows Desktop: Chrome/Computer Use enabled but mcp__node_repl__js is not exposed; js_repl remains removed false
Summary
On Windows Codex Desktop, the bundled Chrome/Browser/Computer Use plugins appear installed and enabled, and node_repl is registered as an MCP server, but the required JavaScript execution tool is not exposed to Codex turns.
Missing tool:
mcp__node_repl__js
This blocks both Chrome browser control and Computer Use before either can run its first smoke test.
This looks related to the same general failure family as #30249, #29251, #29482, #24727, and #24387, but the symptom in this case is that the node_repl/js tool is not exposed at all, rather than returning sandboxPolicy, sandboxCwd, or transport errors after invocation.
Environment
OS: Windows 11 Pro, 10.0.26200, x64
Codex Desktop package: OpenAI.Codex_26.623.5546.0_x64__2p2nqsd0c76g0
Codex CLI: 0.142.3
Bundled Chrome/Browser/Computer Use plugin runtime observed: 26.623.42026
Auth mode: ChatGPT
Workspace type: local Windows path, not WSL
Installed components verified
The bundled plugin files are present locally:
%USERPROFILE%\.codex\plugins\cache\openai-bundled\chrome\26.623.42026\scripts\browser-client.mjs
%USERPROFILE%\.codex\plugins\cache\openai-bundled\browser\26.623.42026\scripts\browser-client.mjs
%USERPROFILE%\.codex\plugins\cache\openai-bundled\computer-use\26.623.42026\scripts\computer-use-client.mjs
The Chrome extension host is also observed running from the bundled Chrome plugin cache.
Feature registry state
codex features list reports:
browser_use stable true
browser_use_external stable true
browser_use_full_cdp_access stable true
computer_use stable true
in_app_browser stable true
js_repl removed false
js_repl_tools_only removed false
MCP state
codex mcp get node_repl reports:
node_repl
enabled: true
transport: stdio
command: %LOCALAPPDATA%\OpenAI\Codex\runtimes\cua_node\1b23c930bdf84ed6\bin\node_repl.exe
args: -
cwd: -
startup_timeout_sec: 120
The environment includes browser/computer-use related variables such as:
BROWSER_USE_AVAILABLE_BACKENDS
BROWSER_USE_CODEX_APP_BUILD_FLAVOR
BROWSER_USE_CODEX_APP_VERSION
NODE_REPL_INSTRUCTIONS_USE_CASE_BROWSER
NODE_REPL_INSTRUCTIONS_USE_CASE_CHROME
SKY_CUA_NATIVE_PIPE
SKY_CUA_NATIVE_PIPE_DIRECTORY
Reproduction steps
- Open Codex Desktop on Windows.
- Ensure bundled Chrome, Browser, and Computer Use plugins are installed/enabled.
- Start a fresh Codex thread.
- Ask Codex to run a Chrome or Computer Use smoke test.
- Per the plugin skill instructions, the assistant searches for the Node REPL JavaScript execution tool.
Discovery queries attempted:
node_repl js
mcp__node_repl__js
js
node_repl js JavaScript execution
Actual behavior
The mcp__node_repl__js tool is not exposed. Searches return either zero results or unrelated tools. As a result:
- Chrome setup cannot import
scripts/browser-client.mjsthrough the required JS execution route. - Computer Use cannot run the required first smoke test:
globalThis.apps = await sky.list_apps();
nodeRepl.write(JSON.stringify(apps, null, 2));
This blocks before any Chrome tab selection, page navigation, app listing, or Windows app control can occur.
Expected behavior
If Chrome/Browser/Computer Use are enabled and node_repl is registered, the Node REPL JavaScript execution tool should be exposed to the turn, typically as:
mcp__node_repl__js
Then the standard plugin bootstrap code should be able to run.
Troubleshooting already tried
- Restarted Codex Desktop and Windows.
- Created fresh Codex threads.
- Rebuilt bundled plugin cache by renaming
%USERPROFILE%\.codex\plugins\cache\openai-bundledand letting Codex recreate it. - Renamed/rebuilt Electron-style app/browser cache folders under:
%LOCALAPPDATA%\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Roaming\Codex\web\Codex
- Verified
node_repl.exe --helpincludes--disable-sandbox. - Tried adding
--disable-sandboxvia config and through the MCP Settings UI. - Confirmed Desktop rewrites/ignores the effective
node_replargs;codex mcp get node_replstill reportsargs: -. - Checked Windows Defender: only sample-submission prompt was observed, not an actual block/quarantine event.
- Ran
codex doctor --ascii --alloutside the sandbox. WebSocket and provider reachability were OK, MCP config loaded, auth configured. - Attempted the known workaround of reopening Codex Desktop as Administrator, but the running thread/worker still reported
IsAdmin=Falseand the tool was still not exposed.
Additional diagnostic output
codex doctor --ascii --all reports the main installation/config/connectivity checks as OK, including:
config loaded
auth auth is configured
mcp 1 server (1 stdio) · 0 disabled
websocket connected
reachability active provider endpoints are reachable over HTTP
The only remaining diagnostic failure is TERM=dumb, which appears unrelated to MCP tool exposure.
Notes
This may be related to the Desktop config/tool registry behavior described in #24387, where Desktop startup rewrites features.js_repl and mcp_servers.node_repl. In this case the key blocker is that the high-level plugin surfaces are enabled, but the underlying JS execution bridge required by the plugin skills is not callable from the thread.
12 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Thanks for the duplicate check. I reviewed #30026, #29229, and #29921.
#30026 looks like the closest match: same core symptom where Browser/Chrome/Computer Use are installed/enabled, but
mcp__node_repl__js/node_repl jsis not exposed to the agent session.This issue adds a current repro on a newer Windows Desktop build:
and confirms the missing-tool behavior persists after:
codex doctor --ascii --allSo I agree this is probably the same failure family as #30026/#29229/#29921, but I am leaving this open for now because it confirms the issue still reproduces on
26.623.xand includes the newer diagnostic state where:Happy to close this as a duplicate of #30026 if maintainers prefer consolidating there.
Same failure observed on a newer Windows Desktop build with additional local remediation attempts.
Environment:
OpenAI.Codex_26.623.8305.0_x64__2p2nqsd0c76g026.623.61825config.tomlFresh-thread behavior:
tool_search("node_repl")=> 0 resultstool_search("node_repl js")=> 0 resultsmcp__node_repl__jsis not exposed.Additional local checks/remediation performed:
.codexplugin/cache/tmp/browser/computer-use state while preserving auth/sessions/memories/config.chrome-native-hosts-v2.jsonentries pointing at older26.602/26.609resources.notifyhook to a missing oldcodex-computer-use.exe.browser/latestandchrome/latestjunctions so both point to real26.623.61825cache dirs.cua_noderuntime locally from app resources:C:\Users\Administrator\AppData\Local\OpenAI\Codex\runtimes\cua_node\120c650ffb83\bin\node_repl.exe88BC2245755492AA3A3365ECCA92EF45F8895867F28A64B1B61DC5FD6D980083After all of the above, fresh threads still do not expose
mcp__node_repl__js.This suggests the remaining failure is not the plugin cache, Browser/Chrome UI install state, stale native-host metadata, or missing local
node_repl.exe; it appears to be in Desktop/app-server tool registration or rollout exposure for the Node REPL JS tool.I also opened #30562 before GitHub Actions detected this likely duplicate; happy to treat #30486 as the canonical issue.
Follow-up after updating Codex Desktop locally: this appears fixed on my machine.
Updated environment:
After the update, tool discovery for
node_repl jsexposed the expected MCP server/tools:Smoke tests passed:
returned running apps/windows, including Chrome and Outlook windows.
setupBrowserRuntime(...)succeeded.agent.browsers.get("extension")succeeded.browser.documentation()returned the full Chrome/browser API docs.https://example.com/.One notable diagnostic detail:
codex features liststill reports:but the bridge now works, so in this newer build that feature-registry line is not by itself a reliable indicator of failure. The decisive health check is whether
node_repl jsis actually exposed to the turn and whether the plugin smoke tests pass.I am leaving the issue open for maintainer triage, but from this local repro the update to
OpenAI.Codex_26.623.9142.0/ plugin runtime26.623.70822resolved the original missing-tool symptom.This issue also has a significant economic impact, especially for users running third-party models (Qwen via BaiLian, etc.) through Codex Desktop.
Without
js_repl, Computer Use falls back to screenshot-based vision processing for every interaction. With a vision model, each step burns:For batch workflows that need to navigate through multiple pages or interactions, this makes the token cost prohibitively expensive -- in my usage, the daily token cost exceeds what I can justify for routine business work.
With
js_replenabled, the same operations would be:For third-party model users, this isnt just a feature not working bug -- it actively makes the product economically unviable for real production workflows, since we are forced into expensive vision fallback for every task instead of the cheap text-only route.
Please consider unblocking
js_replin Desktop builds, or at minimum making the feature gate user-configurable so users can accept the stability risk on their own terms.Follow-up with a narrower repro after additional local remediation and a newer Desktop build.
Updated environment:
The original missing-tool symptom has changed on this machine:
However, official Browser/Chrome/Computer Use bootstrap still cannot proceed because the exposed Node REPL is not the privileged Desktop bridge. In a fresh thread, before calling
setupBrowserRuntime({ globals: globalThis }), the diagnostic output is:browser-client.mjsitself appears to requireglobalThis.nodeRepl.nativePipe.createConnection; without it, the standard Chrome/Browser bootstrap fails with:Additional local remediation attempted before this result:
config.tomland visible in Desktop settings.node_repl.exenode.execodex.execodex-command-runner.execodex-windows-sandbox-setup.exemcp_servers.node_repl.commandat the user-localnode_repl.exe.--disable-sandboxand added MCP env entries for:CODEX_CLI_PATHNODE_REPL_NODE_PATHCODEX_HOMEAfter all of the above, fresh threads still expose only a non-privileged Node REPL:
nodeRepl.nativePiperemainsundefined.So this looks like a second-stage failure after the original missing-tool issue: the JS execution tool can be made visible, but the privileged native pipe bridge required by official Browser/Chrome/Computer Use is not injected into the turn/runtime. This is closely related to #30365 / #30191.
发现问题
我在使用 Codex++ 时遇到 MCP 无法正常工作的问题。经过排查,确认问题是由 Codex++ 版本本身引起的。
复现步骤
使用 Codex++ 版本,配置 MCP 服务
MCP 连接失败或无法正常调用
切换到当前正式版 Codex + ccswitch,MCP 功能恢复正常
环境信息
出问题版本:Codex++
正常工作版本:Codex(当前版本)+ ccswitch
操作系统:Windows
补充说明
ccswitch 下 MCP 功能表现正常,说明 MCP 协议本身没有问题,可以定位到 Codex++ 的改动影响了 MCP 的兼容性。
In fresh Codex threads, the
node_replJavaScript tool is exposed and callable. So this is no longer the original “missingmcp__node_repl__jstool” symptom.However, the exposed Node REPL does not appear to be the privileged Desktop bridge required by Browser/Chrome/Computer Use.
Diagnostic output from
mcp__node_repl__js:codex features listreports:Important note:
js_repl removed falsedoes not seem to be the decisive health signal anymore. The JS tool is exposed in this environment, but the privileged host capabilities are missing.Observed behavior:
browser-client.mjscan be imported through the exposed Node REPL.globalThis.nodeRepl.nativePipeis missing.nodeRepl.nativePipe.createConnection.setupBrowserRuntime({ globals: globalThis })succeeds far enough to discover:tab.goto()still fail at the Browser Use security layer with:This appears to happen because Browser Use calls into a host capability equivalent to
createElicitation, but that capability is not present in the exposed Node REPL context.So the current failure layer seems to be:
This looks like a second-stage failure after the original missing-tool issue: the JS execution tool is available, but the privileged Desktop bridge required by official Browser/Chrome/Computer Use is not injected into the turn/runtime.
I also checked the common config/BOM theory:
So in this repro, it does not appear to be caused by a malformed
config.toml.Expected behavior:
If Browser/Chrome/Computer Use are enabled and
node_replis exposed, the Node REPL context should include the privileged Desktop bridge capabilities required by the bundled plugins, including at least:Without those, the tool is callable but the official plugin smoke tests still cannot pass.
补充现象:
普通文本对话是正常的,本地 shell 类操作也能执行。但一旦任务涉及 MCP 服务器相关工具调用,或者进入“搜索可用工具 / deferred tool discovery”的流程,对话就会终止或不再实际工作。
这说明问题可能不只是 mcp__node_repl__js 单个工具缺失,而是 Windows Codex Desktop 在某些 turn 中没有正确暴露完整工具链或工具注册表。Browser/Chrome/Computer Use 只是其中最明显受影响的功能,MCP 工具调用整体也可能受影响。
Follow-up/correction from a fresh Windows Desktop thread: I previously reported this appeared fixed on my machine after updating to
OpenAI.Codex_26.623.9142.0, but the symptom is currently reproducing again in a newer/local thread.Current observed state in this thread:
Tool discovery results from the fresh thread:
Browser-control test result:
One extra local note: attempting
codex mcp get node_replfrom this sandboxed thread hit WindowsAccess is denied, so I could not reconfirm the CLI MCP status from inside the agent. However, direct config inspection still showsmcp_servers.node_replconfigured.So the most accurate current status from this machine is: the issue may have been fixed in one prior build/session, but it is not consistently fixed here. The decisive failure is again that
node_repl js/mcp__node_repl__jsis not exposed to a fresh turn.I’m seeing the same issue.
Feedback ID:
019f430c-357c-7f13-8310-29f1247bd611
Environment:
Symptoms:
Troubleshooting already attempted:
This appears to be the same failure mode: the plugin is installed and discoverable, but the required JS/browser/computer-use execution surface is not exposed to the thread.
This is no longer reproducible on my Windows machine. Since July 10, 2026, three consecutive fresh automation runs have successfully exposed
mcp__node_repl__jsand completed Browser, Chrome, and Computer Use smoke tests. Windows and Codex Desktop were restarted multiple times during this period, and control remained available.I’m closing this as resolved locally. The specific release or change that fixed the original tool-exposure failure is unknown.