Error desk
CDP attach failures
connectOverCDP timing out is almost never “the fingerprint.” It’s the Launcher, the port, or the token.
Checklist
- Multilogin app running on the same machine that calls
launcher.mlx.yt:45001. - Start with
automation_type=playwright(or puppeteer). Without it you may not get an automation port — guide. - Use
http://127.0.0.1:{data.port}from the start response — not a guessed 9222. - Token still valid (~30 minutes per Multilogin help) — token desk.
- Don’t
chromium.launch()a naked browser and expect Multilogin’s profile storage. - Mimic cores for Playwright; Stealthfox + Playwright is not available per Multilogin docs.
Symptoms that look like “CDP is broken”
ECONNREFUSED 127.0.0.1:PORTafter agent restart — old port from a previous start response; re-call Launcher start and use the newdata.port.- Connect works once, then flakes — token ~30 min expiry cascading into “port closed”; re-auth first (token desk).
- Attaching to
localhostfrom a remote runner — Launcher binds on the machine running Multilogin; tunnel or run the script there. - Stealthfox profile + Playwright — Multilogin’s docs still gate Mimic for Playwright; wrong core, not a flaky CDP library.
Sanity connect (after you have a port)
import { chromium } from "playwright";
const browser = await chromium.connectOverCDP(`http://127.0.0.1:${port}`, { timeout: 10_000 });
const context = browser.contexts()[0];
const page = context.pages()[0] || await context.newPage();
Full flow: Playwright guide. Puppeteer twin: Puppeteer guide.
Ads desks
If CDP works but every site smells datacenter, switch to the proxy desk. If auth 401s cascade, stop rewriting Playwright — fix PAM first via API auth.
Affiliate disclosure. Pro+ required for API start.