# terminal-browser

> A real Chromium-based browser that runs directly inside your terminal, with agent-browser integration and SSH support.

terminal-browser is an open-source project by zenbu-labs that embeds a full Chromium-based browser directly inside your terminal using the kitty graphics protocol. It supports macOS and Linux, installs via a single curl command, and is built primarily in Rust with a React-based UI renderer. The project reached v0.3.2 as of July 2026 and has attracted notable GitHub interest since its July 2026 launch.

## What It Is

terminal-browser is a CLI tool that renders a real browser — powered by Electron's offscreen rendering API — inside any terminal that supports the kitty graphics protocol (Ghostty, Kitty, cmux, WezTerm, and 50+ others). It is not a text-mode browser like Lynx; it renders actual pixels from Chromium directly into the terminal canvas, enabling full web interactivity without leaving the terminal environment.

## How It Works

The tool uses Electron's offscreen rendering API to read GPU-generated pixels from Chromium and display them via the kitty graphics protocol. User input — mouse clicks, position, keyboard events — is captured from the terminal and forwarded as synthetic events to Chromium. For input events not retrievable from the terminal (e.g., trackpad gestures, smooth scrolling), a background Swift app reads directly from the OS non-intrusively. The outer browser UI is built on a Rust graphics engine with a custom React renderer, and both the UI layer and browser content are drawn to the same shared canvas.

## Agent-Browser Integration

A standout feature is the built-in agent compatibility. The `terminal-browser action` CLI command exposes an agent-browser-compatible interface, allowing coding agents (such as Claude Code or similar) to view and control any open browser instance. This enables workflows like:

- Running a dev server and having an agent interact with it in a split pane
- Asking an agent to generate an HTML plan and automatically open it side-by-side
- Letting an agent test checkout flows or other UI interactions autonomously

## SSH and Remote Preview

terminal-browser works over SSH, allowing developers to preview websites running on remote machines without port forwarding. A remote session can launch `terminal-browser open localhost:8080` and the browser renders inline in the SSH terminal session.

## Update: v0.3.2

The project was created on July 6, 2026 and reached v0.3.2 by July 30, 2026, indicating rapid early iteration. The roadmap lists Linux support (with an open PR), Chrome extensions, and a design mode as upcoming features. Contributing guidelines require human-authored PR descriptions with clearly defined motivation, and the recommended local dev setup path is to ask a coding agent.

## Tradeoffs to Know

- Requires a terminal with kitty graphics protocol support — standard terminals like Terminal.app or basic SSH clients will not work
- No OSI license is specified on the repository, which may affect enterprise or redistribution use cases
- macOS is the primary supported platform; Linux support is in progress via a community PR
- The project is early-stage (sub-v1.0) with active development and an open issues count of 5

## Features
- Full Chromium browser rendered inside the terminal
- Kitty graphics protocol support (Ghostty, Kitty, cmux, WezTerm, 50+ terminals)
- Agent-browser compatible CLI for coding agent integration
- Split-pane mode for side-by-side agent and browser view
- SSH support for remote machine browser preview (no port forwarding needed)
- Smooth scrolling and trackpad event support via background OS input listener
- Rust graphics engine with React-based custom UI renderer
- HTML file preview directly in terminal
- Open/list/control multiple browser instances via CLI

## Integrations
Ghostty, Kitty, cmux, WezTerm, VS Code terminal, Electron (offscreen rendering), Chromium, SSH

## Platforms
MACOS, LINUX, API, VSC_EXTENSION, CLI

## Pricing
Open Source

## Version
v0.3.2

## Links
- Website: https://terminal-browser.com
- Documentation: https://github.com/zenbu-labs/terminal-browser
- Repository: https://github.com/zenbu-labs/terminal-browser
- EveryDev.ai: https://www.everydev.ai/tools/terminal-browser
