← All reportsPublic report

browser-use/browser-use

🌐 Make websites accessible for AI agents. Automate tasks online with ease.

110k stars Python View on GitHubprofiled 14d ago
Try GitZoid
178PRs this week
19Contributors
0Deps scanned
0Issues found
01 · Repo overview

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

PythonJavaScriptShellMarkdown

Frameworks

Pydantic / pydantic-settingsasyncio / anyioClick (CLI)MCP (Model Context Protocol)bubus (event bus)cdp-use (Chrome DevTools Protocol)FastAPI (dev/eval only)

Datastores

JSON config files (config.json)Local filesystem (profiles, extensions, downloads, FileSystem service)

Infrastructure

DockerChromium/Chrome browserBrowser Use Cloud APIPostHog (telemetry)

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.

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.

03 · Security check

Dependencies and code review

0 dependencies scanned

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