Daemon fails to start from npm-installed package because `tsx` is missing
Before submitting
- I searched existing issues for duplicates.
- I ran
browser-harness --doctorand read the output. - I read the troubleshooting section of
install.md. - This is a reproducible bug in browser-harness — not a question, feature request, or
cloud.browser-use.comissue.
Summary
Daemon fails to start from npm-installed package because tsx is missing
Nothing works
Expected behavior
A normal npm installation should include everything required to start the daemon, without requiring a manual npm install --no-save tsx.
It would be great if tsx were included as a production dependency, or if the published package
contained the necessary runtime artifact so the daemon can start without
relying on npx to download a missing dependency.
Repro
Problem
After installing pi-browser-harness from npm, /browser-setup fails because the browser harness daemon never starts. Pi reports:
socket not foundNo harness daemon socket is created.
The CDP connection itself is working correctly. The browser WebSocket obtained from:
curl http://127.0.0.1:9222/json/versionalso works successfully when tested directly.
The issue appears to be that the published 0.11.0 package does not have tsx available where the daemon startup code expects it. In a locked-down/container environment, the fallback to npx tsx cannot obtain it, so the daemon exits before creating its IPC socket.
Workaround
Installing tsx into the installed package fixes the daemon startup:
cd ~/.pi/agent/npm/node_modules/pi-browser-harness
npm install --no-save tsxAfter doing this, /browser-setup successfully starts the daemon and /browser-status reports:
Browser: Connectedwith the existing Chromium CDP session.
Environment
Environment
pi-browser-harness:0.11.0Installed via
pi install npm:pi-browser-harnessLinux/container environment
Connecting to an existing Chromium instance via
BU_CDP_WSChromium is listening on port
9222
Source: browser-use/browser-harness