[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

Open 💬 5 comments Opened Jun 16, 2026 by esccq

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 the
node_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_

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗