[Bug] mcp__node_repl__js unavailable in Codex Desktop 26.609.9530.0 (app-server 0.140.0-alpha.2) — Client-side feature gate not user-configurable
What version of the Codex App are you using (From “About Codex” dialog)?
Codex Desktop 26.609.9530.0 (app-server 0.140.0-alpha.2)
What subscription do you have?
CODEX
What platform is your computer?
_No response_
What issue are you seeing?
Summary
On Codex Desktop 26.609.9530.0 (Windows, UWP), the mcp__node_repl__js tool
is never registered in the tool list for any new chat thread, even though thenode_repl MCP server is configured and the underlying runtime is downloaded
and version-OK.
This makes the @browser, @computer-use, and the Node REPL workflows
unavailable to the model.
Environment
- Codex Desktop:
26.609.9530.0(Microsoft Store / WindowsApps) - App-server CLI:
0.140.0-alpha.2 - Platform: Windows 11 64-bit (UWP package)
- Sandbox:
unelevated
config.toml excerpt
[mcp_servers.node_repl]
command = '"C:\Users\Administrator\AppData\Local\OpenAI\Codex\runtimes\cua_node\789504f803e82e2b\bin\node_repl.exe"'
...
[mcp_servers.node_repl.env]
NODE_REPL_NATIVE_PIPE = "C:\\Users\\Administrator\\AppData\\Local\\OpenAI\\Codex\\runtimes\\cua_node\\789504f803e82e2b\\run\\node_repl.pipe"
NODE_REPL_NATIVE_PIPE_CONNECT_TIMEOUT_MS = "10000"
[features]
js_repl = false # <-- appears to be a client-side gate; user edits are ignored
Setting [features] js_repl = true and restarting Codex has no effect —
the value is re-emitted as false on the next launch, and the tool remains
absent from the tool list.
What the model sees
The system prompt for the model contains no mention of js_repl or
node_repl. The tool list returned to the model does not include
mcp__node_repl__js. Calling it produces:
output = "unsupported call: mcp__node_repl__js"
Evidence from logs
app-server log (codex-desktop-*.log, ~/.codex):[BrowserUseThreadConfig] browser_use_runtime_paths_selected reports
nodeReplPath = ...\runtimes\cua_node\789504f803e82e2b\bin\node_repl.exe,
nodeReplPathSource = bundled-or-dev,
nodeVersionStatus = ok, nodeVersionValue = v24.14.0
No subsequent MCP server connected, tool registered, or
stdio_transport_spawned event for node_repl.exe
enabledFeatures does not include js_repl
Sandbox log (~/.codex/.sandbox/sandbox.2026-06-16.log):No EBUSY, no os error 740, no denied, no spawn failed
Setup refresh: processed 3 write roots errors=[] (clean)
Network ruled out: the mcp__node_repl__js tool is registered over a
local stdio pipe; no outbound traffic is involved.
Elevation ruled out: changing [windows] sandbox from elevated to
unelevated has no effect on tool registration.
Repro steps
Install Codex Desktop 26.609.9530.0 from Microsoft Store.
Configure a model provider (OpenAI or any wire_api = "responses"-
compatible endpoint).
Start Codex Desktop, open a new chat, send:
Use mcp__node_repl__js to run `nodeRepl.write("ok")`.
Observe: model emits the tool call, Codex returns
unsupported call: mcp__node_repl__js, and the model receives no
registration handshake for that tool.
Expected
Either [features] js_repl = true should enable mcp__node_repl__js
registration, or the gate should be exposed via a documented
configuration key.
node_repl should appear in the model-visible tool list when enabled.
Actual
node_repl is silently skipped at startup; no error is reported; the
model has no way to discover or recover the capability.
Impact
@browser and @computer-use plugins are completely unusable
(they depend on setupBrowserRuntime / setupComputerUseRuntime
run via mcp__node_repl__js).
All Node-REPL-based debugging and skill loading is impossible.
Suggested fix
Honor [features] js_repl in app-server 0.140.x alpha, or
Expose node_repl registration as a separately configurable
mcp_servers.node_repl.enabled flag independent of the
experimental js_repl feature, or
At minimum, log a warning when mcp_servers.node_repl is configured
but skipped due to a closed feature gate, so users can diagnose.
What steps can reproduce the bug?
Out of the box, on a clean install with no config changes, repeated calls all fail. There's nothing to reproduce on my end.
What is the expected behavior?
_No response_
Additional information
_No response_
5 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
I am seeing the same issue on Windows.
Environment:
OpenAI.Codex_26.611.8604.0_x64__2p2nqsd0c76g0cli_version: 0.140.0-alpha.19computer-use@openai-bundled26.611.62324Microsoft Windows NT 10.0.26200.0 x64Same symptoms:
@Computer/@Ordinateurloads the Computer Use skillmcp__node_repl__js/node_repl/js/jsare not exposedI can reproduce a closely related failure on a newer Windows Desktop build, so I am adding evidence here instead of opening a duplicate.
Environment observed locally on 2026-06-23 (Asia/Shanghai):
C:\Program Files\WindowsApps\OpenAI.Codex_26.616.9593.0_x64__2p2nqsd0c76g0\app\Codex.execodex-cli 0.142.0-alpha.6Codex.exeand bundledcodex.exenode_repl.exeexists at%LOCALAPPDATA%\OpenAI\Codex\bin\node_repl.exeand is 13,513,728 bytes, last modified2026-06-17 15:03:12Current CLI/config state says
node_replis configured and enabled:codex mcp listalso includes:And the current
%USERPROFILE%\.codex\config.tomlcontains:However, in the active Codex Desktop thread,
tool_searchcannot discover the required tool:So the user-visible configuration and CLI both say the MCP server exists, but the active model/tool inventory still does not expose
mcp__node_repl__js.There is also a persistence/config-writeback symptom that may be related. I ran a local repair script that waited until all
Codex.exe/codex.exeprocesses exited, then checked and added the MCP server. The log shows:After restarting Codex Desktop, the CLI/config can again show
node_repl, but the active thread still does not get themcp__node_repl__jstool. That suggests at least the tool-exposure layer is not consistent with the persisted MCP config. It may also overlap with the config writeback behavior discussed in #24718.Expected behavior:
[mcp_servers.node_repl]is present andcodex mcp get node_replreports it as enabled,mcp__node_repl__jsshould either be directly available or discoverable throughtool_searchin new Desktop threads.No credentials or tokens are included in this report.
Version 26.616.9593.0 update: tool now registered, but
actionfield leaks through namespace routingThe tool registration issue reported for 26.609 is partially resolved in 26.616 —
mcp__node_replnow appears in the model-visible tool list. However, the tool still cannot be called successfully due to a new routing-layer defect.Behavior observed on 26.616.9593.0 (Windows, Microsoft Store)
|
js_repl| Call parameters | Result ||---|---|---|
|
false|action="js"+code|unsupported call: js||
false|codeonly (noaction) |unsupported call: js||
true|action="js"+code| MCP error:-32602: unknown field 'action', expected 'title','code','timeout_ms'||
true|codeonly (noaction) |unsupported call: js|Key finding
With
js_repl = true, the call reaches thenode_repl.exeMCP server (returning a JSON-RPC error, not an "unsupported call" rejection). Thenode_replMCP server'sjstool expects{title, code, timeout_ms}. The Codex namespace-tool routing layer addsaction: "js"for sub-tool dispatch but does not strip it before forwarding — so the server rejects it as an unknown field.With
js_repl = false, calls are rejected at the Codex routing layer before reaching the MCP server, and the tool remains registered.Environment
26.616.9593.0node_repl-20260619.1, Node v24.14.0config.toml:js_replpersists astrueafter manual edit (unlike 26.609 where it was overwritten on restart)+1 from another Windows user. Confirming the bug still reproduces on a newer build than the ones already reported, and that the impact is broader than just
node_repl.My environment
OpenAI.Codex_26.623.11225.0_x64__2p2nqsd0c76g0)base_urlwithwire_api = "responses"(so the non-OpenAI path) - samerequires_openai_auth = trueshapeWhat I see
[mcp_servers.node_repl]is registered in~/.codex/config.toml, the bundlednode_repl.exeexists,nodeReplPathSource = bundled-or-dev,nodeVersionStatus = ok[features] js_repl = trueis set in the same filefalsein the on-diskconfig.toml(file mtime matches the launch)mcp__node_repl__jsis absent from the model-visible tool list/mcpin chat shows zero servers, even with three correctly-registered[mcp_servers.*]blocks (custom servers) in configmcp__node_repl__jsfrom the model returnsunsupported call: mcp__node_repl__jsBroader impact worth flagging
The gate does not only block
node_repl- it appears to suppress all custom[mcp_servers.*]blocks from being loaded. The MCP server processes themselves are fine (I can spawn them directly with the bundled node and they handshake/serve tools over stdio correctly), but Codex never tries to load them. Solist_mcp_resourcesreturns empty even though the config has the entries. This affects anyone who added a custom MCP server expecting it to show up in the tool list.Suggested fix (echoing the OP)
Either honor
[features] js_replon Windows, or expose node_repl registration as a separate[mcp_servers.node_repl].enabledflag independent of the experimental feature. At minimum, log a warning when an[mcp_servers.*]block is configured but skipped due to a closed feature gate, so users can diagnose the issue without having to dig through sqlite and logs.