[Windows][Browser] Trusted RPC service fails in D: workspace but succeeds in C: workspace

Resolved 💬 3 comments Opened Aug 18, 2026 by tzeler-a11y Closed Aug 19, 2026
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

Summary

On Windows ARM64, the bundled Browser/Edge control fails during bootstrap in a trusted workspace on drive D:, while the same Edge installation and Codex installation work from a fresh task in another project on drive C:.

The failing task never reaches browser discovery or page interaction. It stops with:

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

This appears to be task/workspace/path sensitive rather than an Edge extension or Native Messaging failure.

Environment

  • Windows, ARM64, locale de-DE
  • Codex Desktop package: OpenAI.Codex 26.814.5167.0
  • Codex CLI/runtime: 0.147.0
  • Browser plugin: browser@openai-bundled 26.814.41407
  • Chrome/extension plugin: chrome@openai-bundled 26.814.41407
  • Microsoft Edge extension: installed and enabled
  • Edge extension version: 1.2.30000.30_0
  • Edge extension ID: odlomjlbamekndcpllcnffbgeohgkmjh

Reproduction

  1. Start Codex Desktop and create a fresh task in a trusted project whose workspace is on D:.
  2. Ask Codex to test only the Edge connection, without opening a website.
  3. Browser runtime bootstrap fails immediately with the Trusted RPC error above.
  4. Repeat in another fresh task in the same D: project: same failure.
  5. Restart Codex and repeat: same failure.
  6. Restart Windows and repeat: same failure.
  7. Switch to a different project/workspace on C: and create a fresh task.
  8. Run the same Edge-connection-only test.
  9. Edge is detected and controllable. Repeating the test succeeds again.

No browser tab or website is opened in the failing case.

Expected behavior

The bundled browser service should be trusted and usable consistently in fresh trusted tasks, regardless of whether the workspace is on C: or D:.

Actual behavior

The browser service URL under %USERPROFILE%\.codex\plugins\cache\... is rejected as not resolving within a configured trusted code path in the D: project, even though %USERPROFILE%\.codex is present in NODE_REPL_TRUSTED_CODE_PATHS.

The same installation succeeds from a project on C:.

Diagnostics completed

Verified before reporting:

  • Browser, Chrome, and Computer Use plugins are installed and enabled.
  • Browser plugin was removed and re-added through the Codex CLI.
  • Codex CLI/runtime was updated from 0.146.0 to 0.147.0.
  • Windows App “Repair” was run.
  • Codex, Edge, and Windows were fully restarted.
  • Edge Native Messaging manifest exists and parses correctly.
  • Native host executable exists.
  • Edge extension origin is present in allowed_origins.
  • Per-user Edge Native Messaging registry entry points to the manifest.
  • Chrome fallback Native Messaging registry entry also points to the manifest.
  • The failing project is explicitly marked trust_level = "trusted".
  • The failing project contains no project-specific .codex or TOML configuration.
  • Global config contains:
  • NODE_REPL_TRUSTED_CODE_PATHS including C:\Users\<redacted>\.codex
  • NODE_REPL_TRUSTED_SERVICES pointing to the versioned browser-service.mjs
  • the configured browser-client SHA-256 allowlist
  • A temporary attempt to append the exact browser scripts directory to NODE_REPL_TRUSTED_CODE_PATHS was automatically regenerated away by Codex on restart and did not provide a durable test path.
  • No administrator privileges, Defender changes, broad filesystem permissions, or website workarounds were used.

Negative and positive controls

| Control | Result |
|---|---|
| Fresh task in trusted D: project | FAIL at Trusted RPC service resolution |
| Repeated fresh task in same D: project | FAIL |
| After Codex restart | FAIL |
| After Windows restart | FAIL |
| Fresh task in different C: project | PASS; Edge detected and controllable |
| Repeated test in the C: project | PASS |

Related issues

  • #21781 — Browser plugin trust/native-pipe failure on Windows
  • #25349 — Windows trusted runtime/access failure before Chrome bridge

This report may be a distinct cross-drive/workspace-path manifestation because the same installed browser runtime succeeds in a C: project and fails reproducibly in a D: project.

View original on GitHub ↗

3 Comments

github-actions[bot] contributor · 10 days ago

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

  • #39136

Powered by Codex Action

SenhuWong · 8 days ago

Additional reproduction on Windows x64 (2026-08-19):

  • Codex desktop package: 26.814.5167.0
  • Bundled Browser/Chrome plugin: 26.814.41407
  • Workspace is on drive D:
  • Edge browser control worked earlier the same day, then began failing consistently without any target-site interaction.
  • The failure occurs before tab discovery, so it is independent of the website or authentication state.
  • Full Codex/Edge restarts, permission re-approval, and removing/re-adding the browser extension/plugin did not recover it.
  • Chrome control now fails at the same bootstrap stage as Edge.

Error:

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

The referenced bundled service file exists and is readable. The generated configuration also names the Browser service path, but the active browser-control runtime still rejects it before connecting to Edge or Chrome.

No page contents, credentials, cookies, or remote commands were accessed during these tests.

tzeler-a11y · 8 days ago

Resolution report — workaround confirmed, closing as duplicate

I have completed a controlled investigation of this issue. The browser workflow is operational again in a qualified configuration. This is a workaround confirmation, not evidence that the underlying regression in the normal permission profile has been fixed.

Problem

Codex Desktop browser control failed on Windows during initialization, before browser discovery, tab selection, or access to any target website. The bundled browser service was rejected at the trusted RPC / trusted-worker boundary even though the referenced service existed and the expected trusted configuration was present.

This mattered operationally because the affected workflow requires frequent, reproducible navigation and file exports; manual intervention is not a sufficiently reliable substitute at scale.

The additional x64 reproduction from @SenhuWong confirms that this is not limited to one processor architecture and that it occurs before any website or authentication state becomes relevant.

Recovery paths considered but not adopted

  • Downgrading Codex Desktop: rejected as a durable solution because automatic updates could immediately reintroduce version drift. Permanently suppressing updates would also create maintenance, security, support, and reproducibility risks.
  • Changing between ARM64 and x64 packages: not pursued because the installed package ultimately worked and changing architecture would add another uncontrolled variable without addressing the demonstrated permission boundary.
  • Repairing/reinstalling the app or repeatedly rebuilding the plugin cache: not used as the solution because the available evidence did not indicate missing or corrupted bundled files.
  • Reinstalling Edge, Chrome, or their extensions: not retained because multiple browser surfaces failed at the same pre-browser bootstrap stage.
  • Moving the workspace between drives: tested rather than assumed. Equivalent fresh-task matrices on two local drives passed with identical fixtures once the working permission profile was used. The drive letter was therefore not the root cause.
  • Manual trusted-path configuration edits: rejected because application-managed configuration was regenerated and such edits would not be stable or supportable.

Working solution

The decisive workaround was:

  1. enable Full Access before starting the run;
  2. start a fresh task after Full Access is active;
  3. use the Codex In-App Browser for the qualified workflow;
  4. verify task/environment binding before navigation;
  5. close controlled tabs after every cycle;
  6. rerun a short browser smoke test after Codex, plugin, or major Windows updates.

The qualification was coordinated with GPT-5.6 Sol, reasoning effort High, in Full Access with network enabled. No external browser fallback was used in the final qualification.

Validation and duration

The workaround was validated through fresh tasks on two local drives, repeated navigation and page-state checks, 63 successful browser cycles across the documented matrices, restart checks, repeated hash-matched downloads, a representative large CSV download repeated three times, and four negative controls. A narrowly scoped technical TradingView chart-data export canary also passed. No strategy evaluation, optimization, broker action, alert, webhook, paper trade, live trade, or source-code modification was performed.

The auditable investigation lasted approximately 30 hours elapsed across two calendar days from the first recorded connection test to the final verified technical export. This was elapsed time, not continuous hands-on time.

Conclusion

The evidence supports a regression at the sandbox/trusted-worker permission boundary rather than a target-site problem, external-browser installation problem, or general drive-letter problem. The workflow is resolved for me under Full Access + fresh task + Codex In-App Browser, but the normal sandboxed/workspace profile may still be affected.

Thank you to everyone who contributed reproductions, diagnostics, and recovery ideas here and in #39136. Special thanks to @Ali-Karaki for the concrete observation that switching to Full Access and starting a fresh task restores browser control; that was the decisive recovery path. Thanks also to @SenhuWong for the independent x64 reproduction linked above.

I am closing this report as a duplicate of #39136 while preserving this comment as confirmation of the tested workaround and its limits.