Codex VS Code chat plugin not connecting to local in-app browser

Open 💬 2 comments Opened Aug 21, 2026 by Rainier-MSFT
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

What version of the IDE extension are you using?

26.5818.31338

What subscription do you have?

Copilot Business

Which IDE are you using?

VS Code

What platform is your computer?

Microsoft Windows NT 10.0.26200.0 x64

What issue are you seeing?

All attempts to load the built-in browser for testing fail, preventing testing of web based code.

What steps can reproduce the bug?

Codex will often try to validate code via the local browser, but eventually fail and fall back to asking the user to perform the tests. I have also asked Codex as below:

Can you open the local IDE browser?

I’m using the in-app browser control skill to open the local IDE browser.

<details><summary>Called a tool</summary> MCP tool call node_repl.js ``json { "title": "Connect to IDE browser", "code": "if (globalThis.agent?.browsers == null) {\n const { setupBrowserRuntime } = await import(\"C:/Users/nnnnn/.codex/plugins/cache/openai-bundled/browser/26.715.72359/scripts/browser-client.mjs\");\n await setupBrowserRuntime({ globals: globalThis });\n}\nif (globalThis.iab == null) {\n globalThis.iab = await agent.browsers.get(\"iab\");\n nodeRepl.write(await iab.documentation());\n}" } ` `text Browser is not available: iab ` </details> The IDE browser connection didn’t appear on the first attempt, so I’m checking the built-in recovery path and retrying the connection. <details><summary>Called 2 tools</summary> MCP tool call node_repl.js `json { "title": "Check browser connection", "code": "nodeRepl.write(await agent.documentation.get(\"bootstrap-troubleshooting\"));" } ` `text # Browser Runtime Troubleshooting - If browser setup completed but discovery or selection fails, reuse the existing agent; do not reset the JavaScript session or import another browser runtime. - Inspect await agent.browsers.list() once to see which browser types are available. Do not assume that a missing requested browser can be replaced with another backend when the user explicitly named it. - If a requested backend has specific troubleshooting documentation in the skill's setup catalog, read it before retrying. - If the requested browser remains unavailable, report that plainly instead of controlling it through an unrelated browser tool or source-code workaround. ` MCP tool call node_repl.js `json { "title": "Find IDE browser", "code": "nodeRepl.write(await agent.browsers.list());" } ` `text [] `` </details>

</details>

I can, but the local IDE browser isn’t currently available—the browser list is empty. Open or enable the IDE’s browser panel, then tell me when it’s ready and I’ll connect to it.

Well it seems to load fine via the native VS Code chat panel, calling "open_browser_page".

You’re right—that suggests there’s a direct IDE action available outside the browser-control binding I checked. I’ll look specifically for open_browser_page and use it if exposed here.

You’re correct: open_browser_page is likely a chat-host action, separate from the Browser plugin connection I tested. That action isn’t exposed in this agent session’s callable tools, so I can’t invoke it directly here—even though the IDE chat UI itself supports it.

What is the expected behavior?

As above.

Additional information

All attempts to use local build-in browser from Codex chat panel fail.

Open local IDE browser

Can u open the local IDE browser

<details><summary>4 previous messages</summary>

I’m using the in-app browser control skill to open the local IDE browser. <details><summary>Called a tool</summary> MCP tool call node_repl.js ``json { "title": "Connect to IDE browser", "code": "if (globalThis.agent?.browsers == null) {\n const { setupBrowserRuntime } = await import(\"C:/Users/N19931/.codex/plugins/cache/openai-bundled/browser/26.715.72359/scripts/browser-client.mjs\");\n await setupBrowserRuntime({ globals: globalThis });\n}\nif (globalThis.iab == null) {\n globalThis.iab = await agent.browsers.get(\"iab\");\n nodeRepl.write(await iab.documentation());\n}" } ` `text Browser is not available: iab ` </details> The IDE browser connection didn’t appear on the first attempt, so I’m checking the built-in recovery path and retrying the connection. <details><summary>Called 2 tools</summary> MCP tool call node_repl.js `json { "title": "Check browser connection", "code": "nodeRepl.write(await agent.documentation.get(\"bootstrap-troubleshooting\"));" } ` `text # Browser Runtime Troubleshooting - If browser setup completed but discovery or selection fails, reuse the existing agent; do not reset the JavaScript session or import another browser runtime. - Inspect await agent.browsers.list() once to see which browser types are available. Do not assume that a missing requested browser can be replaced with another backend when the user explicitly named it. - If a requested backend has specific troubleshooting documentation in the skill's setup catalog, read it before retrying. - If the requested browser remains unavailable, report that plainly instead of controlling it through an unrelated browser tool or source-code workaround. ` MCP tool call node_repl.js `json { "title": "Find IDE browser", "code": "nodeRepl.write(await agent.browsers.list());" } ` `text [] `` </details>

</details>

I can, but the local IDE browser isn’t currently available—the browser list is empty. Open or enable the IDE’s browser panel, then tell me when it’s ready and I’ll connect to it.

Well it seems to load fine via the chat which calls "open_browser_page"

You’re right—that suggests there’s a direct IDE action available outside the browser-control binding I checked. I’ll look specifically for open_browser_page and use it if exposed here.
</details>

You’re correct: open_browser_page is likely a chat-host action, separate from the Browser plugin connection I tested. That action isn’t exposed in this agent session’s callable tools, so I can’t invoke it directly here—even though the IDE chat UI itself supports it.

View original on GitHub ↗

2 Comments

github-actions[bot] contributor · 6 days ago

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

  • #39562
  • #39530

Powered by Codex Action

Rainier-MSFT · 6 days ago

Both links are for the Codex app, whereas this is for the VS Code plugin.