hwatu
Fast headless verification browser for AI coding agents
TLDR
SYNOPSIS
hwatu [options] [url]hwatu check|diff|motion|snapshot|focus|render|setup|doctor|mcp ...
DESCRIPTION
hwatu is a Linux verification browser built for AI agent loops: a warm WebKitGTK daemon that keeps the engine hot so page checks stay cheap (~tens of milliseconds), returns measurement primitives (pixel match scores, animation metrics, console/network errors) instead of only raw screenshots, and can hand the same live session to a human mid-task without losing cookies or state.It ships as a static binary plus the distro's webkitgtk, exposes a plain CLI, an MCP server, and a newline-delimited JSON Unix socket protocol. Typical agent flow: open headless windows, `check` or `diff` until the match percent climbs, then `focus` only when a CAPTCHA or judgment call needs a person.Linux-only; renders WebKit, not Chromium — keep a Chromium matrix in CI for engine-specific bugs.
PARAMETERS
check url
One-call verify: load, optional eval/screenshot, return JSON metricsdiff --id n --other m
Pixel-diff two windows; optional --heatmap pathmotion --id n
Report animations as numbers (duration, easing, velocity)snapshot
Page state as structured JSON (tokens, not pixels)render --stdin
Render markup from stdin without a local HTTP serverfocus id
Materialize a headless window into a visible session for human hand-offsetup [--client name] [--scope project|user] [--dry-run] [--undo]
Detect coding agents and configure MCP/socket connectionsdoctor
Environment and readiness checksmcp
Run as an MCP server (`command: hwatu`, `args: ["mcp"]`)demo
Run a built-in demo verification pass--headless
Headless window mode (default for agent use; per-window property)
INSTALL
CAVEATS
Requires WebKitGTK 6.x on the host. Headless is a per-window property switchable live, not a launch-only mode. AGPL-3.0 licensed. Not a full replacement for Playwright multi-browser CI matrices.
HISTORY
Open-source Rust project aimed at making agent browser verification one tool call instead of multi-step Playwright/devtools sessions, with interruptible human hand-off as a first-class feature.
SEE ALSO
playwright(1), chromium(1)