Browser Use and Chrome backend time out despite installed extension and valid native host
Summary
Codex Desktop Browser Use appears unable to connect to either the in-app browser (iab) or the Chrome extension backend. Both paths time out at the browser-client connection/listing stage.
This looks like a Browser Use/native pipe runtime issue rather than a Chrome extension installation issue.
Environment
- OS: macOS
- Chrome: 147.0.7727.139
- Codex Chrome Extension: 1.1.4
- Extension ID:
hehggadaopoacecdllhhajmbjkdcmajg - Codex Desktop app: 26.506.31421
What I checked
Chrome side appears healthy:
- Google Chrome is installed and running.
- Codex Chrome Extension is installed and enabled in the Default profile.
- Native Messaging Host manifest exists and points to:
/Users/timmy/.codex/plugins/cache/openai-bundled/chrome/latest/extension-host/macos/arm64/extension-host
- Manifest
allowed_originsmatches:
chrome-extension://hehggadaopoacecdllhhajmbjkdcmajg/
- The native
extension-hostprocess starts and opens a socket under:
/tmp/codex-browser-use/*.sock
Browser plugin side was also restored/verified:
[plugins."browser-use@openai-bundled"] enabled = true- Browser plugin cache exists at:
/Users/timmy/.codex/plugins/cache/openai-bundled/browser-use/0.1.0-alpha2
Actual behavior
Both browser backends fail:
agent.browsers.list()times out.- In-app browser (
iab) does not become usable. - Chrome backend also times out and cannot list tabs.
In Node REPL, import.meta.__codexNativePipe is undefined, even though request metadata advertises available browser backends:
"x-codex-browser-use-available-backends": ["chrome", "iab"]
Expected behavior
Codex should be able to initialize Browser Use and return available browser backends via browsers.list(), then connect to either the in-app browser or Chrome extension backend.
Notes
This may be related to the Browser Use / Chrome extension feature being new. The symptoms suggest the extension and native host are installed correctly, but the Codex Desktop runtime is not injecting or wiring the native pipe needed by browser-client.
5 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Adding another macOS repro with a post-workaround check.
Environment:
Observed:
Tried the workaround from #21672:
So this looks like the same shared Browser Use / Chrome bridge issue, and after the #21672 socket cleanup it behaves more like #21681: only the extension-host socket remains visible, but browser backend discovery/runtime initialization still hangs.
Adding one more datapoint because this issue mentions both IAB and Chrome timing out, which is what I saw before isolating sockets.
On macOS with Codex Desktop
26.506.31421/ build2620, Browser Use/IAB and Chrome were sharing/tmp/codex-browser-use. Chrome install checks were healthy:1.1.4_0installed / registered / enabledextension-hostprocess aliveBut the directory also had multiple Codex-owned IAB/browser-use socket pathnames.
@Chrometimed out during setup/tab listing while those were present.Moving only the non-
extension-hostsocket pathnames aside made the Chrome backend work immediately;browser.user.openTabs()returned tabs. That makes this look like shared Browser Use socket discovery getting wedged on unrelated candidates, not a Chrome Web Store / install / regional gating problem.Related: #21672 and #21719.
cc @cd-oai @mzeng-openai — this seems worth routing to whoever owns Codex Desktop browser-use backend discovery.
Adding a Windows repro with pipe-level evidence. This looks very close to the same shared Browser Use / Chrome backend discovery issue, but with an extra datapoint: disabling the Browser plugin does not remove the IAB backend from the runtime metadata.
Environment:
26.506.3741.0openai-bundled/chrome 0.1.7openai-bundled/browser-use 0.1.0-alpha2, explicitly disabled1.1.4_0hehggadaopoacecdllhhajmbjkdcmajgConfig after full Codex Desktop restart:
Chrome-side checks pass:
check-extension-installed.js --json: installed / registered / enabled, version1.1.4_0check-native-host-manifest.js --json: manifest exists, registry path matches, host name matches, allowed origin matcheschrome-extension://hehggadaopoacecdllhhajmbjkdcmajg/extension-host.exestart after launching ChromeObserved after restart:
setupAtlasRuntime({ globals: globalThis })fromchrome/0.1.7/scripts/browser-client.mjsstill times out after 45s.browser-useis disabled:Windows named pipes include one Chrome extension pipe plus multiple IAB pipes:
Direct JSON-RPC probing of those pipes shows Chrome itself is reachable:
One IAB pipe belongs to the current session:
Another IAB pipe returns:
So the Chrome extension/native host chain appears healthy, and the Chrome pipe can answer
getInfodirectly. The timeout appears to happen in the shared browser-client discovery/setup path while unrelated IAB pipes are present. The surprising part on Windows is that the Codex runtime still exposesiaband creates IAB pipes even whenbrowser-use@openai-bundledis disabled in config and Codex Desktop has been fully restarted.Expected:
browser-use@openai-bundledshould prevent IAB backend/pipe interference, orsetupAtlasRuntime()should ignore non-matching / wrong-session / stale IAB pipes and still initialize the Chrome extension backend.Adding a current macOS reproduction after applying the stale-socket workaround.
Environment:
Observed behavior:
Socket finding and partial workaround:
This appears to reproduce both layers discussed here: stale/unrelated socket discovery interference similar to #21672, followed by the non-responsive deep-control path similar to #21681. Socket isolation repairs discovery on this machine but does not repair navigation/DOM control. Restarting Codex and restarting the extension host did not resolve the second layer.
No Chrome profile data, cookies, browsing history, account data, proxy settings, or website-specific content were inspected or changed during this diagnosis.