Skip to content

[macOS 26.908.70816] cua.getState() times out with repeated missing IAB session-route errors #46100

Open

Description

@musterkill007

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

26.908.70816, build 9275, read from the installed application's Info.plist (not separately checked in the About dialog).
Installed bundle: ChatGPT.app, bundle identifier com.openai.codex.

What subscription do you have?

Not collected for this diagnostic report.

What platform is your computer?

macOS 26.6.2, Apple Silicon / arm64.

uname -mprs:

Darwin 25.6.0 arm64 arm

What issue are you seeing?

The desktop application's in-app browser is visible in the task UI, but browser/app inventory through mcp__cua_repl.js repeatedly fails to return. A fresh read-only diagnostic attempt on 2026-09-17 used:

await cua.getState();

With the normal 30,000 ms outer tool timeout, it returned after 30.1236 seconds:

js execution timed out; kernel reset, rerun your request

The original long-running task had also encountered this error repeatedly, including attempts with a 15,000 ms outer limit. The fresh 30-second attempt confirms this is not merely a consequence of choosing that shorter limit.

The application remains running; no application crash was observed during this diagnostic attempt.

What steps can reproduce the bug?

Observed reproduction in the affected running application; this is not yet a deterministic clean-install reproducer:

  1. Have a localhost page open in the desktop in-app browser during a task.
  2. Ask the agent to read the browser state / enumerate available tabs.
  3. As the first CUA call, run only await cua.getState(); through mcp__cua_repl.js, with timeout_ms: 30000.
  4. Observe the generic timeout and automatic JavaScript-kernel reset instead of browser inventory.

The fresh test was made from a diagnostic side conversation while the original task's browser remained open. Previous failures were in the original task itself. No tab was intentionally created, closed, navigated, or modified by the diagnostic test.

Local diagnostic evidence

Read-only inspection of the macOS desktop logs found repeated entries from browser-use-iab-api:

IAB_LIFECYCLE iab backend info request received
conversationId=<session> request=getInfo turnId=<turn>

IAB_LIFECYCLE iab backend info request failed
conversationId=<session>
errorMessage="No ChatGPT browser route is available for browser session <session>"
errorName=Error

The stack passes through ensureBrowserUseSessionRoute and getInfo in the installed desktop main bundle. Read-only inspection of that guard confirms the error is raised when ensureSessionRoute does not return true, before normal browser operation dispatch.

Important qualification: not every backend-info request failed. In the fresh attempt's log burst at 2026-09-17 03:45:53.255–03:45:53.348 UTC, for the same conversation/turn, there were:

  • 15 getInfo requests received;
  • 14 missing-route failures;
  • 1 getInfo completed entry.

The outer inventory operation nevertheless timed out. This means the logs alone do not prove that route lookup is the only blocked component. Provider fan-out, inventory aggregation, or failure/cancellation propagation may also be involved.

For the original task's conversation ID, selected desktop logs spanning September 16–17 contained 64 received info requests, 57 missing-route failures, and 7 completions. Its recorded failures ranged from 2026-09-16 01:53:11.846 UTC to 2026-09-17 03:06:50.260 UTC. These are backend-request counts, not counts of user-visible tool calls.

Separately, browser-sidebar owner-sync entries associated with that original task's durable /local/<thread-id> route repeatedly used a transient conversationId=client-new-thread:<id>. This is a routing/identity-lifecycle clue, not proof of a specific rebinding race.

Scope checks and limits

  • A fresh HTTP check of the localhost page returned 200 in approximately 6 ms. Earlier work in the original task could operate the same prototype using separate Chromium automation. These checks establish that the local web server was available; they do not rule out all desktop-specific transport or permission issues.
  • No app/service restart, process termination, reinstall, permission change, configuration edit, cache deletion, or source patch was performed during this diagnosis, because other work was active.
  • No specific root cause or fix has been established. This report identifies a reproducible inventory timeout and correlated missing-route errors.
  • No raw logs, application/session identifiers, private URLs/query strings, project content, credentials, cookies, or browser storage are attached.

What is the expected behavior?

Browser inventory should return the available in-app browser/tab, or return a bounded, actionable error identifying the failing provider or route. A missing/stale route should not leave inventory pending until the outer tool kills the JavaScript kernel, especially after one info request has already completed.

Please trace route registration and transient-to-durable identity binding together with provider discovery, inventory aggregation, and timeout/cancellation propagation.

Related reports checked

Submitted by Codex at the affected user's explicit request, after local read-only diagnosis and minimization of the public evidence.

Activity

  1. github-actions commented on Sep 17, 2026

    @github-actions
    Contributor
  2. furuchanchan commented on Sep 23, 2026

    @furuchanchan

    Data point that may connect this to the in-app browser visibility bug in #23962.

    macOS 26.4.1, Codex app 26.915.31945 (build 9922), task 01a0cca2-4187-7d32-934c-5f08a990d2cf.

    While the in-app browser was stuck at visibility=false (visibility.set(true) no-ops, open_in_codex stays queued — same symptom family as #23962), the app log shows:

    • this conversation's browser session route being duplicate-reassigned between two app windows: window 1 → window 4, then rebound to window 1, all within ~3 s (05:00:13–16 UTC)
    • from 05:01 UTC onward, repeated No ChatGPT browser route is available for browser session warnings for the same conversation
    • at 05:03:12 UTC, a browser sidebar owner-sync entry pairing a client-new-thread id with the durable task path

    So in my case the missing-route errors coincided with the session route being bounced between two open Codex windows. Hypothesis worth checking: when multiple app windows are open, session-route ownership contends or is lost, which then also breaks visibility/presentation for that session — possibly the same underlying path as #20743 (binding lost after pane detach).

    Correlation only, not proven causation. I saw the same missing-route warning in earlier sessions too (181 and 92 occurrences across two tasks on app 26.908.70816 / build 9275). A single-window clean-restart comparison is pending on my side.

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 workingcomputer-usetool-callsIssues related to tool calling

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions