terminal-browser
A real Chromium-based browser that runs directly inside your terminal, with agent-browser integration and SSH support.
At a Glance
About terminal-browser
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
Community Discussions
Be the first to start a conversation about terminal-browser
Share your experience with terminal-browser, ask questions, or help others learn from your insights.
Pricing
Open Source
Free and open-source, install via curl. No license specified.
- Full Chromium browser in terminal
- Agent-browser CLI
- SSH remote preview
- Split-pane mode
- macOS and Linux support
Capabilities
Key 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
