Skip to content

Codex Desktop browser-use IAB backend sockets close without getInfo response on macOS #21711

@bouiboui

Description

@bouiboui

What version of the Codex App are you using (From “About Codex” dialog)?

Codex Desktop 26.506.21252 / bundle build 2575 on macOS arm64.

I also tested side-by-side rollbacks:

  • Production 26.506.20924 / build 2565: same IAB failure.
  • Production 26.429.61741 / build 2429: app could launch, but I could not send messages, so it was not usable for this test.

What subscription do you have?

ChatGPT account in Codex Desktop. (Exact plan omitted from public report.)

What platform is your computer?

macOS, Apple Silicon / arm64.

What issue are you seeing?

The browser-use:browser plugin cannot initialize the in-app browser backend. The Codex app advertises the IAB backend in tool metadata, and Codex owns sockets under /tmp/codex-browser-use, but the sockets close immediately without answering the JSON-RPC getInfo request. As a result, setupAtlasRuntime({ globals: globalThis, backend: "iab" }) fails before any browser tab can be controlled.

Observed error from the Node REPL call:

Failed to connect to browser-use backend "iab". No Codex IAB backends were discovered. Discovery diagnostics: listedPipes=3, candidates=5, browsers=0, iabBrowsers=0, failures=["discovered/connect/Error","discovered/connect/Error","discovered/connect/Error","legacy-iab/connect/Error","legacy-chrome/connect/Error"], pipeListingError=none.

I also directly probed the sockets with a length-prefixed JSON-RPC getInfo request. Each socket accepted the connection and then closed with no data:

socket probe 2026-05-08T09:47:12.013Z
2c7620c1-81a9-44e0-9815-ea8b8991d4b1.sock close <no data>
364e3c9d-f4f8-46ef-b9f1-e26abc88f031.sock close <no data>

The sockets are present and owned by Codex:

/tmp/codex-browser-use/*.sock

lsof -U shows the sockets held by the Codex process.

What steps can reproduce the bug?

  1. Launch Codex Desktop 26.506.21252 on macOS arm64.
  2. Open the in-app browser on a local app URL, e.g. http://127.0.0.1:5173/....
  3. In a thread with the browser-use:browser skill available, run:
const { setupAtlasRuntime } = await import('/Users/<user>/.codex/plugins/cache/openai-bundled/browser-use/0.1.0-alpha1/scripts/browser-client.mjs');
await setupAtlasRuntime({ globals: globalThis, backend: 'iab' });
  1. Observe that browser-use discovery reports browsers=0, iabBrowsers=0 even though /tmp/codex-browser-use/*.sock exists.

What is the expected behavior?

At least one Codex IAB backend should respond to getInfo; discovery should produce browsers=1, iabBrowsers=1 for the current session, and agent.browser.tabs.selected() should be able to control the in-app browser tab.

What do you see instead?

The sockets close immediately without a getInfo response, so browser-use cannot discover or control the in-app browser.

Additional information

Local diagnostic bundle was generated with:

/tmp/codex-iab-diagnostics-20260508-114711.txt

I can provide sanitized excerpts if useful. I did not attach the full file publicly because it contains local paths/process arguments.

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appbrowserbugSomething isn't workingconnectivityIssues involving networking or endpoint connectivity problems (disconnections)

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions