Skip to content

browse.exe fails on Windows: --remote-debugging-pipe not working with Bun runtime #254

@Zoesin

Description

@Zoesin

Environment

  • OS: Windows 11 Home (10.0.26200)
  • Bun: v1.3.8
  • Node.js: v22.21.0
  • Playwright: v1.58.2
  • gstack: latest (shallow clone 2026-03-21)

Problem

browse.exe (compiled with Bun) cannot launch Chromium on Windows. Chrome starts
successfully (pid is assigned) but the --remote-debugging-pipe connection times out
after 180000ms, so Playwright never gets a usable browser instance.

Affects all browser-dependent skills: /browse, /qa, /qa-only, /design-review,
/setup-browser-cookies.

Reproduction

cd ~/.claude/skills/gstack
bun --eval 'import { chromium } from "playwright"; const browser = await chromium.launch(); console.log("OK"); await
browser.close();'

Result:
TimeoutError: launch: Timeout 180000ms exceeded.
  - <launching> ...chrome-headless-shell.exe ... --remote-debugging-pipe --no-startup-window
  - <launched> pid=29348

Chrome launches but never connects back through the pipe.

Root Cause

Bun on Windows does not correctly inherit/pass the anonymous pipe file handles (fd 3 & 4)
to the Chrome child process when using --remote-debugging-pipe. This is a known Bun
limitation on Windows.

Workaround

Node.js works perfectly:

const { chromium } = require('./node_modules/playwright');
const browser = await chromium.launch({ timeout: 10000 });
console.log('OK'); // ✅ succeeds immediately
await browser.close();

Suggestion

- Build/distribute a Node.js version of browse for Windows, or
- Detect the Bun pipe issue at startup and fall back to Node.js if available, or
- Document this limitation in Windows installation notes

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions