Guides / Guide
What is remote CDP?
Learn where CDP fits between your automation client and a network-accessible Chromium browser.
Remote CDP means controlling a Chromium browser across a network connection using the Chrome DevTools Protocol. Your program runs on one machine; the browser can run on another. CDP is the control protocol, while the browser service owns the running process and its lifetime.
Where the protocol fits
Automation client or agent
↓ browser commands
Harness / Playwright / Puppeteer
↓ CDP connection
Authenticated gateway
↓
Chromium browser → target websiteThe target website receives requests from the browser environment. Moving the client does not move the browser's network egress. A proxy, if configured, belongs in that browser-side network path.
CDP alone does not provision machines, save profiles, allocate quotas, or authorize users. Those are infrastructure responsibilities. See the architecture for how the runtime and its gateway fit together.
Endpoint and connection are different things
A browser endpoint identifies where to attach. A connection is the live transport carrying commands and events. A dropped transport does not, by itself, establish whether the browser was terminated. Check the service's lifecycle and timeout rules before reconnecting or creating a replacement.
Keep endpoint credentials in an environment variable or secret store. Avoid printing signed URLs in logs or publishing them in screenshots. A successful connection can expose an authenticated browser, so access should be scoped to the intended session.
Which client should you use?
Playwright can attach to Chromium over CDP; Puppeteer also supports remote connections. Select the library your application already uses and check the exact features your workflow requires. CDP support does not establish feature parity with every library's native connection. See the Playwright connection reference and Puppeteer connect reference.
For a complete setup, use Playwright over remote CDP or the framework documentation.
A practical connection checklist
- Obtain a browser-level endpoint through an authenticated service.
- Confirm the client can reach the gateway over the intended network route.
- Attach and inspect available contexts and tabs before creating new ones.
- Perform a read-only operation to verify the target session.
- Define who releases the session after the task and after failures.
When troubleshooting, distinguish authentication failures, transport failures, missing tabs, and expired website logins. Recreating a browser may solve a terminated process, but it will not fix a revoked website credential. Continue with browser session lifetimes and session lifecycle design.