Skip to content

Codex Chrome: read_page fails when BROWSER_USE_TINYSKY_ENABLED=1 disables dom_cua #2076

Description

@CatcherITGF

Problem

The Codex Chrome integration's read_page fails when the Codex Node REPL is configured with BROWSER_USE_TINYSKY_ENABLED = "1":

Cannot read properties of undefined (reading 'get_visible_dom')

Opening tabs, navigating, going back, listing tabs, and closing tabs still work. Reading the page fails before a DOM snapshot can be obtained.

Environment

  • macOS, Apple Silicon
  • Executor v1.6.10
  • codex-cli 0.155.1
  • Codex Chrome plugin 26.915.31945
  • Google Chrome 153.0.8010.48
  • Executor's built-in Codex Chrome preset, using codex app-server and the plugin's browser-client.mjs

Relevant Codex configuration:

[mcp_servers.node_repl.env]
BROWSER_USE_TINYSKY_ENABLED = "1"

Reproduction

  1. Configure the Codex Chrome preset in Executor with a working local Codex/Chrome installation.
  2. Enable the setting above in the Codex configuration used by the integration.
  3. Call navigate with https://example.com and retain the returned tab ID.
  4. Call read_page with that tab ID.

Actual result: the error above. Expected result: a page snapshot, or an actionable compatibility error if the configured browser API is unsupported.

Diagnosis

The installed Executor browser projection implements read_page as:

await __tab.dom_cua.get_visible_dom()

In the installed Codex browser service, enabling TinySky sets these API support overrides:

{
  "Tab.ax": true,
  "Tab.cua": false,
  "Tab.dom_cua": false
}

The browser client hides disabled API members, so tab.dom_cua is undefined. Executor's click, typing, keypress, and scrolling projections also reference dom_cua, although those commands were not individually tested with TinySky enabled.

Related: #1837 explains that dom_cua was selected because the plugin documentation at that time marked ax unsupported on the Chrome extension backend. This appears to be a compatibility gap with the enabled TinySky mode rather than a Chrome connectivity failure.

Verified workaround

Override the setting only for Executor's Codex Chrome integration by changing its spawn arguments to:

[
  "app-server",
  "-c",
  "mcp_servers.node_repl.env.BROWSER_USE_TINYSKY_ENABLED=\"0\""
]

This leaves the global Codex configuration unchanged. After applying the override through Executor's MCP server configuration API, the following succeeded:

  • Navigate to https://example.com.
  • Read the DOM snapshot and obtain the Learn more link's node ID.
  • Click that node and verify navigation to IANA's Example Domains page.
  • Read the destination page and close the test tab.

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions