Skip to content

In-app browser: URL/title works but DOM inspection times out on real pages #22797

Open

Description

@netkeen76-byte

What happened?

Codex Desktop in-app browser can navigate to real webpages and read tab metadata, but Browser Use DOM inspection hangs/timeouts on real pages.

Observed behavior:

  • For https://www.baidu.com/:
    • tab.url() succeeds and returns https://www.baidu.com/
    • tab.title() succeeds and returns 百度一下,你就知道
    • tab.playwright.locator("body").innerText(...) times out
    • tab.playwright.domSnapshot() times out
  • For a WeChat article page:
    • tab.url() succeeds
    • tab.title() succeeds
    • #activity-name, #js_content, domSnapshot(), visible DOM, screenshot, and clipboard-based extraction time out
  • For about:blank:
    • tab.playwright.locator("body").count() succeeds and returns 1
    • body.innerText() succeeds with empty text

So the in-app browser page and metadata channel work, but DOM inspection for real webpages appears stuck.

Expected behavior

The in-app browser Browser Use backend should support DOM inspection for rendered pages, at least for simple public pages like https://www.baidu.com/.

Environment

  • OS: macOS on Apple Silicon
  • Codex Desktop App: current desktop app session
  • Codex CLI: 0.131.0-alpha.9
  • Browser plugin: openai-bundled/browser/0.1.0-alpha2
  • Chrome plugin also installed and working
  • In-app browser visible and able to navigate manually

Diagnostics already tried

  1. Restarted Codex Desktop.
  2. Installed matching npm CLI version: @openai/codex@0.131.0-alpha.9.
  3. Recreated the managed standalone path expected by app-server daemon.
  4. Started app-server daemon successfully.

Daemon status after fix:

{
  "status": "running",
  "cliVersion": "0.131.0-alpha.9",
  "appServerVersion": "0.131.0-alpha.9",
  "socketPath": "$HOME/.codex/app-server-control/app-server-control.sock"
}

Even after daemon is running, real-page DOM inspection still times out.

Minimal repro

  1. Open Codex Desktop.
  2. Open the in-app browser.
  3. Navigate to https://www.baidu.com/ manually or via Browser Use.
  4. Run Browser Use against the selected IAB tab:
const tab = await browser.tabs.selected();
await tab.url();      // succeeds
await tab.title();    // succeeds
const body = tab.playwright.locator("body");
await body.count();
await body.innerText({ timeoutMs: 15000 });

Actual: DOM calls time out / tool execution times out.

Notes

Chrome extension backend works on the same machine for the same WeChat article, so the issue seems specific to the Codex in-app browser Browser Use DOM bridge, not webpage availability.

Activity

  1. added
    bugSomething isn't working
    appIssues related to the Codex desktop app
    on May 15, 2026
  2. caaaptaintop commented on Aug 31, 2026

    @caaaptaintop

    Additional macOS reproduction with controlled A/B results.

    Environment

    • ChatGPT/Codex Desktop: 26.825.51511 (build 7377)
    • macOS: 26.6.2, Apple Silicon / arm64
    • Bundled Browser plugin: 26.825.51511
    • Browser backend: Codex in-app Browser (iab)

    Reproduction and timings

    The behavior closely matches this issue:

    • about:blank
      • navigation: 26 ms
      • DOM snapshot: 14 ms
    • https://example.com/
      • navigation did not return before the Browser Use execution exceeded 45 seconds in one run
      • in a controlled follow-up run, goto() returned after 30.073 s
      • the following domSnapshot() then took another 30.063 s
      • URL/title remained readable

    The desktop lifecycle log showed that the Browser webview attached in about 9 ms and about:blank reached DOM-ready immediately. The real page reached DOM-ready only after the fixed delay.

    A fully local page at http://127.0.0.1:8765/ behaved differently:

    • goto(): 5.936 s
    • domSnapshot(): 132 ms

    A/B checks

    1. Full CDP / Developer mode

      • Disabled full_cdp_access_enabled, fully quit and restarted the app.
      • The real-page delay remained.
      • The original setting was restored afterward.
    2. Network and system proxy

      • Direct curl https://example.com: 1.01 s
      • Through the configured local Clash proxy: 0.59 s
      • Added only example.com to the macOS proxy bypass list, leaving ChatGPT traffic on the proxy.
      • IAB still took 30.073 s for goto() and another 30.063 s for the DOM snapshot.
      • The bypass list was restored afterward.

    These results do not look like normal network latency, proxy throughput, machine performance, or full-CDP overhead.

    Route/session evidence

    Desktop logs repeatedly contain:

    No ChatGPT browser route is available for browser session <redacted>
    

    Counts observed across separate application processes:

    • current fresh process: 14
    • earlier cold-start process: 2
    • previous process: 856

    The previous process also recorded repeated:

    IAB_TAB_SWITCH renderer timed out
    

    The fixed 30-second DOM/control delay appears correlated with Browser Use route registration or stale session ownership rather than webpage reachability.

    Potentially related:

    Could maintainers confirm whether this is a known IAB route/session regression and whether a fixed build or supported route-reset procedure exists? A useful product fix would be to rebuild the session-owned route or fail with a bounded actionable error instead of waiting for repeated 30-second timeouts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appbrowserbugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions