AI/TLDR

PinchTab

A local browser control plane that agents drive over HTTP, not a screenshot loop

Computer & Browser UseOpen source
Language
Go
License
MIT
$curl -fsSL https://pinchtab.com/install.sh | bash

Overview

PinchTab is a standalone HTTP server that gives AI agents direct control over Chrome. Rather than bundling a browser, it ships as a single self-contained binary of about 30MB that drives a locally installed Chrome or Chromium, and it is designed to be installed as a user-level daemon so several agent tools can reuse one browser control plane running in the background. Agents point at `http://localhost:9867` and get browser tools for navigating pages, extracting structured content and interacting with the DOM.

The project's pitch is token efficiency and stable references. It reports roughly 800 tokens per page using text extraction — which it describes as five to thirteen times cheaper than screenshots — so an agent is not spending its context on raw HTML or images. Its element references are accessibility-first and denote a DOM node rather than a row in a list: the same `e5` survives a change of filter, selector or depth, and expires only when the browser navigates to a new document. That is the difference between an agent that can take three steps on a page and one that loses its grip after the first re-render.

Beyond single-page automation it manages profiles and instances. Headed Chrome profiles can carry authentication, cookies, extensions and a name and description, so a request can select the right profile for a task; multiple Chrome instances can run in parallel with isolated profiles, in containers, or on remote machines. There are also site-level commands: `pinchtab audit` walks a site or its sitemap and produces a report with screenshots, console errors, broken assets, an accessibility score, Core Web Vitals and security findings, while `pinchtab compare` diffs two deployments visually and can fail a CI job on a difference.

PinchTab is explicit that it is a privileged operator tool, and it defaults to a local-first security posture: the server binds to 127.0.0.1, sensitive endpoint families and `attach` are disabled by default, and its IDPI layer restricts browsing to locally hosted sites until you widen the allowlist deliberately. The documentation treats remote, container and distributed deployments as advanced setups you are responsible for securing, and warns that the dashboard, HTTP API and MCP server are not built for untrusted or multi-tenant exposure. It is MIT-licensed, written in Go, and has agent plugins for Grok Build and OpenClaw.

What it does

  • Single self-contained ~30MB Go binary that drives a locally installed Chrome or Chromium
  • Control from the CLI, plain curl against the HTTP API, or an MCP server
  • Token-efficient extraction — roughly 800 tokens per page, which the project puts at 5–13x cheaper than screenshots
  • Accessibility-first element refs that denote a DOM node, so a ref survives filter, selector and depth changes and expires only on navigation
  • Headless and headed modes, with named Chrome profiles carrying auth, cookies and extensions
  • Multi-instance orchestration across containers or remote machines, plus an advanced attach mode for externally managed Chrome
  • Site audits (screenshots, console errors, broken assets, accessibility score, Core Web Vitals, security findings) and visual comparison with a --fail-on-diff CI gate
  • Local-first security defaults: loopback bind, sensitive endpoint families off, and browsing restricted to local sites until you allow more
  • ARM64-optimized with first-class Raspberry Pi support and automatic Chromium detection

Getting started

The primary path is to install the binary, install and start the daemon, then point an agent at the local control plane. Running bare `pinchtab` performs first-run security setup and prints server status and next steps.

Install PinchTab and its daemon

On macOS and Linux the install script fetches the binary; `pinchtab daemon install` then installs the control-plane server and starts a default headless Chrome instance.

bashbash
curl -fsSL https://pinchtab.com/install.sh | bash

pinchtab daemon install

Or run the server directly

If you would rather not run a daemon, or you are on Windows, run the control plane in the foreground. `pinchtab bridge` instead runs a single browser instance as a lightweight runtime.

bashbash
pinchtab server

Point your agent at it

The control plane listens on port 9867. Configure your agent or tool against that endpoint and it can navigate, extract and interact through PinchTab's browser tools.

bashbash
http://localhost:9867

Audit or compare a site

The audit command writes report.json plus screenshots to an output directory; compare diffs two versions and can fail on a difference, which makes it usable as a release gate.

bashbash
pinchtab audit https://example.com --output-dir ./audit

pinchtab audit https://example.com/sitemap.xml --sitemap --sample-size 2 --output-dir ./audit

pinchtab compare https://example.com https://staging.example.com --fail-on-diff

Install the agent plugin (optional)

The binary is still installed separately; the plugins wire PinchTab into a specific agent.

bashbash
grok plugin install pinchtab --trust

openclaw plugins install @pinchtab/pinchtab

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

When to use it

  • Giving a coding or research agent a persistent local browser instead of spawning a fresh headless session per task
  • Logged-in automation via named headed profiles — 'use my work profile and download the weekly report'
  • Pre-release site audits and visual regression gates in CI with pinchtab audit and pinchtab compare
  • QA and distributed browsing across several parallel Chrome instances with isolated profiles
  • Sandboxing browser automation by running the whole control plane inside Docker

How PinchTab compares

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

ToolStarsWhat it does
Browser Use★ 115kA Python library that lets agents control a real browser to read pages and complete tasks online from natural-language instructions.
Open Interpreter★ 68.4kA lightweight coding agent that runs code on your own computer to carry out tasks from natural-language requests.
Chrome DevTools MCP★ 52.2kThe 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★ 39kByteDance's multimodal agent stack and desktop app that controls a computer's graphical interface using vision-language models.
AIHawk★ 31.6kBrowser 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.
CloakBrowser★ 31.5kStealth Chromium build with source-level fingerprint patches that drops into Playwright or Puppeteer code, so agents and scrapers browse without tripping bot detection.
OpenCLI★ 29.4kTurns websites into deterministic CLI commands and lets agents drive your already-logged-in Chrome through a browser bridge extension, with adapters for sites and local binaries.
PinchTab★ 10.3kA local browser control plane that agents drive over HTTP, not a screenshot loop