Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/vercel-labs/agent-browser/llms.txt

Use this file to discover all available pages before exploring further.

Kernel provides cloud browser infrastructure for AI agents with features like stealth mode and persistent profiles.

When to Use Kernel

  • Bot detection avoidance (stealth mode)
  • Persistent login sessions across runs
  • Cloud deployment without local browser
  • Fingerprint resistance
  • Enterprise-grade browser infrastructure

Prerequisites

Setup

1

Get your API key

  1. Visit the Kernel Dashboard
  2. Navigate to API settings
  3. Create and copy your API key
2

Set environment variable

export KERNEL_API_KEY="your-api-key"

Usage

Via CLI Flag

Use the -p kernel flag:
agent-browser -p kernel open https://example.com
agent-browser -p kernel snapshot -i
agent-browser -p kernel click @e1

Via Environment Variable

Set the provider globally:
export AGENT_BROWSER_PROVIDER=kernel
export KERNEL_API_KEY="your-api-key"

# Now all commands use Kernel automatically
agent-browser open https://example.com
agent-browser snapshot -i
agent-browser click @e1

Configuration

Environment Variables

VariableDescriptionDefault
AGENT_BROWSER_PROVIDERSet to kernel-
KERNEL_API_KEYYour Kernel API keyRequired
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/loginsNone

Stealth Mode

Stealth mode (enabled by default) helps avoid bot detection:
# Stealth enabled (default)
export KERNEL_STEALTH=true
agent-browser -p kernel open https://example.com

# Disable stealth if not needed
export KERNEL_STEALTH=false
agent-browser -p kernel open https://example.com

Persistent Profiles

Use profiles to persist cookies, logins, and session data across browser restarts:
export KERNEL_PROFILE_NAME="myapp-session"

# First run - login and session is saved
agent-browser -p kernel open https://app.example.com/login
agent-browser -p kernel snapshot -i
agent-browser -p kernel fill @e1 "user@example.com"
agent-browser -p kernel fill @e2 "password"
agent-browser -p kernel click @e3
agent-browser -p kernel close  # Profile saved automatically

# Second run - reuses saved session
agent-browser -p kernel open https://app.example.com/dashboard
# Already logged in!
When KERNEL_PROFILE_NAME is set, the profile is created if it doesn’t exist. Cookies, logins, and session data are automatically saved when the browser session ends.

Features

All standard agent-browser commands work with Kernel:
  • Navigation: Full page navigation support
  • Snapshots: Accessibility tree with refs
  • Interactions: Click, fill, type, press, hover
  • Screenshots: Standard and annotated screenshots
  • State Management: Cookies, localStorage, sessionStorage
  • Network Control: Route, intercept, mock responses

Example: Persistent Login Session

#!/bin/bash
# login-once.sh - Login is saved to profile

export AGENT_BROWSER_PROVIDER=kernel
export KERNEL_API_KEY="your-api-key"
export KERNEL_PROFILE_NAME="github-session"
export KERNEL_STEALTH=true

# Login once
agent-browser open https://github.com/login
agent-browser snapshot -i
agent-browser fill @e1 "username"
agent-browser fill @e2 "password"
agent-browser click @e3
agent-browser wait --url "**/github.com"
agent-browser close

echo "Session saved to profile: github-session"
#!/bin/bash
# reuse-session.sh - Reuses saved login

export AGENT_BROWSER_PROVIDER=kernel
export KERNEL_API_KEY="your-api-key"
export KERNEL_PROFILE_NAME="github-session"

# Already logged in from previous session
agent-browser open https://github.com/settings
agent-browser snapshot -i

Example: Stealth Scraping

# Avoid bot detection with stealth mode
export AGENT_BROWSER_PROVIDER=kernel
export KERNEL_API_KEY="your-api-key"
export KERNEL_STEALTH=true

agent-browser open https://protected-site.com
agent-browser wait --load networkidle
agent-browser snapshot -i --json > data.json
agent-browser close

Example: CI/CD with Persistent Auth

# .github/workflows/deploy.yml
name: Deploy Dashboard

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      
      - name: Install agent-browser
        run: npm install -g agent-browser
      
      - name: Deploy via admin panel
        env:
          AGENT_BROWSER_PROVIDER: kernel
          KERNEL_API_KEY: ${{ secrets.KERNEL_API_KEY }}
          KERNEL_PROFILE_NAME: admin-session
          KERNEL_STEALTH: true
        run: |
          # Profile persists between CI runs
          agent-browser open https://admin.example.com/deploy
          agent-browser snapshot -i
          agent-browser click @e5  # Click deploy button
          agent-browser wait --text "Deployment successful"
          agent-browser screenshot deploy-success.png

Profile Management

Profiles are managed server-side by Kernel:
  • Auto-creation: Profiles are created automatically on first use
  • Persistence: Session data persists across browser restarts
  • Isolation: Each profile name is isolated from others
  • Cleanup: Profiles expire based on your Kernel plan settings

Pricing

Check current pricing and plans at kernel.sh/pricing.
Use KERNEL_PROFILE_NAME to maintain authenticated sessions across deployments, CI/CD runs, or scheduled tasks without re-logging in every time.

Build docs developers (and LLMs) love