Setup
7 commandslaunchStart browser with CDP enabled. Uses an isolated profile so your personal browser is never touched.
cdpilot launchsetupAuto-detect browsers on the system and create an isolated profile directory.
cdpilot setupstatusCheck if a CDP-enabled browser is running and reachable on the configured port.
cdpilot statusstopStop the browser instance managed by cdpilot on the current port.
cdpilot stopversionShow the installed cdpilot version.
cdpilot versionproxySet, show, or clear the HTTP proxy. Requires a browser restart to take effect.
cdpilot proxy [<url>|off]headlessEnable or disable headless mode. Requires a browser restart.
cdpilot headless [on|off]Interaction
12 commandsclickClick an element by CSS selector. Auto-waits up to 5 seconds for the element to appear, then scrolls it into view.
cdpilot click <selector>fillFill an input field with a value. React/Vue compatible -- uses the native setter and dispatches input + change events.
cdpilot fill <selector> <value>typeAlias for fill. Type text into an input element (React/Vue compatible).
cdpilot type <selector> <value>submitSubmit a form by clicking its submit button or calling form.submit(). Defaults to the first <form> on the page.
cdpilot submit [<selector>]hoverMove the mouse cursor to the center of an element. Triggers CSS :hover styles and mouseover events.
cdpilot hover <selector>dblclickDouble-click an element by CSS selector.
cdpilot dblclick <selector>rightclickRight-click (context menu) an element by CSS selector.
cdpilot rightclick <selector>dragDrag an element from one position to another. Simulates mousedown, mousemove steps, and mouseup.
cdpilot drag <from-selector> <to-selector>keysSend a keyboard shortcut or key press. Supports modifiers (ctrl, shift, alt, meta) combined with keys.
cdpilot keys <combo>scroll-toScroll the specified element into view with smooth scrolling.
cdpilot scroll-to <selector>waitWait for an element to appear in the DOM. Uses MutationObserver for efficient detection.
cdpilot wait <selector> [<timeout>]click-refClick an element by its @N reference number from the last a11y-snapshot. Uses real mouse events via CDP Input domain.
cdpilot click-ref <@N>Debugging
6 commandsconsoleCapture and display browser console logs (log, error, warning, info) from the current or specified page.
cdpilot console [<url>]networkMonitor and display all network requests with status codes, types, and URLs.
cdpilot network [<url>]debugFull auto-debug: navigate, then display console logs, network requests, performance metrics, and a screenshot -- all in one command.
cdpilot debug [<url>]evalExecute JavaScript in the browser and return the result. Supports async/await expressions.
cdpilot eval <js>perfShow key performance metrics: DOM nodes, JS heap size, event listeners, first meaningful paint, and DomContentLoaded.
cdpilot perfmulti-evalExecute JavaScript across all open tabs in parallel and display each result.
cdpilot multi-eval <js>Tabs & Sessions
7 commandstabsList all open browser tabs with their index, title, and URL.
cdpilot tabsnew-tabOpen a new browser tab.
cdpilot new-tab [<url>]close-tabClose a tab by index or ID. Closes the active tab if no argument is provided.
cdpilot close-tab [<index-or-id>]switch-tabSwitch to a tab by its index number or CDP target ID.
cdpilot switch-tab <index-or-id>sessionShow current session info (session ID, target, status).
cdpilot sessionsessionsList all active sessions with their target IDs and status.
cdpilot sessionssession-closeClose a specific session window and remove its registry entry.
cdpilot session-close [<session-id>]Network
4 commandsthrottleSimulate network conditions: 3G, offline, or custom bandwidth/latency.
cdpilot throttle <preset>interceptIntercept network requests: block URLs, mock responses from files, or inject custom headers.
cdpilot intercept <subcmd> [args...]cookiesList cookies for the current page or a specific domain.
cdpilot cookies [<domain>]storageDisplay all localStorage entries for the current page (keys and truncated values).
cdpilot storageEmulation
3 commandsemulateEmulate a mobile device (screen size, scale factor, user agent). Presets: iphone, ipad, android. Use 'reset' to go back to desktop.
cdpilot emulate <device>geoOverride geolocation. Presets: istanbul, london, newyork, paris, tokyo. Custom coordinates also supported.
cdpilot geo <preset|lat> [<lng>] [<accuracy>]permissionGrant, deny, or reset browser permissions (geolocation, notifications, camera, microphone, etc.).
cdpilot permission <action> [<permission>]AI & Accessibility
4 commandsmcpStart the MCP (Model Context Protocol) server over stdin/stdout. Enables AI agents like Claude Code and Cursor to control the browser via JSON-RPC.
cdpilot mcpa11y-snapshotOutput a compact accessibility snapshot for AI agent navigation. Each line shows @ref [role] "name" with attributes. Use click-ref to interact.
cdpilot a11y-snapshota11yAnalyze the full accessibility tree. Subcommands: full (default), summary, find <role>.
cdpilot a11y [full|summary|find <role>]batchRead a JSON array of commands from stdin and execute them sequentially. Returns results as JSON. Ideal for AI agent pipelines.
echo '[...]' | cdpilot batchAdvanced
12 commandsglowToggle the visual indicator overlay. When enabled, shows a green border and cursor animations during automation.
cdpilot glow [on|off]uploadUpload a file to a file input element using DOM.setFileInputFiles.
cdpilot upload <selector> <file-path>dialogHandle JavaScript dialogs (alert, confirm, prompt). Auto-accept, auto-dismiss, or respond to prompts.
cdpilot dialog <subcmd> [<text>]frameAccess iframes and Shadow DOM. List iframes, evaluate JS inside them, or read shadow root content.
cdpilot frame <subcmd> [args...]downloadConfigure the browser download directory or check its status.
cdpilot download <subcmd> [<directory>]extensionsList all installed browser extensions and dev mode extensions.
cdpilot extensionsext-installInstall an extension from a CRX file or unpacked directory. Dev extensions are loaded on next browser launch.
cdpilot ext-install <path>ext-removeRemove an extension by its ID or index number.
cdpilot ext-remove <id-or-index>projectsList all registered cdpilot project instances with their ports and status.
cdpilot projectsproject-stopStop a specific project's browser instance by name or path.
cdpilot project-stop <name>stop-allStop all active cdpilot browser instances across all projects.
cdpilot stop-allcloseClose the currently active browser tab.
cdpilot close