Permanent burner
A Chrome that exists only for agents — and keeps your OAuth.
musketeer-chrome (also installed as ds4cc-chrome) launches stable Chrome for Testing into a dedicated profile. You sign into Grok, ChatGPT, Kimi, and NotebookLM once. Every later launch reuses that session. Your daily browser is never started, never attached, never inspected.
You
CLI / agent
Driver
agent-browser --cdp 9222
Wire
127.0.0.1 only
Host
musketeer-chrome profile
Why a separate profile is mandatory
Chrome 136+ refuses default-profile CDP
Launching Chrome with --remote-debugging-port against your everyday user-data-dir fails closed. No error you can see in the UI — the debug endpoint simply never comes up. Isolated --user-data-dir is not optional.
CDP is full browser control
Anyone who can reach the debug port can read cookies, click, type, and exfiltrate every signed-in session. Bind 127.0.0.1. Do not expose it on a LAN. Do not point it at Brave, daily Chrome, or anything with banking tabs.
Where the profile lives
The launcher prefers an explicit MUSKETEER_CHROME_BIN. Otherwise it reuses a legacy DS4CC pair only if both the executable and a real (non-symlink) profile exist. Partial leftovers fall back to the canonical the-musketeer paths.
| Role | Path |
|---|---|
| Canonical binary | ~/.local/share/the-musketeer/chrome-canary |
| Canonical profile | ~/.local/share/the-musketeer/chrome-profile |
| Legacy DS4CC pair | ~/.local/share/ds4cc/chrome-canary + ~/.local/share/ds4cc/agent-chrome-profile |
| WSL / Windows | C:\ChromeAutomation |
Neither installer deletes profiles or replaces authentication data. Stable Chrome for Testing is deliberate — Canary 152 crashed on Google sign-in pages despite passing blank-page CDP probes.
Launch configuration
Evidence-backed flags only. Sandbox stays on. No forced renderer accessibility, no Vulkan disable, no /dev/shm disable, no ANGLE override. chrome://flags remain at Default.
Linux / Omarchy
After install, boot the four default tabs and confirm DevTools is listening.
eval "$(fnm env --shell bash)" # node + agent-browser on PATH
export PATH="$(dirname "$(command -v node)"):$HOME/.local/bin:$PATH"
musketeer-chrome
curl -sS http://127.0.0.1:9222/json/version
WSL → Windows Chrome Dev
Close tray-resident Chrome Dev first. New launches inherit the previous instance's empty flag set if one is still running.
"C:\Program Files\Google\Chrome Dev\Application\chrome.exe" "--user-data-dir=C:\ChromeAutomation" --remote-debugging-port=9222 --no-first-run --no-default-browser-check
SIGTRAP crash loop
If Chrome reaches DevTools listening and then repeatedly dies, the persistent profile may hold incompatible state. Preserve it — do not delete credentials:
./scripts/repair-chrome-profile
musketeer-chrome
Repair refuses to run while Chrome owns the profile and moves the old directory to a timestamped .crash-backup-* path. Sign in once in the clean profile.