Zenbu Labs’ terminal-browser runs Chromium inside a terminal pane and exposes the browser to coding agents through a command-line interface. The repository has passed 3,000 GitHub stars and now includes a Claude Code plugin that can launch the browser from an agent session.
Chromium pixels in a terminal pane
The browser uses Electron’s offscreen rendering API to capture Chromium frames without opening a separate desktop window. It then displays those frames through the kitty graphics protocol, which lets compatible terminals render pixel images alongside text cells. Modern layouts, canvas content, video, and other Chromium-supported features remain available.
A Rust graphics engine composites the page with the browser’s outer interface on one shared canvas. Zenbu Labs defines that interface in React through a custom renderer, allowing toolbars and controls to appear over the Chromium surface.
Terminal input supplies mouse clicks, pointer positions, and keyboard events, which terminal-browser converts into Chromium input. A background Swift helper captures OS-level events that terminals do not report directly. That additional input path supports trackpad scrolling and interaction with infinite-canvas applications.
One browser, two operators
The Claude Code plugin can open terminal-browser beside an agent session, while the action subcommand provides an agent-browser-compatible interface for controlling any open instance. The developer watches and operates the same page that the agent is using, with both processes contained in one terminal tab.