browser-use 0.13.7


pip install browser-use

  Latest version

Released: Jul 27, 2026


Meta
Author: Gregor Zunic
Requires Python: <4.0,>=3.11

Classifiers

License
  • OSI Approved :: MIT License

Operating System
  • OS Independent

Programming Language
  • Python :: 3
Shows a black Browser Use Logo in light color mode and a white one in dark color mode.
The AI browser agent.
Browser-Use Package Download Statistics

Demos Docs Blog Merch Github Stars Twitter Discord Browser-Use Cloud

What can Browser Use do?

Browser Use lets an AI agent use a web browser the same way you do β€” it opens pages, clicks buttons, types, and fills in forms. You describe the task, and it completes it. For example, you can have it:

πŸ“‹ Fill Forms

Task: "Fill in this job application with my resume and information."

Job Application Demo

Example code β†—

🍎 Extract data

Task: "Extract structured data about my followers and export it as a CSV."

https://github.com/user-attachments/assets/93714c75-98f4-4cfc-add1-69c38b5138b5

Browser Use Cloud Docs β†—

πŸ’» QA Automation

Task: "QA test my local website and report any bugs, usability issues, and visual inconsistencies."

qa-demo-small

Browser Use CLI β†—


Quickstart

If you want to use Browser Use in your agent (Claude Code, Codex, Cursor, Hermes, OpenClaw, etc.), paste this prompt, and it sets everything up itself:

Install or upgrade browser-use to the latest stable version with uv using Python 3.12, run `browser-use skill install` to register the skill, and connect it to my browser. If setup or connection fails, follow https://github.com/browser-use/browser-harness/blob/main/install.md.

Then tell your agent what you want done.


Python library: the easiest way to automate the web

Want to automate the web at scale, from your own code, and with any LLM? Use the Python library:

1. Install Browser Use (Python >= 3.11):

uv add browser-use
# or: pip install browser-use

2. Add your LLM API key to .env. Get one from Browser Use Cloud, or bring your own provider key:

# .env
BROWSER_USE_API_KEY=your-key
# GOOGLE_API_KEY=your-key
# ANTHROPIC_API_KEY=your-key

3. Run your first agent:

import asyncio

from browser_use import Agent, ChatBrowserUse

async def main():
    agent = Agent(
        task="Find the number of stars of the browser-use repo",
        llm=ChatBrowserUse(model='openai/gpt-5.5'),
        # llm=ChatBrowserUse(model='bu-2-0'),  # Browser Use's optimized model
        # llm=ChatOpenAI(model='gpt-5.5'),
        # llm=ChatAnthropic(model='claude-opus-4-8'),  # Sonnet also works well
    )
    history = await agent.run()

if __name__ == "__main__":
    asyncio.run(main())

Check out the library docs and the cloud docs for more!


Open Source vs Cloud

BU Bench V1 - LLM Success Rates

We benchmark Browser Use across 100 real-world browser tasks. Full benchmark is open source: browser-use/benchmark.

Browser Use is also #1 on the Odysseys leaderboard with an 87.4% average, ahead of computer-use agents from OpenAI, Anthropic, Google, and Microsoft. Odysseys measures the agent's performance on 200 long-horizon web tasks.

Use the Open-Source Agent

  • Free, and runs on your own machine
  • Deep code-level integration and control: pick your LLM, customize the agent's behavior
  • We recommend pairing it with our cloud browsers for leading stealth, proxy rotation, and scaling

Use the Fully-Hosted Cloud Agent (recommended)

  • Much more powerful agent for complex tasks (see plot above)
  • Easiest way to start and scale
  • Best stealth with proxy rotation and captcha solving
  • 1000+ integrations (Gmail, Slack, Notion, and more)
  • Persistent filesystem and memory

Integrations, hosting, custom tools, MCP, and more on our Docs β†—


FAQ

Should I use the CLI vs. the Python library?

Use the CLI if you already have an agent (Claude Code, Codex, Cursor, Hermes, OpenClaw, etc.) that you want to complete browser tasks for you. The agent installs the skill once (see Quickstart) and can then control the browser. Examples:

  • "Upload this video to YouTube"
  • "Compare these three laptops and give me a table with prices"
  • "Fill in this job application with my resume"

Use the Python library when you are building software that automates the web. Examples:

  • Run many tasks on a schedule or in parallel (scraping, monitoring, QA)
  • Embed a browser agent into your own product
  • Custom tools, custom system prompts, structured output, fine-grained browser control

Rule of thumb: one-off tasks through an agent β†’ CLI. Repeatable automation in code β†’ Python library.

What's the best model to use?

We optimized ChatBrowserUse() specifically for browser automation tasks. On avg it completes tasks 3-5x faster than other models with SOTA accuracy.

For pricing and other LLM providers, see our supported models documentation.

Can I use Claude / GPT / Gemini through ChatBrowserUse?

Yes. ChatBrowserUse accepts provider-prefixed model ids, so a single BROWSER_USE_API_KEY reaches all of them β€” no separate OpenAI/Anthropic/Google keys required:

from browser_use import Agent, ChatBrowserUse

llm = ChatBrowserUse(model='anthropic/claude-sonnet-4-6')  # or 'openai/gpt-5.5', 'google/gemini-3-pro'
agent = Agent(task='...', llm=llm)

For the best speed and cost we still recommend the default bu-* models.

Should I use the Browser Use system prompt with the open-source preview model?

Yes. If you use ChatBrowserUse(model='browser-use/bu-30b-a3b-preview') with a normal Agent(...), Browser Use still sends its default agent system prompt for you.

You do not need to add a separate custom "Browser Use system message" just because you switched to the open-source preview model. Only use extend_system_message or override_system_message when you intentionally want to customize the default behavior for your task.

If you want the best default speed/accuracy, we still recommend the newer hosted bu-* models. If you want the open-source preview model, the setup stays the same apart from the model= value.

Can I use custom tools with the agent?

Yes! You can add custom tools to extend the agent's capabilities:

from browser_use import Tools

tools = Tools()

@tools.action(description='Description of what this tool does.')
def custom_tool(param: str) -> str:
    return f"Result: {param}"

agent = Agent(
    task="Your task",
    llm=llm,
    browser=browser,
    tools=tools,
)
Can I use this for free?

Yes! Browser-Use is open source and free to use. You only need to choose an LLM provider (like OpenAI, Google, ChatBrowserUse, or run local models with Ollama).

Terms of Service

This open-source library is licensed under the MIT License. For Browser Use services & data policy, see our Terms of Service and Privacy Policy.

How do I handle authentication?

Check out our authentication examples:

  • Using real browser profiles - Reuse your existing Chrome profile with saved logins
  • If you want to use temporary accounts with inbox, choose AgentMail
  • To sync your auth profile with the remote browser, run curl -fsSL https://browser-use.com/profile.sh | BROWSER_USE_API_KEY=XXXX sh (replace XXXX with your API key)

These examples show how to maintain sessions and handle authentication seamlessly.

How do I solve CAPTCHAs?

For CAPTCHA handling, you need better browser fingerprinting and proxies. Use Browser Use Cloud which provides stealth browsers designed to avoid detection and CAPTCHA challenges.

How do I go into production?

Chrome can consume a lot of memory, and running many agents in parallel can be tricky to manage.

For production use cases, use our Browser Use Cloud API which handles:

  • Scalable browser infrastructure
  • Memory management
  • Proxy rotation
  • Stealth browser fingerprinting
  • High-performance parallel execution

Citation

If you use Browser Use in your research or project, please cite:

@software{browser_use2024,
  author = {Müller, Magnus and Žunič, Gregor},
  title = {Browser Use: Enable AI to control your browser},
  year = {2024},
  publisher = {GitHub},
  url = {https://github.com/browser-use/browser-use}
}

Tell your computer what to do, and it gets it done.

Twitter Follow     Twitter Follow

Made with ❀️ in Zurich and San Francisco
0.13.7 Jul 27, 2026
0.13.6 Jul 17, 2026
0.13.5 Jul 17, 2026
0.13.4 Jul 11, 2026
0.13.3 Jul 02, 2026
0.13.1 Jun 10, 2026
0.13.0 Jun 08, 2026
0.13.0rc4 Jun 08, 2026
0.13.0rc3 Jun 08, 2026
0.13.0rc2 Jun 08, 2026
0.12.9 May 26, 2026
0.12.8 May 23, 2026
0.12.7 May 19, 2026
0.12.6 Apr 02, 2026
0.12.5 Mar 25, 2026
0.12.4 Mar 24, 2026
0.12.3 Mar 23, 2026
0.12.2 Mar 12, 2026
0.12.1 Mar 03, 2026
0.12.0 Feb 26, 2026
0.11.13 Feb 25, 2026
0.11.12 Feb 23, 2026
0.11.11 Feb 20, 2026
0.11.10a2 Feb 17, 2026
0.11.10a1 Feb 12, 2026
0.11.9 Feb 06, 2026
0.11.8 Feb 03, 2026
0.11.7 Feb 01, 2026
0.11.6 Feb 01, 2026
0.11.5 Jan 28, 2026
0.11.4 Jan 22, 2026
0.11.3 Jan 16, 2026
0.11.2 Dec 16, 2025
0.11.1 Dec 12, 2025
0.11.0 Dec 10, 2025
0.10.1 Nov 29, 2025
0.10.0rc1 Oct 31, 2025
0.9.7 Nov 18, 2025
0.9.6 Nov 15, 2025
0.9.5 Nov 01, 2025
0.9.4 Oct 29, 2025
0.9.3 Oct 28, 2025
0.9.2 Oct 28, 2025
0.9.1 Oct 24, 2025
0.9.0 Oct 22, 2025
0.8.1 Oct 14, 2025
0.8.0 Oct 09, 2025
0.7.12 Oct 09, 2025
0.7.11 Oct 08, 2025
0.7.10 Sep 29, 2025
0.7.9 Sep 19, 2025
0.7.8 Sep 17, 2025
0.7.7 Sep 09, 2025
0.7.6 Sep 08, 2025
0.7.5 Sep 08, 2025
0.7.4 Sep 07, 2025
0.7.3 Sep 05, 2025
0.7.2 Sep 05, 2025
0.7.1 Aug 31, 2025
0.7.0 Aug 27, 2025
0.6.3 Aug 27, 2025
0.6.1 Aug 21, 2025
0.6.0 Aug 19, 2025
0.6.0rc1 Aug 19, 2025
0.5.11 Aug 09, 2025
0.5.10 Aug 07, 2025
0.5.9 Aug 02, 2025
0.5.7 Jul 30, 2025
0.5.6 Jul 26, 2025
0.5.5 Jul 16, 2025
0.5.4 Jul 11, 2025
0.5.3 Jul 09, 2025
0.5.2 Jul 08, 2025
0.5.0 Jul 08, 2025
0.4.5 Jul 07, 2025
0.4.4 Jul 03, 2025
0.4.3 Jul 03, 2025
0.4.2 Jun 30, 2025
0.4.0 Jun 27, 2025
0.3.3 Jun 26, 2025
0.3.2 Jun 22, 2025
0.3.1 Jun 20, 2025
0.3.0 Jun 20, 2025
0.2.7 Jun 14, 2025
0.2.6 Jun 10, 2025
0.2.5 May 28, 2025
0.2.4 May 26, 2025
0.2.3 May 25, 2025
0.2.2 May 24, 2025
0.2.1 May 23, 2025
0.1.48 May 15, 2025
0.1.47 May 14, 2025
0.1.46 May 12, 2025
0.1.45 May 03, 2025
0.1.43 May 02, 2025
0.1.42 May 02, 2025
0.1.41 Apr 17, 2025
0.1.40 Feb 23, 2025
0.1.39 Feb 22, 2025
0.1.38 Feb 21, 2025
0.1.37 Feb 13, 2025
0.1.36 Feb 05, 2025
0.1.35 Feb 03, 2025
0.1.34 Feb 02, 2025
0.1.33 Feb 01, 2025
0.1.32 Jan 31, 2025
0.1.31 Jan 31, 2025
0.1.30 Jan 28, 2025
0.1.29 Jan 26, 2025
0.1.28 Jan 24, 2025
0.1.27 Jan 22, 2025
0.1.26 Jan 20, 2025
0.1.25 Jan 20, 2025
0.1.24 Jan 20, 2025
0.1.23 Jan 14, 2025
0.1.22 Jan 13, 2025
0.1.21 Jan 13, 2025
0.1.20 Jan 13, 2025
0.1.19 Jan 11, 2025
0.1.18 Jan 07, 2025
0.1.17 Dec 10, 2024
0.1.16 Dec 03, 2024
0.1.15 Nov 29, 2024
0.1.14 Nov 29, 2024
0.1.13 Nov 29, 2024
0.1.12 Nov 28, 2024
0.1.11 Nov 28, 2024
0.1.10 Nov 28, 2024
0.1.8 Nov 23, 2024
0.1.7 Nov 22, 2024
0.1.6 Nov 19, 2024
0.1.5 Nov 19, 2024
0.1.4 Nov 17, 2024
0.1.3 Nov 15, 2024
0.1.1 Nov 15, 2024
0.1.0 Nov 06, 2024

Wheel compatibility matrix

Platform Python 3
any

Files in release

Extras:
Dependencies:
aiohttp (==3.13.4)
anthropic (==0.76.0)
anyio (==4.12.1)
browser-harness (==0.1.8)
browser-use-sdk (==3.4.2)
bubus (==1.5.6)
cdp-use (==1.4.5)
click (==8.3.1)
cloudpickle (==3.1.2)
google-api-core (==2.29.0)
google-api-python-client (==2.188.0)
google-auth-oauthlib (==1.2.4)
google-auth (==2.48.0)
google-genai (==1.65.0)
groq (==1.0.0)
httpx (==0.28.1)
inquirerpy (==0.3.4)
markdownify (==1.2.2)
mcp (==1.26.0)
ollama (==0.6.1)
openai (==2.16.0)
pillow (==12.2.0)
posthog (==7.7.0)
psutil (==7.2.2)
pydantic (==2.12.5)
pyobjc (==12.1)
pyotp (==2.9.0)
pypdf (==6.10.2)
python-docx (==1.2.0)
python-dotenv (==1.2.2)
reportlab (==4.4.9)
requests (==2.33.0)
rich (==14.3.1)
screeninfo (==0.8.1)
typing-extensions (==4.15.0)
uuid7 (==0.1.0)