Windows Codex Desktop node_repl Playwright cache mismatch around Chromium revision 1200

Open 💬 1 comment Opened Jul 9, 2026 by aidawilliam41-ops

Summary

On Windows Codex Desktop, node_repl uses the embedded cua_node runtime with Playwright 1.57.0. That runtime requires Chromium / Chromium headless-shell revision 1200, but a normal user-facing repair such as npx playwright install chromium can install newer browser cache revisions (1223 / 1228) that do not satisfy the embedded runtime.

After manually placing the required official Playwright headless-shell revision 1200 into the expected %LOCALAPPDATA%\ms-playwright cache path, await import("playwright") and pw.chromium.launch({ headless: true }) work again from the embedded runtime.

There is also a confusing diagnostic mismatch: pw.chromium.executablePath() reports %LOCALAPPDATA%\ms-playwright\chromium-1200\chrome-win64\chrome.exe, but that file is missing on this machine, while chromium_headless_shell-1200 exists and launch succeeds.

Environment

  • Platform: Windows
  • Codex Desktop dependency bundle observed locally: 26.630.12135
  • Embedded runtime path class: %LOCALAPPDATA%\OpenAI\Codex\runtimes\cua_node\<hash>\bin\node.exe
  • Embedded Node: v24.14.0
  • Embedded playwright: 1.57.0
  • Embedded playwright-core: 1.57.0
  • Embedded playwright-core\browsers.json requires:
  • chromium revision 1200, browser version 143.0.7499.4
  • chromium-headless-shell revision 1200, browser version 143.0.7499.4

Observed local browser cache state after manual repair

Under %LOCALAPPDATA%\ms-playwright:

chromium_headless_shell-1200
chromium_headless_shell-1223
chromium_headless_shell-1228
chromium-1223
chromium-1228

Also verified:

exists:  %LOCALAPPDATA%\ms-playwright\chromium_headless_shell-1200\chrome-headless-shell-win64\chrome-headless-shell.exe
missing: %LOCALAPPDATA%\ms-playwright\chromium-1200\chrome-win64\chrome.exe

Smoke check after manual repair

Running with the embedded cua_node Node executable from its bin directory:

const pw = await import("playwright");
const browser = await pw.chromium.launch({ headless: true });
const page = await browser.newPage();
await page.goto("data:text/html,<title>ok</title><body>ok</body>");
console.log(await page.title());
await browser.close();

Observed result:

{
  "ok": true,
  "title": "ok",
  "executablePath": "%LOCALAPPDATA%\\ms-playwright\\chromium-1200\\chrome-win64\\chrome.exe"
}

The reported executablePath points at a missing chromium-1200 path, even though the launch succeeds with only chromium_headless_shell-1200 present.

Problem

The currently discoverable repair path is misleading for users and agents:

  1. Codex's embedded runtime has its own Playwright version and browser revision requirement.
  2. npx playwright install chromium may install browser revisions for a different Playwright version, leaving the embedded Codex runtime unresolved.
  3. The diagnostic path from pw.chromium.executablePath() can point to missing chromium-1200\chrome.exe, while the actually required cache artifact for headless operation is chromium_headless_shell-1200.
  4. The resulting failure looks like a local Playwright or system issue, but the fix needs to target Codex's embedded cua_node runtime requirements.

Expected behavior

Codex Desktop should either:

  • ensure the exact browser revision required by its embedded Playwright runtime is installed automatically;
  • expose a Codex-specific repair command that installs the correct embedded runtime browser cache;
  • or report an actionable diagnostic that names the embedded Playwright version, required browser revision, and exact expected %LOCALAPPDATA%\ms-playwright path.

Actual behavior

A standard Playwright install command can install newer revisions (1223 / 1228) while Codex's embedded Playwright 1.57.0 still requires revision 1200. Manual placement of the chromium_headless_shell-1200 cache fixes the launch, but this is not obvious from the normal diagnostics.

Related issues checked before filing

This appears adjacent but not identical to:

  • #28752: mentions Playwright 1.57.0 / chromium_headless_shell-1200, but in a macOS IAB/nativePipe/sandbox failure report.
  • #31560 and #21292: macOS Node REPL / Chromium sandbox launch failures.
  • #29193 / #29238 / #29242: Windows node_repl/js metadata failures around sandboxPolicy.
  • #20206 / #20661: Windows browser/app-server path failures.

This report is specifically about Windows Codex Desktop embedded Playwright browser-cache revision mismatch and misleading repair diagnostics.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗