browser-use/browser-use
🌐 Make websites accessible for AI agents. Automate tasks online with ease.
How browser-use is put together
browser-use is a Python library and CLI that lets an LLM-driven agent control a web browser to perform tasks (navigating, clicking, typing, extracting content). It is built on an event-driven browser session that talks to Chrome over the Chrome DevTools Protocol (via cdp-use) with a set of 'watchdog' components, an Agent loop that orchestrates LLM calls through a pluggable multi-provider LLM abstraction, a DOM serialization pipeline, and a tools/controller layer of browser actions; it also ships an MCP server, cloud-browser integration, telemetry/cloud sync, and skills. Data flows: user task -> Agent -> LLM (provider) -> tool/action -> BrowserSession/CDP -> browser -> DOM/screenshot state -> back to Agent. The primary language is Python (>=3.11) with Pydantic models throughout and asyncio-based concurrency.
Languages
Frameworks
Datastores
Infrastructure
Major components
Agent (browser_use/agent)
Orchestrates the task-solving loop: builds prompts, calls the LLM, parses actions, manages message history and step execution.
Browser session & CDP management (browser_use/browser)
Event-driven browser control over the Chrome DevTools Protocol, including session/target management and lifecycle watchdogs.
Watchdogs (browser_use/browser/watchdogs)
Specialized monitors for concerns like captcha, crashes, downloads, popups, permissions, security, and screenshots during a browser session.
LLM providers (browser_use/llm)
Pluggable chat model abstraction with serializers for OpenAI, Anthropic, Google, Groq, AWS Bedrock, Azure, Ollama, Mistral, DeepSeek, Cerebras, OpenRouter, Vercel, OCI, and Browser Use models.
Tools / Controller (browser_use/tools, controller)
Defines the concrete browser actions (navigate, click, type, extract) that the agent can invoke.
DOM pipeline (browser_use/dom)
Snapshots, serializes, and extracts clickable elements and markdown/text content from pages for LLM consumption.
MCP server & client (browser_use/mcp)
Exposes browser automation as MCP tools and can consume external MCP servers.
Cloud sync, telemetry & auth (browser_use/sync, telemetry, browser/cloud)
Handles cloud browser provisioning, authentication, event sync, and anonymized product telemetry.
Refined how generated PDFs handle special characters and markdown headers, backed by more robust tests.
5 weeksWeek of 2026-08-24
Week of 2026-08-24latest
Refined how generated PDFs handle special characters and markdown headers, backed by more robust tests.
Week of 2026-08-17
Fixed PDF text escaping and file-editing error messages, cleaned up dead CI, and restored the default AI model.
Week of 2026-08-10
Shipped release 0.13.8 with a new OpenClaw integration, model billing and default changes, and README cleanup.
Week of 2026-08-03
A broad round of reliability and security fixes across the agent, DOM, and tooling, plus updated documentation and comparison charts.
Week of 2026-07-27
A very large cleanup week resolving dozens of edge-case bugs across browsers, LLM providers, DOM handling, and the agent.
Over the past several weeks the team steadily hardened the browser-use library, shifting from a large batch of small bug fixes across the browser, DOM, and LLM layers toward focused work on file handling and default model choices. Recent weeks polished PDF generation (making text render safely and correctly) and settled which AI model the tool uses by default, while shipping regular releases and new integrations like OpenClaw skill support. The overall arc is one of maturing reliability: fewer new features, more careful fixes, tests, and documentation.
Week by week
2026-08-24Refined how generated PDFs handle special characters and markdown headers, backed by more robust tests.latest3 changes
Fix
Safer text in generated PDFs
Special characters like angle brackets and ampersands are now properly escaped so they appear correctly instead of breaking the PDF's formatting.
Refactor
Cleaner PDF header handling
Markdown header markers (like '#') are now stripped out before the text is escaped, so headers render as titles rather than literal symbols.
Chore
Sturdier PDF tests
Tests were rewritten to tolerate line wrapping and to check that header markers are actually removed, making them less likely to fail spuriously.
2026-08-17Fixed PDF text escaping and file-editing error messages, cleaned up dead CI, and restored the default AI model.4 changes
Fix
PDF special-character escaping
Plain text in generated PDFs is now escaped so special characters display correctly.
Fix
Clearer file-edit error messages
When a find-and-replace on a file can't locate the target or replacement text, it now reports exactly what was missing.
Fix
Restored default AI model
The ChatBrowserUse default was set back to the 'bu-2-0' model, with the smaller 'mini' variant now opt-in.
Chore
Removed dead CI workflow
An unused cloud-evals image-build trigger was deleted from the continuous-integration setup.
2026-08-10Shipped release 0.13.8 with a new OpenClaw integration, model billing and default changes, and README cleanup.6 changes
Chore
Release 0.13.8
Published version 0.13.8 alongside Browser Harness 0.1.9.
Feature
OpenClaw skill support
Added first-party support for OpenClaw skills, including generating and hardening their metadata.
Feature
New default AI model
ChatBrowserUse was set to default to the 'bu-2-0-mini-preview' model.
Fix
Corrected token billing
Usage on the 'bu-1-0' model is now billed at 'bu-2-0' rates.
Fix
Dependency and integration fixes
Bumped the 'rich' library to 14.3.3 to unblock OpenHands and updated a deprecated Bedrock Claude model identifier.
Docs
README demo cleanup
Refreshed and trimmed the README's demo videos and embedded assets.
2026-08-03A broad round of reliability and security fixes across the agent, DOM, and tooling, plus updated documentation and comparison charts.6 changes
Fix
Correct message-compaction behavior
The agent now honors a zero message-compaction threshold as configured.
Fix
Security dependency updates
Bumped aiohttp and pypdf to versions that patch known security vulnerabilities.
Fix
Prevented text leaking to the AI
Fixed the DOM serializer so hidden, visually-occluded text is no longer passed to the language model.
Fix
More reliable clicking and scrolling
Coordinate clicks now include full error details, and scrolling to an explicit (0,0) position is no longer redirected to the screen center.
Fix
Fixed a memory leak
Image files are now closed after creating an animated GIF, preventing a resource leak.
Docs
Refreshed comparison charts and API docs
Updated the open-source-vs-cloud comparison plot to Cloud v4 and added a hosted agent API example to the README.
2026-07-27A very large cleanup week resolving dozens of edge-case bugs across browsers, LLM providers, DOM handling, and the agent.6 changes
Fix
Better cookie and download handling
Stored cookies passed as an in-memory dictionary are now applied, and download-complete callbacks fire for remote browsers.
Fix
LLM provider robustness
Fixed crashes and missing structured output for Anthropic Bedrock empty responses and Groq tool-calling models, and exported the documented chat models.
Fix
Safer per-agent state
Each message manager now gets its own state instead of accidentally sharing a mutable default.
Fix
Guarded against crashes
Added protections against division-by-zero in budget warnings and index errors on empty action lists.
Fix
Correct file encoding
Agent file writes now use UTF-8 so non-English characters are saved correctly.
Fix
Domain-restriction safety
Domain-restricted actions are no longer exposed when the URL is empty.
Dependencies and code review
Dependency advisories
Security Watch
No known advisories across 0 scanned dependencies.
No known advisories in the scanned dependencies.
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required