What version of the Codex App are you using?
Codex desktop app 26.513.20950 (CFBundleVersion 2816).
Bundled Chrome plugin observed locally:
- plugin path:
/Users/mac/.codex/plugins/cache/openai-bundled/chrome/0.1.7
- plugin version:
chrome@0.1.7
- Codex Chrome Extension ID:
hehggadaopoacecdllhhajmbjkdcmajg
- Codex Chrome Extension version:
1.1.4_0
What platform is your computer?
macOS 26.4.1 (25E253) on Apple Silicon (arm64).
Chrome:
- Google Chrome
148.0.7778.97
- selected Chrome profile reported by the browser backend:
Jing
What issue are you seeing?
The bundled Chrome plugin can now connect to the extension backend and open pages, but page-level control still hangs for common interactions.
This looks like a follow-up / next-stage failure after issues such as #21681:
setupBrowserRuntime({ globals }) succeeds.
agent.browsers.get("extension") succeeds.
browser.user.openTabs() succeeds.
browser.tabs.new() succeeds.
tab.goto("https://www.baidu.com/") succeeds and tab.title() returns 百度一下,你就知道.
tab.goto("https://www.google.com/") succeeds and tab.title() returns Google.
- But Playwright locator actions and screenshot calls against those pages time out.
Expected behavior
After the Chrome plugin opens Google or Baidu, Codex should be able to:
- locate the search input,
- type a simple query,
- press Enter,
- wait for the search results URL,
- optionally take a screenshot for visual verification.
Actual behavior
The browser connection and initial navigation work, but page control hangs:
Baidu
Opening Baidu worked:
var baiduTestTab = await browser.tabs.new();
await baiduTestTab.goto("https://www.baidu.com/");
await baiduTestTab.title();
// "百度一下,你就知道"
await baiduTestTab.url();
// "https://www.baidu.com/"
Then a normal search-box interaction timed out and reset the Node REPL kernel:
var searchLocator = baiduTestTab.playwright.locator('textarea[name="wd"], input[name="wd"]');
await searchLocator.fill("Codex Chrome plugin test");
await searchLocator.press("Enter");
await baiduTestTab.playwright.waitForURL("**/s?**", {
timeoutMs: 20000,
waitUntil: "domcontentloaded",
});
After reconnecting, even a bounded probe around the locator count did not complete within 5 seconds:
var countProbe = await Promise.race([
tab.playwright.locator('textarea[name="wd"], input[name="wd"]').count()
.then(value => ({ ok: true, value })),
new Promise(resolve => setTimeout(
() => resolve({ ok: false, timeout: true, label: "search count" }),
5000,
)),
]);
// { "ok": false, "timeout": true, "label": "search count" }
tab.title() still worked, but tab.screenshot({ fullPage: false }) timed out under the same style of bounded probe.
Google
Opening Google worked and left a controlled tab at Google:
{
"title": "Google",
"url": "www.google.com/?..."
}
But trying to type into textarea[name="q"], input[name="q"] and submit a query timed out after 70 seconds and reset the Node REPL kernel. A later direct goto("https://www.google.com/search?q=OpenAI+Codex+browser+automation+test") also timed out after 45 seconds; after reconnecting, the controlled tab was still on the Google home page.
Local checks that pass
chrome-is-running.js --json reports Chrome running.
check-extension-installed.js --json reports:
{
"extensionId": "hehggadaopoacecdllhhajmbjkdcmajg",
"profilePath": "/Users/mac/Library/Application Support/Google/Chrome/Default",
"installed": true,
"registered": true,
"enabled": true,
"disabled": false,
"versions": ["1.1.4_0"]
}
check-native-host-manifest.js --json reports the native host manifest exists and is correct for com.openai.codexextension.
Why this seems distinct from the earlier discovery hang
This is not the original "Chrome backend cannot be discovered at all" failure. In this repro:
- backend discovery succeeds,
openTabs() succeeds,
- controlled tabs can be created,
- top-level navigation and
title() / url() can work.
The failure appears lower down in page control / Playwright / screenshot plumbing after navigation.
Suggested fix direction
- Add bounded timeouts and clearer diagnostics around page-level commands such as locator resolution, fill/press, screenshot, and navigation-to-results waits.
- Distinguish extension backend discovery success from per-tab page-control readiness.
- Include the target URL, command type, and backend type in timeout diagnostics so users can tell whether the extension bridge, page runtime, Playwright wrapper, or site load is stuck.
What version of the Codex App are you using?
Codex desktop app
26.513.20950(CFBundleVersion 2816).Bundled Chrome plugin observed locally:
/Users/mac/.codex/plugins/cache/openai-bundled/chrome/0.1.7chrome@0.1.7hehggadaopoacecdllhhajmbjkdcmajg1.1.4_0What platform is your computer?
macOS
26.4.1(25E253) on Apple Silicon (arm64).Chrome:
148.0.7778.97JingWhat issue are you seeing?
The bundled Chrome plugin can now connect to the extension backend and open pages, but page-level control still hangs for common interactions.
This looks like a follow-up / next-stage failure after issues such as #21681:
setupBrowserRuntime({ globals })succeeds.agent.browsers.get("extension")succeeds.browser.user.openTabs()succeeds.browser.tabs.new()succeeds.tab.goto("https://www.baidu.com/")succeeds andtab.title()returns百度一下,你就知道.tab.goto("https://www.google.com/")succeeds andtab.title()returnsGoogle.Expected behavior
After the Chrome plugin opens Google or Baidu, Codex should be able to:
Actual behavior
The browser connection and initial navigation work, but page control hangs:
Baidu
Opening Baidu worked:
Then a normal search-box interaction timed out and reset the Node REPL kernel:
After reconnecting, even a bounded probe around the locator count did not complete within 5 seconds:
tab.title()still worked, buttab.screenshot({ fullPage: false })timed out under the same style of bounded probe.Google
Opening Google worked and left a controlled tab at Google:
{ "title": "Google", "url": "www.google.com/?..." }But trying to type into
textarea[name="q"], input[name="q"]and submit a query timed out after 70 seconds and reset the Node REPL kernel. A later directgoto("https://www.google.com/search?q=OpenAI+Codex+browser+automation+test")also timed out after 45 seconds; after reconnecting, the controlled tab was still on the Google home page.Local checks that pass
chrome-is-running.js --jsonreports Chrome running.check-extension-installed.js --jsonreports:{ "extensionId": "hehggadaopoacecdllhhajmbjkdcmajg", "profilePath": "/Users/mac/Library/Application Support/Google/Chrome/Default", "installed": true, "registered": true, "enabled": true, "disabled": false, "versions": ["1.1.4_0"] }check-native-host-manifest.js --jsonreports the native host manifest exists and is correct forcom.openai.codexextension.Why this seems distinct from the earlier discovery hang
This is not the original "Chrome backend cannot be discovered at all" failure. In this repro:
openTabs()succeeds,title()/url()can work.The failure appears lower down in page control / Playwright / screenshot plumbing after navigation.
Suggested fix direction