browser-use on corp laptop — playwright-cli fallback
browser-use on corp laptop — playwright-cli fallback
Locked
Both machines run browser-use skill (registered at 7 agent paths). Runtime split:
| Machine | Browser automation tool | Reason |
|---|---|---|
| Corp laptop (Windows 11, this one) | playwright-cli (corp-signed) |
Chrome CDP socket bind blocked at OS level (Defender/EPM policy) |
| Personal laptop | browser-use native |
No corp policy — CDP works out of the box |
Skill file at ~/.claude/skills/browser-use/SKILL.md present on both. On corp machine, agent reads skill but MUST substitute playwright-cli commands.
Evidence gathered 2026-07-04
Verified 3 CDP mechanisms all fail on corp machine:
- Chrome launched with
--remote-debugging-port=9222→DevToolsActivePortfile written but zero LISTENING sockets on any Chrome PID (netstat -ano | Select-String ':9222') - Runtime toggle at
chrome://inspect/#remote-debugging→ same — port shown in UI but no socket - Pipe transport → not supported by browser-use
Playwright's Chromium 1228 binary at ~/.local/ms-playwright/chromium-1228/ launches cleanly (signed by Microsoft, allowlisted through Defender). playwright-cli open <url> + playwright-cli snapshot verified working.
How to use on corp laptop
playwright-cli open https://github.com/chirag127
playwright-cli snapshot # capture page state + get element refs
playwright-cli click <ref> # click by snapshot ref
playwright-cli fill <ref> "text" # fill input
playwright-cli close # end session
Sessions persist across CLI calls via .playwright-cli/ dir in cwd. Pass -s=<name> for named sessions (parallel browser instances).
How to use on personal laptop
Standard browser-use flow per its SKILL.md:
browser-use <<'PY'
ensure_real_tab()
page_info()
PY
Installation state (this corp laptop)
uv tool install --python 3.12 --force browser-use— installed at~/AppData/Roaming/uv/tools/browser-use/- Cannot invoke via
.exeshim (C:\Users\C5420321\.local\bin\browser-use.exeAccess Denied — Defender/EPM blocks new.exefiles under user profile) - MUST invoke as:
& "$env:USERPROFILE\AppData\Roaming\uv\tools\browser-use\Scripts\python.exe" -c "from browser_use.cli import main; main()" <args> --no-installflag mandatory on skill re-install to skip the exe-reinstall path
Cross-refs
corp-vs-personal-laptop-split-2026-06-29— the broader corp/personal split rationaleplaywright-persistent-sessions— Playwright signed-binary constraintcross-machine-parity-via-sync— enables both machines to be primary