Model or dataset
browser-use/browser-use avatar
browser-use/browser-use

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.

120,952 stars13,527 forksPythonMIT

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 received new commits within the last day.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 13, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • browser-use/browser-use120,952 ★ · +15,044
Star history
Repository2026-07-212026-11-13
browser-use/browser-use105.9k121k

15,044 Stars in the last 115 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial 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's showcase example is finding an available slot, picking a date and time, handling the CAPTCHA, and booking a driving test. 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, Hermes, 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 README's example reads the answer with history.final_result(). What is clear is that the library is model-agnostic: the README says you can run it locally with any LLM, and its example uses ChatOpenAI. 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, 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, saved as agent.py, imports Agent, Browser, ChatBrowserUse and ChatOpenAI, builds an llm (ChatOpenAI with model 'gpt-5.6-luna' by default, with a commented ChatBrowserUse(model='bu-2-0') alternative), creates an Agent with a task and that llm, and runs it with uv run agent.py. 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 runs locally with any LLM, while Browser Use Cloud is the hosted option, with stealth browsers from $0.02/hour. Path 1 describes a fully hosted agent, stealth browsers, and infrastructure for profiles, recordings, and data policies, and cloud browsers add stealth, residential proxies, CAPTCHA solving, and a live view URL at $0.02 per browser-hour plus network traffic. The README header cites a top score of 90.5% on Stealth Bench V2. That figure comes 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 scaled-up workloads toward the paid cloud.

A Real Limitation: Model Choice and Accuracy

The README's Path 3 example defaults to ChatOpenAI with model 'gpt-5.6-luna' and offers ChatBrowserUse(model='bu-2-0') (BU2) as an alternative that requires BROWSER_USE_API_KEY, so the open-source library's results depend on the model you pick. Stealth, residential proxies, and CAPTCHA solving come with cloud browsers (Browser(use_cloud=True)) at $0.02 per browser-hour plus network traffic, not with a local browser. A production scraping operation against sites that block automated browsers would likely need those cloud add-ons.

The CLI Skill vs. the Python Library: A Clear Cut

The README's 'Which Browser Use do I need?' list separates the paths: Path 2, the CLI, is for automating your own browser tasks, and Path 3, the Python library, is for running the open-source agent locally from your own code. The CLI path is a skill installation, meaning the agent itself learns how to control the browser. 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.

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.14 on October 26, 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. Because the project is at 0.13.x, you should pin your dependency if you rely on a stable interface.

Alternatives and the Decision to Adopt

The alternatives are the browser-operating agents that model vendors offer, which are tied to their own models; the README does not compare against them. Browser Use is a library and skill that the README says runs locally with any LLM, so 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. 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 scaled-up automation toward the hosted product.

Frequently asked questions

how to install browser use, the Python library path?

The readme's Path 3 says Python 3.11 or newer, run `uv init --python 3.12` first if you are starting a new project, then `uv add browser-use`, put OPENAI_API_KEY in a .env file, and run the saved agent.py with `uv run agent.py`.

how to use browser use with ollama?

The ollama package is pinned as an unconditional runtime dependency at 0.6.1, so its client is installed by default. The .env.example file, however, lists commented keys for OpenAI, Anthropic, Azure OpenAI, Google, DeepSeek, Grok, Novita, and Orcarouter.

how to use browser use for free?

The open source library and the CLI are under the MIT license and install with uv. The cloud options are paid, the readme describes a cloud browser at $0.02 per browser-hour, and new Google, GitHub, or Microsoft signups get $1 in cloud credit.

how to install browser use on mac, and what changes on that platform?

The dependency list pins pyobjc for platform_system darwin and screeninfo for platform_system other than darwin, so the screen resolution package differs by platform. The .env.example also exposes BROWSER_USE_EXECUTABLE_PATH and BROWSER_USE_HEADLESS, shown commented out as false.

what is browser-use?

The project describes itself as making websites accessible for AI agents and automating tasks online. The readme offers three paths: a fully hosted cloud agent, a CLI that gives an existing agent browser access, and the open source Python library.

how to setup browser use, and which settings matter first?

The .env.example ships BROWSER_USE_LOGGING_LEVEL set to info, separate debug and info log file paths, CDP_LOGGING_LEVEL set to WARNING, ANONYMIZED_TELEMETRY set to true, and a BROWSER_USE_API_KEY placeholder, with cloud sync and a custom API base URL left commented.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/browser-use-browser-use.svg)](https://hysenlabs.com/projects/browser-use-browser-use)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/browser-use-browser-use.svg)](https://hysenlabs.com/projects/browser-use-browser-use)

Was this useful?