Repository navigation
browser use alternatives
Start with the part a page like this usually buries: browser-use is good. It is the most adopted open-source browser agent by a wide margin - roughly 112k GitHub stars when read on 2026-09-03, MIT licensed, actively developed, backed by a $17M seed round in March 2025, with support for multiple model providers under your own keys. If you have no specific reason to look elsewhere, it is the reasonable default, and nothing below changes that.
This page is for people who do have a specific reason. It goes through the reasons that are real and verifiable, then the alternatives, one of which is ours: this wiki belongs to invisible_playwright_mcp, so read the comparison knowing who wrote it. No claim here about browser-use goes beyond what its own repository and configuration surface show.
browser-use drives a Chromium-family browser, and its configuration surface says so structurally: the browser-profile code is Chrome logic - locating a Chrome executable, deriving Chrome user-data directories, Chromium channel types. There is no Firefox path. That is a coherent engineering choice, not a flaw, but it means every browser-use session inherits the Chromium automation stack whole: the same build type, the same driving protocol, the same well-studied tells. If your problem is specifically that this stack is being recognized, no browser-use setting reaches it. The mechanics are documented on the engine wiki: what browser-use configuration can and cannot change and why a bundled Chromium is not Chrome.
The most common shape of the complaint is "works on my laptop, challenged on the server". That is usually not browser-use's fault: a server has no GPU, a container font set, no audio device, and an IP with a datacenter reputation, and no agent framework fixes machine-level facts. But the parts that are the stack's own - a stock automation build, driven over CDP, with the protocol itself observable in ways a page can probe - travel with browser-use wherever it runs. Before switching tools over this, read why an agent gets blocked and attribute your failure correctly; switching agents does not change your IP.
The project's README today gives most of its space to Browser Use Cloud: a hosted agent with rotating egress, integrations, persistence, and a unified API key that also unlocks the company's own optimized models. Reasonable business, genuinely useful for teams that want managed scale. But if you came to open source to keep the agent local, keyed to providers you chose, some of the ecosystem's energy is now pointed somewhere you do not want to go. The open MIT core still works standalone; you should just know which direction the wind blows. As of 2026-09-03 the split is explicit on browser-use's own site, which sells two commercial products, "Browser Use Agents" and "Browser Infrastructure" (managed cloud browsers for your own code) - the infrastructure layer itself is explained here.
No invented grievances: we found no verified problem with browser-use's agent quality, its maintenance tempo, or its community, and its issue tracker is the normal noise of a project its size. If someone tells you browser-use is "broken" or "always detected", ask for the same specificity this page tries to practice.
Boundary honesty: if you are on browser-use and mostly happy, try its own
levers before switching. Point executable_path at a real installed Chrome
rather than the bundled build, and give user_data_dir a profile with real
history - the second one addresses the thing hardest for any fresh browser to
fake, which is having existed yesterday.
What a persistent profile fixes and breaks
covers the trade. If that clears your problem, keep the ecosystem you already
know and close this tab.
Skyvern (repo, ~23k stars, AGPL-3.0). Vision-LLM driven workflows on Playwright: it reads the rendered page rather than depending on selectors, which trades token cost for resilience to layout changes. Still Chromium underneath, so it is an alternative agent, not an alternative detection surface. Mind the AGPL if you embed it.
Agent S3 (repo, ~12k stars, Apache-2.0). A different scope entirely: an open computer-use framework that operates the whole desktop, reporting 72.6% on OSWorld. If your automation keeps leaving the browser for spreadsheets and dialogs, this is the switch that actually addresses it.
invisible_playwright_mcp (repo, ~30k stars, MIT) - ours. The differentiator against browser-use is the browser, not the agent loop: invisible_playwright_mcp drives a Firefox patched at the C++ level (the invisible_playwright engine), a real browser presenting a normal desktop fingerprint, rather than a stock automation build driven over CDP. Identity is derived from a seed, so a failing run replays exactly. It plugs into an MCP assistant you already run (Claude Code, Claude Desktop, Cursor) or runs its own local UI with an OpenRouter key.
Where browser-use covers more, plainly: it has several times our community and integrations, it supports macOS and we do not (Windows and Linux only), its cloud exists if you want managed scale and we have none, and its documentation surface for the agent loop is larger. And the hardened browser is an advantage only where the browser was your problem: it does not repair an IP's reputation, robotic pacing, or a site's rate limits, and we make no promise of non-detection anywhere - the engine wiki documents how to test the difference yourself rather than asking you to believe a claim.
- Happy with browser-use, occasional challenge pages: real Chrome binary, used profile, better egress. Stay.
- Layouts keep breaking your flows: Skyvern.
- The task leaves the browser: Agent S3.
- The browser itself is what gets recognized, or you want the agent inside your MCP assistant, or you need runs to replay deterministically: invisible_playwright_mcp, conflict of interest noted.
- You want a hosted service: Browser Use Cloud or Skyvern's cloud - both vendors' own material describes them; we did not test either.
What is the best alternative to browser-use? Wrong axis. Skyvern changes the perception approach, Agent S3 changes the scope, invisible_playwright_mcp changes the browser. Pick by which of those three is your actual problem.
Does browser-use work with Firefox? Its configuration expects a Chromium-family browser; the profile and channel machinery is Chrome logic. If you need Firefox, you need a different stack.
Is browser-use detectable? Any automation stack is a set of observable choices, and a stock Chromium over CDP is the most-studied set there is. But most "detected" reports are machine and IP facts no framework fixes. Attribute first, switch second.
Is browser-use free? The MIT core is. Model tokens cost whatever your provider charges, and the cloud is a paid product.
Is invisible_playwright_mcp better than browser-use? Not in general, and this is our own wiki saying so. It is better specifically where a real-fingerprint Firefox and reproducible identity matter, and worse on ecosystem size, macOS, and managed hosting.
See also: Choosing an AI browser agent for the full decision framework, OpenAI Operator alternatives for the hosted end of the field, and AI browser agents vs traditional scraping for whether you need an agent at all.
- The browser-use repository, retrieved 2026-09-03: stars, license, description, model support and the cloud material.
- browser-use.com, retrieved 2026-09-03, for the two commercial products named above.
- SiliconANGLE: Browser Use raises $17M, surfaced via search 2026-09-03.
-
browser-use getting blocked: what you can and cannot change, this wiki's own analysis, which reads
BrowserProfile's fields from browser-use's source. - The Skyvern, Agent-S and invisible_playwright_mcp repositories, retrieved 2026-09-03.
Written while maintaining invisible_playwright_mcp, a direct competitor to the tool this page is about. That is why the first section praises browser-use, the second tells you how to stay on it, and every critical claim points at its own repository.
- OpenAI Operator alternatives
- Open-source Operator-style agents
- Is OpenAI Operator still available?
- OpenAI Operator vs Claude computer use
- browser-use alternatives
- Choosing an AI browser agent
- Open-source AI browser agents
- Open-source computer-use agents
- What is an AI web agent?
- AI browser agents vs traditional scraping
- Cloud browser infrastructure for AI agents, explained
- Browserbase alternatives
- Firecrawl vs an AI browser agent
- Skyvern alternatives
- Stagehand vs browser-use
- Project Mariner is gone: what replaced it
- Manus alternatives
- Gemini computer use vs Claude computer use
- A stealth browser MCP, reviewed honestly by its own wiki
- AI browser vs AI browser agent: which one do you want?
- AI browser agent vs RPA: which one fits the job
- AI browser agent vs n8n, Zapier and Make
- Vercel agent-browser alternatives, compared honestly
- What is an agentic browser? Definition and the two kinds
- Open-source agentic browsers: the three layers, compared
- Choosing an MCP server for browser automation: four axes
- Stealth MCP servers compared: Camoufox, nodriver, Patchright
- Playwright MCP alternatives, and the three you don't need
- Autonomous browser agents: the four rungs of autonomy
- What is actually free in the AI browser agent stack
- browser-use on GitHub: what the repo actually gives you
- Playwright MCP vs Chrome DevTools MCP: different jobs
- How to choose among MCP servers: a map by category
- Which MCP servers are worth adding to Claude Code
- MCP on GitHub: finding servers and judging them fast
- MCP vs an API: the decision, and what the wrapper costs
- MCP alternatives: when the protocol is the wrong shape
- Why does my AI agent get blocked?
- The timing signal AI agents give off
- Agent retry loops trip rate limits, not fingerprints
- Claude computer use detected as a bot
- browser-use getting blocked: what you can and cannot change
- Playwright MCP session blocked: four causes, four fixes
- Playwright MCP and captchas: what actually gets you past
- Cloudflare and a browser MCP server: what is being read
- Can an AI agent solve a captcha? The honest answer
- Getting an AI agent to fill out forms
- The best model for an MCP browser agent, and what it really costs
- Browser problem or model problem?
- How to use a Playwright MCP server with Claude Code
- Extracting data to a CSV with an AI agent
- Monitoring a page for changes with an AI agent
- How to let Claude Desktop control a browser
- How to add a browser to Cursor as an MCP server
- Using an AI agent to hunt for apartments
- Getting website data into Google Sheets with an AI agent
- Using an AI agent to download invoices from portals
- AI agents for web research
- Using an AI agent to test your own website
- How to add a browser to Cline as an MCP server
- Posting to social media with an AI agent
- Posting to Facebook with an AI agent
- Posting to Instagram with an AI agent
- Posting to X with an AI agent
- Automating LinkedIn posts: read this first
- Appointment bots: what they are and what an agent can legitimately do
- Track prices across sites with an AI agent
- Build a lead list with an AI browser agent
- Run an AI browser agent on a schedule
- AI browser agent with a local LLM: what changes
- Should you log your AI agent into your accounts?
- How to write a task an AI browser agent can follow
- Move data between two web apps with an AI agent
- The MCP server
- How the tools are shaped, and why
- Playwright MCP vs the Playwright CLI: which fits when
- Playwright MCP: browser is already in use, and the fix
- Playwright MCP best practices: four decisions that matter
- Playwright MCP with a proxy, and the three leaks it leaves
- A browser MCP server in GitHub Copilot: setup and limits
- Using a browser MCP server for web scraping: the pattern
- Which LLM for browser automation: the four properties
- How to build a browser agent, and what to take instead
- Getting an AI agent to log into a website: three routes
- MCP tools, resources and prompts: who controls each
- How many MCP tools is too many? The context arithmetic
- How to build an MCP server: the decisions, not the scaffold
- Local or remote MCP server: what changes, and what does not
- Writing an MCP client in Python: the thirty-line version
- Self-hosted AI agent: what one actually costs to run
- How long an AI browser agent takes per step, measured
- Text, HTML, snapshot or screenshot: what the agent should read
- Giving an AI browser agent a stopping condition
- Keeping an AI browser agent out of destructive actions
- Why did the AI agent click the wrong thing
- When the page changes under the AI agent
- Running one AI agent task across a list of sites
- Seeing a page as it appears in another country
- Getting data out of a dashboard with no export button
- Two browsers in one session: main and support
- Finding the dead links on a site with an AI agent
- Filling a CRM record from a company's website
- One form submission per spreadsheet row, with an AI agent
- Dated screenshots of a page as evidence
- Checking order and delivery status with an AI agent
- Reading a PDF that opens inside the browser
- Summarising a long page or thread with an AI agent
- Collecting every image on a page with its caption
- Collecting event and course listings with an AI agent
- Cancelling a subscription with an AI agent
- What an AI agent can and cannot do inside an iframe
- Shadow DOM and an AI agent: you can click it, you cannot read it
- How to add a browser to Codex as an MCP server
- What a page snapshot costs, per control
- How to let Gemini CLI use a browser
- Native selects and the ones that only look like selects
- Clicking by selector or by coordinates
- How long the agent waits before it gives up
- What a second browser costs
- Uploading a file with an AI agent, and why this one cannot
- Watching the agent work, and when it is worth it
- When not to use an AI browser agent
- Agent or script: deciding once instead of every time
- Using the keyboard instead of the mouse
- Secrets in an agent task: where they end up
- What an agent run should log
- Deduplicating what an AI agent collects
- Normalising values across sites
- Validating an AI agent's output
- Reading a table with an AI agent
- Driving a site's own search and filters
- The task works headed and fails headless
- How to let the AdaL CLI use a browser