VS Code Codex browser plugin installed, but no session-owned browser route is registered

Open 💬 10 comments Opened May 31, 2026 by mikkelaustin
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

Summary

In VS Code Codex on Windows, the Browser plugin appears installed and enabled, but no browser backend is exposed to the active Codex session. Browser discovery returns an empty list, and direct browser lookups fail.

The same machine has a working Codex Desktop session where the in-app browser works correctly, so this appears specific to the VS Code Codex session/browser route registration.

Environment

  • OS: Windows
  • Host: VS Code Codex extension
  • Codex extension binary path observed:

c:\Users\Mikke\.vscode\extensions\openai.chatgpt-26.527.31454-win32-x64\bin\windows-x86_64\codex.exe

  • Browser plugin enabled in C:\Users\Mikke\.codex\config.toml:

browser@openai-bundled

  • Browser plugin versions present:
  • 26.519.31651
  • 26.527.31326
  • Feature flags observed:
  • browser_use = true
  • browser_use_external = true
  • in_app_browser = true

What works elsewhere

In Codex Desktop on the same machine, the in-app browser works:

  • Browser surface: Codex In-app Browser
  • Browser client type/id: iab
  • Working plugin path:

C:\Users\Mikke\.codex\plugins\cache\openai-bundled\browser\26.527.31326\

  • Browser client module:

C:\Users\Mikke\.codex\plugins\cache\openai-bundled\browser\26.527.31326\scripts\browser-client.mjs

  • Smoke test passed there:
  • Opened https://example.com/
  • Read title: Example Domain
  • Read URL: https://example.com/
  • Inspected DOM/text content
  • Found the "Learn more" link target

What fails in VS Code Codex

Using the Browser plugin bootstrap pattern in VS Code Codex:

const { setupBrowserRuntime } = await import('file:///C:/Users/Mikke/.codex/plugins/cache/openai-bundled/browser/26.527.31326/scripts/browser-client.mjs');
await setupBrowserRuntime({ globals: globalThis });
const browsers = await agent.browsers.list();

Observed result:

{
  "browsers": []
}

Trying direct browser IDs also fails:

agent.browsers.get('iab')       -> Browser is not available: iab
agent.browsers.get('chrome')    -> Browser is not available: chrome
agent.browsers.get('extension') -> Browser is not available: extension
agent.browsers.get('cdp')       -> Browser is not available: cdp

Using the newer browser plugin bundle gives this more specific error:

IAB_DISCOVERY no session-owned iab browser
No Codex browser route is available for browser session ...
reason: no-iab-backends

Expected behavior

Since the Browser plugin is installed/enabled and the same machine can run the Codex Desktop in-app browser, VS Code Codex should either:

  1. register a session-owned iab browser route, or
  2. expose a clear setup/error message explaining how to create/attach the browser route for the VS Code session.

Actual behavior

The VS Code Codex session has no registered browser backend. The plugin is present and loads, but agent.browsers.list() returns [].

Impact

This prevents Codex in VS Code from visually opening, testing, or screenshotting local web pages even though the Browser plugin appears enabled and available.

View original on GitHub ↗

10 Comments

github-actions[bot] contributor · 2 months ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #24871

Powered by Codex Action

JoeRoddy · 2 months ago

The same issue is happening in codex CLI as well:
https://github.com/openai/codex/issues/25647

lorenzocampanile · 2 months ago

Same +1 (VSCode plugin, MacOS)

marcia-schulman · 2 months ago

Same +1 same setup as OP

osazemeu · 2 months ago

Same +1 (VSCode plugin, MacOS)

elma7y · 2 months ago

same +1 (cursor, windows)

petejos80 · 1 month ago

Same issue. (vscode on mac)

singhyun90 · 1 month ago

I can reproduce this on a newer Windows/VS Code/Codex extension combination, specifically through the VS Code Sharing with Agent UI.

Environment

  • Windows x64: Microsoft Windows NT 10.0.19045.0
  • VS Code: 1.130.0 (x64)
  • Codex extension: openai.chatgpt@26.721.41059
  • Page tested: a local page at http://127.0.0.1:8502/

Reproduction

  1. Open the local page in the VS Code web page/editor surface.
  2. Enable Sharing with Agent. The UI visibly shows the active “Sharing with Agent” indicator.
  3. Ask Codex in a new chat to inspect the shared page.
  4. Initialize the bundled browser client and request the iab browser.

Actual result

The visible VS Code UI says the page is shared, but the Codex session cannot discover any browser backend:

agent.browsers.get("iab") -> Browser is not available: iab
agent.browsers.list()      -> []

This remained reproducible after disabling/re-enabling Sharing with Agent, starting a new chat, reselecting the latest VS Code target, and reconnecting the web page several times.

Expected result

When VS Code displays the active Sharing with Agent indicator, the current Codex session should receive a session-owned browser route and agent.browsers.list() should expose it.

This supports the original report’s diagnosis: the page-sharing UI and the session-owned browser route registration can become inconsistent. A privacy-redacted screenshot showing the active sharing indicator is available if maintainers need it; the rendered web application content has been fully covered.

nycgavin · 23 days ago

Same problem with me. generated this:

Browser discovery returns an empty list in the Codex VS Code extension, while
the in-app browser works in the ChatGPT/Codex desktop app on the same Mac and
account.

Environment:

  • macOS 15.2, arm64
  • VS Code 1.131.0
  • OpenAI extension openai.chatgpt 26.727.40816
  • VS Code bundled codex-cli 0.146.0-alpha.9.2
  • ChatGPT desktop app 26.721.81911
  • Desktop app codex-cli/browser helper 0.146.0-alpha.3.1
  • Browser plugin/runtime 26.721.81911
  • Authentication method: ChatGPT

Reproduction:

  1. Start a local Codex chat in VS Code.
  2. Ask Codex to open a URL in the browser.
  3. Browser runtime initializes successfully.
  4. agent.browsers.list() returns [].
  5. getForUrl(...) reports "No browser is available."

Expected:
At least the in-app browser backend should be returned because the desktop
bridge and Browser plugin are active.

Relevant diagnostics:

  • "ChatGPT desktop bridge active"
  • "Desktop bridge registered"
  • "IAB_LIFECYCLE webview captured browser use session route"
  • Auth lookup reports authenticatedAccountPresent=true and result=succeeded
  • GET /settings/user returns HTTP 403
  • Browser request metadata has thread/progress fields but no browser backend
  • No Salesforce page navigation or browser authentication was reached

Possible version skew:

  • VS Code extension/browser client is 26.727
  • Installed desktop helper/browser runtime is 26.721
JayeshSteed26 · 2 days ago

Same Issue here, codex keeps trying to verify UI using "Browser-Control" skill and keeps wasting time and tokens on this in every unspecified project. I have to specifically write instructions in AGENTS.md to keep it from wasting time for checking this again and again.