terminal-browser Claude skill

A real Chromium browser inside a kitty-graphics terminal, with a verify skill that drives apps headlessly in a pty and records a video of the check.

Our verdict Recommended with caveats

A technically impressive browser-in-terminal tool with a genuinely useful recorded-verification workflow, but the one skill documented here is narrow and the real functionality lives in the separate CLI, which you install via a curl pipe to bash.

What terminal-browser does

terminal-browser is primarily a standalone CLI and Claude Code plugin (not a skill pack): it renders Chromium's output as pixels inside terminals that support the kitty graphics protocol (ghostty, kitty, cmux, VS Code and others), using Electron's offscreen rendering API to read pixels off the GPU and send only changed regions back to the terminal. It reads real mouse and keyboard input from the terminal, plus trackpad and other events it cannot get from the terminal by reading the OS directly through a background Swift app on macOS. It supports split panes next to your coding agent, SSH (so it can preview a site running on a remote machine), and an agent-browser-compatible terminal-browser action CLI so an agent can drive open browser tabs.

The one documented skill, verify, is narrower: it drives any app that renders via the kitty graphics protocol (not just web pages) headlessly inside a pty, using a Python driver/recorder library checked into tools/verify-recorder. It pumps frames, sends typed and mouse/wheel input with a description per step, asserts checks, and composites a video plus a timeline summary page you open with the bundled pixel tool. The instruction explicitly discourages one-off pty scripts that only dump PNGs in favor of this recorded, reviewable format.

Good for

  • Coding agents that need to preview a live site or app next to the terminal
  • Visually verifying a terminal-rendered app's behavior with a recorded video instead of static screenshots
  • Previewing a website running on a remote machine over SSH

Not for

  • Terminals without kitty graphics protocol support
  • Windows outside WSL with a kitty-graphics-capable terminal

What's inside depth 2/5

One skill at about 4 KB with no listed references but a substantial verify-recorder Python package behind it; the bulk of the project's depth is in the CLI and engine, not inside the skill folder itself.

Skills
1
Reference docs
0
Scripts
0
Tests / evals
0
Templates
0
Avg SKILL.md
4 KB

Counted from the repository file tree. How we score depth.

Dependencies and costs

  • A terminal with kitty graphics protocol support (ghostty, kitty, cmux, VS Code, etc.)
  • terminal-browser CLI (Rust/Electron) installed via curl, Homebrew or the Claude Code plugin
  • Python for the verify-recorder driver scripts
  • WSL for Windows use
  • Telemetry: Usage and crash-report telemetry is on by default and can be disabled with TERMINAL_BROWSER_NO_TELEMETRY=1 or terminal-browser config set telemetry.usage off / telemetry.crashReports off; the README states logs are appended locally to an auditable telemetry.jsonl file. The standalone pixel library has no telemetry at all.

Security review

Review before installing

The only skill in the reviewed files is a maintainers' verify skill that shows how to drive a terminal app in a pty, record it and open a summary page; it has no allowed-tools frontmatter. The README installs a closed-source-in-this-copy Rust/Electron terminal browser with curl | bash and sends usage and crash telemetry by default, which you can switch off with DO_NOT_TRACK=1.

Worth knowing

  • Installs with curl | shThe README's main install path is curl -fsSL https://terminal-browser.sh/install | bash from the project's own domain; Homebrew and a Claude Code plugin are listed as alternatives.README.md:15
  • Sends usage data by default (can be turned off)Usage events and crash reports are sent by default; DO_NOT_TRACK=1, TERMINAL_BROWSER_NO_TELEMETRY=1 or terminal-browser config set telemetry.usage off / telemetry.crashReports off disable them, and sent data is also appended to a local telemetry.jsonl for audit. The pixel library has no telemetry.README.md:108
  • Relies on a CLI or package we could not reviewThe product is a Rust/Electron terminal browser installed as a binary; its action command lets an agent drive open browser tabs and upgrade pulls new versions. None of that code is in the reviewed files.README.md:63
  • Installs packages or toolsThe installer places the terminal-browser binary (macOS and Linux) on your machine; Windows use requires WSL and a kitty-graphics-capable terminal.README.md:15
  • Makes network requestsThe browser loads whatever URLs you or an agent open, can proxy requests through a remote server over ssh (--ssh), and checks for upgrades via terminal-browser upgrade.README.md:30

What we checked

The repository (515 files) on Oct 29, 2026. Not a full review: 487 of 515 files were not downloaded (large repository; we reviewed the skill folders); it relies on code outside the repository: The terminal-browser installer script served from https://terminal-browser.sh/install and the Rust/Electron binary it installs (browser/, pixel/, engine/ source folders and 487 readable files are not in the local copy); Claude Code plugin manifest (.claude-plugin/marketplace.json), .claude/settings.json and CI workflows listed in the inventory but not available; tools/verify-recorder driver scripts that the .claude/skills/verify skill tells the agent to import.

NVIDIA SkillSpector static scan: 4 pattern hits (Supply Chain 2, Tool Misuse 2). The four hits are the curl | bash install lines in the README (external script fetching and chaining).

A review, not a certification. Skills change after we check them — read the files before installing.

License

MIT — commercial use allowed.

Can it run unattended?

Not really. The verify skill runs one recorded check per invocation rather than a long unattended loop, though its deterministic, scripted nature makes it suitable to call from a longer automated pipeline.

Alternatives to terminal-browser

agent-browser

vercel-labs/agent-browser

A native browser-automation CLI for agents, plus 11 skills that teach the snapshot-and-ref workflow for navigating, filling forms, scraping and testing.

Recommended Check first Depth 4/5

playwright-cli

microsoft/playwright-cli

Microsoft's command-line interface for driving a browser through Playwright, plus a skill that teaches coding agents the commands.

Recommended Check first Depth 3/5

bb-browser

epiral/bb-browser

A CLI and MCP server that lets agents drive your real, logged-in Chrome and run site adapters (103 commands, 36 platforms), with two small skills describing the commands.

With caveats Broad access Depth 3/5

FAQ

What is terminal-browser?

It is a real Chromium browser that renders inside a terminal using the kitty graphics protocol, letting a coding agent and a live website share the same terminal tab, including over SSH. It also ships one Claude Code skill, verify, for recorded headless app verification.

How do I install it?

On macOS and Linux, run the curl install script from terminal-browser.sh or use Homebrew; on Windows it requires WSL and a kitty-graphics-capable terminal. The Claude Code plugin has its own install instructions in the repo.

What does the verify skill do?

It drives any app that renders through the kitty graphics protocol headlessly in a pty, feeding it scripted mouse, keyboard and wheel input, then composites a video and a timeline summary page so you can review exactly what happened during the check.

Is telemetry sent by default?

Yes, usage and crash telemetry are on by default but can be disabled with an environment variable or a config command, and the README says the local log file lets you audit what was sent.

Sources: GitHub repository (stars, license, file tree, last push Oct 29, 2026). Review based on the README and SKILL.md files as published.