browser-use · 2026-04-24 · notable
Browser Harness: Self-Healing LLM Browser Control Directly on CDP
~600-line Python harness giving LLMs direct Chrome DevTools Protocol access for browser automation. Self-healing: when the agent hits a missing capability, it edits helpers.py mid-task to add the function. 6.8K stars, 117 HN points on Show HN.
A minimal Python shim (~592 lines) that connects an LLM directly to Chrome via CDP — and lets the agent edit its own harness when it gets stuck.
Key specs
| GitHub stars | 6.8K |
|---|---|
| Hn points | 117 |
| Codebase size | ~592 lines of Python |
What is it?
Browser Harness strips away heavyweight abstraction layers (Playwright, Selenium, the browser-use SDK itself) that traditional browser automation frameworks add on top of Chrome. Instead it provides a ~592-line Python shim that speaks the Chrome DevTools Protocol directly over a single WebSocket, plus a small set of helper functions the agent can read and call. The project describes itself as 'the simplest, thinnest, self-healing harness that gives an LLM complete freedom to complete any browser task.'
How does it work?
The harness exposes helper functions as tool calls: navigate, click, type, screenshot, and so on. The unusual part is self-healing: when the LLM encounters a browser interaction the current helper set can't handle, it can write a new helper function and inject it into helpers.py mid-task — effectively extending its own tool API as it runs. All communication flows over CDP WebSocket rather than through a high-level browser framework. A free remote browser tier (cloud.browser-use.com) removes the need to run a local Chrome instance.
Why does it matter?
Most LLM browser automation frameworks ship thousands of lines of deterministic heuristics and hand-tuned selectors that fail on sites the framework authors didn't anticipate. Browser Harness trades that explicit coverage for self-editing adaptability: if the agent doesn't have a tool for a situation, it builds one on the fly. The entire codebase fits in an LLM's context window, which is what makes the self-healing step possible — the agent can actually read and understand what it's modifying.
Who is it for?
Developers building LLM-powered web automation and agent pipelines
Try it
git clone https://github.com/browser-use/browser-harness && pip install -r requirements.txt