browser

作成者: browserbase

ローカルChromeまたはリモートBrowserbaseを使用したブラウザ自動化。保護されたサイト、ボット検出、CAPTCHAに対応。2つのモード:ローカルChrome(デフォルト、設定不要)またはリモートBrowserbase(アンチボットステルス、自動CAPTCHA解決、レジデンシャルプロキシ、セッション永続化)。コアコマンドは、ナビゲーション、ページ検査、操作(クリック、タイプ、入力、選択、ドラッグ)、およびCLIによるセッション管理をカバー。browse snapshotを使用してアクセシビリティツリーを読み取り、信頼性の高い操作のための要素参照を取得。予約...

npx skills add https://github.com/browserbase/skills --skill browser

Browser Automation

Automate browser interactions using the browse CLI with Claude.

Setup check

Before running any browser commands, verify the CLI is available:

which browse || npm install -g browse

Environment Selection (Local vs Remote)

The CLI supports explicit per-command environment flags. If you do nothing, the next session defaults to Browserbase when BROWSERBASE_API_KEY is set and to local otherwise.

Local mode

  • browse open <url> --local starts a clean isolated local browser
  • browse open <url> --auto-connect attaches to an already-running debuggable Chrome; use --local when no debuggable Chrome is available
  • browse open <url> --cdp <port|url> attaches to a specific CDP target
  • Best for: development, localhost, trusted sites, and reproducible runs

Remote mode (Browserbase)

  • browse open <url> --remote starts a Browserbase session
  • Without a local flag, Browserbase is also the default when BROWSERBASE_API_KEY is set
  • Provides: Browserbase Identity, Verified browsers, automatic CAPTCHA solving, residential proxies, session persistence
  • Use remote mode when: the target site has bot detection, CAPTCHAs, IP rate limiting, Cloudflare protection, or requires geo-specific access
  • Get credentials at https://browserbase.com/settings

When to choose which

  • Repeatable local testing / clean state: browse open <url> --local
  • Reuse your local login/cookies: browse open <url> --auto-connect
  • Simple browsing (docs, wikis, public APIs): local mode is fine
  • Protected sites (login walls, CAPTCHAs, anti-scraping): use remote mode
  • If local mode fails with bot detection or access denied: switch to remote mode

Commands

Most driver commands work across local, remote, and CDP sessions after the daemon starts.

Navigation

browse open <url>                        # Go to URL
browse open <url> --local                # Go to URL in a clean local browser
browse open <url> --remote               # Go to URL in a Browserbase session
browse reload                            # Reload current page
browse back                              # Go back in history
browse forward                           # Go forward in history

Page state (prefer snapshot over screenshot)

browse snapshot                          # Get accessibility tree with element refs (fast, structured)
browse screenshot --path <path>          # Take visual screenshot (slow, uses vision tokens)
browse get url                           # Get current URL
browse get title                         # Get page title
browse get text <selector>               # Get text content (use "body" for all text)
browse get html <selector>               # Get HTML content of element
browse get markdown [selector]           # Get page content as markdown (defaults to body)
browse get value <selector>              # Get form field value

Use browse snapshot as your default for understanding page state — it returns the accessibility tree with element refs you can use to interact. Only use browse screenshot when you need visual context (layout, images, debugging).

Interaction

browse click <ref>                       # Click element by ref from snapshot (e.g., @0-5)
browse type <text>                       # Type text into focused element
browse fill <selector> <value>           # Fill input; add --press-enter if Enter is needed
browse select <selector> <values...>     # Select dropdown option(s)
browse upload <selector> <files...>      # Upload file(s) to <input type="file">
browse press <key>                       # Press key (Enter, Tab, Escape, Cmd+A, etc.)
browse mouse drag <fromX> <fromY> <toX> <toY>  # Drag from one point to another
browse mouse scroll <x> <y> <deltaX> <deltaY>  # Scroll at coordinates
browse highlight <selector>              # Highlight element on page
browse is visible <selector>             # Check if element is visible
browse is checked <selector>             # Check if element is checked
browse wait <type> [arg]                 # Wait for: load, selector, timeout

CDP event tailing

browse cdp <url|port>                    # Stream CDP events as NDJSON from any target
browse cdp 9222                          # Attach to local Chrome on port 9222
browse cdp ws://localhost:9222/devtools/browser/...  # Full WebSocket URL
browse cdp <url> --domain Network        # Only Network events
browse cdp <url> --domain Network --domain Console  # Multiple domains
browse cdp <url> --pretty                # Human-readable output
browse cdp <url> > events.jsonl          # Pipe to file
browse cdp <url> | jq '.method'          # Filter with jq

The cdp command connects directly to any Chrome DevTools Protocol target and streams events. It does not use the daemon — it's a standalone, long-running process. Press Ctrl+C to stop. Default domains: Network, Console, Runtime, Log, Page.

Session management

browse stop                              # Stop the browser daemon
browse status                            # Check daemon status and resolved mode
browse tab list                          # List all open tabs
browse tab switch <index-or-target-id>   # Switch to tab by index or target ID
browse tab close [index-or-target-id]    # Close tab

Typical workflow

If the environment matters, put --local, --remote, --auto-connect, or --cdp <port|url> on the first browser command.

  1. browse open <url> --local or browse open <url> --remote — navigate to the page
  2. browse snapshot — read the accessibility tree to understand page structure and get element refs
  3. browse click <ref> / browse type <text> / browse fill <selector> <value> — interact using refs from snapshot
  4. browse snapshot — confirm the action worked
  5. Repeat 3-4 as needed
  6. browse stop — close the browser when done

Quick Example

browse open https://example.com
browse snapshot                          # see page structure + element refs
browse click @0-5                        # click element with ref 0-5
browse get title
browse stop

Mode Comparison

FeatureLocalBrowserbase
SpeedFasterSlightly slower
SetupChrome requiredAPI key required
Reuse existing local cookiesWith browse open <url> --auto-connectN/A
Verified browserNoYes (Browserbase Verified browser via Identity)
CAPTCHA solvingNoYes (automatic reCAPTCHA/hCaptcha)
Residential proxiesNoYes (201 countries, geo-targeting)
Session persistenceNoYes (cookies/auth persist via contexts)
Best forDevelopment/simple pagesProtected sites, Browserbase Identity + Verified access, production scraping

Best Practices

  1. Choose the local strategy deliberately: use browse open <url> --local for clean state, browse open <url> --auto-connect for existing local credentials, and browse open <url> --remote for protected sites
  2. Always browse open first before interacting
  3. Use browse snapshot to check page state — it's fast and gives you element refs
  4. Only screenshot when visual context is needed (layout checks, images, debugging)
  5. Use refs from snapshot to click/interact — e.g., browse click @0-5
  6. browse stop when done to clean up the browser session and clear the env override

Troubleshooting

  • "No active page": Run browse stop, then check browse status. If it still says running, kill the zombie daemon with pkill -f "browse.*daemon", then retry browse open
  • Chrome not found: Install Chrome, use browse open <url> --auto-connect if you already have a debuggable Chrome running, or switch to browse open <url> --remote
  • Action fails: Run browse snapshot to see available elements and their refs
  • Browserbase fails: Verify API key is set

Switching to Remote Mode

Switch to remote when you detect: CAPTCHAs (reCAPTCHA, hCaptcha, Turnstile), bot detection pages ("Checking your browser..."), HTTP 403/429, empty pages on sites that should have content, or the user asks for it.

Don't switch for simple sites (docs, wikis, public APIs, localhost).

browse open <url> --local          # clean isolated local browser
browse open <url> --auto-connect   # attach to existing debuggable Chrome
browse open <url> --remote         # Browserbase session

Mode flags are applied when a session starts. After browse stop, the next start falls back to env-var-based auto detection. Use browse status to inspect the resolved mode and target while the daemon is running.

For detailed examples, see EXAMPLES.md. For API reference, see REFERENCE.md.

browserbaseのその他のスキル

optimize-agent-prompt
browserbase
Browserbase Agent APIデモを構築・改善し、Autobrowseスタイルの外部ループを通じて、固定タスクの実行、Agentメッセージとセッションログの収集、結果のスコアリング、システムプロンプトのヒューリスティックを1つ改訂し、収束を確認します。Browserbase AgentsデモやPOCの作成、Agentシステムプロンプトの最適化、不安定なAgent実行の診断、またはBrowserbase Agents APIへの自動リサーチ/オートブラウズの適用時に使用します。
add-webmcp
browserbase
既存のWebアプリケーションを分析し、ルート、フォーム、サーバーアクション、ハンドラー、スキーマ全体で安全なユーザー可視機能を特定し、ファーストパーティのWebMCPツールを実装して、Stagehandでディスカバリと呼び出しを検証します。ユーザーがコードベースをエージェント対応にしたい、Webサイトの機能をWebMCPツールとして公開したい、またはURLからスタンドアロンの注入スクリプトを生成するのではなく、アプリに直接WebMCPを追加したいと依頼した場合に使用します。
browse
browserbase
browse CLIを使用して、Browserbaseのブラウザ自動化、BrowserbaseクラウドAPI、Browserbase Functions、テンプレート、Webフェッチ/検索、診断、Browse.shなどを利用します…
browse
browserbase
browse CLIを使用して、Browserbaseのブラウザ自動化、BrowserbaseクラウドAPI、Browserbase Functions、テンプレート、Webフェッチ/検索、診断、Browse.sh…を実行します。
browser-automation
browserbase
MCPツールを使用してウェブブラウザの操作を自動化します。ユーザーがウェブサイトの閲覧、ウェブページのナビゲーション、ウェブサイトからのデータ抽出、スクリーンショットの取得などを求めた場合に使用します。
functions
browserbase
公式のBrowserbase Functions CLIを使用したサーバーレスブラウザ自動化のデプロイを案内します。ユーザーが自動化をデプロイして実行したい場合に使用します…
agent-experience
browserbase
製品、SDK、ドキュメントサイト、またはSKILL.mdの開発者体験を監査するために、複数のClaudeサブエージェントを、小さなタスクプロンプトと実際の…だけを与えて投入します。
autobrowse
browserbase
自己改善型ブラウザ自動化を自動リサーチループで実現。ブラウジングタスクを反復実行し、トレースを読み取り、ナビゲーションスキルを向上させます…