[Windows] Bundled Browser service rejected because trusted code paths are not synchronized

Open 💬 5 comments Opened Aug 19, 2026 by usher123
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

What version of the Codex App are you using?

26.814.41407

What platform is your computer?

Windows 10 x64

What issue are you seeing?

The bundled in-app Browser plugin cannot initialize from a Codex Desktop thread. The Browser pane and IAB backend are available, but the trusted worker rejects the plugin's own bundled service module:

Trusted RPC dependency must resolve within a configured trusted code path: file:///C:/Users/Administrator/.codex/plugins/cache/openai-bundled/browser/26.814.41407/scripts/browser-service.mjs

Steps to reproduce

  1. Open Codex Desktop on Windows.
  2. Open an in-app Browser tab.
  3. In a Codex task with the bundled Browser skill, initialize the documented runtime using the absolute bundled path.
  4. Initialization fails before browser discovery with the error above.

Diagnostics already performed

  • The in-app Browser pane is visible and its backend reaches browser_use_iab_backend_startup_ready.
  • The bundled client and service files exist and their hashes match the bundled marketplace source.
  • A full Desktop restart, a fresh same-directory fork, and a JavaScript kernel reset do not fix it.
  • The Browser scripts directory is granted read access to the trusted-worker sandbox, but the worker still rejects its own service in isTrustedCodePath(). The filesystem allowlist and NODE_REPL_TRUSTED_CODE_PATHS appear not to be synchronized.

Expected behavior

Codex Desktop should register the active bundled Browser plugin's scripts directory as a trusted code root and provide a supported repair action if registration fails.

Additional notes

No third-party plugin or manually modified Browser file is involved.

View original on GitHub ↗

5 Comments

github-actions[bot] contributor · 9 days ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #39318
  • #39302
  • #39136
  • #39212
  • #39252

Powered by Codex Action

Bitwonderer · 9 days ago

I can reproduce this on Windows with Codex Desktop 26.814.5167.0 and Browser/Chrome bundle 26.814.41407.

I performed some additional diagnostics that may help narrow this down:

  • NODE_REPL_TRUSTED_CODE_PATHS includes C:\Users\<USERNAME>\.codex\.
  • NODE_REPL_TRUSTED_SERVICES maps "browser" to C:/Users/<USERNAME>/.codex/plugins/cache/openai-bundled/browser/26.814.41407/scripts/browser-service.mjs.
  • Resolve-Path confirms that browser-service.mjs is physically beneath C:\Users\<USERNAME>\.codex\.
  • Neither .codex nor the versioned Browser directory is a symlink or junction.
  • The workspace is also located on the C: drive.

The Browser bundle hashes match another reported failing installation:

  • browser-service.mjs: B6FD7F485FDF59CC4A25445479545B24972F6226C79C72AB7BD985D86F069615
  • browser-client.mjs: 3B9D8DCC6DC968887E8A969C63DAE6380E3C1C59FF5C474EB32DF08C353DAD87

Most importantly, I inspected the live node_repl.exe process using Microsoft Sysinternals Process Explorer. Its Windows process environment contains NODE_REPL_TRUSTED_CODE_PATHS, NODE_REPL_TRUSTED_SERVICES, CODEX_HOME, BROWSER_USE_AVAILABLE_BACKENDS, and the other generated MCP environment values.

In this case, the issue does not appear to be a failure to forward [mcp_servers.node_repl.env] into the process. The process receives the trust configuration, but nodeRepl.rpc("browser", ...) still reaches trusted_service_request and rejects the resolved bundled service path as being outside the configured trusted code paths.

I can provide a redacted Process Explorer screenshot showing the relevant environment variables from the live node_repl.exe process if useful.

<img width="1715" height="917" alt="Image" src="https://github.com/user-attachments/assets/ea3e9717-8791-4af1-90be-cee021aea984" />

Bitwonderer · 9 days ago

I did some deeper tracing of where the failure occurs.

  1. The configured trusted path is correct

config.toml contains:

[mcp_servers.node_repl.env]

NODE_REPL_TRUSTED_CODE_PATHS = 'C:\Users\<USERNAME>\.codex;C:\Users\<USERNAME>\AppData\Local\OpenAI\Codex\runtimes\cua_node\2fb562745e6d66f0\bin\node_modules'

NODE_REPL_TRUSTED_SERVICES = '{"browser":"C:/Users/<USERNAME>/.codex/plugins/cache/openai-bundled/browser/26.814.41407/scripts/browser-service.mjs","sky":"@oai/sky/service"}'

Resolving the paths in PowerShell gives:

Trusted root:
C:\Users\<USERNAME>\.codex

Service:
C:\Users\<USERNAME>\.codex\plugins\cache\openai-bundled\browser\26.814.41407\scripts\browser-service.mjs

Service appears beneath trusted root:
True

Neither .codex nor the versioned Browser directory is a symlink or junction.

The failing workspace is also on C:, so this is not a cross-drive workspace case.

  1. The live Windows process really receives those variables

Using Sysinternals Process Explorer, I inspected the Environment tab of the running node_repl.exe.

The process environment contains, among others:

NODE_REPL_TRUSTED_CODE_PATHS
NODE_REPL_TRUSTED_SERVICES
CODEX_HOME
BROWSER_USE_AVAILABLE_BACKENDS
NODE_REPL_NATIVE_PIPE_CONNECT_TIMEOUT_MS
SKY_CUA_NATIVE_PIPE

So this does not appear to be a failure to forward [mcp_servers.node_repl.env] to the Windows process.

  1. The Browser client is using the expected trusted RPC API

The bundled browser-client.mjs ultimately initializes Browser via:

const e = globalThis.nodeRepl;

const rpc = e.rpc;

const transport = {
  setup: params => rpc("browser", {
    method: "setup",
    params
  }),

  execute: params => rpc("browser", {
    method: "execute",
    params
  })
};

The client therefore passes only the logical service name "browser".

Inspecting nodeRepl.rpc shows that it routes the request into the internal trusted-worker mechanism:

requestTrustedWorker(
  execState,
  "trusted_service_request",
  {
    service,
    request,
  },
)

The failure therefore appears to occur after "browser" is resolved to the configured service path.

  1. Exact runtime failure

Both Browser and Chrome fail at the same point:

Trusted RPC dependency must resolve within a configured trusted code path:
file:///C:/Users/<USERNAME>/.codex/plugins/cache/openai-bundled/browser/26.814.41407/scripts/browser-service.mjs

This happens before tab discovery or page interaction.

  1. Bundle integrity

My bundled files hash to:

browser-service.mjs
B6FD7F485FDF59CC4A25445479545B24972F6226C79C72AB7BD985D86F069615

browser-client.mjs
3B9D8DCC6DC968887E8A969C63DAE6380E3C1C59FF5C474EB32DF08C353DAD87

Environment:

Codex Desktop: 26.814.5167.0
Browser bundle: 26.814.41407
Chrome bundle: 26.814.41407
Windows Microsoft Store app

Given that the service is physically under the trusted root, the live node_repl.exe process has the correct trusted variables, and nodeRepl.rpc("browser", ...) is reaching the trusted-service resolver, this looks like a bug in the Windows trusted-service path validation or canonicalization logic rather than missing configuration or failed environment propagation.

One possibly relevant detail is that the same location appears in three equivalent Windows forms during this flow:

C:\Users\<USERNAME>\.codex\
C:/Users/<USERNAME>/.codex/plugins/...
file:///C:/Users/<USERNAME>/.codex/plugins/...

I have not manually modified the generated trusted-path settings because they are security-sensitive and appear correct as generated.

opsharbour · 8 days ago

I am experiencing the same issue.

Environment:

  • Codex Desktop: 26.814.5167.0
  • Browser plugin: 26.814.41407
  • Windows: Microsoft Windows NT 10.0.26200.0 x64
  • Related feedback ID: 01a00a49-e9c4-7390-9b89-447d2979d0e9

I confirmed that NODE_REPL_TRUSTED_CODE_PATHS contains the bundled Browser scripts directory and that the corrected configuration survives a complete Codex restart.

However, inspecting nodeRepl.env in the active runtime shows that no NODE_REPL_* environment variables were passed to the bundled node_repl process.

The plugin therefore continues to fail with:

Trusted RPC dependency must resolve within a configured trusted code path:
file:///C:/Users/<user>/.codex/plugins/cache/openai-bundled/browser/26.814.41407/scripts/browser-service.mjs

This reproduces across multiple Codex tasks after a full system-tray exit and restart.

jyxjjj · 8 days ago

macOS here.