“"The agent writes what's missing during execution. The harness improves itself every run." — browser-use/browser-harness README (primary source, fetched in session 2026-05-02)”
You know that feeling when you spend an afternoon writing a browser automation script and it breaks the next week because the website changed a button label or added a new modal? Playwright scripts need constant selector maintenance — one UI tweak and your automation goes offline until someone fixes it by hand. LLM-based browser agents can adapt, but most wrap Chrome in abstraction layers that block cross-origin iframes, private API calls, and edge-case DOM behaviors. The existing options force you to choose between brittle deterministic scripts and heavyweight agent frameworks with no escape hatch down to raw CDP.
Browser Harness opens a raw WebSocket to Chrome's DevTools Protocol — the same low-level channel that browser devtools use internally. Before starting a task, the agent reads stored domain-skills files for the target site: known API shapes, stable selectors, required waits, and documented traps. It then executes the task using helper primitives like goto_url() and wait_for_load(). When it hits a capability gap, it writes a new Python helper into agent_helpers.py on the fly and uses it immediately. The next time the same site comes up, that helper is already there. Think of it like a mechanic who doesn't just fix your car but writes the repair manual as they go — the shop gets smarter with every job.
If you are building personal automation scripts, one-off web scrapers, or LLM agent workflows where you control the environment end to end, this tool gives you the lowest-friction path to raw Chrome access. It is not suitable for team or production deployments today: the self-patching mechanism produces non-reproducible runs, there is an unresolved RCE advisory, and there are no versioned releases — you pin to main.
Worth a look if you are prototyping LLM-driven browser workflows for personal use — it gets you to raw Chrome access faster than any alternative with fewer lines of setup code. Do not run it in a shared or production context: the agent writes executable code into a file it also reads, which is an architectural RCE surface, and an advisory on that exact issue has had zero public response from the maintainers as of 2026-05-02.
Deep-dive insight, Easy and Pro modes, plus action playbooks — the full breakdown is one tap away.