127 stars on GitHub — FLAGSHIP PROJECT

TabzChrome

Full Linux terminals in your Chrome sidebar. Not emulated — real bash shells via WebSocket.

★ 127 stars 10 forks Created Nov 17, 2025 Size 18.9 MB License MIT
TabzChrome — 4 terminals running Claude, Gemini, Codex, and a game simultaneously

Project Overview

TabzChrome brings real Linux terminals into the Chrome browser sidebar. This is not a shell emulator — it connects to actual bash processes on your machine via WebSocket, with tmux-backed persistence that survives sidebar close and even browser restarts.


Beyond terminals, TabzChrome includes 85 MCP browser control tools for screenshots, clicks, form filling, network interception, and device emulation. It integrates deeply with Claude Code for AI-powered terminal workflows, and ships with a plugin marketplace for agents, skills, and hooks.


With 127 stars and 10 forks, this is the project that proved developers want terminals integrated into their browsing workflow.

By the Numbers

127
GitHub Stars
85
MCP Tools
10
Forks
18.9
MB Codebase
8129
Dashboard Port
TypeScript 75% JavaScript 15% HTML 4% Shell 4% CSS 2%

Tech Stack

🔌 Extension

  • Chrome Manifest V3
  • React (sidebar UI)
  • xterm.js (terminal rendering)
  • Service Worker (background)

🔌 Backend

  • Node.js + Express
  • WebSocket (terminal streams)
  • node-pty (PTY allocation)
  • tmux (session persistence)

🔌 MCP Layer

  • 85 browser control tools
  • Chrome DevTools Protocol
  • REST API for automation
  • Plugin marketplace system

🔌 Integration

  • Claude Code status detection
  • /discover-profiles command
  • Local dashboard (port 8129)
  • Profile system w/ categories

Architecture

🌐
Chrome Sidebar
React + xterm.js
WebSocket
Bidirectional
🖥
Node Server
Express + node-pty
🖫
tmux
Session persistence
💻
Linux Shell
bash / zsh

Key Features

🖫

Real Bash Terminals

Not a shell emulator. Actual Linux bash processes connected via WebSocket through node-pty. Full PTY support with colors, cursor movement, and interactive programs.

🛠

85 MCP Browser Tools

Screenshots, clicks, form filling, network interception, cookie management, device emulation. Full browser control from the terminal or AI agents.

🔄

tmux Persistence

Terminal sessions survive sidebar close, tab navigation, and browser restarts. Your running processes stay alive, backed by tmux session management.

🎨

3D Focus Mode

Pop any terminal into an immersive 3D perspective view. Full-screen focus for when you need to concentrate on a single terminal session.

🤖

Claude Code Integration

Deep integration with Claude Code: status detection, /discover-profiles command, and AI-powered terminal workflows. The terminal becomes an AI interface.

📦

Plugin Marketplace

Extensible architecture with agents, skills, and hooks. Install community plugins or build your own to customize the terminal experience.

🎨

Profiles & Categories

Organize terminals with named profiles, color-coded categories, and custom configurations. Quick-switch between different development contexts.

💻

Terminal Popouts

Detach any terminal into a standalone browser window. Arrange multiple terminals across screens while keeping them connected to the same backend.

See It in Action

Reflections

Building TabzChrome taught deep lessons about Chrome extension architecture and the constraints of Manifest V3 — service worker lifecycle, content script isolation, and sidebar API limitations. The WebSocket terminal bridge pattern (browser → WS → node-pty → tmux) became a reusable architecture I carried forward.


The biggest takeaway: developers want terminals integrated into their browsing workflow. The 127 stars came from a real pain point — context switching between browser and terminal kills flow state. Putting a real shell in the sidebar, persistent across sessions, turned out to be the single most impactful developer tool I have built.