browser-use

A browser automation tool for navigating websites, clicking controls, filling forms, taking screenshots, and extracting page information.

In plain words
What is it for?
It is for web testing, form entry, screenshots, and collecting data from websites.
Why use it?
It removes the need to perform repetitive browser actions by hand and helps verify what happened on a web page.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/kyopark2014/agent-plugins/browser-use
Any agent
npx skills add kyopark2014/agent-plugins --skill browser-use
Clone the repo
git clone --depth 1 https://github.com/kyopark2014/agent-plugins

Made for: Claude Code, Codex.

Per session 47 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,955 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin 100% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00047 $0.01955
Opus 5 $0.00023 $0.00978
Sonnet 5 $0.00009 $0.00391
Haiku 4.5 $0.00005 $0.00196

Measured 2d ago against content hash ec6c44cbf06c, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

browser-use scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

100% identical to browser-use — 1 line differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

application/skills/browser-use/SKILL.md · 202 lines

How it starts

The opening of the file, as written. The whole thing — 202 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Browser Automation with browser-use CLI

The browser-use command provides fast, persistent browser automation. A background daemon keeps the browser open across commands, giving ~50ms latency per call.

Prerequisites

browser-use doctor    # Verify installation

For setup details, see https://github.com/browser-use/browser-use/blob/main/browser_use/skill_cli/README.md

Core Workflow

  1. Navigate: browser-use open <url> — starts browser if needed
  2. Inspect: browser-use state — returns clickable elements with indices
  3. Interact: use indices from state (browser-use click 5, browser-use input 3 "text")
  4. Verify: browser-use state or browser-use screenshot to confirm
  5. Repeat: browser stays open between commands
  6. Cleanup: browser-use close when done

Browser Modes

browser-use open <url>                         # Default: headless Chromium
browser-use --headed open <url>                # Visible window
browser-use --profile "Default" open <url>      # Real Chrome with Default profile (existing logins/cookies)
browser-use --profile "Profile 1" open <url>   # Real Chrome with named profile
browser-use --connect open <url>               # Auto-discover running Chrome via CDP
browser-use --cdp-url ws://localhost:9222/... open <url>  # Connect via CDP URL

--connect, --cdp-url, and --profile are mutually exclusive.

Commands

# Navigation
browser-use open <url>                    # Navigate to URL
browser-use back                          # Go back in history
browser-use scroll down                   # Scroll down (--amount N for pixels)
browser-use scroll up                     # Scroll up
browser-use switch <tab>                  # Switch to tab by index
browser-use close-tab [tab]              # Close tab (current if no index)

# Page State — always run state first to get element indices
browser-use state                         # URL, title, clickable elements with indices
browser-use screenshot [path.png]         # Screenshot (base64 if no path, --full for full page)

# Interactions — use indices from state
browser-use click <index>                 # Click element by index
browser-use click <x> <y>                 # Click at pixel coordinates
browser-use type "text"                   # Type into focused element
browser-use input <index> "text"          # Click element, then type
browser-use keys "Enter"                  # Send keyboard keys (also "Control+a", etc.)
browser-use select <index> "option"       # Select dropdown option
browser-use upload <index> <path>         # Upload file to file input
browser-use hover <index>                 # Hover over element
browser-use dblclick <index>              # Double-click element
browser-use rightclick <index>            # Right-click element

# Data Extraction
browser-use eval "js code"                # Execute JavaScript, return result
browser-use get title                     # Page title
browser-use get html [--selector "h1"]    # Page HTML (or scoped to selector)
browser-use get text <index>              # Element text content
browser-use get value <index>             # Input/textarea value
browser-use get attributes <index>        # Element attributes
browser-use get bbox <index>              # Bounding box (x, y, width, height)

# Wait
browser-use wait selector "css"           # Wait for element (--state visible|hidden|attached|detached, --timeout ms)
browser-use wait text "text"              # Wait for text to appear

# Cookies
browser-use cookies get [--url <url>]     # Get cookies (optionally filtered)
browser-use cookies set <name> <value>    # Set cookie (--domain, --secure, --http-only, --same-site, --expires)
browser-use cookies clear [--url <url>]   # Clear cookies
browser-use cookies export <file>         # Export to JSON
browser-use cookies import <file>         # Import from JSON

# Python — persistent session with browser access
browser-use python "code"                 # Execute Python (variables persist across calls)
browser-use python --file script.py       # Run file
browser-use python --vars                 # Show defined variables
browser-use python --reset                # Clear namespace

# Session
browser-use close                         # Close browser and stop daemon
browser-use sessions                      # List active sessions
browser-use close --all                   # Close all sessions

Read the full file on GitHub · 202 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 202 lines · 47 tokens per session scan A ec6c44cbf06c

Subscribe to this mod's changes

browser-use is a skill published in the GitHub repository kyopark2014/agent-plugins (4 stars, last pushed 25d ago), licensed MIT. It adds 47 tokens to every session and 1,955 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to browser-use, differing in 1 line, and is treated as a copy.

Related

Other skills, from other repositories

chrome-control

Use when debugging web applications, diagnosing page errors, inspecting console output, or capturing screenshots via Chrome DevTools Protocol (CDP).

vre/flow-state · 29 tokens

firefox-control

Use when you need to automate Firefox via WebDriver BiDi — tab listing, JS evaluation, screenshots, DOM helpers. TEST TOOL — Firefox sets navigator.webdriver=true.

vre/flow-state · 37 tokens

click-to-fix

Click any element in the browser to trace it back to its source code component. The user visually clicks an element in their browser, and the CLI returns metadata (component name, source file, line number) that you use to locate and open the code. Trigger phrases: "click to fix", "inspect element", "find component"…

johnkozaris/web-interact-plugin · 117 tokens

mode

Show or switch the web-interact browser engine between default (Playwright) and assistant (Patchright). Use when the user asks to change browser mode, enable stealth/assistant mode, or check which engine is active.

johnkozaris/web-interact-plugin · 46 tokens

browser-mode

Show or switch how web-interact connects to the browser: auto (CLI decides), real (user's running Chrome/Edge), or sandbox (managed browser with persistent profile).

johnkozaris/web-interact-plugin · 38 tokens

web-interact

Browser automation CLI for navigating websites, filling forms, clicking buttons, extracting data, taking screenshots, and automating any web workflow. Use when users ask to interact with a website, test a web app, fill a form, scrape data, take screenshots, log into a service, automate a browser task, or inspect a web…

johnkozaris/web-interact-plugin · 144 tokens