Changelog

What shipped.

Latest features, improvements, and updates.

Faster Sessions, BYOK Pricing Fix & Reliability Updates

Session loads are faster and more stable, BYOK cache reads are no longer overcharged, and several reliability fixes landed.

Performance

  • Opening a v4 session now takes a single request instead of several, and the page no longer jumps around while it loads.

Pricing

  • Fixed a billing bug where BYOK cache reads were priced at the full input rate instead of the discounted cache rate. BYOK now costs the same as the managed path.

Reliability

  • Shared session transcripts now stream in pages instead of blocking on very large transcripts.
  • A session tab left open in the background now recovers automatically once you return to it, instead of staying stuck.
  • Fixed several mobile layout issues that could block sending or stopping a run from a phone.

Dashboard

  • Recent sessions in the sidebar no longer disappear behind the Configuration panel.

API & SDK

  • Fixed a bug where the legacy MCP server could fail to start a session when no proxy country was set.

Scheduled V4 Agents, Agency Skill & Model Picker Updates

V4 agents can now be scheduled, a new Agency skill for proactive work, and model picker updates.

Scheduled Jobs

  • V4 agents can now be scheduled, with pause/resume controls, alongside legacy jobs in Scheduled Jobs.
  • Scheduling a V4 agent hands off to a new chat pre-filled with the schedule prompt.
  • Automation now has its own entry in Run Settings, linking straight to Scheduled Jobs.

Agents & Integrations

  • New Agency skill: agents can proactively research, prepare work, and return with follow-ups, asking for approval only before an external action like sending or publishing.
  • Agents can configure and disconnect Composio triggers directly.
  • AgentMail is now enabled for API runs.

Models

  • bu-2-0-mini-preview is now available on the V2 API and in the model picker.
  • MiniMax M3 removed from the model picker.

Session Sharing, Usage Analytics & X402 Pricing

Sessions get sharing and management upgrades, a redesigned Usage page, and cheaper X402 top-ups.

Sessions

  • Delete and rename sessions directly from the sidebar.
  • Share a session via a public link at /share/v4.
  • Leave thumbs up/down feedback on individual run outputs.

X402 API

  • Pay-what-you-want top-ups, from $0.01 up to $100.
  • Managing a session you already opened — polling, reading messages, stopping, deleting, sending follow-ups — is now free. Payment is only required to open a new browser.

Usage

Usage and analytics moved to a single redesigned page, with Agents, Browsers, and LLM Gateway views.

Model Improvements

  • Reasoning output now shows consistently across all model providers, streamed in as it's generated.
  • Per-run cost caps now scale per model (up to $100) instead of a flat $25, so pricier models aren't starved of usable runs.

Fixes

  • Streaming stalls that could hard-fail a run with no output now retry automatically.
  • The Files tab no longer appears empty for workspaces with many files.
  • Recording tabs are closable, and recordings live in a dedicated Recordings folder in Files.
  • Email attachments received via AgentMail are retrievable again.
  • 401 errors on the API now link to API key signup instead of a dead end.
  • The first-party app gets the same defaults as web chat — cost caps, recording, and skills.

Recording Controls & OAuth Browser Access

Client-controlled browser recording on the Browser Harness API, plus OAuth read access to browsers.

Recording Controls

The Browser Harness (v4) API now lets callers control session recording instead of it being always-on.

  • browserSettings.record opts API calls into recording (off by default) or lets UI sessions opt out (on by default).
  • An explicit record value always wins over the client default, and the setting is inherited by follow-up runs on the same browser.
curl https://api.browser-use.com/api/v4/runs \
  -H "X-Browser-Use-API-Key: $BROWSER_USE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"task": "...", "browserSettings": {"record": true}}'

OAuth

OAuth apps using the terminal flow can now read existing browsers — the v3:browsers:read scope joins the existing create and profile scopes.

Browser Harness API, New Models & Lower Top-Up Minimum

The Browser Harness agent API is now public, plus new models across the platform and a lower pay-as-you-go minimum.

Browser Harness API

The Browser Harness (v4) agent API is now part of our public API surface — listed in the OpenAPI spec, docs, and SDK codegen.

  • Run and session status fields are now typed enums instead of raw strings.
  • GET /runs, GET /sessions, and the run event log now use cursor-based pagination instead of offset paging.
  • Follow-up messages are now queued per session at /sessions/{id}/queue, with an interrupt flag to cancel the active run and apply a message immediately.
  • GET /runs/{id}/messages is now GET /runs/{id}/events.
  • Per-run spend caps are now configurable instead of a fixed $5 default:
curl https://api.browser-use.com/api/v4/runs \
  -H "X-Browser-Use-API-Key: $BROWSER_USE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"task": "...", "maxCostUsd": 25}'

New Models

  • Grok 4.5 (xAI) replaces GLM 5.2 in the Browser Harness model picker.
  • Kimi K3 (Moonshot) is now available in Browser Harness.
  • Claude Fable 5 is available via the API on Browser Harness.
  • GLM and MiniMax are now available natively on Computer Use and Browser Use.

Pricing

Pay-as-you-go minimum top-up lowered from $25 to $5, so it's easier to try Browser Use Cloud without committing to a larger purchase.

Fixes

  • Cancelled runs could briefly flip back to "completed" after the cancellation landed — run status is now sticky once it reaches a terminal state.
  • Runs cut off by the output limit were sometimes reported as producing no response, or incorrectly marked successful — they're now reported as truncated.
  • Automated (API and scheduled) runs on V3 now wait for CAPTCHA auto-solve instead of giving up early.

Browser Use CLI 3.0

Browser Use CLI 3.0 gives coding agents a browser and the ability to execute Python within it.

Browser Use CLI 3.0

Browser Use CLI 3.0 lets agents work online with our highest accuracy yet. It is powered by Browser Harness, providing agents with a small, editable Python harness instead of a fixed menu of browser actions.

This release applies what we learned in The Bitter Lesson of Agent Harnesses and The Bitter Lesson of Agent Frameworks: the latest models do best when you give them freedom, rather than abstracting away complexity.

Install the CLI

uv tool install browser-use
browser-use

Set Up Your Agent

Paste this prompt into Claude Code, Codex, or another coding agent:

Install or upgrade browser-use to the latest stable version with uv using Python 3.12, register the skill from `browser-use skill`, and connect it to my browser. Follow https://github.com/browser-use/browser-use if setup or connection fails.

Then, ask your agent to use Browser Use for work that needs the live web or a browser.

See the CLI docs for more information.

What Changed

The old CLI provided agents with a set list of actions to execute in the browser (ex: click, type, etc.). CLI 3.0 allows agents to execute Python freely within the browser, so agents can do more actions and can inspect, adapt, and recover using the same coding loop they already use and were trained to be good at.

BYOK, Code Mode & Sensitive Data

Bring your own LLM keys, generate reusable automation scripts, and pass secrets securely.

Bring Your Own Key (BYOK)

Use your own LLM API keys with V3 sessions. Your rate limits, your pricing, full control.

Code Mode

The agent writes you a reusable Python script instead of just completing the task once. Re-run it tomorrow, in a cron job, with different inputs.

Sensitive Data

Pass secrets to the agent securely. Kept out of logs, traces, and recordings.

Free Tier & New Pricing

Browser Use Cloud is now free to start, with simpler pricing.

Free Tier

Browser Use Cloud is now free. Every project gets free browser sessions — no credit card required.

API key setup

Create an API key in Browser Use Cloud, then authenticate the CLI:

browser-use auth login
browser-use auth status

Use browser-use doctor to verify the setup.

New Pricing

  • Proxy data cost cut from $10/GB to $5/GB
  • Custom proxies now available on all subscription plans
  • Free tier includes scheduled tasks (1-hour minimum interval)

CLI 2.0 + Weekly Update

CLI 2.0, stealth upgrades, new onboarding.

CLI 2.0

Browser Use now runs directly from your terminal. Works with Claude Code, Cursor, or any AI coding tool. Syncs your real browser profile — cookies, sessions, everything.

Update: the current CLI is Browser Use CLI 3.0. Use browser-use or uvx browser-use instead of the legacy CLI package:

uvx browser-use

For agent setup, paste this prompt into Claude Code, Codex, or another coding agent:

Install or upgrade browser-use to the latest stable version with uv using Python 3.12, register the skill from `browser-use skill`, and connect it to my browser. Follow https://github.com/browser-use/browser-use if setup or connection fails.

New Onboarding

Redesigned first-run flow. Codegen component gets you from first task to working code in one click. 5 free tasks, no credit card required.

Stealth Upgrades

API V3 is now SOTA on Online-Mind2Web

More on this coming soon 👀

BU Agent API & SDK 3.0

New experimental agent API. New SDK with breaking changes.

BU Agent API

BU Agent API (Experimental)

A completely new experimental agent built from scratch. Think Claude Code for the browser: web scraping, data extraction, file manipulation, and complex multi-step workflows.

"Here's a CSV with 50 people. For each person, find their LinkedIn profile, extract their current title and company, and return an enriched CSV." — the BU Agent handles the entire pipeline in a single task.

from browser_use_sdk.v3 import AsyncBrowserUse
 
client = AsyncBrowserUse()
result = await client.run("Find the top 3 trending repos on GitHub today")
print(result.output)

SDK 3.0

New version of the SDK (3.0.x) with breaking changes. Please upgrade — the new client.run() API is much cleaner. All existing functionality — sessions, profiles, browser control, structured output, streaming, files, skills — is still there.

Documentation · GitHub

Browser Use Model - BU 2.0

+12% accuracy. Same speed. No tradeoffs.

BU 2.0 benchmark comparison

BU 2.0 is here.

  • +12% accuracy over BU 1.0 (74.7% → 83.3%)
  • Similar speed — ~62s average task duration
  • Matches Claude Opus 4.5 accuracy while being 40% faster

Benchmark Results

ModelAccuracyAvg Task Duration
BU 2.083.3%62s
BU 1.074.7%58s
Claude Opus 4.582.3%104s
Gemini 3 Pro81.7%143s
GPT-5.270.9%196s

Pricing

ModelInputCachedOutput
bu-1-0 / bu-latest$0.20/1M$0.02/1M$2.00/1M
bu-2-0$0.60/1M$0.06/1M$3.50/1M

Quick Start

import asyncio
from browser_use import Agent
from browser_use.llm import ChatBrowserUse
 
async def main():
    # Use the new bu-2-0 model
    llm = ChatBrowserUse(model="bu-2-0")
 
    agent = Agent(
        task="Your task here",
        llm=llm
    )
 
    result = await agent.run()
    return result
 
asyncio.run(main())

Get your API key at cloud.browser-use.com.

Our First Open-Source LLM

30B params, 3B active. 200 tasks per $1.

BU-30B-A3B-Preview benchmark

BU-30B-A3B-Preview is here.

  • 30B total parameters with only 3B active at inference time
  • 200 tasks per $1 — 4x more cost-efficient than BU 1.0

The weights are open. Browser Use Cloud does not serve this model, so run it yourself:

vllm serve browser-use/bu-30b-a3b-preview --max-model-len 65536 --host 0.0.0.0 --port 8000
from browser_use import Agent, ChatOpenAI
 
llm = ChatOpenAI(
    model="browser-use/bu-30b-a3b-preview",
    base_url="http://localhost:8000/v1",
    api_key="not-needed",
)
 
agent = Agent(task="Your task here", llm=llm)
 
result = await agent.run()

Download from Hugging Face.

Skills - API for Anything

Describe what you need in plain text, get a reusable API endpoint.

Turn plain-text descriptions into production-ready API endpoints.

  1. Create – describe your automation goal
  2. Analyse – auto-generated parameter & output schemas
  3. Run – execute via API with typed inputs

Create via Dashboard or API. Full docs.

MCP Server, Gemini 3, Teams, Library Judge

We ship fast. Enjoy the best model ever.

Cloud MCP Server

A hosted Model Context Protocol (MCP) server that enables AI assistants to control browser automation. It works with any HTTP-based MCP client, including Claude Code.

MCP Server URL: https://api.browser-use.com/mcp

This is an HTTP-based MCP server designed for cloud integrations and remote access. If you need a local stdio-based MCP server for Claude Desktop, use the free open-source version: uvx browser-use --mcp

Implementation Details

Check out the documentation.

Gemini 3 support

It’s the best model for Browser Use.

Gemini 3 support

Teams

The option to add multiple team members to your cloud project (same billing, same credits throughout organization). Available on cloud.browser-use.com.

Library judge

When task is completed, you can get llm-as-a-judge evaluation of the task - the easiest way to evaluate your own workflows (available on the library and cloud). If you need more advanced evals contact us.

const task1 = await client.tasks.createTask({
  task: "Whats the weather in SF.",
  schema: TaskOutput,
  llm: "browser-use-llm",
  judge: true
});
 
const result1 = await task1.complete();
result1.judgeVerdict, result1.judgement
  • file uploads on the cloud

Templates Library

Explore ready-to-use automation workflows from the community.

Browse community workflows at /templates. Clone and run instantly. Contribute your workflows here. We share accepted contributions on X/LinkedIn.

SOC 2 Type II Compliance

Enterprise-grade security certification now available.

Browser Use is now SOC 2 Type II compliant. Learn more at /security/soc2.

Profile Use

Cloud agents now access your local Chrome sessions, cookies, and login states.

Sync your local Chrome profile to the cloud. Your agents can now use authenticated sessions, cookies, and preferences from your local browser.

export BROWSER_USE_API_KEY=bu_ab1...
curl -fsSL https://browser-use.com/profile.sh | sh

Code Use

Generate Python/JS code for high-volume data extraction tasks.

CodeAgent writes Python and JavaScript for native browser interaction via CDP. Custom LLM trained for code generation only.

from browser_use import CodeAgent, ChatBrowserUse
 
agent = CodeAgent(
    task=task,
    llm=ChatBrowserUse(), # requires our LLM
)
await agent.run()

Use cases:

  • Extract 1000 products, filter by price
  • Get 2000 GitHub stargazers with metadata
  • Scrape projects, filter by stars, export CSV

Available in 0.9.0 (OSS). Grab the API key from cloud.

LLM Use

6x faster agents with custom-trained LLM. 20 steps per minute.

We built a special LLM that reduces the latency by 6x while keeping the same performance. The agents can now take 20 steps per minute.

from browser_use import Agent, ChatBrowserUse
 
# Initialize the model
llm = ChatBrowserUse()
 
# Create agent with the model
agent = Agent(
    task="...", # Your task here
    llm=llm
)

For more technical deep dive read the blog at /posts/llm-gateway.

Stealth Browser Infrastructure

Bypass Cloudflare and anti-bot protection with our bare metal browser infrastructure

Features

  • Persistent profiles - Maintain cookies, local storage, and session data across browser instances
  • Proxy support - Route traffic through proxies to bypass geo-restrictions and bot detection
  • File handling - Download files directly through the API without manual intervention

Browser Sessions with SDK

Access raw browser instances via Chrome DevTools Protocol:

from browser_use_sdk import BrowserUse
 
client = BrowserUse(api_key="bu_...")
 
# Basic browser session
browser_session = client.browsers.create_browser_session(
    timeout=30  # minutes
)
 
# With profile (inherit login state)
profile_browser = client.browsers.create_browser_session(
    profile_id="profile_123",
    proxy_country_code="US",
    timeout=60
)
 
print(f"CDP URL: {browser_session.cdp_url}")
print(f"Watch live: {browser_session.live_url}")

For more technical details, read the blog at /posts/browser-infra.

Actor Use

Our CDP-based alternative to Playwright/Puppeteer—built for AI-driven automation

Combine precise element interactions with AI-driven automation in a single workflow.

from browser_use import Browser, Agent
from browser_use.llm.openai import ChatOpenAI
 
async def main():
    llm = ChatOpenAI(api_key="your-api-key")
    browser = Browser()
    await browser.start()
 
    # 1. Actor: Precise navigation and element interactions
    page = await browser.new_page("https://github.com/login")
    email_input = await page.must_get_element_by_prompt("username field", llm=llm)
    await email_input.fill("your-username")
 
    # 2. Agent: AI-driven complex tasks
    agent = Agent(browser=browser, llm=llm)
    await agent.run("Complete login and navigate to my repositories")
 
    await browser.stop()

Browser Use can write Javascript

Agents can now write and execute JavaScript code to interact with websites

In your prompts you can now prompt the agent to write JavaScript code to interact with elements on the website.

This enables more precise control and complex interactions that go beyond standard browser automation—perfect for handling edge cases or custom behaviors.

from browser_use import Agent
 
agent = Agent(
    task="Write JavaScript to extract all product prices from the page",
    llm=llm
)
 
result = await agent.run()

The agent will automatically write and execute the necessary JavaScript to complete your task.

Cloud SDK

Typesafe Python and TypeScript SDKs for seamless cloud integration.

You can control the cloud API using the typesafe SDK.

from browser_use_sdk import BrowserUse
 
client = BrowserUse(api_key="bu_...")
 
task = client.tasks.create_task(
    task="Search for the top 10 Hacker News posts and return the title and url.",
    llm="browser-use-llm"
)
 
result = task.complete()
 
result.output

For more information, check out the documentation.

We switched from Playwright to CDP

All interactions are now 100% CDP-based—no more Playwright dependencies. Nothing runs on Playwright anymore.

This means faster execution, lower overhead, and direct control over browser behavior.

CDP Performance Comparison

Read the full technical breakdown at /posts/playwright-to-cdp.