Desktop: @Browser mention does not bind the open IAB backend to the current task
What version of the Codex App are you using?
Codex Desktop: 26.707.72221 (build 5307)
Bundled Browser plugin: 26.707.72221
Bundled Codex CLI: 0.144.2
What subscription do you have?
Not included in this diagnostic.
What platform is your computer?
macOS 26.1.0, Apple Silicon
What issue are you seeing?
The Codex in-app browser is open and authenticated, and the Browser plugin is installed and enabled. However, using the real @Browser mention chip in the current root Desktop task does not register or bind an IAB backend for that task.
The task's Browser runtime reports:
await agent.browsers.list()
// []
await agent.browsers.get("iab")
// Browser is not available: iab
This remains true after:
- opening the in-app browser and navigating to an authenticated X Article;
- reopening the browser;
- selecting the actual Browser plugin mention (
@Browser) in the composer; - clicking the linked article from that Browser-tagged prompt;
- reinitializing the bundled Browser client in the same task.
The native app has IAB socket endpoints open, but none matches the current task/session filter used by the bundled Browser client. Submitting the proper Browser-tagged prompt did not create a new matching endpoint.
This appears to be a Desktop task-to-IAB session binding or backend registration failure, rather than a missing plugin or a closed browser.
What steps can reproduce the bug?
- On Codex Desktop 26.707.72221 for macOS, install and enable
browser@openai-bundled. - Open the Codex in-app browser and sign in to a site such as X.
- Open an authenticated page, for example an X Article.
- In the same root Desktop task, select the real
@Browserplugin mention chip and ask it to open the article URL. - Initialize the bundled Browser client as documented by the Browser skill.
- Run:
await agent.browsers.list()
await agent.browsers.get("iab")
- Observe that the backend list is empty and
get("iab")throwsBrowser is not available: iab.
What is the expected behavior?
After the user opens the built-in browser and explicitly tags @Browser in the current root Desktop task, Codex should bind or register that task's IAB backend.
await agent.browsers.list()
should include an iab backend, and:
await agent.browsers.get("iab")
should succeed.
If binding fails, the UI/runtime should report a specific session-registration error instead of returning an empty backend list.
Additional information
Diagnostics performed:
codex plugin listexited 0 and reportedbrowser@openai-bundledinstalled and enabled.- Browser-related feature flags were enabled:
in_app_browser,browser_use,browser_use_full_cdp_access,browser_use_external, andcomputer_use. - The app and Browser plugin versions match.
- Native IAB sockets existed and were owned by the Codex desktop app, but no endpoint matched the current task/session.
- Reinitializing the same bundled Browser client did not change discovery.
- The current Browser client caches the first empty discovery result and exposes no public refresh method, which may compound recovery after a late backend registration.
- No cookies, local storage, session contents, account identifiers, task IDs, socket UUIDs, or private page content were inspected or included.
Related reports:
- #26470 covers the broader case where installed Browser/Chrome plugins expose no registered backend.
- #32664 covers backend propagation differences across Desktop, CLI, and collaboration subagents.
- #20678 covers earlier IAB/Node runtime connection and session ownership failures.
The narrower behavior here is that a root Desktop task still has no matching IAB backend after the browser is visibly open and the actual @Browser mention is submitted in that same task.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗