Terminal npm Codex cannot reach connected Chrome extension; app-bundled binary works

Resolved 💬 2 comments Opened Jul 10, 2026 by WestJohnson Closed Jul 10, 2026

What happened?

Terminal Codex could not reach a Chrome extension that was installed, healthy, and visibly Connected. The same Chrome profile and extension worked immediately when Codex was launched from the executable bundled inside the ChatGPT desktop app.

The only material change between the failing and working tests was the Codex executable/version:

  • Fails: standalone npm Codex 0.144.1
  • Works: /Applications/ChatGPT.app/Contents/Resources/codex (0.144.0-alpha.4)

With the npm CLI, Chrome control consistently returned:

Browser is not available: extension

With the app-bundled CLI, Codex connected to the existing Default Chrome profile, opened https://example.com/, verified the title Example Domain, and left the tab open.

Environment

  • macOS 26.4.1 (25E253), Apple Silicon
  • ChatGPT app 26.707.31428 (build 5059)
  • Standalone npm Codex 0.144.1
  • App-bundled Codex 0.144.0-alpha.4
  • Google Chrome 150.0.7871.115
  • ChatGPT Chrome Extension 1.2.27203.26575, Default profile, status Connected
  • Chrome plugin 26.707.31428

Reproduction

  1. Install/use npm @openai/codex 0.144.1 so codex resolves to the npm binary.
  2. Open Chrome's Default profile and verify the ChatGPT extension reports Connected.
  3. Start Terminal Codex and use @Chrome / the extension-backed browser.
  4. Observe Browser is not available: extension.
  5. Launch /Applications/ChatGPT.app/Contents/Resources/codex and repeat the same test.
  6. Observe that Chrome control works.

Chrome, the extension, native-host installation/manifests, and their processes were healthy. Reinstalling, restarting Chrome and Codex, opening a fresh Chrome window, isolating stale sockets, and delayed retries did not fix the npm CLI path. Switching only the Codex executable fixed it.

Current workaround:

alias codex='/Applications/ChatGPT.app/Contents/Resources/codex'

Diagnostic references

  • Uploaded feedback thread: 019f49d2-fc83-70a3-8377-f2c186ea2827
  • Failing Chrome task: 019f4846-068d-7402-aa5f-154f9cc3c571
  • Working comparison task: 019f49ba-79cc-7930-8480-3f20c1973d92

Why this is especially frustrating

The generic error points users toward reinstalling Chrome, the extension, and the native host even when all three are healthy. In this case the actual problem was compatibility or bridge discovery in the active Codex executable. That distinction took repeated reinstalls and extensive process/socket diagnostics to isolate.

Several open reports show the same connected-extension/unavailable-backend family of symptoms: #21908, #21719, and #21672. This report adds a controlled comparison where only the Codex executable changes and the result flips from consistently failing to working.

Suggested improvements

  • Make the standalone npm CLI interoperate with the desktop Chrome bridge across supported patch versions, or detect an incompatible combination.
  • Replace Browser is not available: extension with an actionable executable/version mismatch message when that is the cause.
  • Add a codex doctor Chrome check comparing the active CLI executable/version with the installed ChatGPT bundle.
  • Document the app-bundled CLI workaround until the underlying issue is fixed.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗