Codex Chrome plugin shows Connected on Windows, but Codex cannot control Chrome and initialization times out
What version of the Codex App are you using (From “About Codex” dialog)?
Unknown, latest Windows desktop app reinstalled on 2026-05-12
What subscription do you have?
ChatGPT Plus
What platform is your computer?
Microsoft Windows NT 10.0.19045.0 x64
What issue are you seeing?
I’m using the Codex desktop app with the Chrome plugin on Windows. The Chrome extension popup shows Connected, but Codex still cannot read Chrome tabs or control the page.
Confirmed details:
- The Chrome extension is installed and enabled, version
v1.1.4 - The Windows Native Messaging Host manifest exists:
C:\Users\chen\AppData\Local\OpenAI\extension\com.openai.codexextension.json
- The registry key exists:
HKCU\Software\Google\Chrome\NativeMessagingHosts\com.openai.codexextension
- The manifest points to:
C:\Users\chen\.codex\plugins\cache\openai-bundled\chrome\latest\extension-host\windows\x64\extension-host.exe
- On the Codex side, calling
browser.user.openTabs()keeps timing out - Reinstalling Codex, restarting Chrome, restarting Codex, and clearing
extension-host.exeprocesses did not fix the issue - Chrome can be opened to a URL through a system command, but Codex cannot take control of the page, click elements, upload files, or read tabs
What steps can reproduce the bug?
- Install or reinstall the Codex desktop app on Windows.
- Enable/install the Chrome plugin.
- Open Chrome and confirm the Codex Chrome extension popup shows
Connected. - Ask Codex to control Chrome, for example to open tabs or interact with a logged-in website.
- Codex attempts to initialize the Chrome browser control backend.
- The operation times out, for example when trying to call
browser.user.openTabs().
What is the expected behavior?
Codex should be able to read the current Chrome tabs and control the page through the Chrome plugin when the extension shows Connected.
Additional information
The Chrome extension shows Connected, but Codex cannot read tabs or control Chrome. The browser control module times out during initialization.
6 Comments
I am seeing what looks like the same Chrome plugin failure on Windows.
Related issue:
Environment
chrome@openai-bundled 0.1.71.1.4 / 1.1.4_0hehggadaopoacecdllhhajmbjkdcmajgDefaultcom.openai.codexextensionWIN-0H28B45NIHJ\CodexSandboxOfflineDiagnostics
The extension and native host appear to be installed and connected:
HKCU\Software\Google\Chrome\NativeMessagingHosts\com.openai.codexextensionC:\Users\Administrator\AppData\Local\OpenAI\extension\com.openai.codexextension.jsonC:\Users\Administrator\.codex\plugins\cache\openai-bundled\chrome\latest\extension-host\windows\x64\extension-host.exeCodexSandboxOfflinecan read:C:\Users\Administrator\AppData\Local\Google\Chrome\User Datainstalled=trueregistered=trueenabled=truedisabled=falseNATIVE_HOST_STATUS.state = "connected"hostName = "com.openai.codexextension"reconnectAttempt = 0extension-host.exeis running.Failure
Even though the extension reports that the native host is connected:
agent.browsers.list()can see the Chrome backend.agent.browsers.get(Chrome extension backend)times out indefinitely.browser.user.openTabs()cannot be reached because backend acquisition hangs.I have already tried:
extension-host.exeNone of these fixed the issue.
Conclusion
This does not look like a registry, Chrome profile permission, or extension installation problem.
The Chrome extension and native host appear to connect successfully, but Codex Desktop still cannot acquire the Chrome extension backend. It looks more like a Codex Desktop / Chrome plugin runtime issue.
Adding another Windows reproduction from Codex Desktop.
Environment:
OpenAI.Codex_26.519.2081.0_x64__2p2nqsd0c76g0hehggadaopoacecdllhhajmbjkdcmajg1.1.4_0%USERPROFILE%\.codex\plugins\cache\openai-bundled\chrome\26.519.21041Observed behavior:
@chromeis recognized by Codex, but the browser-control / node_repl tools are not exposed to the conversation.@chromeonly returns unrelated tools such as GitHub/Canva, not the Chrome browser-client execution tool.Diagnostics already checked:
Defaultprofile.HKCU\Software\Google\Chrome\NativeMessagingHosts\com.openai.codexextension.%LOCALAPPDATA%\OpenAI\extension\com.openai.codexextension.json.chrome-extension://hehggadaopoacecdllhhajmbjkdcmajg/.extension-host.exeis running from the Chrome plugin cache path.Additional note:
node.exeunderC:\Program Files\WindowsApps\...\app\resources\node.exereturnedAccess is deniedwhen invoked directly from PowerShell, while an alternate Codex runtime Node under%USERPROFILE%\.cache\codex-runtimes\...\node.exeworks. Prepending that working Node to the user PATH madenode -vsucceed, but@chromestill did not expose the Chrome browser-control tools.Recovery attempts that did not fix it:
extension-host.exebefore reinstalling the plugin.Current conclusion: local Chrome extension and native host appear healthy, but Codex Desktop plugin/tool routing is not exposing the Chrome browser-client/node_repl execution tools to the conversation after
@chrome.I saw a similar Windows pattern: the Chrome extension could work right after install, but later Codex would no longer expose/control Chrome even though the extension popup looked connected.
The workaround that consistently helped locally was:
chrome.exeandextension-host.exeare gone.I wrote a short troubleshooting guide here:
https://treasure-lung-30f.notion.site/Codex-Chrome-Extension-on-Windows-Setup-and-Troubleshooting-Guide-36830cb58ab8816eb0a4e8b93153a94c
Not an official fix, just a user-tested workaround in case it saves someone time.
I can reproduce a closely related Windows Chrome plugin failure in Codex Desktop.
Environment / local state:
chrome@openai-bundledenabled.26.519.41501.Profile 3), extension version1.1.5_0.hehggadaopoacecdllhhajmbjkdcmajg.%USERPROFILE%\AppData\Local\OpenAI\extension\com.openai.codexextension.jsonand points to%USERPROFILE%\.codex\plugins\cache\openai-bundled\chrome\latest\extension-host\windows\x64\extension-host.exe.reg query HKCU\Software\Google\Chrome\NativeMessagingHosts\com.openai.codexextensionshows the default value pointing to that manifest.Observed behavior:
"Codex" started debugging this browser.extension-host.exeand resetting the Node REPL/browser runtime allowsbrowser.user.openTabs()to work again temporarily, but the stuck tab remains associated with an old browser session.Concrete errors observed:
and then, when trying to reclaim the stuck tab:
The current session can list tabs and can claim some duplicate tabs, but one stuck tab remains permanently owned by the previous browser session. Calling
browser.tabs.finalize({ keep: [] })from the current session does not release that old tab becausebrowser.tabs.list()is empty for the current session.One additional oddity: direct PowerShell/.NET registry reads show the native messaging host key exists and has the correct default value, but the plugin diagnostic script still reported:
So this looks like a stale browser-session ownership / native pipe lifecycle bug, plus possibly an inconsistent Windows registry read in
check-native-host-manifest.js.Closing as a duplicate of #21698.
Disclosure: I maintain WinBridge Recovery: https://github.com/zemeng5208/winbridge-recovery
This thread is a good boundary case for a local repair tool. Some reproductions show the Chrome extension, registry/manifest and
extension-host.exeall present — in one case the Chrome backend is even visible — but backend acquisition or the browser-control/node_repl tool route still hangs or disappears.WinBridge checks whether that apparently healthy surface is hiding mixed Windows state: active
CODEX_HOME, bundled marketplace, concrete plugin cache/latest, native-host manifest + registry/v2 state, andcua_node/node_replruntime references are compared against the official installed package together. Reinstalling just the Chrome plugin does not necessarily repair all of those layers.But if those local layers validate and the host really is connected while
agent.browsers.get("extension")still times out, WinBridge should not claim to fix a Desktop routing/backend handshake. It reports that boundary as upstream rather than repeatedly rewriting a healthy native-host registration.If anyone with this exact “Connected / host running / acquisition still hangs” state tries WinBridge, please leave the result at https://github.com/zemeng5208/winbridge-recovery/issues/4. ✅ fixed, 🟡 local inconsistencies repaired but timeout remained, and ❌ no change are all useful field results.