Codex Chrome Plugin: extension-host not running, node_repl MCP tool unavailable in session
What version of the Codex App are you using (From “About Codex” dialog)?
26.527.31326 (3390)
What subscription do you have?
free
What platform is your computer?
macOS m1
What issue are you seeing?
The @chrome plugin cannot establish communication with Chrome. All static checks pass (Chrome running, extension installed & enabled, native host manifest correct), but the runtime communication chain never completes:
extension-host (native messaging host binary) is never spawned as a process
node_repl MCP tool is not available in the session, preventing browser-client.mjs from setting up the connection
Environment
Codex desktop app (latest, bundled plugins)
Chrome 148.0.7778.181 on macOS ARM64
Codex Chrome Extension: hehggadaopoacecdllhhajmbjkdcmajg v1.1.5_0, installed & enabled in Default profile
Plugin: chrome@26.527.31326 (OpenAI bundled)
Session type: Projectless chat thread
Diagnostics
All static checks pass:
chrome-is-running.js --check → ✅ Chrome running
check-extension-installed.js --json → ✅ installed, enabled, registered
check-native-host-manifest.js --json → ✅ manifest exists, path correct, origin allowed
Runtime checks fail:
extension-host process → ❌ not running (checked via pgrep -f extension-host)
node_repl MCP tool → ❌ not listed in available MCP tools; globalThis.nodeRepl is undefined
open-chrome-window.js → ❌ fails with kLSServerCommunicationErr (LaunchServices not available in sandbox)
CDP remote debugging port → ❌ no port open (scanned 9222-9230)
browser-client.mjs setup → ❌ fails with privileged native pipe bridge is not available; browser-client is not trusted
Binary status:
node_repl → ✅ exists at /Applications/Codex.app/Contents/Resources/node_repl, properly code-signed (Team ID: 2DC432GLL2)
extension-host → ✅ exists, executable, correct path in manifest
Root Cause
The communication chain is:
Chrome Tab ⇄ Chrome Extension (Native Messaging) → extension-host (stdio) → native pipe → node_repl (MCP server) → Codex Session
It breaks at two points:
extension-host never starts. Chrome should launch it on demand for native messaging, but it never does. The Chrome extension appears enabled in preferences but may not have its background service worker actively running, or the handshake never initiates.
node_repl MCP tool is unavailable. The binary exists but the MCP server it provides is not registered for the current session. Without it, browser-client.mjs cannot access globalThis.nodeRepl?.nativePipe or call agent.browsers.get("extension").
Workarounds Tried (all no change)
Restart Chrome completely
Reinstall Codex Chrome Extension from Chrome Web Store
Remove & reinstall Chrome plugin from Codex plugin UI
Restart Codex desktop app entirely
Create new chat thread
Suspected Areas
node_repl MCP server may only be started for workspace-based sessions, not projectless threads
Chrome extension may be registered/enabled but its background.service_worker not actively running
The browser plugin (which has node-repl keyword) is not installed, while the chrome plugin depends on its MCP server
sandbox_approval: false and rules: false in session approval policy may block process spawning
No --remote-debugging-port flag used, so CDP fallback path is unavailable
What steps can reproduce the bug?
Since I installed the CodeX and Chrome extensions, I haven't been able to use them successfully
What is the expected behavior?
_No response_
Additional information
_No response_
4 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Adding a fresh macOS reproduction on a substantially newer Codex Desktop build. This appears to be the same underlying failure: the Chrome plugin is installed correctly and the browser backend starts, but the tools required to use it are not injected into new Desktop threads.
Environment
26.707.919480.144.5chrome@openai-bundledversion26.707.91948019f6adb-f996-77f1-83b5-b4f980d59a0eReproduction prompt
User-visible result
Plugin and Chrome validation
The supported static checks all pass:
chrome@openai-bundledis installed and enabled.Defaultprofile.1.2.27203.26575_0.com.openai.codexextension.node_replexecutable exists and is executable.codex mcp listreportsnode_replas enabled.Relevant successful log state:
The active task also received a ready browser-use backend and native-pipe socket.
Actual failure
The task’s recorded dynamic-tool inventory contains only:
It does not contain:
Therefore, the task cannot run the Chrome skill’s required bootstrap or discover the deferred Node REPL tool.
This appears to fail at the capability-exposure boundary:
Recovery attempts
I tested all of the following without resolving the problem:
The Chrome extension and native-host checks continued to pass, but the fresh task still lacked both
mcp__node_repl__jsandtool_search.Why this seems related
This looks closely related to:
node_repl/jsafter a Desktop update.node_repl/jscan sometimes be recovered throughtool_search; that workaround is unavailable here becausetool_searchitself is absent.codex mcp listsees an enabled server, but its tools are not exposed in Desktop threads.This newer reproduction suggests the MCP/browser tool-exposure problem remains present, or has recurred, in Desktop build
26.707.91948.Please let me know if a sanitized diagnostic export, exact application-log excerpts, or the task JSONL tool inventory would be useful.
Filed a related issue with component-level isolation on the same builds as the reproduction above (Desktop
26.707.91948, CLI0.144.5): #33599.Key difference: it reproduces with the in-app Browser plugin and no Chrome extension installed, on a fully clean install — so the defect appears to be the Desktop task runtime silently failing to inject the
node_repltools at all, rather than anything in the Chrome/extension chain. Thenode_replserver answers a manual stdio probe correctly, and the terminal CLI reading the same~/.codex/config.tomlinjects the tools fine.Update: this now works for me on the newer build.
26.715.214250.145.0-alpha.18gpt-5.6-sol, Medium019f6f09-72f7-74e1-9432-98aba23d1ab1In a fresh task,
tool_searchwas present, discoveredmcp__node_repl__js, and Chrome successfully returned all 24 open tabs. This is the same Mac/setup that failed on Desktop26.707.91948/ CLI0.144.5, with both tools absent.The live Sol catalog changed between
directandcode_mode_onlyduring follow-up checks, so I cannot attribute the recovery to one stable metadata value. However, the original tool-exposure failure no longer reproduces for me.