cm-browse — local Playwright daemon (fallback)
Prefer the host browser. Per _shared/browser-strategy.md: on Claude Code / Antigravity / Cursor / Codex, drive the platform's native browser mode (Claude in Chrome, Claude Preview, Chrome DevTools / Playwright MCP). This daemon is the fallback for bare CLI hosts with no browser mode, and is never auto-started — suggest it to the user and let them opt in.
Full runbook: docs/browse-daemon.md (install Chromium, token, troubleshooting).
When to use
- Only when no host browser mode is available (bare CLI) and you genuinely need a real browser for visual QA, screenshots, or post-deploy smoke. Otherwise use the host browser.
- HTTP-only checks (status code,
curl) need no browser — do those first.
CLI
export CM_BROWSE_TOKEN="$(openssl rand -hex 24)"
cm browse start --port 17395 --token "$CM_BROWSE_TOKEN"
HTTP API (Bearer token)
POST /session/startbody{ "headless": true }POST /navigate{ "url": "https://…" }POST /refs/refresh— assignsdata-cm-refto interactive nodes; use@e1style refs.POST /click{ "ref": "e1" }POST /fill{ "ref": "e2", "value": "text" }GET /screenshot— PNGGET /console/GET /network— ring buffers
Integrations
cm qa-visual --url …calls the daemon locally.- Pair with
cm-canary/cm-safe-deployfor ship verification.