Browser Use: A Python Library and Agent Skill for Turning Web Tasks into LLM Actions
🌐 Make websites accessible for AI agents. Automate tasks online with ease.
At a glance
- What is it?
- Browser Use gives AI agents a human-like way to operate a browser: opening pages, clicking, typing, and filling forms. This review covers the open-source Python library, the CLI skill for existing agents, and the trade-offs against the hosted cloud agent.
- Who is it for?
- Adopt Browser Use if you are a developer building repeatable web automation in Python, or if you use an agent like Claude Code or Cursor and want a quick way to let it operate a browser. Skip it if you need a fully managed, captcha-solving, proxy-rotating service; the cloud agent is the intended path for that.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What Browser Use Actually Does
Browser Use is a Python library that lets an LLM-driven agent operate a web browser the way a human would. It opens pages, clicks buttons, types text, and fills forms. You give it a task in natural language, and it completes that task through browser actions. The README gives examples like filling a job application or extracting follower data to CSV. The core audience is twofold. First, developers who want to embed a browser agent into their own software, run tasks on a schedule, or scrape data at scale. Second, users of existing coding agents such as Claude Code, Codex, Cursor, or OpenClaw who want those agents to control a browser without writing custom integration code. The project offers two entry points: a Python library for programmatic control and a CLI skill for one-off tasks through an existing agent.
The Mechanism: LLM Calls Turned into Browser Actions
The architecture is straightforward from the README's example. You create an Agent object with a task string and an LLM instance. The LLM can be a custom ChatBrowserUse model, or any provider like OpenAI or Anthropic. The agent then runs, and the library translates the LLM's decisions into browser operations. The history object returned by agent.run() presumably contains the steps taken, though the README does not detail the internal data flow. What is clear is that the library is model-agnostic: you can plug in GPT, Claude, or Gemini through the respective chat classes. The system prompt and tool definitions are internal, but the key design choice is that the agent sees the page state and decides what to click or type, much like a human would. This is different from a scraper that follows predefined selectors; here the model interprets the page each time.
Getting It Running: Commands and Config
Installation is standard for a Python project. The README shows uv add browser-use or pip install browser-use, with Python 3.11 or higher required. You then create a .env file with an API key. You can use a Browser Use Cloud key, or bring your own provider key like GOOGLE_API_KEY or ANTHROPIC_API_KEY. The minimal agent code is about ten lines: import asyncio, import Agent and ChatBrowserUse, define an async main, create an Agent with a task and an llm, then run it. For users of coding agents, there is a separate path. The README provides a prompt to paste into your agent: install browser-use with uv on Python 3.12, run browser-use skill install, and connect it to your browser. If that fails, the prompt points to a browser-harness install guide. This is a skill-based integration, not a library import, which is a meaningful distinction for non-Python users.
Open Source vs. Cloud: Where the Boundaries Are
The README is explicit about the split. The open-source agent is free and runs on your own machine, with deep control over the LLM and behavior. The fully hosted cloud agent is recommended for complex tasks. The cloud offers proxy rotation, captcha solving, persistent filesystem and memory, and over 1000 integrations. The README includes a benchmark plot comparing accuracy across models, and claims the cloud agent is much more powerful for complex tasks. It also states Browser Use is ranked first on the Odysseys leaderboard with an 87.4% average on 200 long-horizon web tasks, ahead of computer-use agents from OpenAI, Anthropic, Google, and Microsoft. That claim is from the project's own material, so take it as a vendor assertion, not an independent verification. The practical takeaway is that the open-source library is a foundation, but the project steers demanding workloads toward the paid cloud.
A Real Limitation: Model Choice and Accuracy
The README's own FAQ admits that the best model to use is ChatBrowserUse(), which is their optimized model, completing tasks 3-5x faster than other models with state-of-the-art accuracy. That is a strong claim, but it also reveals a dependency: the open-source library's performance hinges on the model you choose. If you bring your own LLM, you may get slower or less accurate results. The README does not provide accuracy numbers for the open-source agent with generic models. Another limitation is that the open-source agent lacks the stealth features of the cloud version. If a site blocks automated browsers or requires captcha solving, the open-source path may fail where the cloud path succeeds. The README recommends pairing the open-source agent with cloud browsers for stealth, which is an extra cost and an external dependency. So the wrong tool for a production scraping operation is the bare open-source agent on a machine with a generic LLM; you would likely need the cloud add-ons.
The CLI Skill vs. the Python Library: A Clear Cut
The FAQ draws a sharp line. Use the CLI if you already have an agent and want one-off browser tasks, like uploading a video or comparing products. Use the Python library if you are building software that automates the web at scale, such as scheduled scraping, monitoring, or embedding a browser agent into a product. The CLI path is a skill installation, meaning the agent itself learns how to control the browser. The Python library gives you custom tools, custom system prompts, structured output, and fine-grained control. This is a sensible division, but it means you must decide early. If you start with the CLI for a one-off task and later want repeatable automation, you will need to rewrite that task as a Python script. The README offers a rule of thumb: one-off tasks through an agent, repeatable automation in code. That is the kind of guidance that saves time if you read it before installing.
Maintenance, License, and Upgrade Path
The project is under the MIT license, which is permissive and allows commercial use with attribution. The repository is active, with recent releases in 2026, the latest being 0.13.8 on August 16, 2026. The README mentions an install or upgrade command for the skill, and the quickstart prompt tells your agent to install or upgrade browser-use to the latest stable version. That implies a regular release cadence and a need to keep up with changes. The Python library is installed via uv or pip, so upgrades are routine. However, the API may change between minor versions, as the example uses ChatBrowserUse which is a specific class; you should pin your dependency if you rely on a stable interface. The cloud API endpoint shown is versioned as /api/v4, which suggests the cloud side also evolves. No migration guide is mentioned in the README, so plan for occasional breaking changes if you track the latest releases.
Alternatives and the Decision to Adopt
The README positions Browser Use against computer-use agents from OpenAI, Anthropic, Google, and Microsoft, citing the Odysseys leaderboard. Those are the direct alternatives: each vendor offers a model that can operate a browser. The difference is that Browser Use is a library and skill that works with any LLM, while the vendor agents are tied to their own models. If you are already using Claude or GPT, you can use those models through Browser Use instead of switching to a vendor-specific agent. That flexibility is the main advantage. The trade-off is that vendor agents are often more integrated with their own ecosystems, and the README's own benchmark suggests Browser Use's cloud agent is ahead, but the open-source version with a generic model may not be. So the decision comes down to whether you want model freedom or vendor simplicity. For a team already on a specific LLM, Browser Use is a way to add browser control without changing models.
Editorial conclusion
Adopt Browser Use if you are a developer building repeatable web automation in Python, or if you use an agent like Claude Code or Cursor and want a quick way to let it operate a browser. Skip it if you need a fully managed, captcha-solving, proxy-rotating service; the cloud agent is the intended path for that. Before adopting, verify which LLM provider you will use, whether the free open-source agent meets your accuracy needs on your specific sites, and whether the cloud API pricing fits your scale. The open-source library is a solid foundation, but the README itself steers complex tasks toward the hosted product.
Community notes