Codex Desktop Chrome plugin hangs during extension backend bootstrap/openTabs on Windows
Open 💬 5 comments Opened May 8, 2026 by squarezue
💡 Likely answer: A maintainer (github-actions[bot], contributor)
responded on this thread — see the highlighted reply below.
What version of the Codex App are you using (From “About Codex” dialog)?
26.506.21252
What subscription do you have?
CHATGPT PLUS
What platform is your computer?
10.0.26100.1 x64 Windows 10 Pro 64-bit
What issue are you seeing?
The Codex Desktop Chrome plugin hangs while trying to establish the Chrome extension backend session.
Chrome is running, the Codex Chrome Extension is installed and enabled, and the native messaging host checks pass. However, when Codex tries to initialize browser automation or read open tabs, the Node REPL execution hangs until it times out.
Observed error:
js execution timed out; kernel reset, rerun your request
This happens before any navigation or page interaction. I do not get far enough to call browser.tabs.new(), browser.tabs.list(), or tab.goto(...).
Environment details:
OS: Windows 10 Pro, 64-bit
Windows version: 2009
OS HAL: 10.0.26100.1
Shell: PowerShell
Codex CLI: codex-cli 0.129.0-alpha.15
Chrome plugin cache path: C:\Users\Administrator\.codex\plugins\cache\openai-bundled\chrome\0.1.7
Google Chrome: 147.0.7727.102
Chrome path: C:\Program Files\Google\Chrome\Application\chrome.exe
Default browser: Microsoft Edge (MSEdgeHTM)
Codex Chrome Extension ID: hehggadaopoacecdllhhajmbjkdcmajg
Codex Chrome Extension version: 1.1.4_0
Chrome profile checked by plugin scripts: C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default
### What steps can reproduce the bug?
```markdown
1. Install/enable the Chrome plugin in Codex Desktop.
2. Install/enable the Codex Chrome Extension in Google Chrome.
3. Confirm that Google Chrome is running.
4. Run the bundled plugin checks from:
```powershell
cd C:\Users\Administrator\.codex\plugins\cache\openai-bundled\chrome\0.1.7
node scripts/chrome-is-running.js --json
node scripts/check-extension-installed.js --json
node scripts/check-native-host-manifest.js --json
The checks report Chrome running, extension installed/enabled, and native host configuration correct.
In the Node REPL tool, run:
const pluginRoot = "C:/Users/Administrator/.codex/plugins/cache/openai-bundled/chrome/0.1.7";
if (!globalThis.agent) {
const { setupAtlasRuntime } = await import(`${pluginRoot}/scripts/browser-client.mjs`);
await setupAtlasRuntime({ globals: globalThis });
}
if (!globalThis.browser) {
globalThis.browser = await agent.browsers.get("extension");
}
await browser.nameSession("Chrome access test");
const tabs = await browser.user.openTabs();
The command hangs until the Node REPL tool times out:
js execution timed out; kernel reset, rerun your request
**What is the expected behavior?**
```markdown
The Chrome plugin should establish the extension backend session and return the currently open Chrome tabs via:
```js
const tabs = await browser.user.openTabs();
After that, normal Chrome browser automation should be available.
**Additional information**
```markdown
Bundled setup checks pass.
`node scripts/chrome-is-running.js --json` reports:
```json
{
"platform": "win32",
"running": true
}
node scripts/check-extension-installed.js --json reports:
{
"extensionId": "hehggadaopoacecdllhhajmbjkdcmajg",
"preferencesPath": "C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Secure Preferences",
"profilePath": "C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data\\Default",
"installed": true,
"registered": true,
"enabled": true,
"disabled": false,
"exitCode": 0,
"versions": ["1.1.4_0"]
}
node scripts/check-native-host-manifest.js --json reports:
{
"manifestPath": "C:\\Users\\Administrator\\AppData\\Local\\OpenAI\\extension\\com.openai.codexextension.json",
"registryKey": "HKCU\\Software\\Google\\Chrome\\NativeMessagingHosts\\com.openai.codexextension",
"registryManifestPath": "C:\\Users\\Administrator\\AppData\\Local\\OpenAI\\extension\\com.openai.codexextension.json",
"expectedHostName": "com.openai.codexextension",
"actualHostName": "com.openai.codexextension",
"expectedExtensionId": "hehggadaopoacecdllhhajmbjkdcmajg",
"expectedOrigin": "chrome-extension://hehggadaopoacecdllhhajmbjkdcmajg/",
"allowedOrigins": [
"chrome-extension://hehggadaopoacecdllhhajmbjkdcmajg/"
],
"exists": true,
"nameMatches": true,
"hasExpectedOrigin": true,
"registryMatchesManifestPath": true,
"correct": true,
"problem": null
}
### What is the expected behavior?
_No response_
### Additional information
_No response_
5 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Same issue, though I got it to install once, but it would not connect to the browser extension. I installed it and now it will not install at all (get the error: Failed to install plugin). Correlation id: b70a9231-7c08-4fa2-83b7-28cfeafe8a8d
I’m seeing the same issue on Windows.
Official @chrome wrapper hangs at setupAtlasRuntime and times out, but the underlying Chrome extension pipe works.
Evidence:
createTab -> attach -> executeCdp Page.enable -> executeCdp Page.navigate
https://www.youtube.com/
https://cn.investing.com/
Environment:
I hit a related Windows failure mode where the Chrome extension/native-host side was healthy, but Codex Desktop still had no usable
@chromecontrol entry.Environment observed:
26.519.5221.00.133.0-alpha.1openai-bundled/chrome/26.519.41501148.0.7778.1791.1.5_0hehggadaopoacecdllhhajmbjkdcmajgChrome-side checks were all healthy:
But Codex-side routing was missing:
In another partial state,
node_replexisted butbrowser-client.mjswas not trusted, producing:Repairing the Codex-side MCP entry and trusting the bundled Chrome browser-client hash fixed it:
One extra step was required: restart the Codex Desktop app-server / start a fresh Codex turn after writing config. Before the restart, the UI still behaved as if no Chrome control entry existed.
Verification after repair:
Result:
So there seem to be at least two distinct but user-visible-similar states:
node_repl/browser-client control path to the turn.Suggested product fixes:
node_replexists.NODE_REPL_TRUSTED_BROWSER_CLIENT_SHA256Sfor the bundledbrowser-client.mjs.The other problem is that even when you do get this working... by
completely blowing away Codex and its config... and then reinstalling
clean... it all starts failing again if you switch to WSL rather than
windows native.
On Tue, May 26, 2026 at 5:56 AM yowen521 @.***> wrote:
--
Jerry Holmes
PageDragon
http://www.pagedragon.com