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

Manifest Now Supports Claude Pro/Max Subscriptions Without API Key
Manifest, an open source routing layer for OpenClaw, now allows direct connection of Claude Pro or Max subscriptions without requiring an API key. Users with API keys can configure fallback routing when subscription rate limits are hit.

Flavian: A WordPress Development Framework with 24 Specialized Claude Code Agents
Flavian is an open-source WordPress development framework built around Claude Code, featuring 24 specialized agents for tasks like frontend development, security audits, and Figma-to-WordPress conversion. The creator found domain-specific agents significantly outperform general-purpose ones for WordPress development.

Claude-switch CLI tool automates switching between Claude Max accounts when hitting usage caps
A developer built claude-switch, a 250-line bash CLI tool that saves and restores Claude Code credentials from macOS Keychain to switch between accounts when one hits usage limits. The tool eliminates browser re-authentication and maintains workflow continuity.

Gemma Gem: On-Device AI Agent for Browser Automation via WebGPU
Gemma Gem is a Chrome extension that runs Google's Gemma 4 model (2B or 4B) entirely on-device using WebGPU, with no API keys or cloud dependencies. It provides tools to read page content, take screenshots, click elements, type text, scroll, and run JavaScript through a chat interface.