Try Tools · Dev
browser-use: what happened when we tested it
An open-source Python library that lets an LLM drive a real browser (navigate, click, type, fill forms) through the Agent API, with optional Browser Use Cloud for hosted stealth browsers.
Score
10.0/10
claims that held up
Verdict
V2 · Works as claimed4
Access needed
L0 Public web onlyTested 2026-10-27
Rule set before testing: the worst of C1–C4. All four were V2, so the verdict is V2. Score = mean of 10, 10, 10, 10.
Scope. One local test page, Chromium/Chrome headless only, one free text-only OpenRouter model, use_vision=False and use_judge=False. We did not test Browser Use Cloud, stealth/CAPTCHA/proxies, ChatBrowserUse/BU2, Ollama, authenticated sites, file uploads, or multi-tab flows.
Installed with the documented uv add, drove our local 8-field order form with a free OpenRouter model and system Chrome headless, posted every field correctly, never hit the decoy newsletter Submit, and reported confirmation code 88639E44 in about 70 seconds.
8/8
order fields exact
0 posts to decoy newsletter
88639E44
confirmation code
matches pre-computed ground truth
~70 s
agent wall time
7 LLM steps, free OpenRouter model
0.13.14
PyPI version tested
uv add; local Chrome, no cloud key
Claim by claim
uv add browser-use installs; Agent/Browser/ChatOpenRouter import on Python >=3.11Works
Fresh uv project on CPython 3.12.15 installed browser-use==0.13.14 matching PyPI; imports succeeded with no undocumented extra packages beyond what the install pulled.
Run locally with an LLM via ChatOpenRouter: agent completes a real browser form taskWorks
Free model nvidia/nemotron-3-ultra-550b-a55b:free drove the agent. Server saw 8/8 exact order fields, 0 newsletter posts; agent final_result contained 88639E44. Pass mark for V2 met.
Local browser path works without Browser Use CloudWorks
BROWSER_USE_API_KEY unset for the whole run. Browser(headless=True, executable_path=/usr/bin/google-chrome) performed all actions on system Chrome. No cloud browser required for this local page.
README Agent API: Agent(task=, llm=) → await agent.run() → history.final_result()Works
Quickstart-shaped call ran without crashing; history.is_done()/is_successful() True and final_result() returned the confirmation code string.
Open a claim to see what we measured.
The full report
Full result
Works as claimed on our local form task. The MIT library installed with the documented uv add, accepted ChatOpenRouter with a free model, drove system Chrome headless without any cloud key, filled all 8 fields on the order form (skipping the decoy newsletter Submit), and reported the pre-computed confirmation code 88639E44 in about 70 seconds.
The test task and exact input
Fixed before running (plan committed 08:47 UTC+8, commit 11e1d27). Our own local page with an order form and a decoy newsletter form; both have a button called exactly "Submit", and the Part number field only appears 1.5 s after load. Fill the order form with 8 known values (name, email, country Brazil, qty 4, overnight, gift, notes, part ZX-9082-K) and read the confirmation code. Ground truth code 88639E44 (sha256 of sorted fields). Drive with ChatOpenRouter + free OpenRouter model and Browser(headless=True) on system Chrome; no BROWSER_USE_API_KEY.
Go to http://127.0.0.1:8768/ and fill in the ORDER form (not the newsletter form) with exactly these values, then submit it: Full name: Sofia Renata Quintero Email: s.quintero@example.net Country: Brazil Quantity: 4 Shipping speed: Overnight Gift: yes (check "This is a gift") Notes: Call before delivery; leave with concierge. Part number: ZX-9082-K After submitting, read the confirmation code shown on the page and report it as your final answer. Do not fill the newsletter form.
What happened, step by step3 steps
- Captured README/docs/PyPI/GitHub meta; wrote the test page, server, values, expected code 88639E44 and pass marks for C1–C4; committed them (08:47, 11e1d27)
Observed: PyPI browser-use 0.13.14, MIT, Python >=3.11; GitHub ~119k stars. Queue status set to testing. - C1: fresh uv project, `uv add browser-use`, import Agent/Browser/ChatOpenRouter; smoke-start Browser(headless=True, executable_path=/usr/bin/google-chrome)
Observed: Installed 0.13.14 in ~1 s (105 packages). Imports OK. Local Chrome started and stopped with BROWSER_USE_API_KEY unset. Library pulled optional browser extensions (uBlock etc.) on first start. - C2/C3/C4: started our local server on 127.0.0.1:8768; ran Agent(task=..., llm=ChatOpenRouter(...), browser=Browser(headless=True,...), use_vision=False, use_judge=False) with max_steps=25
Observed: 7 LLM steps (~70 s wall). Navigated, scrolled to reveal the late Part field, filled name/email, select_dropdown Brazil, qty 4, overnight radio, gift checkbox, notes, part; clicked the order Submit (not newsletter). Server logged one /order POST with 8/8 fields exact; 0 /newsletter. final_result: "Confirmation code: 88639E44". is_done=True, is_successful=True, errors=[].
Failure modes seen3 items
- Clicking a <select> with the click action fails with guidance to use select_dropdown / dropdown_options instead (agent recovered on the next step).
- First Browser() start downloads third-party extensions (uBlock Origin Lite, cookie consent blocker, Force Background Tab) unless disabled — not mentioned in the README quickstart path we followed.
- Default Agent enables use_judge and use_vision; we turned both off for a text-only free model and to save free-tier requests.
Evidence files11 files
- File: Test plan, values, expected code and pass marks, committed before running
- File: Vendor claims and version as captured
- File: Our test page (decoy form, late field)
- File: Local test server
- File: Expected values and confirmation code
- File: C1 install + import log
- File: C1 local browser smoke
- File: Agent run summary (fields 8/8, code match)
- File: Agent run JSON (steps, final_result)
- File: Server POST log
- File: Full agent stdout
Vendor claims, as quoted
- "The open-source browser agent. Run it locally with any LLM, or on Browser Use Cloud…" / FAQ: "The Python library is free and MIT-licensed. Model inference and hosted browsers are separate… You can also use a local browser and a local model through Ollama…" (source)
- Install: "uv add browser-use" (Python >= 3.11). Quickstart Agent(task=..., llm=...) → await agent.run() → history.final_result(). (source)
- Supported models docs: ChatOpenRouter(model=...) with OPENROUTER_API_KEY — "Access 300+ models from any provider through a single API." (source)
- Browser config: Browser(headless=..., window_size=...) for a local browser instance. (source)
Lowest-access way to try it
L0 for local demos. `uv add browser-use`, set OPENROUTER_API_KEY (or another supported provider), point Browser(headless=True, executable_path=...) at Chrome/Chromium, and give Agent a task against a page you control. Skip cloud keys unless you want Browser Use Cloud.
Details: vendor, pricing, environment, time, cost
Not sponsored. No affiliate links. Vendors do not see results before they are published.
How to cite
TriedAgents, "browser-use: tool test", works as claimed, tested 2026-10-27, https://triedagents.com/tools/browser-use/
Get one re-run case every weekday
One agent use case we actually re-ran, every weekday. Free.
We only store your email address. Every issue has a one-click unsubscribe link. Privacy