Windows Codex App: Browser Use fails to discover IAB backend despite node_repl and in-app browser working
What version of the Codex App are you using (From “About Codex” dialog)?
26.429.8261.0
What subscription do you have?
ChatGPT Plus
What platform is your computer?
Microsoft Windows NT 10.0.26200.0 x64
What issue are you seeing?
````markdown
Browser Use fails to connect to the Codex in-app browser backend on Windows.
The Browser Use plugin is installed, browser-client.mjs exists and imports correctly, node_repl.exe works in normal PowerShell, and node_repl/js can execute simple JavaScript. The in-app browser can also be opened manually.
However, Browser Use fails during IAB initialization:
await setupAtlasRuntime({ globals: globalThis, backend: "iab" });
````
The error is:
```text
Failed to connect to browser-use backend "iab".
No Codex IAB backends were discovered.
Discovery diagnostics: listedPipes=2/3, candidates=4/5, browsers=0, iabBrowsers=0, failures=["discovered/timeout","discovered/timeout","legacy-iab/timeout","legacy-chrome/timeout"], pipeListingError=none.
In one diagnostic run, visible Browser Use pipes included:
codex-browser-use-2241ee4f-6b6b-443d-a2a8-a832e8779a19
codex-browser-use-168dd6a5-1fce-45e4-b249-7412980694ff
The pipes are visible, but the Browser Use handshake does not complete. No IAB browser backend is detected.
This appears to be a Browser Use / IAB backend discovery, handshake, or session binding issue in the Windows Codex App.
````
What steps can reproduce the bug?
1. Install and log in to the Codex Windows App.
2. Enable the bundled Browser Use plugin.
3. Open a trusted workspace, for example:
```text
C:\Users\ww342\Documents\New project
````
4. Confirm that `node_repl.exe` exists:
```text
C:\Users\ww342\AppData\Local\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Local\OpenAI\Codex\bin\node_repl.exe
- Run the following in normal PowerShell:
& "C:\Users\ww342\AppData\Local\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Local\OpenAI\Codex\bin\node_repl.exe" --help
This works and prints the Node REPL help output.
- In Codex, verify that
node_repl/jsworks:
console.log("node repl ok");
This works.
- Open the in-app browser manually. It opens successfully.
- Run the following Browser Use IAB diagnostic through
node_repl/js:
const pluginRoot = "C:/Users/ww342/.codex/plugins/cache/openai-bundled/browser-use/0.1.0-alpha1";
const { setupAtlasRuntime } = await import(`${pluginRoot}/scripts/browser-client.mjs`);
const timeout = new Promise((_, reject) => {
setTimeout(() => reject(new Error("IAB setup timeout after 15000ms")), 15000);
});
try {
await Promise.race([
setupAtlasRuntime({ globals: globalThis, backend: "iab" }),
timeout
]);
console.log("IAB setup ok");
await agent.browser.nameSession("IAB diagnostic");
const tabs = await agent.browser.tabs.list();
console.log("tabs.list:", JSON.stringify(tabs));
const tab = await agent.browser.tabs.new();
await tab.goto("https://example.com");
console.log("title:", await tab.title());
} catch (e) {
console.log("IAB setup failed:");
console.log(e && (e.stack || e.message || String(e)));
}
- The initialization fails with:
Failed to connect to browser-use backend "iab".
No Codex IAB backends were discovered.
Discovery diagnostics: listedPipes=2/3, candidates=4/5, browsers=0, iabBrowsers=0, failures=["discovered/timeout","discovered/timeout","legacy-iab/timeout","legacy-chrome/timeout"], pipeListingError=none.
Additional sandbox tests:
[windows]
sandbox = "elevated"
Result:
node_repl/jsworks.- Browser Use IAB discovery fails.
[windows]
sandbox = "unelevated"
Result:
node_repl/jstimes out and the kernel resets.
[windows]
sandbox = "elevated"
sandbox_private_desktop = false
Result:
node_repl/jsalso times out.
The most stable local configuration is:
[windows]
sandbox = "elevated"
but Browser Use still cannot discover the IAB backend.
What steps can reproduce the bug?
````markdown
- Install and log in to the Codex Windows App.
- Enable the bundled Browser Use plugin.
- Open a trusted workspace, for example:
C:\Users\ww342\Documents\New project
- Confirm that
node_repl.exeexists at:
C:\Users\ww342\AppData\Local\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Local\OpenAI\Codex\bin\node_repl.exe
- Run the following in normal PowerShell:
& "C:\Users\ww342\AppData\Local\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Local\OpenAI\Codex\bin\node_repl.exe" --help
This works and prints the Node REPL help output.
- In Codex, verify that
node_repl/jsworks:
console.log("node repl ok");
This also works.
- Open the Codex in-app browser manually. The in-app browser opens successfully.
- Run the following Browser Use IAB diagnostic through
node_repl/js:
const pluginRoot = "C:/Users/ww342/.codex/plugins/cache/openai-bundled/browser-use/0.1.0-alpha1";
const { setupAtlasRuntime } = await import(`${pluginRoot}/scripts/browser-client.mjs`);
const timeout = new Promise((_, reject) => {
setTimeout(() => reject(new Error("IAB setup timeout after 15000ms")), 15000);
});
try {
await Promise.race([
setupAtlasRuntime({ globals: globalThis, backend: "iab" }),
timeout
]);
console.log("IAB setup ok");
await agent.browser.nameSession("IAB diagnostic");
const tabs = await agent.browser.tabs.list();
console.log("tabs.list:", JSON.stringify(tabs));
const tab = await agent.browser.tabs.new();
await tab.goto("https://example.com");
console.log("title:", await tab.title());
} catch (e) {
console.log("IAB setup failed:");
console.log(e && (e.stack || e.message || String(e)));
}
- The initialization fails with:
Failed to connect to browser-use backend "iab".
No Codex IAB backends were discovered.
Discovery diagnostics: listedPipes=2/3, candidates=4/5, browsers=0, iabBrowsers=0, failures=["discovered/timeout","discovered/timeout","legacy-iab/timeout","legacy-chrome/timeout"], pipeListingError=none.
Additional sandbox tests:
[windows]
sandbox = "elevated"
Result:
node_repl/jsworks.- Browser Use IAB discovery fails.
[windows]
sandbox = "unelevated"
Result:
node_repl/jstimes out and the kernel resets.
[windows]
sandbox = "elevated"
sandbox_private_desktop = false
Result:
node_repl/jsalso times out.
The most stable local configuration is:
[windows]
sandbox = "elevated"
but Browser Use still cannot discover the IAB backend.
````
What is the expected behavior?
Browser Use should be able to discover and connect to the active Codex in-app browser backend on Windows.
The following initialization should succeed:
await setupAtlasRuntime({ globals: globalThis, backend: "iab" });
After initialization, Browser Use should expose the agent.browser.tabs.* API, create or select an in-app browser tab, navigate to https://example.com, and return the page title.
Expected diagnostic result:
IAB setup ok
title: Example Domain
Expected functional behavior:
const tab = await agent.browser.tabs.new();
await tab.goto("https://example.com");
console.log(await tab.title());
Expected output:
Example Domain
In normal use, @Browser / Browser Use should be able to open, inspect, and control the Codex in-app browser without falling back to webpage source reading or reporting that no IAB backend was discovered.
Additional information
Browser Use plugin version: 0.1.0-alpha1
Browser Use plugin path:
C:\Users\ww342\.codex\plugins\cache\openai-bundled\browser-use\0.1.0-alpha1
Node REPL path:
C:\Users\ww342\AppData\Local\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Local\OpenAI\Codex\bin\node_repl.exe
What has been ruled out:
- The Browser Use plugin root exists.
scripts/browser-client.mjsexists.browser-client.mjsimports quickly.node_repl.exe --helpworks in normal PowerShell.node_repl/jscan executeconsole.log("node repl ok").- The in-app browser can be opened manually.
- Normal webpage reading works.
- Network access is available.
- HTTP/HTTPS proxy configuration is working.
NO_PROXYincludeslocalhost,127.0.0.1,::1.
Current most stable local configuration:
[windows]
sandbox = "elevated"
Other sandbox configurations were tested:
[windows]
sandbox = "unelevated"
This caused node_repl/js to time out and reset the kernel.
[windows]
sandbox = "elevated"
sandbox_private_desktop = false
This also caused node_repl/js to time out.
Observed Browser Use failure:
Browser Use pipes are visible, but the IAB backend does not complete the Browser Use handshake. The diagnostic reports browsers=0 and iabBrowsers=0, with discovered/timeout and legacy-iab/timeout failures.
This issue appears to be related to Browser Use / IAB backend discovery, IPC, or session binding inside the Windows Codex App.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗