You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[macOS Desktop] In-app Browser control unavailable because bundled node_repl MCP client never becomes ready #38549
The in-app Browser opens pages normally, but Codex cannot inspect, click, type, or otherwise control the page because the bundled Browser/Computer Use MCP tool is absent from the task.
The same setup worked on 2026-08-13. Beginning on 2026-08-14, Browser control stopped working and remains unavailable after fully quitting and restarting Codex multiple times.
Local logs repeatedly show:
omitting MCP server without an exact ready client server_name=node_repl
The previous working session logged successful initialization of the same service:
server_name=node_repl ... Service initialized as client ... version 1.5.0
Other MCP services initialize normally in the failing sessions. The bundled Browser plugin is enabled, its files are present, the configured node_repl executable exists and responds to --help, and the target web origin is allowed. No Browser/Computer Use tool is exposed to the task.
No private page content, credentials, complete configuration files, or raw log database are attached publicly.
Steps to reproduce
Open Codex Desktop on macOS.
Open a page in the in-app Browser.
In a task, reference Browser and ask Codex to inspect the current page title or click/type on the page.
Observe that no Browser/Computer Use MCP tool is available.
Fully quit Codex Desktop and reopen it.
Create a new task and repeat.
Observe that the failure persists and the log contains: omitting MCP server without an exact ready client server_name=node_repl.
Expected behavior
The bundled node_repl MCP client should initialize and expose the Browser/Computer Use tools, allowing Codex to inspect and interact with the in-app Browser.
Actual behavior
The in-app Browser renders pages, but the control bridge never becomes ready. Codex omits the node_repl server from the tool catalog, so page inspection and interaction are impossible.
Additional information
This worked on the same installation on 2026-08-13.
It failed on 2026-08-14 without an intentional configuration change.
Full application restarts do not recover it.
The target site's login and page rendering still work; only the control interface is unavailable.
Additional reproduction from macOS, observed during a long-running end-to-end product test.
Environment:
Codex Desktop 26.810.41047 (build 6570)
macOS 26.3 (25D125), Apple Silicon arm64
Bundled Browser and Chrome plugin cache: 26.810.41047
Timeline:
Browser control was stable for several weeks through August 13, 2026.
The failure began on August 14, 2026, without an intentional configuration change.
Observed behavior:
The in-app Browser renders the page normally.
The Browser backend discovers the exact visible tab and returns its URL and provider tab identifier.
Claiming or attaching to that tab then times out after approximately 15 seconds, so inspection, clicks, typing, screenshots, and navigation through the control API are unavailable.
The Chrome backend is also only partially functional: tab listing or opening can succeed, while tab selection, retrieval, and closing time out.
The site itself remains reachable and authenticated. The failure is isolated to the browser-control handoff.
Recovery attempts without durable success:
Full restarts of Codex Desktop, Chrome, and macOS
New browser tabs and a separate Chrome profile
Reloading the Chrome extension
Closing unnecessary tabs
Pruning stale Browser and Computer Use worker processes before retrying
Impact:
This blocks a production-like end-to-end test that requires an owner session in Chrome and a member session in the in-app Browser. The application under test remains healthy; only the Codex browser-control layer is unavailable.
This appears closely related to this issue, although the failure point in this reproduction is slightly later: the browser tooling is exposed and the backend can discover the visible tab, but it cannot claim or control it. No private URLs, account identifiers, or page contents are included here.
Observed during a long-running end-to-end product test.
Environment
Codex Desktop 26.810.41047 (build 6570)
macOS 26.3 (25D125), Apple Silicon arm64
Bundled Browser and Chrome plugin cache: 26.810.41047
Timeline
Browser control was stable for several weeks through August 13, 2026.
The failure began on August 14, 2026, without an intentional configuration change.
Observed behavior
The in-app Browser renders the page normally.
The Browser backend discovers the exact visible tab and returns its URL and provider tab identifier.
Claiming or attaching to that tab then times out after approximately 15 seconds, so inspection, clicks, typing, screenshots, and navigation through the control API are unavailable.
The Chrome backend is also only partially functional: tab listing or opening can succeed, while tab selection, retrieval, and closing time out.
The site itself remains reachable and authenticated. The failure is isolated to the browser-control handoff.
Recovery attempts without durable success
Full restarts of Codex Desktop, Chrome, and macOS
New browser tabs and a separate Chrome profile
Reloading the Chrome extension
Closing unnecessary tabs
Pruning stale Browser and Computer Use worker processes before retrying
Impact
This blocks a production-like end-to-end test that requires an owner session in Chrome and a member session in the in-app Browser. The application under test remains healthy; only the Codex browser-control layer is unavailable.
This appears closely related to this issue, although the failure point in this reproduction is slightly later: the browser tooling is exposed and the backend can discover the visible tab, but it cannot claim or control it.
No private URLs, account identifiers, or page contents are included here.
Additional reproducible data point from macOS, specifically involving an existing thread.
Environment:
macOS 26.5.2, Apple Silicon (arm64)
Codex/ChatGPT Desktop 26.818.61809 (build 7019)
Bundled Browser plugin 26.818.61809
Thread ID: 01a03285-260b-7ce3-bebd-7a6070d9afa1
Observed sequence:
Continued an existing Codex thread that had not started with Browser attached.
Selected and sent [@Browser](plugin://browser@openai-bundled) from the UI.
The Browser skill/instructions were injected successfully, and the app explicitly reported the Browser plugin capability.
The active task still did not expose mcp__node_repl__js; tool discovery contained no node_repl entry.
A subsequent turn with Browser explicitly attached had the same result, so the agent could not bootstrap browser-client.mjs or control the in-app browser.
Local installation checks:
browser-client.mjs exists in the bundled plugin cache.
App and Browser plugin versions match.
Desktop logs report browser_use_runtime_paths_selected with bundled node_repl, Node v24.19.0, and nodeVersionStatus=ok.
The failure is therefore at tool/runtime attachment: the UI and skill layer recognize Browser, but the callable node_repl bridge is absent from the task.
Expected behavior:
Attaching Browser to an existing thread should either expose the required node_repl tool on the next turn, or the UI should clearly state that the thread must be recreated. A selectable plugin mention should not produce a skill-only state with no executable control tool.
No private URLs, repository contents, credentials, or raw logs are included.
The error does not appear to be caused by damaged or unsigned bundled files. Verification performed outside the task sandbox succeeds for all relevant binaries:
/Applications/ChatGPT.app: valid on disk
Bundled node_repl: valid on disk
Bundled Node: valid on disk
Bundled codex: valid on disk
Signing authority: Developer ID Application: OpenAI OpCo, LLC (2DC432GLL2)
This narrows the failure to runtime peer-identity lookup/authorization or task-tool attachment, rather than app-bundle corruption.
Recurrence pattern
Browser control previously recovered after reinstalling the desktop app.
The same failure later returned on a newer desktop/plugin version.
Full app restarts and new tasks do not reliably recover the missing tool.
Reinstallation is therefore not a durable fix.
Expected behavior: the correctly signed bundled helper should be recognized by the native pipe and the Browser control tool should be attached to every Browser-enabled task.
No private URLs, page contents, account identifiers, or raw logs are included. Please let me know if a specific redacted diagnostic bundle or subsystem log would help isolate the peer-identity failure.
Browser functionality appears to be partially available.
In a fresh Codex task, I asked Browser to open example.com and report the page title. This succeeded and returned “Example Domain.”
I then asked Browser to click the “More information...” link and report the resulting page title. This also succeeded, returning “Example Domains.”
I opened a Google Form using the in-app Browser and asked Codex to inspect it without making changes. This succeeded. It correctly identified the form's editable question and all four radio-button choices.
I then asked it to select one of those radio-button choices without submitting the form.
Codex responded:
“I can’t confirm the selection because browser interaction controls aren’t available in this session. No form information was changed or submitted.”
A second attempt to select another option produced the same browser-interaction-controls error.
I then explicitly invoked [@Browser](plugin://browser@openai-bundled) and asked it to select the option. Codex then responded:
“I can’t choose the option because the Browser plugin isn’t available in this session.”
Additional observations
The in-app Browser panel itself opens and renders the Google Form correctly.
Browser can read/inspect the form and enumerate its controls.
Browser can successfully perform at least some navigation/click interaction on a simple page such as example.com.
Interaction with the Google Form control fails because the browser interaction tools are reported as unavailable.
After the interaction failure, explicitly invoking Browser can result in the plugin itself being reported unavailable in the same session.
ChatGPT Settings → Browser has also displayed “In-app browser plugin unavailable.”
This suggests the Browser skill/plugin and rendering layer are available, but the interactive control bridge/tool attachment is either incomplete or becoming unavailable within the task.
I can provide additional diagnostics or logs if there is a specific command or log location that would be useful.
Activity
github-actions commentedon Aug 14, 2026
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
andrsksr commentedon Aug 15, 2026
Additional reproduction from macOS, observed during a long-running end-to-end product test.
Environment:
Timeline:
Observed behavior:
Recovery attempts without durable success:
Impact:
This blocks a production-like end-to-end test that requires an owner session in Chrome and a member session in the in-app Browser. The application under test remains healthy; only the Codex browser-control layer is unavailable.
This appears closely related to this issue, although the failure point in this reproduction is slightly later: the browser tooling is exposed and the backend can discover the visible tab, but it cannot claim or control it. No private URLs, account identifiers, or page contents are included here.
Dean1991911 commentedon Aug 15, 2026
Additional reproduction from macOS
Observed during a long-running end-to-end product test.
Environment
26.810.41047(build 6570)26.810.41047Timeline
Observed behavior
Recovery attempts without durable success
Impact
This blocks a production-like end-to-end test that requires an owner session in Chrome and a member session in the in-app Browser. The application under test remains healthy; only the Codex browser-control layer is unavailable.
This appears closely related to this issue, although the failure point in this reproduction is slightly later: the browser tooling is exposed and the backend can discover the visible tab, but it cannot claim or control it.
No private URLs, account identifiers, or page contents are included here.
vemelianov-aplus commentedon Aug 24, 2026
Additional reproducible data point from macOS, specifically involving an existing thread.
Environment:
arm64)26.818.61809(build7019)26.818.6180901a03285-260b-7ce3-bebd-7a6070d9afa1Observed sequence:
[@Browser](plugin://browser@openai-bundled)from the UI.mcp__node_repl__js; tool discovery contained nonode_replentry.browser-client.mjsor control the in-app browser.Local installation checks:
browser-client.mjsexists in the bundled plugin cache.browser_use_runtime_paths_selectedwith bundlednode_repl, Nodev24.19.0, andnodeVersionStatus=ok.node_replbridge is absent from the task.Expected behavior:
Attaching Browser to an existing thread should either expose the required
node_repltool on the next turn, or the UI should clearly state that the thread must be recreated. A selectable plugin mention should not produce a skill-only state with no executable control tool.No private URLs, repository contents, credentials, or raw logs are included.
Dean1991911 commentedon Aug 31, 2026
New recurrence on 26.820.60940; bundled signatures are valid
This issue has recurred after a previous reinstall temporarily restored Browser control.
Environment
26.820.60940(build7119)26.6.2(build25G83)arm64)26.820.60940v24.19.0Current behavior
mcp__node_repl__js, so the page cannot be inspected or controlled.browser_use_runtime_paths_selected ... nodeVersionStatus=okbrowser_use_iab_backend_startup_readybrowser-use native pipe rejected socket peer reason=missing-code-signing-identitydynamic_app_tools_peer_rejected reason=missing-code-signing-identityImportant signing check
The error does not appear to be caused by damaged or unsigned bundled files. Verification performed outside the task sandbox succeeds for all relevant binaries:
/Applications/ChatGPT.app: valid on disknode_repl: valid on diskcodex: valid on diskDeveloper ID Application: OpenAI OpCo, LLC (2DC432GLL2)This narrows the failure to runtime peer-identity lookup/authorization or task-tool attachment, rather than app-bundle corruption.
Recurrence pattern
Expected behavior: the correctly signed bundled helper should be recognized by the native pipe and the Browser control tool should be attached to every Browser-enabled task.
No private URLs, page contents, account identifiers, or raw logs are included. Please let me know if a specific redacted diagnostic bundle or subsystem log would help isolate the peer-identity failure.
pbeens commentedon Sep 6, 2026
Additional reproduction on ChatGPT/Codex Desktop 26.901.51231
I am seeing what appears to be the same or a closely related browser-control failure on the current macOS desktop release.
Environment
26.901.51231, released Sep 5, 202626.901.51231~/.codex/config.toml:browser-client.mjsis present at:Observed behaviour
Browser functionality appears to be partially available.
example.comand report the page title. This succeeded and returned “Example Domain.”“I can’t confirm the selection because browser interaction controls aren’t available in this session. No form information was changed or submitted.”
[@Browser](plugin://browser@openai-bundled)and asked it to select the option. Codex then responded:“I can’t choose the option because the Browser plugin isn’t available in this session.”
Additional observations
example.com.This suggests the Browser skill/plugin and rendering layer are available, but the interactive control bridge/tool attachment is either incomplete or becoming unavailable within the task.
I can provide additional diagnostics or logs if there is a specific command or log location that would be useful.