Browser Harness: Giving LLMs raw CDP access to self-correct browser tasks

Browser Harness is a self-healing harness that gives LLMs complete freedom to complete browser tasks by connecting directly to Chrome via a CDP websocket (~592 lines of Python). Instead of wrapping Chrome in predefined functions (like Playwright MCP or agent-browser), it provides a thin daemon that holds the websocket, basic helpers, and a SKILL.md file — and lets the agent write its own tools when needed.
How it works
The core concepts are:
- A daemon that keeps the CDP websocket alive
- Extremely basic tools in
helpers.py(~195 lines) - A
SKILL.mdthat explains usage
When the LLM needs a function that doesn't exist, it edits helpers.py and adds it. The authors report a case where the agent wanted to upload a file, found no upload_file() function, wrote it itself using DOM.setFileInputFiles, and continued — visible only in a git diff.
vs. other approaches
Other tools (Playwright MCP, browser-use CLI, agent-browser, Chrome DevTools MCP) wrap Chrome in predefined functions. Their worst failure mode is silent: click() returns success but nothing happened. Browser Harness aims to give the LLM perfect context and freedom to self-correct.
Setup and installation
Install with Claude Code or Codex by pasting:
Set up https://github.com/browser-use/browser-harness for me.
The agent reads install.md for bootstrap, then SKILL.md for normal usage, and always checks helpers.py for available functions.
Real examples
- Plays Stockfish chess engine
- Sets a world record in Tetris
- Draws a heart with JavaScript
Contributing
Contributions welcome: add domain skills under domain-skills/ for sites like LinkedIn, Amazon, etc. Skills are generated by the harness, not hand-authored. Bug fixes, docs, and helper improvements also accepted.
License: MIT.
📖 Read the full source: HN LLM Tools
👀 See Also

HolyClaude: Docker Container for Claude Code with Browser UI and Headless Chromium
HolyClaude is an open-source Docker container that packages Claude Code CLI with a browser UI, headless Chromium, and additional AI coding tools. Setup requires only docker compose up and provides access at localhost:3001.

Auto-Fix System Uses Claude Code Headless to Detect and Fix Production Errors
A developer built an automated production error-fixing system using Claude Code CLI in headless mode. The system detects errors from logs, creates isolated git worktrees for each issue, prompts Claude to write fixes, and requires manual approval via Telegram before creating PRs.

0Latency: A Persistent Memory Layer for AI Agents via MCP
0Latency is an MCP server that adds persistent memory to Claude and other AI agents, storing memories across sessions to prevent context loss. It works natively with Claude Desktop, Claude Code, claude.ai, GPT, Gemini, Cursor, and any MCP-compatible agent.

10.33 t/s on Qwen 3.5 35B with a $300 Laptop: Full Optimization Breakdown
A developer achieves 10.33 t/s on Qwen 3.5 35B Q4_K_S on a Lenovo Ideapad Slim 3i ($300) using ik_llama.cpp, core pinning, MTP speculative decoding, and BIOS performance tuning.