What This Repo Claims
Give an AI agent a task in plain English. It opens a real browser, navigates pages, clicks, extracts — like a human would. No scraping APIs. No HTML parsing. Just a browser and an LLM.
98k+ stars. One of the fastest-growing AI automation repos on GitHub.
The core promise:
pip install browser-use → connect an LLM → describe a task → agent does it in a real Chromium browser.
What I Tested
Environment: macOS Apple Silicon, repoverifiertest user, Python 3.13, pip 25.3, playwright chromium installed, browser-use 0.13.1
Task: Go to news.ycombinator.com and return the top 3 story titles. Simple, deterministic, verifiable.
LLMs tested:
- llama3.1:8b (ollama, local) — FAILED
- llama3.2 (ollama, local) — FAILED
- qwen3.5:9b (ollama, local) — FAILED
- claude-haiku-4-5 (Anthropic API) — FAILED
- gpt-4o-mini (OpenAI API) — ✅ PASSED
What Happened With Each LLM
Local LLMs (llama3.1:8b, llama3.2, qwen3.5:9b): All three looped or hallucinated tasks. The agents navigated away from the target URL, repeated steps without progress, or ignored the task entirely. llama3.1:8b and llama3.2 stalled from step 2. qwen3.5:9b navigated to X.com and crashed on a screenshot timeout.
Claude Haiku: Failed at every step with a pydantic validation error:
Field required [type=missing, input_value={'thinking': '\nThe user...
Haiku's extended thinking mode returns a
thinking block in the response. browser-use 0.13.1's pydantic model expects an action field at the top level and has no handling for the thinking block. Fails 5/6 retries before giving up.
gpt-4o-mini: Completed the task in 2 steps. Navigated to HN, extracted the full front page, returned the correct top 3 titles. Clean execution, no errors.
What the Install Looks Like
pip install browser-use
playwright install chromium
Two commands. No issues on Python 3.13. The SSL certificate warnings on extension downloads are cosmetic — uBlock and cookie extensions fail to download but the agent runs fine without them.
Import path for browser-use 0.13.1 (not langchain):
from browser_use import Agent
from browser_use.llm import ChatOpenAI # NOT langchain_openai
from browser_use.llm import ChatOllama # NOT langchain_ollama
from browser_use.llm import ChatAnthropic # NOT langchain_anthropic
The Gotcha
browser-use advertises ollama support. It exists in the API. It does not work in practice with any model tested — the agents loop, hallucinate, or ignore the task.
This is a reasoning and structured output problem, not a browser-use bug. The framework requires the LLM to reliably produce structured JSON at every step. Models below a certain capability threshold fail consistently. gpt-4o-mini clears that bar. Local 8B models do not.
Bottom line: If you're planning to run this fully local, it won't work with current consumer-grade local models. You need a cloud LLM API key.
Verdict: SOLID
The framework itself is solid. Install is clean, the browser automation works, and with the right LLM it completes tasks reliably in minimal steps. The gotcha is real but it's a capability constraint, not a broken product.
Use it if: You have an OpenAI or Anthropic API key and want an agent that controls a real browser.
Don't use it if: You need fully local execution — local LLMs are not capable enough yet.
This review follows RepoVerifier Standard v1.0. [Read the standard →](https://repoverifier.dev/about)