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

✍️ OpenClawRadar📅 Published: April 24, 2026🔗 Source
Browser Harness: Giving LLMs raw CDP access to self-correct browser tasks
Ad

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.md that 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.

Ad

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

Ad

👀 See Also

Manifest Now Supports Claude Pro/Max Subscriptions Without API Key
Tools

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.

OpenClawRadar
Flavian: A WordPress Development Framework with 24 Specialized Claude Code Agents
Tools

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.

OpenClawRadar
Claude-switch CLI tool automates switching between Claude Max accounts when hitting usage caps
Tools

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.

OpenClawRadar
Gemma Gem: On-Device AI Agent for Browser Automation via WebGPU
Tools

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.

OpenClawRadar