Windows Codex Desktop: Browser Use IAB backend fails without Codex session metadata
Summary
In Codex Desktop on Windows, the rowser-use skill can be present and its bundled rowser-client.mjs can exist, but attempts to use the in-app browser backend fail because the runtime cannot see the current Codex session metadata.
This blocks agents from verifying the currently open in-app browser tab, even when the user explicitly asks to use @browser-use.
Environment
- OS: Windows
- App surface: Codex Desktop / in-app browser
- Browser plugin: openai-bundled/browser-use/0.1.0-alpha1
- Skill path loaded successfully: C:\Users\Walter\.codex\plugins\cache\openai-bundled\browser-use\0.1.0-alpha1\skills\browser\SKILL.md
- Browser client exists: C:\Users\Walter\.codex\plugins\cache\openai-bundled\browser-use\0.1.0-alpha1\scripts\browser-client.mjs
What happened
The user asked the agent to check a deployed app using @browser-use. Tool discovery did not expose the required Node REPL js tool for the browser-use workflow. As a fallback diagnostic, running the bundled browser client directly through Node produced this error:
ext
Error: Failed to connect to browser-use backend "iab". No current Codex session metadata was available, so IAB ownership could not be checked.
Reproduction
From a Codex Desktop session on Windows where the in-app browser is open:
- Ask Codex to use @browser-use to inspect the current tab.
- The rowser-use skill instructs the agent to bootstrap with setupAtlasRuntime({ backend: "iab" }) through Node REPL.
- The required Node REPL execution tool is not exposed to the agent session.
- Running the bundled client manually confirms the backend cannot associate with the current session metadata.
Diagnostic JavaScript used:
js
const { setupAtlasRuntime } = await import("file:///C:/Users/Walter/.codex/plugins/cache/openai-bundled/browser-use/0.1.0-alpha1/scripts/browser-client.mjs");
await setupAtlasRuntime({ globals: globalThis, backend: "iab" });
await agent.browser.nameSession("Noah WhatsApp check");
const tab = await agent.browser.tabs.selected() || await agent.browser.tabs.new();
console.log("url=" + await tab.url());
Result:
ext
Failed to connect to browser-use backend "iab". No current Codex session metadata was available, so IAB ownership could not be checked.
Expected behavior
When the Browser Use plugin is available and the in-app browser is open, Codex should expose the required Node REPL execution path with the current session metadata so agents can call:
js
await setupAtlasRuntime({ globals: globalThis, backend: "iab" });
and then inspect/navigate the active in-app browser tab.
Actual behavior
The browser-use workflow is unavailable from the agent session, and direct client bootstrap fails because globalThis.nodeRepl?.requestMeta?.["x-codex-turn-metadata"] is missing.
Related issues
This may be related to:
- #19365
- #19693
- #19187
This report is specifically for the iab backend failing due to missing Codex session metadata / missing Node REPL bridge in an active Codex Desktop session.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗