Browser Use fails on Windows Codex Desktop: failed to start codex app-server (os error 3)

Open 💬 10 comments Opened Apr 29, 2026 by bboerni2
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

Summary

On Codex Desktop for Windows, the Browser Use / in-app browser integration can detect the selected in-app browser tab, but real browser operations fail with:

failed to start codex app-server: Das System kann den angegebenen Pfad nicht finden. (os error 3)

Environment

  • OS: Windows
  • Codex Desktop
  • App version seen in logs: 0.125.0-alpha.3
  • Installed package path/version seen locally: OpenAI.Codex_26.422.8496.0_x64__2p2nqsd0c76g0
  • Browser Use plugin: openai-bundled/browser-use/0.1.0-alpha1

What works

  • Basic node_repl execution works.
  • browser-client.mjs exists and imports successfully.
  • setupAtlasRuntime({ globals: globalThis, backend: "iab" }) succeeds.
  • agent.browser.tabs.selected() can read the current in-app browser tab title/url.

Example successful selected-tab read:

{"title":"Example Domain","url":"https://example.com/"}

What fails

The following fail with the codex app-server path error:

  • agent.browser.tabs.new()
  • tab.goto(...)
  • tab.playwright.domSnapshot()

Minimal repro

const { setupAtlasRuntime } = await import('file:///<redacted-user-home>/.codex/plugins/cache/openai-bundled/browser-use/0.1.0-alpha1/scripts/browser-client.mjs');
await setupAtlasRuntime({ globals: globalThis, backend: 'iab' });
const tab = await agent.browser.tabs.selected();
await tab.playwright.domSnapshot();

Expected behavior

Browser Use should be able to inspect and control the selected in-app browser tab.

Actual behavior

failed to start codex app-server: Das System kann den angegebenen Pfad nicht finden. (os error 3)

Notes

A full Codex Desktop restart did not resolve the issue. After restart, PATH appeared to point to the current package version only (OpenAI.Codex_26.422.8496.0_x64__2p2nqsd0c76g0). Before restart, there appeared to be an older package version in PATH as well, but the error persisted after that was cleaned up by restart.

This reproduces on https://example.com/, so it is not site-specific.

View original on GitHub ↗

10 Comments

github-actions[bot] contributor · 2 months ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #20130
  • #19298
  • #20048
  • #19423
  • #19562

Powered by Codex Action

Toshi3886 · 2 months ago

I can reproduce the same issue on another Windows machine, with the Japanese localized error message.

Environment

  • OS: Windows 10.0.26100, x64
  • Codex Desktop app package: OpenAI.Codex_26.422.8496.0_x64__2p2nqsd0c76g0
  • Codex Desktop Codex.exe product version: 26.422.62136
  • Bundled CLI/app-server: 0.126.0-alpha.8
  • Browser Use plugin: openai-bundled/browser-use/0.1.0-alpha1

What works

The in-app browser bridge can initialize and read the selected blank tab:

const { setupAtlasRuntime } = await import(
  'C:/Users/<USER>/.codex/plugins/cache/openai-bundled/browser-use/0.1.0-alpha1/scripts/browser-client.mjs'
);

await setupAtlasRuntime({ globals: globalThis, backend: 'iab' });
globalThis.tab = await agent.browser.tabs.selected();

nodeRepl.write(JSON.stringify({
  title: await tab.title(),
  url: await tab.url()
}));

Result:

{"title":"New page","url":"about:blank"}

On about:blank, tab.playwright.domSnapshot() also succeeds and returns an empty snapshot:

{"ok":true,"length":0,"sample":""}

What fails

Both external navigation and nodeRepl.fetch(...) fail immediately:

await tab.goto('https://mail.google.com/mail/u/0/#search/in%3Ainbox+before%3A2026%2F04%2F01', {
  waitUntil: 'domcontentloaded',
  timeout: 30000
});
const res = await nodeRepl.fetch(
  'https://chatgpt.com/backend-api/aura/site_status?site_url=https%3A%2F%2Fmail.google.com'
);

Observed localized error:

Error: failed to start codex app-server: 指定されたパスが見つかりません。 (os error 3)
    at C:\Users\<USER>\AppData\Local\Temp\<TMP>\kernel.js:1675:18
    at handleAuthenticatedFetchResult (C:\Users\<USER>\AppData\Local\Temp\<TMP>\kernel.js:1931:5)
    at handleInputLine (C:\Users\<USER>\AppData\Local\Temp\<TMP>\kernel.js:2008:5)
    at handleInputFrame (C:\Users\<USER>\AppData\Local\Temp\<TMP>\kernel.js:2048:3)

Desktop log evidence

The desktop log shows the app-server transport started and reports version 0.126.0-alpha.8:

info [AppServerConnection] Initializing app-server transport
info [AppServerConnection] Starting app-server connection hostId=local transport=stdio
info [AppServerConnection] Current reported app-server version: currentVersion=0.126.0-alpha.8 hostId=local

The bundled Browser Use plugin is also present/forced:

info [BundledPluginsMarketplace] bundled_plugins_marketplace_sync_started disabledInstalledPluginCount=0 enabledPluginNames=["browser-use","latex-tectonic"] forceInstallPluginNames=["browser-use"]
info [BundledPluginsMarketplace] bundled_plugin_install_requested pluginName=browser-use reason=forced

The native browser-use pipe and IAB tab mapping are created:

info [browser-use-native-pipe-server] browser-use native pipe listening pipePath=\\.\pipe\codex-browser-use\<UUID>
info [browser-use-iab-api] IAB_LIFECYCLE iab createTab mapped page to tab conversationId=<THREAD_ID> pageKey=1:<THREAD_ID> routeKey=1:<THREAD_ID> tabId=1 turnId=<TURN_ID> webContentsId=3
info [browser-use-iab-api] IAB_LIFECYCLE registered debugger listener pageKey=1:<THREAD_ID> routeKey=1:<THREAD_ID> tabId=1 webContentsId=3

Process evidence

The app-server process was observed running:

Name: codex.exe
ExecutablePath: C:\Program Files\WindowsApps\OpenAI.Codex_26.422.8496.0_x64__2p2nqsd0c76g0\app\resources\codex.exe
CommandLine: "...\app\resources\codex.exe" app-server --analytics-default-enabled

Workaround

A separate Playwright MCP browser can open the same external Gmail URL successfully. So the network/page itself is not the blocker; this appears isolated to the Codex in-app browser / Browser Use app-server bridge.

Rainson12 · 2 months ago

I experience the same error. According to codex debugging itself:

I checked the Browser Use client bundle. There is no normal filesystem path for app-server in browser-client.mjs, and it does not look like something solved by setting PATH.

What the client actually uses on Windows is named pipes:

\\.\pipe\codex-browser-use-iab
\\.\pipe\codex-browser-use
\\.\pipe\codex-browser-use\*
I also checked your machine and these pipes exist:

codex-browser-use\5b2d8b00-7459-42ec-b162-2a4568648804
codex-browser-use\df397824-ffd2-422f-860e-75947e30f318
codex-browser-use\ee81fc03-8c3c-4db5-a5f4-c1e49884acab
codex-browser-use\ffa645a1-46ba-49c8-ace5-bbdd00cc37e2
So the Browser Use client can connect to the Codex/IAB backend. That matches what we saw: tabs.list() works.

The failing message:

failed to start codex app-server: Das System kann den angegebenen Pfad nicht finden. (os error 3)
is coming from the backend after connection, when it tries to start some internal Codex app-server component for navigation/DOM/screenshot work. The exact missing filesystem path is not included in the error returned to me.

The stack I can see points only to the temporary Node REPL kernel:

C:\Users\USERNAME\AppData\Local\Temp\.tmpe2NUJW\kernel.js
That is just the REPL runtime, not the missing app-server path.

So: I don’t think a PATH variable is the fix unless the Codex app-server internally shells out to something by name, but the available error does not expose that. More likely this is a Codex Desktop / Browser Use plugin packaging or runtime-location issue: the backend is reachable, but the app-server binary/folder it expects is missing or not where the backend thinks it is.
7hcy9xqq7q-dotcom · 2 months ago

I’m also seeing this on Windows Codex Desktop.

The in-app browser opens, but Codex fails when trying to inspect or control it with:
failed to start codex app-server: The system cannot find the path specified. (os error 3)

lzhan011 · 2 months ago

I can reproduce the same issue on Windows Codex Desktop.

Environment:

  • OS: Windows
  • Codex Desktop / Windows app
  • codex-cli: 0.128.0-alpha.1
  • Browser Use plugin: openai-bundled/browser-use/0.1.0-alpha1

What works:

  • Browser-in-app can initialize.
  • It can see an about:blank tab.
  • DOM snapshot on about:blank succeeds.
  • The Browser Use plugin file exists:

C:\Users\zhang\.codex\plugins\cache\openai-bundled\browser-use\0.1.0-alpha1\scripts\browser-client.mjs

  • Manual app-server startup works:

codex app-server --listen ws://127.0.0.1:0

It listens successfully, for example:

ws://127.0.0.1:60095

  • Health checks succeed:

curl.exe -i http://127.0.0.1:60095/healthz
curl.exe -i http://127.0.0.1:60095/readyz

Both return:

HTTP/1.1 200 OK
content-length: 0

What fails:

failed to start codex app-server: The system cannot find the path specified. (os error 3)

Additional checks:

  • codex app-server --help works.
  • codex app-server --listen ws://127.0.0.1:0 works manually.
  • browser-client.mjs exists and can be read.
  • Browser Use is enabled in Codex settings.
  • Approval and History permissions are set to Always allow.
  • No blocked domains are configured.
  • Clearing browsing data and restarting Codex Desktop did not fix it.

This looks like Codex Desktop can run the app-server manually, but the Browser Use / in-app browser integration still fails to auto-start or bind to the app-server when navigating to an external URL.

ahostbr · 2 months ago

Cross-linking a local workaround that fixed this same Windows Codex Desktop / Browser Use failed to start codex app-server: ... (os error 3) failure here: https://github.com/openai/codex/issues/19562#issuecomment-4356858649

On my machine, %LOCALAPPDATA%\OpenAI\Codex\bin was expected/on the Desktop path but missing. The helper binaries already existed at:

%LOCALAPPDATA%\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Local\OpenAI\Codex\bin

Creating a junction from the expected path to the packaged helper-bin path fixed Browser Use / in-app browser control:

$target = "$env:LOCALAPPDATA\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Local\OpenAI\Codex\bin"
$link = "$env:LOCALAPPDATA\OpenAI\Codex\bin"

if (!(Test-Path $target)) { throw "Target not found: $target" }

New-Item -ItemType Directory -Force -Path (Split-Path $link) | Out-Null
if (!(Test-Path $link)) {
    New-Item -ItemType Junction -Path $link -Target $target
}

After adding the junction and retrying in Codex Desktop, Browser Use could attach to the selected in-app browser tab, navigate to external pages, read DOM snapshots, click links, and continue navigating.

This may not cover every Windows Browser Use failure, but it looks relevant when the IAB backend can initialize/list tabs and then navigation/DOM/screenshot work fails with failed to start codex app-server: ... (os error 3).

toftonin · 2 months ago

I can reproduce this on another Windows machine.

Environment:

  • OS: Windows 11 Home
  • Version: 25H2
  • OS build: 26200.8328
  • codex-cli: 0.128.0-alpha.1
  • Browser Use plugin: openai-bundled/browser-use/0.1.0-alpha1

What works:

  • The in-app browser can open and control a local file:// HTML page.
  • DOM snapshot, fill, click, and screenshot work on the local page.

What fails:

Error:
failed to start codex app-server: <Windows message: The specified path was not found> (os error 3)

Additional note:
codex --version also prints:
WARNING: proceeding, even though we could not update PATH: <Windows message: Access is denied> (os error 5)

Updating/repairing Codex, rebooting Windows, and running Codex as administrator did not fix it.

izza56 · 2 months ago

I’m seeing the same issue on Windows Codex Desktop.

Environment:

  • OS: Windows
  • Codex package path/version: OpenAI.Codex_26.429.8261.0_x64__2p2nqsd0c76g0
  • Browser Use plugin: openai-bundled/browser-use/0.1.0-alpha1
  • Node installed separately: Node.js 24.15, but this does not appear to affect the issue

What works:

  • setupAtlasRuntime({ globals: globalThis, backend: "iab" }) succeeds
  • Browser Use can see the in-app browser backend
  • agent.browser.tabs.list() returns the blank in-app tab:
[
  {
    "id": "1",
    "url": "about:blank",
    "title": "about:blank"
  }
]
What fails:

tab.goto("https://www.thejournal.ie/")
nodeRepl.fetch("https://chatgpt.com/backend-api/aura/site_status?...")
Both fail with:

failed to start codex app-server: The system cannot find the path specified. (os error 3)
I also tried a full Codex quit/relaunch, but the issue persisted. This appears to be the same app-server bridge failure rather than a site-specific browser problem.
goodneamtakenbydogs · 1 month ago

Adding a possibly related root cause from a newer Windows repro.

I saw the same lower-level shape here: Browser Use / policy config reads eventually failed because Codex app-server could not start with os error 3. In my case, the missing path was a stale configured Codex CLI path: CODEX_CLI_PATH and chrome-native-hosts-v2.json paths.codexCliPath pointed to an old hash directory whose codex.exe no longer existed.

Updating those paths to the existing codex.exe and restarting Codex fixed the policy/config read path on that machine. The main diagnostic gap is that the error did not expose the missing configured path, so it looked like a generic app-server failure.

More focused details: #28474

lzhan011 · 1 month ago

  您好,您的邮件我已收到,我会及时处理的!谢谢!