openai / openai/codex

Codex Chrome Browser Control Failure

Open
#45,006 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app browser bug tool-calls
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

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

Version 26.908.40834

What subscription do you have?

Pro

What platform is your computer?

Darwin 25.5.0 arm64 arm

What issue are you seeing?

Codex cannot control the system-installed Chrome browser because the browser-provider discovery layer fails.

Chrome is running normally, and the node_repl service starts successfully. However, browser discovery requests hang and time out after 30 seconds.

What steps can reproduce the bug?

Codex Chrome Browser Control Failure

Summary

Codex cannot control the system-installed Chrome browser because the browser-provider discovery layer fails.

Chrome is running normally, and the node_repl service starts successfully. However, browser discovery requests hang and time out after 30 seconds.

Evidence

The local logs show that node_repl starts successfully:

server_name=node_repl
Service initialized as client

Browser-related calls then time out:

node_repl js execution timed out
timeout_ms=30000

The failing calls include:

cua.getState()
cua.listTabs({browser: ""})
cua.createBrowserTab("", "")

The empty browser identifier is significant:

browser: ""

This indicates that Codex did not discover or register the Chrome browser backend.

Failure Chain

node_repl starts successfully
        ↓
cua runtime starts
        ↓
Chrome browser-provider discovery hangs
        ↓
30-second timeout
        ↓
browsers: []

Environment

Operating system: macOS
Architecture: Apple Silicon / aarch64
Codex Desktop: 26.908.40834
Chrome: System-installed Google Chrome
Chrome profile: Default

What Is Not Causing the Problem

The failure does not appear to be caused by:

  • Chrome not running;
  • The Chrome Default profile;
  • The localhost editor;
  • A missing node_repl executable;
  • The .sb3 project files.

Likely Root Cause

The likely cause is a Codex Desktop browser-provider registration or discovery regression.

The failure occurs after node_repl has started, when Codex attempts to discover or communicate with the Chrome browser provider.

This is consistent with the public issue:

Local Log Location

The relevant log database is:

/Users/XXXXX/.codex/logs_2.sqlite

The relevant log query is:

sqlite3 -noheader ~/.codex/logs_2.sqlite \\
"select datetime(ts,'unixepoch','localtime') || ' | ' || level || ' | ' ||
 substr(feedback_log_body,1,1600)
 from logs
 where feedback_log_body like '%node_repl%'
 order by ts desc limit 12;"

Expected Behavior

Codex should:

  1. Discover the connected Chrome browser backend.
  2. Return the available Chrome tabs.
  3. Allow browser operations such as navigation and DOM inspection.

Actual Behavior

Codex:

  1. Starts node_repl.
  2. Fails to discover a usable Chrome browser backend.
  3. Calls the browser API with an empty browser identifier.
  4. Times out after 30 seconds.
  5. Returns an empty browser list:
browsers: []

Conclusion

The Chrome process and extension appear to be available, but Codex Desktop fails to register or discover the Chrome browser backend. The resulting nodeRepl.fetch request failed error is a Codex browser-provider/runtime integration issue rather than a Chrome or website issue.

What is the expected behavior?

Codex Chrome Browser Control Failure

Summary

Codex cannot control the system-installed Chrome browser because the browser-provider discovery layer fails.

Chrome is running normally, and the node_repl service starts successfully. However, browser discovery requests hang and time out after 30 seconds.

Evidence

The local logs show that node_repl starts successfully:

server_name=node_repl
Service initialized as client

Browser-related calls then time out:

node_repl js execution timed out
timeout_ms=30000

The failing calls include:

cua.getState()
cua.listTabs({browser: ""})
cua.createBrowserTab("", "")

The empty browser identifier is significant:

browser: ""

This indicates that Codex did not discover or register the Chrome browser backend.

Failure Chain

node_repl starts successfully
        ↓
cua runtime starts
        ↓
Chrome browser-provider discovery hangs
        ↓
30-second timeout
        ↓
browsers: []

Environment

Operating system: macOS
Architecture: Apple Silicon / aarch64
Codex Desktop: 26.908.40834
Chrome: System-installed Google Chrome
Chrome profile: Default

What Is Not Causing the Problem

The failure does not appear to be caused by:

  • Chrome not running;
  • The Chrome Default profile;
  • The localhost editor;
  • A missing node_repl executable;
  • The .sb3 project files.

Likely Root Cause

The likely cause is a Codex Desktop browser-provider registration or discovery regression.

The failure occurs after node_repl has started, when Codex attempts to discover or communicate with the Chrome browser provider.

This is consistent with the public issue:

Local Log Location

The relevant log database is:

/Users/XXXXX/.codex/logs_2.sqlite

The relevant log query is:

sqlite3 -noheader ~/.codex/logs_2.sqlite \\
"select datetime(ts,'unixepoch','localtime') || ' | ' || level || ' | ' ||
 substr(feedback_log_body,1,1600)
 from logs
 where feedback_log_body like '%node_repl%'
 order by ts desc limit 12;"

Expected Behavior

Codex should:

  1. Discover the connected Chrome browser backend.
  2. Return the available Chrome tabs.
  3. Allow browser operations such as navigation and DOM inspection.

Actual Behavior

Codex:

  1. Starts node_repl.
  2. Fails to discover a usable Chrome browser backend.
  3. Calls the browser API with an empty browser identifier.
  4. Times out after 30 seconds.
  5. Returns an empty browser list:
browsers: []

Conclusion

The Chrome process and extension appear to be available, but Codex Desktop fails to register or discover the Chrome browser backend. The resulting nodeRepl.fetch request failed error is a Codex browser-provider/runtime integration issue rather than a Chrome or website issue.

Additional information

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the 30-second timeout and querying ~/.codex/logs_2.sqlite for node_repl entries. Trace the browser-provider discovery path around cua.getState(), cua.listTabs({browser: ""}), and cua.createBrowserTab("", ""), and read openai/codex#44383 for related context. Done means Chrome is discovered, tabs are returned, and browser operations no longer time out.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, rust, sqlite
Domain
desktop-dev, devtools, web-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.