Download skills/chrome-automation/chrome-automation/SKILL.md from the publisher, or copy the path and open the repository. PlugMCP lists the skill and does not host the file.
Where does chrome-automation live?
The publisher keeps it at https://github.com/anbeime/skill.
Which agents can use chrome-automation?
Claude, Cursor, and Codex can read a SKILL.md you add from the publisher's repository.
Control the user's Google Chrome browser using agent-browser connected via Chrome DevTools Protocol (CDP). All actions are visible in real-time in the user's browser window.
# 1. Clone repository
Set-Location "$HOME\Documents"
git clone https://github.com/vercel-labs/agent-browser.git
Set-Location agent-browser
# 2. Install Node dependencies
pnpm install
npx playwright install chromium
# 3. Install Rust (if not installed)
# Download from: https://win.rustup.rs/x86_64
# Or use the auto-install script
# 4. Build native binary
npm run build:native
Verify Installation
After installation (automatic or manual), verify it works:
# Mac
cd ~/Documents/agent-browser
AGENT_BROWSER_HOME=~/Documents/agent-browser ./bin/agent-browser --version
# Windows (PowerShell)
Set-Location "$HOME\Documents\agent-browser"
$env:AGENT_BROWSER_HOME = "$HOME\Documents\agent-browser"
.\bin\agent-browser.cmd --version
Troubleshooting Installation
"No binary found for darwin-arm64" or "No binary found for win32-x64":
Rust is not installed or not in PATH
Run the auto-install script, it will handle Rust installation
Or manually install Rust and run npm run build:native
"cargo: command not found":
Rust toolchain not in PATH
Mac: export PATH="$HOME/.cargo/bin:$PATH"
Windows: $env:PATH = "$HOME\.cargo\bin;$env:PATH"
Then run rustup default stable and npm run build:native
"rustup could not choose a version":
Default toolchain not set
Run: rustup default stable
Then rebuild: npm run build:native
Common Rust Installation Issues
Issue 1: Permission denied when installing Rust (Mac)
When running the Rust installer, you may encounter:
error: could not amend shell profile: '/Users/username/.bash_profile':
could not write rcfile file: Permission denied (os error 13)
Solution:
This error is usually harmless - Rust binaries are still installed successfully to ~/.cargo/bin/. The error only affects automatic PATH configuration in shell profiles.
Fix steps:
# Mac: Set default toolchain manually
/Users/username/.cargo/bin/rustup default stable
# This will download and install:
# - cargo, clippy, rust-docs, rust-std, rustc, rustfmt
Issue 2: Rust installed but cargo not found (Mac)
After Rust installation, running cargo fails with "command not found".
Root cause:
Rust binaries are in ~/.cargo/bin/ but not in current shell's PATH
Default toolchain not configured
Solution:
# Use full path to set default toolchain
~/.cargo/bin/rustup default stable
# Then build with full path
cd ~/Documents/agent-browser/cli
~/.cargo/bin/cargo build --release
# Or add to PATH for current session
export PATH="$HOME/.cargo/bin:$PATH"
cargo build --release
On Windows, Rust installer may fail with access denied errors.
Solution:
# Run PowerShell as Administrator, then:
# Download and run Rust installer
Invoke-WebRequest -Uri "https://win.rustup.rs/x86_64" -OutFile "$env:TEMP\rustup-init.exe"
& "$env:TEMP\rustup-init.exe" -y
# Set default toolchain
& "$env:USERPROFILE\.cargo\bin\rustup.exe" default stable
# Add to PATH for current session
$env:PATH = "$env:USERPROFILE\.cargo\bin;$env:PATH"
Issue 4: Build fails even after Rust installation
Symptoms:
npm run build:native fails
"cargo: command not found" in build output
Solution:
# Mac: Build with explicit cargo path
cd ~/Documents/agent-browser/cli
~/.cargo/bin/cargo build --release
# Then copy binary manually
cd ~/Documents/agent-browser
node scripts/copy-native.js
# Windows: Build with explicit cargo path
Set-Location "$HOME\Documents\agent-browser\cli"
& "$env:USERPROFILE\.cargo\bin\cargo.exe" build --release
# Then copy binary manually
Set-Location "$HOME\Documents\agent-browser"
node scripts/copy-native.js
Key Takeaway:
Even if Rust installation shows permission errors, the binaries are usually installed successfully. The main issue is:
Default toolchain not configured → Run rustup default stable with full path
PATH not updated → Use full paths to cargo/rustup, or manually add ~/.cargo/bin to PATH
For detailed troubleshooting, see:
references/setup-mac.md
references/setup-windows.md
references/troubleshooting.md
Chrome Connection
Method 1: Start Chrome with persistent profile (Recommended)
Use the start-chrome script to preserve login states across sessions:
# Mac: Start Chrome with persistent profile
bash ~/.claude/skills/chrome-automation/scripts/start-chrome-mac.sh
# Windows (PowerShell):
powershell -ExecutionPolicy Bypass -File "$HOME\.claude\skills\chrome-automation\scripts\start-chrome-windows.ps1"
First time setup (automatic):
Creates dedicated profile at ~/Library/Application Support/Google/Chrome-Automation (Mac)
Or %USERPROFILE%\AppData\Local\Google\Chrome-Automation (Windows)
Imports your existing Chrome configuration (login states, cookies, bookmarks)
Excludes large cache files to save space
Subsequent runs:
Uses the existing automation profile
All your logins are preserved
No need to log in again
# Verify connection after starting Chrome
cd /Users/jyxc-dz-0100272/Documents/agent-browser
AGENT_BROWSER_HOME=/Users/jyxc-dz-0100272/Documents/agent-browser \
./bin/agent-browser --cdp 9222 get url
Method 2: Connect to existing Chrome
# Check if Chrome already running with debug port
ps aux | grep "remote-debugging-port=9222"
# If yes, connect directly
cd /Users/jyxc-dz-0100272/Documents/agent-browser
AGENT_BROWSER_HOME=/Users/jyxc-dz-0100272/Documents/agent-browser \
./bin/agent-browser --cdp 9222 get url
Method 3: Start Chrome manually (not recommended)
If you need to start Chrome manually without the script:
Note: Using --user-data-dir=/tmp/chrome-debug (temporary directory) will NOT preserve login states.
Usage Patterns
Pattern 1: Web Search
cd /Users/jyxc-dz-0100272/Documents/agent-browser
export AB_HOME=/Users/jyxc-dz-0100272/Documents/agent-browser
# Open search site
AGENT_BROWSER_HOME=$AB_HOME ./bin/agent-browser --cdp 9222 open xiaohongshu.com
sleep 2
# Get elements
AGENT_BROWSER_HOME=$AB_HOME ./bin/agent-browser --cdp 9222 snapshot -i
# Output: textbox "搜索小红书" [ref=e2]
# Fill and search
AGENT_BROWSER_HOME=$AB_HOME ./bin/agent-browser --cdp 9222 fill @e2 "labubu"
AGENT_BROWSER_HOME=$AB_HOME ./bin/agent-browser --cdp 9222 press Enter
# Capture result
sleep 2
AGENT_BROWSER_HOME=$AB_HOME ./bin/agent-browser --cdp 9222 screenshot ~/Desktop/result.png
Pattern 2: Form Automation
cd /Users/jyxc-dz-0100272/Documents/agent-browser
export AB_HOME=/Users/jyxc-dz-0100272/Documents/agent-browser
# Navigate
AGENT_BROWSER_HOME=$AB_HOME ./bin/agent-browser --cdp 9222 open https://example.com/form
# Get form fields
AGENT_BROWSER_HOME=$AB_HOME ./bin/agent-browser --cdp 9222 snapshot -i
# Fill form
AGENT_BROWSER_HOME=$AB_HOME ./bin/agent-browser --cdp 9222 fill @e1 "John Doe"
AGENT_BROWSER_HOME=$AB_HOME ./bin/agent-browser --cdp 9222 fill @e2 "[email protected]"
AGENT_BROWSER_HOME=$AB_HOME ./bin/agent-browser --cdp 9222 click @e3
# Verify
sleep 2
AGENT_BROWSER_HOME=$AB_HOME ./bin/agent-browser --cdp 9222 screenshot ~/Desktop/submitted.png
Pattern 3: Handle Security Verification
When sites show security verification (QR codes, captchas):
# Take screenshot
AGENT_BROWSER_HOME=$AB_HOME ./bin/agent-browser --cdp 9222 screenshot ~/Desktop/verification.png
# Show user and inform them
echo "Site requires verification - please complete in browser window"
# User completes verification manually
# Check URL after verification
AGENT_BROWSER_HOME=$AB_HOME ./bin/agent-browser --cdp 9222 get url
# Continue workflow
AGENT_BROWSER_HOME=$AB_HOME ./bin/agent-browser --cdp 9222 snapshot -i
Real-time Feedback Protocol
MANDATORY: Provide visual feedback after every significant action
After navigation, clicks, or form submissions:
Take screenshot
Get current URL
Read screenshot and describe to user
# After any action
AGENT_BROWSER_HOME=$AB_HOME ./bin/agent-browser --cdp 9222 screenshot ~/Desktop/current.png
AGENT_BROWSER_HOME=$AB_HOME ./bin/agent-browser --cdp 9222 get url
# Then use Read tool on screenshot
# Describe what's visible to user
Command Reference
All commands use this format:
cd /Users/jyxc-dz-0100272/Documents/agent-browser
AGENT_BROWSER_HOME=/Users/jyxc-dz-0100272/Documents/agent-browser \
./bin/agent-browser --cdp 9222 <command>
Essential Commands
Navigation:
open <url> - Navigate to URL
back - Go back
reload - Reload page
get url - Get current URL
Page Analysis:
snapshot -i - Get interactive elements (RECOMMENDED)
get title - Get page title
Interaction:
click @e1 - Click element
fill @e1 "text" - Fill input
press Enter - Press key
scroll down 500 - Scroll
Capture:
screenshot path.png - Screenshot
get text @e1 - Get element text
JavaScript:
eval "code" - Execute JavaScript
For complete command reference, see the agent-browser skill at:
/Users/jyxc-dz-0100272/Documents/agent-browser/skills/agent-browser/SKILL.md
Troubleshooting
Installation Issues
"No binary found for darwin-arm64/win32-x64":
# Mac: Run auto-install script - it handles Rust installation
bash ~/.claude/skills/chrome-automation/scripts/auto-install-mac.sh
# Windows: Run auto-install script
powershell -ExecutionPolicy Bypass -File "$HOME\.claude\skills\chrome-automation\scripts\auto-install-windows.ps1"
# Or manually:
# Mac:
# 1. Install Rust: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
# 2. Set toolchain: ~/.cargo/bin/rustup default stable
# 3. Build: cd ~/Documents/agent-browser/cli && ~/.cargo/bin/cargo build --release
# 4. Copy: cd ~/Documents/agent-browser && node scripts/copy-native.js
# Windows:
# 1. Download Rust: https://win.rustup.rs/x86_64
# 2. Set toolchain: & "$env:USERPROFILE\.cargo\bin\rustup.exe" default stable
# 3. Build: cd "$HOME\Documents\agent-browser\cli"; & "$env:USERPROFILE\.cargo\bin\cargo.exe" build --release
# 4. Copy: cd "$HOME\Documents\agent-browser"; node scripts/copy-native.js
"cargo: command not found":
# Mac: Use full path to cargo
~/.cargo/bin/rustup default stable
cd ~/Documents/agent-browser/cli
~/.cargo/bin/cargo build --release
# Windows: Use full path to cargo
& "$env:USERPROFILE\.cargo\bin\rustup.exe" default stable
Set-Location "$HOME\Documents\agent-browser\cli"
& "$env:USERPROFILE\.cargo\bin\cargo.exe" build --release
"rustup could not choose a version":
# Mac: Set default Rust toolchain with full path
~/.cargo/bin/rustup default stable
# Windows: Set default Rust toolchain with full path
& "$env:USERPROFILE\.cargo\bin\rustup.exe" default stable
Rust installation shows permission errors but completes:
# Mac: This is usually harmless - binaries are installed
# Just set default toolchain manually:
~/.cargo/bin/rustup default stable
# Windows: Run installer as Administrator if needed
# Then set default toolchain:
& "$env:USERPROFILE\.cargo\bin\rustup.exe" default stable
Runtime Issues
"Daemon not found" error:
# Must set AGENT_BROWSER_HOME and run from project directory
cd /Users/jyxc-dz-0100272/Documents/agent-browser
AGENT_BROWSER_HOME=/Users/jyxc-dz-0100272/Documents/agent-browser \
./bin/agent-browser --cdp 9222 <command>
"No page found" error
# Chrome needs at least one page open
osascript -e 'tell application "Google Chrome" to open location "https://google.com"'
sleep 2
# Then retry
AGENT_BROWSER_HOME=/Users/jyxc-dz-0100272/Documents/agent-browser \
./bin/agent-browser --cdp 9222 snapshot -i
Connection refused
# Check if Chrome running with debug port
ps aux | grep "remote-debugging-port=9222"
# If not, start it with persistent profile
bash ~/.claude/skills/chrome-automation/scripts/start-chrome-mac.sh
Best Practices
Auto-install first - ALWAYS run the auto-install script before first use
Use start-chrome script - Use start-chrome-mac.sh or start-chrome-windows.ps1 to preserve login states
This profile is separate from your daily Chrome, so automation activities won't affect your main browser.
How do I install chrome-automation?
Download skills/chrome-automation/chrome-automation/SKILL.md from the publisher, or copy the path and open the repository. PlugMCP lists the skill and does not host the file.
Where does chrome-automation live?
The publisher keeps it at https://github.com/anbeime/skill.
Which agents can use chrome-automation?
Claude, Cursor, and Codex can read a SKILL.md you add from the publisher's repository.