What version of the Codex App are you using?
Codex App / Browser plugin release observed locally: 26.616.41845
What subscription do you have?
Not included here; this report is about local Codex App / bundled MCP runtime behavior.
What platform is your computer?
macOS
Additional local runtime details:
- Bundled Node:
v24.14.0
- Bundled node_repl path:
/Applications/Codex.app/Contents/Resources/cua_node/bin/node_repl
- Browser backend:
iab
- Local URL tested:
http://127.0.0.1:5173/
What issue are you seeing?
Codex App can open the in-app browser manually, and the Browser backend appears ready, but model-side Browser plugin use fails through the bundled node_repl MCP path.
I observed two related sandbox metadata compatibility failures around codex/sandbox-state-meta:
node_repl rejects missing sandboxPolicy:
Mcp error: -32602: js: codex/sandbox-state-meta: missing field sandboxPolicy
sandboxCwd can be passed as a file:// URL:
{
"sandboxCwd": "file:///Users/zhangyifan/self_driven"
}
The bundled runtime then fails while launching Node:
failed to start Node runtime: No such file or directory (os error 2)
My root-cause hypothesis is that the bundled node_repl expects sandboxCwd to already be a native filesystem path, but Codex App / the sender side can pass a file:// URL. I also found a metadata shape mismatch around sandboxPolicy.type: a payload with workspaceWrite is rejected by the bundled node_repl, while workspace-write is accepted.
What steps can reproduce the bug?
- Use Codex App on macOS with the bundled Browser plugin.
- Start or have a local web app available, for example
http://127.0.0.1:5173/.
- Manually opening the in-app browser works.
- Ask Codex to use the Browser plugin / in-app Browser against the local page.
- The model-side Browser flow fails in the
node_repl MCP path with sandbox metadata errors.
I verified a local workaround by setting CODEX_NODE_REPL_PATH to a wrapper that sits between Codex App and the bundled node_repl. The wrapper normalized the metadata before forwarding:
sandboxCwd: file:///Users/... -> /Users/...
sandboxPolicy.type: workspaceWrite -> workspace-write
- filled in missing sandbox metadata when safely derivable
After that workaround:
mcp__node_repl__js executed successfully
nodeRepl.cwd was /Users/zhangyifan/self_driven
- Browser runtime connected to
iab
- Codex could open and read
http://127.0.0.1:5173/
- The page title was read as
Self Driven
What is the expected behavior?
Codex App and bundled node_repl should agree on the codex/sandbox-state-meta payload shape.
In particular, node_repl or the sender side should handle:
sandboxCwd as either a native filesystem path or a file:// URL, normalizing to the native path before launching Node.
sandboxPolicy.type values consistently, or compatibly accept both the app-server/API style workspaceWrite and the legacy/sandbox-mode style workspace-write where this metadata boundary requires it.
- missing required metadata with a clear validation error that identifies the missing field and expected shape, rather than surfacing as
failed to start Node runtime: No such file or directory.
Additional information
I searched existing issues and found nearby Windows reports about missing field sandboxPolicy, but I did not find one covering this macOS sandboxCwd: file://... launch failure.
The bundled node_repl receiver implementation does not appear to be present in the public repo, but the public sender-side code that builds codex/sandbox-state-meta is present.
I prepared a small sender-side patch for reference, but did not open a PR because docs/contributing.md says unsolicited PRs are closed without review:
main...ruarua6666:codex/normalize-node-repl-sandbox-meta
That reference patch changes the public sender-side metadata to:
- include a legacy-compatible
sandboxPolicy
- serialize
sandboxCwd as an inferred native filesystem path instead of a file:// URI
- update the existing RMCP integration assertion for sandbox metadata
What version of the Codex App are you using?
Codex App / Browser plugin release observed locally:
26.616.41845What subscription do you have?
Not included here; this report is about local Codex App / bundled MCP runtime behavior.
What platform is your computer?
macOS
Additional local runtime details:
v24.14.0/Applications/Codex.app/Contents/Resources/cua_node/bin/node_repliabhttp://127.0.0.1:5173/What issue are you seeing?
Codex App can open the in-app browser manually, and the Browser backend appears ready, but model-side Browser plugin use fails through the bundled
node_replMCP path.I observed two related sandbox metadata compatibility failures around
codex/sandbox-state-meta:node_replrejects missingsandboxPolicy:sandboxCwdcan be passed as afile://URL:{ "sandboxCwd": "file:///Users/zhangyifan/self_driven" }The bundled runtime then fails while launching Node:
My root-cause hypothesis is that the bundled
node_replexpectssandboxCwdto already be a native filesystem path, but Codex App / the sender side can pass afile://URL. I also found a metadata shape mismatch aroundsandboxPolicy.type: a payload withworkspaceWriteis rejected by the bundlednode_repl, whileworkspace-writeis accepted.What steps can reproduce the bug?
http://127.0.0.1:5173/.node_replMCP path with sandbox metadata errors.I verified a local workaround by setting
CODEX_NODE_REPL_PATHto a wrapper that sits between Codex App and the bundlednode_repl. The wrapper normalized the metadata before forwarding:sandboxCwd:file:///Users/...->/Users/...sandboxPolicy.type:workspaceWrite->workspace-writeAfter that workaround:
mcp__node_repl__jsexecuted successfullynodeRepl.cwdwas/Users/zhangyifan/self_driveniabhttp://127.0.0.1:5173/Self DrivenWhat is the expected behavior?
Codex App and bundled
node_replshould agree on thecodex/sandbox-state-metapayload shape.In particular,
node_replor the sender side should handle:sandboxCwdas either a native filesystem path or afile://URL, normalizing to the native path before launching Node.sandboxPolicy.typevalues consistently, or compatibly accept both the app-server/API styleworkspaceWriteand the legacy/sandbox-mode styleworkspace-writewhere this metadata boundary requires it.failed to start Node runtime: No such file or directory.Additional information
I searched existing issues and found nearby Windows reports about
missing field sandboxPolicy, but I did not find one covering this macOSsandboxCwd: file://...launch failure.The bundled
node_replreceiver implementation does not appear to be present in the public repo, but the public sender-side code that buildscodex/sandbox-state-metais present.I prepared a small sender-side patch for reference, but did not open a PR because
docs/contributing.mdsays unsolicited PRs are closed without review:main...ruarua6666:codex/normalize-node-repl-sandbox-meta
That reference patch changes the public sender-side metadata to:
sandboxPolicysandboxCwdas an inferred native filesystem path instead of afile://URI