█

AI/TLDR

Buy me a coffee
Buy me a coffee

Browser Harness

Give a coding agent your real browser over one CDP websocket

Computer & Browser UseOpen source
Language
Python
License
MIT
Coverage
1 story
$uv tool install --python 3.12 --upgrade --force browser-harness
IN SHORT

What is Browser Harness?

Browser Harness connects a large language model directly to a real browser through a single Chrome DevTools Protocol websocket. It sits in the Computer & Browser Use category of the Agents & Automation tools and is open-source, written in Python and licensed MIT. To get started: install the CLI and register the skill.

Overview

Browser Harness connects a large language model directly to a real browser through a single Chrome DevTools Protocol websocket. Rather than shipping a fixed catalogue of browser actions, it exposes a small Python surface the agent drives, and when a capability it needs is missing the agent writes the helper itself into its own workspace file, so the toolkit grows with each task.

It is designed to be installed as a skill for a coding agent such as Claude Code or Codex: you install the CLI, register `browser-harness skill` as the skill body, and connect it to Chrome's remote-debugging endpoint. Because it drives the browser you are already signed into, it can work on logged-in sites without a separate authentication dance.

The project comes from the Browser Use team and is MIT-licensed. Local Chrome needs no API key; Browser Use Cloud is an optional paid path when you want many browsers in parallel with live previews, proxies, stealth and CAPTCHA solving. Local screenshot-and-trace recording is opt-in and defaults to off, because recordings can capture sensitive page content.

What it does

  • One editable CDP websocket to your real, already-logged-in Chrome — no separate managed browser profile
  • Self-extending helper workspace: the agent writes missing helpers into `agent_helpers.py` while the harness source stays protected
  • Ships as an agent skill — `browser-harness skill` emits the SKILL.md that teaches the browser workflow
  • A `--doctor` command that reports whether Chrome is running, the daemon is alive and the CDP endpoint is reachable
  • Opt-in local recordings (screenshots and action traces), disabled by default, with the preference preserved across upgrades
  • Optional remote/cloud browsers addressed by name for parallel work

Getting started

Install the CLI with uv, register it as a skill for your coding agent, then confirm the connection to Chrome. The repo's install.md is written to be pasted into an agent, but the commands work by hand too.

Install the CLI and register the skill

The explicit Python 3.12 selection stops uv from picking an older release. This example registers the skill for Codex; for Claude Code, register a skill named browser-harness with the same body.

bashbash
uv tool install --python 3.12 --upgrade --force browser-harness
mkdir -p "${CODEX_HOME:-$HOME/.codex}/skills/browser-harness"
browser-harness skill > "${CODEX_HOME:-$HOME/.codex}/skills/browser-harness/SKILL.md"

Allow remote debugging in Chrome

Open chrome://inspect/#remote-debugging and tick "Allow remote debugging for this browser instance". This one-time checkbox is deliberately manual — the harness cannot set it for you.

Verify the connection

Pipe a snippet into the CLI. If page_info() prints, the agent can reach your browser.

bashbash
browser-harness <<'PY'
print(page_info())
PY

Set your recording preference

Recordings save screenshots and action traces locally and may include sensitive page content, so they default to off. Enable them only if you want to ask the agent to replay what it did.

bashbash
browser-harness recordings          # show current setting
browser-harness recordings disable  # or: enable

Diagnose a broken setup

Reports Chrome, daemon and CDP status, and whether an update is available.

bashbash
browser-harness --doctor

Commands and code are distilled from the project's own documentation — always check the official repo for the latest.

When to use it

  • Let a coding agent work inside sites you are already logged into, such as pulling your own posts or exports down from an account
  • Automate a repetitive web workflow whose steps do not fit a fixed action API, letting the agent write the helper it needs
  • Drive browser-based testing or scraping from an existing coding agent instead of maintaining a separate automation script
  • Scale a working local flow out to many parallel browsers via Browser Use Cloud once it is proven

How Browser Harness compares

Browser Harness alongside other open-source computer & browser use tools AI/TLDR tracks, ranked by GitHub stars.

ToolStarsWhat it does
Browser Use★ 120kA Python library that lets agents control a real browser to read pages and complete tasks online from natural-language instructions.
Open Interpreter★ 68.8kA lightweight coding agent that runs code on your own computer to carry out tasks from natural-language requests.
Chrome DevTools MCP★ 54.7kThe Chrome team's MCP server that lets a coding agent control and inspect a live Chrome browser — performance traces, network requests, console messages and Puppeteer-backed automation.
UI-TARS Desktop★ 39.5kByteDance's multimodal agent stack and desktop app that controls a computer's graphical interface using vision-language models.
CloakBrowser★ 32.7kStealth Chromium build with source-level fingerprint patches that drops into Playwright or Puppeteer code, so agents and scrapers browse without tripping bot detection.
invisible_dots★ 32.4kSelf-hosted AI agents that each run in their own QEMU VM with a desktop and a stealth Firefox, on any OpenRouter model.
AIHawk★ 32.4kBrowser agent on a stealth Firefox that takes plain-language tasks and clicks, types and reads real pages - usable as an MCP server from Claude Code, Codex or Gemini CLI, or via its own web UI.
Browser Harness★ 18.8kGive a coding agent your real browser over one CDP websocket