Skip to main content
Agent Browser is a headless browser automation CLI for AI agents built by Vercel. It provides a fast Rust CLI with Node.js fallback, making it ideal for AI-powered browser automation. By integrating with Kernel, you can run Agent Browser automations with cloud-hosted browsers.

Using the native Kernel provider

Agent Browser has built-in support for Kernel as a cloud browser provider. This is the simplest way to use Kernel with Agent Browser.

Quick start

Use the -p flag to enable Kernel:
export KERNEL_API_KEY="your-api-key"
agent-browser -p kernel open https://example.com
Or use environment variables for CI/scripts:
export AGENT_BROWSER_PROVIDER=kernel
export KERNEL_API_KEY="your-api-key"
agent-browser open https://example.com
Get your API key from the Kernel Dashboard.

Configuration options

Configure Kernel via environment variables:
VariableDescriptionDefault
KERNEL_HEADLESSRun browser in headless mode (true/false)false
KERNEL_STEALTHEnable stealth mode to avoid bot detection (true/false)true
KERNEL_TIMEOUT_SECONDSSession timeout in seconds300
KERNEL_PROFILE_NAMEBrowser profile name for persistent cookies/logins(none)

Profile persistence

When KERNEL_PROFILE_NAME is set, the profile will be created if it doesn’t already exist. Cookies, logins, and session data are automatically saved back to the profile when the browser session ends, making them available for future sessions.
export KERNEL_API_KEY="your-api-key"
export KERNEL_PROFILE_NAME="my-profile"
agent-browser -p kernel open https://example.com

Connecting via CDP (alternative)

If you need more control, you can connect Agent Browser to Kernel via CDP directly.

1. Install the Kernel SDK

npm install @onkernel/sdk

2. Initialize Kernel and create a browser

Import the libraries and create a cloud browser session:
import Kernel from '@onkernel/sdk';

const kernel = new Kernel();

const kernelBrowser = await kernel.browsers.create({ stealth: true });

console.log("Live view url: ", kernelBrowser.browser_live_view_url);

3. Connect Agent Browser to Kernel

Use Agent Browser’s connect command to connect to Kernel’s CDP WebSocket URL:
agent-browser connect <cdp_ws_url>
Where <cdp_ws_url> is the cdp_ws_url from your Kernel browser session.

4. Use Agent Browser commands

Once connected, use Agent Browser’s commands with the Kernel-powered browser:
agent-browser open example.com
agent-browser snapshot              # Get accessibility tree with refs
agent-browser click @e2             # Click by ref from snapshot
agent-browser fill @e3 "test@example.com"  # Fill by ref
agent-browser get text @e1          # Get text by ref
agent-browser screenshot page.png

5. Clean up

When you’re done, close the browser and clean up the Kernel session:
agent-browser close
await kernel.browsers.deleteByID(kernelBrowser.session_id);

Programmatic usage

You can also use Agent Browser programmatically with Kernel:
import Kernel from '@onkernel/sdk';
import { execSync } from 'child_process';

const kernel = new Kernel();

// Create a Kernel browser session
const kernelBrowser = await kernel.browsers.create({ stealth: true });

console.log("Live view url: ", kernelBrowser.browser_live_view_url);

// Connect Agent Browser to Kernel
execSync(`agent-browser connect ${kernelBrowser.cdp_ws_url}`);

// Run your automation
execSync('agent-browser open https://example.com');
execSync('agent-browser snapshot');

// Clean up
execSync('agent-browser close');
await kernel.browsers.deleteByID(kernelBrowser.session_id);

Benefits of using Kernel with Agent Browser

  • No local browser management: Run automations without installing or maintaining browsers locally
  • Scalability: Launch multiple browser sessions in parallel
  • Stealth mode: Built-in anti-detection features for web scraping
  • Session state: Maintain browser state across runs via Profiles
  • Live view: Debug your automations with real-time browser viewing

Next steps