Browser Harness
Browser Harness | Self-healing harness that enables LLMs to complete any task.
Last verified:
What is Browser Harness?
Browser Harness is an open-source, minimal self-healing browser harness built directly on the Chrome DevTools Protocol (CDP) that gives LLM agents complete freedom to complete any browser task. Instead of imposing a rigid framework, it exposes a thin bridge so agents can perform browser tasks with almost no abstraction in the way. The defining feature is its self-healing philosophy: when an agent encounters a missing capability during a browser task (like file upload), it can edit the harness code in real time and add the required function without human intervention.
Key features include direct browser control through CDP with a persistent WebSocket bridge to Chrome, the ability for agents to write missing helper functions during execution, support for both local Chrome and Browser Use Cloud stealth browsers, domain-specific skills for sites like LinkedIn, GitHub, and Amazon, and interaction skills covering dialogs, iframes, shadow DOM, uploads, and more. The entire implementation is approximately 1,000 lines of Python across 4 core files, maintaining a compact architecture.
Browser Harness is designed for AI/LLM developers, AI agent builders, researchers working on web automation, and anyone needing complete browser control for tasks like scraping, testing, automating multi-step web flows, or building autonomous agents. It connects to your real browser with all logins intact rather than spinning up a sandbox browser, making it ideal for tasks requiring authenticated sessions.
Browser Harness pricing
Pricing model: Freemium
Browser Harness itself is open source and free under MIT license. Browser Use Cloud offers a free tier with 3 concurrent browsers, proxies, captcha solving, and scheduled tasks (1-hour minimum interval) - no credit card required. Paid plans: Dev at $29/mo with 25 concurrent sessions and $29 credits; Business at $299/mo with 200 concurrent sessions and $400 credits; Scaleup at $999/mo with 500 concurrent sessions and $1,400 credits; Enterprise with custom pricing. Browser sessions cost $0.06/hour, proxy bandwidth is $5/GB. Browser Use Box dedicated agent deployment: small at $1/day (2 vCPU, 4GB RAM), medium at $2/day (2 vCPU, 8GB RAM), large at $4/day (4 vCPU, 16GB RAM).
Browser Harness pros
- Open source with MIT license
- Self-healing: agents write missing helpers mid-task
- Direct CDP access with no abstraction layer
- Works with your real Chrome browser and existing logins
- Only ~1,000 lines of Python across 4 core files
- 3 concurrent free cloud browsers with no card required
- Supports local Chrome and Browser Use Cloud stealth browsers
- Domain skills for popular sites (LinkedIn, GitHub, Amazon)
- 15+ interaction skills (iframes, shadow DOM, uploads, dialogs)
- Persistent WebSocket bridge maintains session state
- Agent-generated skills improve harness every run
- Works with Claude Code, Codex, and other agents
- Remote daemon support for parallel sub-agents
- Proxy support with basic and premium tiers
- Captcha solving included in cloud tier
- Coordinate-level clicks work through iframes and shadow DOM
- Screenshot-first workflow for reliable verification
- Profile sync carries cookies to cloud browsers
Browser Harness cons
- Requires Chrome 144+ for popup permission flow
- Local browser needs remote debugging enabled manually
- Way 1 connection shows Allow popup on every attach
- Way 2 command-line method loses logged-in sessions
- No official npm package (Python only, JS is separate)
- No releases published yet on GitHub (pre-1.0)
- Daemon can go stale requiring restart
- Requires BU_NAME or BROWSER_USE_API_KEY for remote
- Snap Chromium users need special --doctor --fix-snap fix
- No built-in retry framework or session manager
Frequently asked questions about Browser Harness
What is Browser Harness?
Browser Harness is a thin, self-healing browser harness built directly on the Chrome DevTools Protocol (CDP) that connects LLM agents to real browsers. Agents can edit their own helper functions mid-task to complete any browser task, with the harness improving itself every run. It is open source under MIT license with approximately 1,000 lines of Python.
How does the self-healing feature work?
When an agent encounters a missing capability during a browser task (for example, file upload), it writes the missing helper function in agent-workspace/agent_helpers.py in real time, then executes it. The skill the agent figures out is automatically saved, so the harness learns and improves with every run without human intervention.
How do I connect Browser Harness to my browser?
There are two ways: Way 1 (recommended for tasks in your real browser) - navigate to chrome://inspect/#remote-debugging and tick 'Allow remote debugging for this browser instance', then click Allow when the popup appears. Way 2 (for headless/unattended use) - launch Chrome with --remote-debugging-port=9222 --user-data-dir=<non-default-path> and set BU_CDP_URL=http://127.0.0.1:9222.
What is the difference between Way 1 and Way 2 browser connection?
Way 1 uses your real Chrome profile with all logins, extensions, history, and bookmarks intact, but shows an 'Allow remote debugging?' popup on every attach (Chrome 144+). Way 2 uses an isolated profile with no popups ever, making it ideal for headless or unattended automation, but you lose logged-in sessions since cookies are encrypted to the original directory.
What is included in the free tier?
The Browser Use Cloud free tier includes 3 concurrent browsers, basic proxy pool, captcha solving, scheduled tasks with 1-hour minimum interval, webhook events, and 1 team member. No credit card is required to start, and agents can even create their own Browser Use Cloud accounts directly from the CLI.
Can I use Browser Harness with multiple agents in parallel?
Yes. Use remote browsers with start_remote_daemon() - each sub-agent gets its own isolated browser via a distinct BU_NAME. The free tier supports 3 concurrent browsers, while paid plans support up to 25 (Dev), 200 (Business), or 500 (Scaleup) concurrent sessions.
What are domain skills and how do I enable them?
Domain skills are community-contributed per-site playbooks under agent-workspace/domain-skills/ for sites like GitHub, LinkedIn, Amazon, and others. They contain reusable site-specific selectors, flows, and edge cases. Set BH_DOMAIN_SKILLS=1 to enable them. When enabled, goto_url searches for matching skill files before inventing an approach.
How do I update Browser Harness?
When browser-harness prints 'update available: X -> Y' (once per day), run browser-harness --update -y to pull the new code. It uses git pull --ff-only for editable clones or uv tool upgrade browser-harness for PyPI installs. The --update command refuses to run on editable clones with uncommitted changes.
What interaction skills are available?
Browser Harness includes 15+ interaction skills covering connection, cookies, cross-origin iframes, dialogs, downloads, drag-and-drop, dropdowns, iframes, network requests, print-as-pdf, profile-sync, screenshots, scrolling, shadow-dom, tabs, uploads, and viewport. These cover reusable UI mechanics like handling dialogs, tabs, dropdowns, iframes, and file uploads.
Can I deploy Browser Harness on my own server?
Yes. You can run your agent on local Chrome, on Browser Use stealth browsers, or 24/7 on your own Browser Use Box. Browser Use Box is a dedicated box with Browser Harness billed hourly: small at $1/day (2 vCPU, 4GB RAM, 20GB storage), medium at $2/day (2 vCPU, 8GB RAM, 50GB storage), or large at $4/day (4 vCPU, 16GB RAM, 100GB storage).