Connect an LLM directly to your real browser with a thin, editable CDP harness. For browser tasks where you need complete freedom.
One websocket to Chrome, nothing between. The agent writes what's missing during execution. The harness improves itself every run.
● agent: wants to upload a file
│
● agent-workspace/agent_helpers.js → helper missing
│
● agent writes it agent_helpers.js
│ + custom helper
✓ file uploaded
You will never use the browser again.
Paste into Claude Code or Codex:
Set up https://github.com/browser-use/browser-harness for me.
Read `install.md` and follow the steps to install browser-harness and connect it to my browser.
The agent will open chrome://inspect/#remote-debugging. Tick the checkbox so the agent can connect to your browser:
Click Allow when the per-attach popup appears (Chrome 144+):
See agent-workspace/domain-skills/ for example tasks.
Stealth, sub-agents, or headless deployment.
Browser Use Cloud free tier: 3 concurrent browsers, proxies, captcha solving, and more. No card required.
- Grab a key at cloud.browser-use.com/new-api-key
- Or let the agent sign up itself via docs.browser-use.com/llms.txt (setup flow + challenge context included).
src/browser_harness/— core daemon and connection managementsrc/browser_use/— hard-ported browser-use framework (Agent, DOM, Controller)helpers.js— Puppeteer-powered browser control primitivesagent-workspace/agent_helpers.js— helper code the agent editsagent-workspace/domain-skills/— reusable site-specific skills the agent edits
- Puppeteer Backend: Reliable interaction via the world's most popular automation library.
- Autonomous Agent: Integrated
Agentloop that observes, thinks, and acts using vision and DOM data. - Smart DOM Extraction: Extracts only interactive and visible elements to minimize LLM context.
- Action Controller: High-level actions like
search,scroll, andupload_file. - Multi-Tab Support: Manage and switch between multiple browser sessions seamlessly.
The Bitter Lesson of Agent Harnesses · Web Agents That Actually Learn


