Skip to content

Chrome plugin hangs during backend setup despite extension and native host running #21879

@iwangbingzhi

Description

@iwangbingzhi

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

26.506.31421 (2620)

What subscription do you have?

Plus

What platform is your computer?

MacOS 26.4 (25E246)

What issue are you seeing?

Codex Chrome plugin cannot connect to Chrome.

The Chrome extension and native host appear to be installed and running, but setupAtlasRuntime() hangs and any attempt to call browser.user.openTabs() times out.

The call never returns. The Node REPL execution times out with:

js execution timed out; kernel reset, rerun your request

This happens even after reinstalling the Codex Chrome Extension, restarting Chrome, and rebooting the computer.

What steps can reproduce the bug?

Environment:

  • OS: macOS
  • Chrome: 148.0.7778.97
  • Codex app: 26.506.31421
  • Chrome plugin path: openai-bundled/chrome/0.1.7
  • Codex Chrome Extension version: 1.1.4_0
  • Extension ID: hehggadaopoacecdllhhajmbjkdcmajg
  • Chrome profile: Default

Steps tried:

  1. Reinstall the Codex Chrome Extension.
  2. Restart Chrome.
  3. Restart the computer.
  4. Open a fresh Chrome window using the plugin helper:
node scripts/open-chrome-window.js
  1. From Codex using the Chrome plugin, run:
const { setupAtlasRuntime } = await import("/Users/.../.codex/plugins/cache/openai-bundled/chrome/0.1.7/scripts/browser-client.mjs");

await setupAtlasRuntime({ globals: globalThis });

globalThis.browser = await agent.browsers.get("extension");

const tabs = await browser.user.openTabs();

Result:

js execution timed out; kernel reset, rerun your request

What is the expected behavior?

Codex should connect to the Chrome extension backend and return the current open Chrome tabs via:

const tabs = await browser.user.openTabs();

**Additional information**
```markdown
I checked the extension installation:

```bash
node scripts/check-extension-installed.js --json

It reports that the extension is installed and enabled:

{
  "extensionId": "hehggadaopoacecdllhhajmbjkdcmajg",
  "profilePath": "/Users/.../Library/Application Support/Google/Chrome/Default",
  "installed": true,
  "registered": true,
  "enabled": true,
  "disabled": false,
  "exitCode": 0,
  "versions": ["1.1.4_0"]
}

I also checked the native host manifest:

node scripts/check-native-host-manifest.js --json

It reports that the manifest is correct:

{
  "manifestPath": "/Users/.../Library/Application Support/Google/Chrome/NativeMessagingHosts/com.openai.codexextension.json",
  "expectedHostName": "com.openai.codexextension",
  "actualHostName": "com.openai.codexextension",
  "expectedExtensionId": "hehggadaopoacecdllhhajmbjkdcmajg",
  "allowedOrigins": [
    "chrome-extension://hehggadaopoacecdllhhajmbjkdcmajg/"
  ],
  "exists": true,
  "nameMatches": true,
  "hasExpectedOrigin": true,
  "correct": true,
  "problem": null
}

The native host is launched and creates a socket:

extension-host ... /tmp/codex-browser-use/<uuid>.sock

I also inspected /tmp/codex-browser-use, temporarily isolated old or non-Chrome sockets, and retried with only the Chrome extension-host socket present. The issue still reproduces.

This does not appear to be caused by Chrome not running, the extension being disabled, a missing native host manifest, or stale sockets. The failure appears to be in the communication between Codex and the Chrome extension native host after the host starts, likely around the backend handshake / getInfo request used by setupAtlasRuntime().

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appbrowserbugSomething isn't workingconnectivityIssues involving networking or endpoint connectivity problems (disconnections)

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions