Skip to main content
Launch and control a Chrome instance on your Mac, with the Chrome DevTools Protocol (CDP) forwarded into the VM. This lets tools like Puppeteer or Playwright running inside a VM control a real browser on your local machine.
This builds on the client utilities. Turn them on first with boxd config set client-utils.enable true. Currently available for macOS (Apple Silicon) only.

Connecting via CDP

boxd local browser open (and boxd local browser info) print the CDP WebSocket URL. It points at boxd’s device ingress (…/device/<id>/browser/ws) and is forwarded to the Chrome instance on your machine. Pass that URL to Puppeteer or Playwright. Connect from Puppeteer:
Or from Playwright:
Or drive it from Claude Code, which comes with the chrome-devtools-mcp pre-installed and pre-configured:

Session persistence

The browser uses a fixed session directory on your Mac (~/.boxd/browser-sessions/default/). Cookies, localStorage, and login state persist across open/close cycles. Only one browser instance runs at a time. Calling open when a browser is already running returns the existing session.