[Windows 26.814] Browser/Chrome repair flow does not rebuild trusted RPC configuration
Summary
On native Windows Codex Desktop, the documented Chrome repair flow does not recover Browser/Chrome control.
The Chrome plugin uninstall action reports Failed to uninstall plugin. After closing Chrome and Codex completely, removing/re-adding the Chrome plugin and extension, restarting the desktop app after reinstall, and testing from fresh tasks, both the built-in Browser and Chrome still fail before browser discovery with:
Trusted RPC dependency must resolve within a configured trusted code path:
.../openai-bundled/browser/26.814.41407/scripts/browser-service.mjs
This report is separate from #39173. That issue records the browser-control symptom. This issue focuses on the plugin uninstall/reinstall and trust-configuration lifecycle: the supported repair flow does not restore a trusted Browser RPC service.
Environment
- Windows x64
- Codex desktop package:
OpenAI.Codex_26.814.5167.0_x64 - Browser plugin:
26.814.41407 - Chrome plugin:
26.814.41407 - Chrome extension/native host: installed; side panel loads
Reproduction
- Install/enable the bundled Browser and Chrome plugins.
- Install the ChatGPT Chrome extension.
- Ask a fresh Codex task to access Chrome or the built-in browser.
- Observe the trusted RPC dependency error above.
- Attempt to remove the Chrome plugin in Codex.
- Observe
Failed to uninstall plugin. - Close the Chrome side panel and all Chrome processes.
- Fully terminate Codex and its browser extension host.
- Reopen Codex, remove/re-add the Chrome plugin, and reinstall the Chrome extension.
- Fully terminate Codex again after reinstall.
- Reopen Codex and test from a brand-new task.
- The same trusted-path failure occurs immediately.
The error also reproduces after starting a fresh browser runtime session.
Diagnostics
- The Chrome native-messaging registration and manifest are present and valid.
- The native host executable exists and starts.
- Browser and Chrome plugin files exist and are version-matched.
- The Browser and Chrome copies of
browser-client.mjsandbrowser-service.mjsare byte-identical. - Failure occurs before tab discovery, so it is not caused by the Chrome profile, website permissions, authentication state, blocklist, or target page.
- The same shared
browser-service.mjsrejection affects Chrome and the built-in browser.
Actual behavior
The supported uninstall/reinstall workflow either fails to uninstall or reinstalls without rebuilding a trust configuration that accepts the bundled Browser service. Fresh tasks and fresh runtime sessions continue rejecting Codex's own version-matched Browser service.
Expected behavior
- Removing the Chrome plugin should succeed when its active host is stopped, or explain which state prevents removal.
- Re-adding the Browser/Chrome plugins and restarting Codex should regenerate a valid trusted RPC service configuration.
- The version-matched bundled
browser-service.mjsshould resolve within an allowed trusted code path. - Fresh tasks should connect to the built-in browser and Chrome without manual cache or registry modification.
Related issues
- #39173 — same browser-control symptom; this report does not add a comment there.
- #39212 — same desktop/plugin version and trusted RPC error for the built-in Browser.
- #39136 — broader trusted RPC browser initialization failure.
No plugin cache, registry, security settings, or filesystem permissions were manually modified.
5 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Confirmed community downgrade workaround
Cross-referencing the original workaround from #39136:
Affected users report that downgrading the Windows desktop app from
26.814.5167.0to26.810.7004.0, then clearing the cached Browser and Chrome plugin folders, restores browser control:The official Store-signed x64 installer is available through OpenAI’s Windows deployment page:
https://learn.chatgpt.com/docs/enterprise/windows-deployment
Because that download URL is rolling and is not permanently pinned to
26.810.7004.0, affected users may want to download and preserve the currently working installer immediately. After recovery, decline the offered update until OpenAI confirms the26.814Browser/Chrome trusted-RPC regression is fixed.This is a community workaround, not an official fix. Back up relevant local state before deleting plugin caches.
Additional Windows reproduction with the same regression, plus missing Chrome native-messaging host registration.
Environment:
26.814.5167.026.814.41407Primary failure:
Background Chrome-tab control worked correctly for weeks, including the previous day. Codex could claim authenticated Chrome tabs and interact with
01a019b0-7728-7681-a9e7-4c4711537d50
Codex Desktop: 26.814.5167.0
Browser plugin: 26.814.41407
Chrome plugin: 26.814.41407
Windows x64
Same here — adding detailed diagnostics from a day of deep debugging on this machine. May help narrow it down.
Environment
OpenAI.Codex): 26.814.5517.0, runtime/CLI 26.814.41957Symptom — started immediately after the 26.814 auto-update on Aug 18 ~21:21 local: the Codex side panel in Chrome can read tabs (
getTabContextworks) but all interactive control is unavailable. Session system prompts contain: "…unavailable because the Codex Chrome native host did not provide a browser-client path… explain that the native host is out of date". Reinstalling the app, the extension, the plugin (and even Windows) does not help — matching this issue's title: the repair flow does not rebuild the needed state.Key finding — the native messaging chain is actually healthy. I interposed a tee wrapper on the native host and captured the wire traffic:
codexRuntime/helloandcodexRuntime/ensureboth succeed, and the ensure result contains the fullruntimeConfigincludingbrowserClientPathand a validlocalAppServerUrlwith token. Yet new side-panel sessions still compose the degraded "no browser-client path" instructions. So on this build the failure appears to be between the (successful) ensure result and the side panel's session composition, not in the host itself.Two additional bugs found while debugging that break every recovery path:
chrome-native-hosts-v2.jsonentries are never refreshed. The app writes its runtime entry (paths +presence.pid) once per app version and never updates presence on later startups. After an auto-update restarts the app,presence.pidpoints at a dead process forever. App updates also delete the previousruntimes\cua_node\<hash>directory, leaving older registry entries with a nonexistentnodePaththat still match host lookups. Manually settingentries: []in both copies (%LOCALAPPDATA%\OpenAI\Codex\and~/.codex/) and restarting the app forces a healthy re-registration (fresh live pid) — reinstalls never do this.scripts/check-native-host-manifest.js,scripts/installed-browsers.jsandscripts/open-chrome-window.js(chrome plugin) parsereg query <key> /veoutput looking for the literal value name(Default). Spanish Windows prints(Predeterminado)(German:(Standard), French:(par défaut), etc.), soreadWindowsRegistryValuereturns null and the checks report "Windows native host registry key does not exist" for a key that exists. Every native-host/browser detection based on these scripts fails on any localized Windows.Even after fixing both locally (verified: the plugin's own
check-native-host-manifest.js --jsonreturns"correct": true, and ensure returns a complete runtimeConfig on the wire), side-panel sessions on 26.814.41957 still receive the degraded prompt. No "Trusted RPC" errors appear in locallogs_2.sqlite, so this may be an additional regression alongside the trusted-code-path one tracked here.Happy to provide the full wire captures or logs if useful.