Windows Codex Desktop: Browser Use IAB backend fails without Codex session metadata

Open 💬 1 comment Opened Apr 27, 2026 by Yemvis

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:

  1. Ask Codex to use @browser-use to inspect the current tab.
  2. The rowser-use skill instructs the agent to bootstrap with setupAtlasRuntime({ backend: "iab" }) through Node REPL.
  3. The required Node REPL execution tool is not exposed to the agent session.
  4. 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.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗