Chromium pixels appear inside a compatible terminal pane
Terminal Browser uses Electron's offscreen rendering API to obtain Chromium frames, then draws those pixels through a Rust graphics layer and the kitty graphics protocol. Mouse and keyboard events travel back from the terminal to Chromium. On macOS, a background Swift helper reads input events that terminals do not expose, including trackpad activity needed for smooth scrolling and canvas-heavy sites.
This produces a real graphical browser rather than a text-only page renderer. A developer can open a local site beside a coding agent, inspect it with devtools, use tabs and find-in-page, or record a page for review. The CLI also exposes an action command compatible with agent-browser interactions. That combination is the point: a human can see the same browser surface an agent is manipulating without switching to a separate desktop window.
The Claude Code plugin supports a narrower terminal set
The experimental plugin requires kitty unicode placeholders in addition to the graphics protocol. Its documentation names Ghostty and Kitty as the common supported choices, plus terminals built on libghostty such as cmux and Supacode. An unsupported terminal may garble the Claude Code interface. Multiplexers add another compatibility layer because they can rewrite the control sequences carrying the image.
Installation also changes Claude Code settings. Users enable CLAUDE_CODE_ENABLE_FUNCTION_HOOKS, add Zenbu Labs as a plugin marketplace, and install the Terminal Browser plugin. The optional agent tool is off by default. The plugin talks to a local HTTP server and can prompt for local-network access, while its function-hooks API is explicitly described as unstable. This is a useful experiment, not a drop-in browser feature with a fixed compatibility contract.
What happened when we ran it
Our sandbox installed the pnpm workspace in 35 seconds, adding 149 packages and consuming 139 MB. The build completed successfully in 10 seconds. No test script or target existed, so the lab skipped the test step. That result confirms the source compiled at commit ff8f170, but it provides no automated regression count for browser input, rendering, SSH, or plugin behavior.
The checkout had 166 files, about 17,953 source lines, and a 1.1 MB repository footprint before dependencies. It is a workspace with browser, CLI, and store packages. We found 1 CI workflow, no Dockerfile, and no tests directory. A container would not exercise the normal display path anyway because Terminal Browser depends on an interactive terminal and its graphics capabilities.
SSH mode keeps frames local and proxies network requests
Running the full application on a remote host would send every rendered frame and every input event across the network. Terminal Browser's recommended --ssh mode takes a different route. Chromium stays on the local machine, while browser network requests travel through the remote server. A site bound to remote localhost can then appear locally without moving the graphical frame stream over SSH.
That design is practical for previewing a development server, but it changes what "remote browser" means. Rendering, cookies, and the browser process remain local, while network reachability comes from the server. Teams should test authentication, certificates, proxy behavior, and access controls in their own environment rather than treating it as the same setup as Chromium running on the host.
Open issues expose authentication and rendering limits
Issue 118 reports that Claude Code 2.1.278 rejects the plugin's image placeholder, leaving the pane visible but blank with Terminal Browser v0.11.1. Issue 121 reports that the action bridge can exceed the macOS Unix-socket path limit. Both were open on September 26, 2026. These are specific failures in the two agent-facing paths that make the project unusual.
Ordinary browsing has gaps too. Issue 80 says a Basic authentication prompt never appears on Debian. Issue 103 says camera and microphone access is granted without an in-browser Allow or Block dialog, while video-call sites face user-agent and macOS signing problems. An Ubuntu report also shows browser startup failing while reading an AppArmor-related kernel setting. Those reports do not make every site unusable, but they rule out treating Terminal Browser as a complete replacement for a daily browser.
v0.11.1 is active, while 68 issues and PRs remain open
GitHub recorded the last push on September 20, 2026, 3 days after the v0.11.1 release. The project had 3,454 stars and 68 open issues and pull requests when fetched. Recent work added settings and shortcuts, exposed a socket for agent actions, and merged the Claude Code plugin. The same pace can change integration behavior quickly.
Terminal Browser is worth trying for the visual loop it shortens: edit in an agent, watch the real page in the same terminal, and take over with the mouse when needed. Carbonyl is the closer terminal-browser alternative, while archived awrit shows the earlier approach the README credits. For automated acceptance checks, Playwright is the safer comparison. The 10-second build makes experimentation cheap. Terminal support and the missing test target decide whether it belongs in your core workflow.

