By default, browser_use launches and manages the local Chrome/Chromium via managed CDP, but this does not mean the CDP port should be exposed to the user or other tools every time.
This skill focuses on more "explicit" CDP usage:
connect_cdp)
cdp_port when launching the browser
In other words:
start uses managed CDP under the hood, but users typically do not need to understand or be aware of CDP detailsPrivacy Recommendation
If the user does not want to expose browser history, cookies, page content, or session data, recommend using
private_mode=true, which switches to Playwright-managed mode.
Warning: One browser instance per workspace
Only one browser can be running or connected per workspace at a time. If a browser instance already exists, you must execute
stopfirst before switching to a new browser or a new CDP connection.
Use this skill only when the user explicitly expresses one of the following intentions:
In the following cases, you should typically not use this skill:
In these cases, use the standard start, adding headed=true if needed — refer to browser_visible.
Default scan range is 9000–10000:
{"action": "list_cdp_targets"}
Specify a single port:
{"action": "list_cdp_targets", "port": 9222}
Custom scan range:
{"action": "list_cdp_targets", "port_min": 8000, "port_max": 12000}
Use cases:
Connect to an existing CDP endpoint:
{"action": "connect_cdp", "cdp_url": "http://localhost:9222"}
Characteristics:
open, snapshot, click, type, etc.stop only disconnects — it will not close the external browser
Use cases:
If the user explicitly requests a fixed port, or needs to provide the endpoint to other tools, specify cdp_port in start:
{"action": "start", "cdp_port": 9222}
To also open a visible window:
{"action": "start", "headed": true, "cdp_port": 9222}
Current behavior:
cdp_port is already in use, an error is raised immediately — it will not forcefully reuse the portcdp_port is not specified, an available port is automatically selected, which usually avoids multi-workspace conflictsTherefore:
cdp_port proactively when the user has not explicitly requested a port
cdp_port explicitly when the user requests a fixed port or external sharing
The current port strategy for multiple workspaces:
127.0.0.1:cdp_port is already in use; if so, fails immediately and prompts the user to choose a different port or stop the old processThis means:
cdp_port, the later one will fail because the port is already in useCDP-related stop behavior differs depending on the type:
For example:
{"action": "start"}
Or:
{"action": "start", "cdp_port": 9222}
These browsers are launched and owned by QwenPaw. stop will:
For example:
{"action": "connect_cdp", "cdp_url": "http://localhost:9222"}
These browsers are not launched by QwenPaw. stop will only:
In short:
start uses managed CDP internally, this is the tool's default implementation detail and does not mean CDP concepts should be exposed to the user every timeprivate_mode is an explicit parameter for each start call and is not persisted as workspace state