Skip to main content
Want Skyvern Cloud to automate a site where you’re already logged in? With skyvern browser serve, Skyvern Cloud can control a Chrome browser running on your machine, using your existing cookies, sessions, extensions, and saved passwords. Common use cases:
  • Automate sites where you’re already authenticated (no need to re-login)
  • Reach internal tools behind a VPN or firewall
  • Use browser extensions you’ve already installed (ad blockers, auth tools, etc.)
  • Keep all browser data on your own machine

Quick start

One command starts Chrome on your machine and creates a tunnel so Skyvern Cloud can connect:
That’s it. The CLI launches Chrome, starts a local proxy server, and opens an ngrok tunnel. You’ll see a tunnel URL in the output; pass it as browser_address when running tasks.
The --tunnel flag requires ngrok to be installed and authenticated. Run ngrok authtoken <your-token> once to set it up.

Step-by-step (manual tunnel)

If you prefer to manage the tunnel yourself:

Run a task on your local browser

Once the tunnel is running, pass the tunnel URL as browser_address:

How it works

skyvern browser serve:
  1. Launches Chrome with CDP (Chrome DevTools Protocol) enabled on an internal port
  2. Starts a proxy server on the exposed port (default 9222) that forwards CDP traffic to Chrome
  3. Optionally creates a tunnel (--tunnel) so Skyvern Cloud can reach it from the internet

CLI options

The --api-key option can also be set via the SKYVERN_BROWSER_SERVE_API_KEY environment variable.

Examples


Security

Read this section before exposing your browser to the internet.When you run skyvern browser serve without --api-key and expose it via a tunnel, anyone with the tunnel URL has full remote control of your Chrome browser. This includes access to all logged-in sessions, cookies, saved passwords, and anything visible in the browser.

API key authentication

Use your Skyvern API key (from Settings) with the --api-key flag to require authentication on every incoming request:
Or set it via environment variable:
When enabled, all requests without a valid x-api-key header receive a 401 Unauthorized response. Skyvern Cloud automatically sends the correct API key when connecting.

Additional security measures

The built-in API key provides basic protection. For additional security such as IP allowlisting, mTLS, or VPN-based access, contact support@skyvern.com.

When to use this vs other options


Troubleshooting

Install ngrok from ngrok.com/download and authenticate it:
Use --chrome-path to specify the path to your Chrome executable:
Another process is using port 9222. Either stop that process or use a different port:
ngrok free tier tunnels have connection limits. For production use, consider an ngrok paid plan or contact support@skyvern.com for alternative tunnel options.

Next steps

Browser Sessions

Use cloud-managed browser sessions for multi-step tasks

Browser Profiles

Save and reuse authenticated browser state