Show HN: RunKit – a browser based tmux manager RunKit, a browser-based tmux manager from the shll toolkit, launches as a remote console that exposes live tmux sessions and panes in a sidebar, designed to let users monitor multiple AI coding agents simultaneously without wrapping any agent's protocol. The tool, installed via `curl -fsSL https://shll.ai/install | sh`, relies on sibling tools like `wt` for worktree management and provides a dashboard at localhost:3000, with commands such as `run-kit riff` spawning agent workspaces in parallel. Creator Sahil87 emphasizes that RunKit is agent-agnostic, stating, 'The agent is one of the things you run, not the thing run-kit is,' ensuring the terminal layer remains stable as agent tooling evolves. Part of the shll toolkit — see all projects there. Your tmux, in the browser and on your phone. run-kit is a remote console for the machine you actually work on — every tmux session and pane as a live terminal, in a sidebar, from your desk or your couch. It's the modern, terminal-native answer to the old server web-console: nothing to configure, no database, state read straight from tmux. What makes it sing in 2026 is what you tend to run in those panes: AI coding agents, many at once. rk riff spawns each one in its own git worktree https://github.com/sahil87/wt , and the dashboard lets you watch the whole fleet. But run-kit never wraps the agent — a pane is just a pane. It's equally a build, a REPL, an ssh session, htop . The agent is one of the things you run, not the thing run-kit is. That's the point: when the agent tooling churns underneath you and it does, monthly , the terminal layer stays put. curl -fsSL https://shll.ai/install | sh Installs the entire shll toolkit via Homebrew, handling tap trust automatically. run-kit relies on its sibling tools wt for the riff worktree flow , so the full-toolkit install is the supported path. From install to a working dashboard with one agent running: run-kit agent-setup optional, once per machine: agent busy/waiting/idle in the dashboard run-kit daemon start start the dashboard daemon on :3000 open http://localhost:3000 open the dashboard in your browser in a tmux session tmux new -s work if you aren't in one : run-kit riff spawn an agent workspace --skill /name picks the slash-command run-kit riff also needs wt https://github.com/sahil87/wt on your PATH — included with the full-toolkit install, or shll install wt — and your agent CLI available. When something fails, run-kit doctor prints per-dependency status.The new workspace appears in the sidebar; click into it to drive the agent — or any command — from the browser. The formula also installs rk as a fully interchangeable short alias of run-kit , so every command here works the same whether you type run-kit or rk . To upgrade later, run run-kit update — pulls the latest version via Homebrew and restarts the daemon so the new binary takes effect immediately. Coming from the oldrun-kit was originally published as rk formula? sahil87/tap/rk . If brew warns that sahil87/tap/rk was renamed to sahil87/tap/run-kit , you have a keg installed under the old name — remove it with a benign brew uninstall sahil87/tap/rk your config and the rk command alias are unaffected , then brew install sahil87/tap/run-kit if run-kit is no longer on your PATH . See the install & access guide /sahil87/run-kit/blob/main/docs/site/install.md for prerequisites, run-kit doctor , development setup, and driving run-kit from your phone over Tailscale HTTPS. | run-kit | | |---|---| It is | A remote, phone-first console for your tmux — agent-agnostic, no database, state derived from tmux + filesystem. A spawner run-kit riff and a dashboard run-kit serve that compose. | It isn't | An agent wrapper. It doesn't speak any agent's protocol, parse any agent's output, or care what's in the pane. That's deliberate — it's what makes it outlive whichever agent you run. | A remote terminal console, not an agent wrapper — run-kit exposes your tmux, full stop. Drive an agent in one pane, a dev server in the next, an ssh session in a third. Because it's agent-agnostic, it outlives whatever coding agent you're running this month. One command per parallel agent — run-kit riff creates a worktree, opens a tmux window in it, and launches your agent. run-kit riff -N 3 spawns three workspaces in parallel; failures roll back cleanly. Watch a whole fleet, from anywhere — every tmux session and pane shows up in a sidebar. Click for a live browser terminal; pin several into a board boards--watch-many-panes-at-once to watch three agents side-by-side; open the same dashboard on your phone over Tailscale. Mobile-first, keyboard-first — Cmd+K command palette is the primary discovery surface. Touch targets are tuned for mobile so you can steer a session from your phone while away from your desk. No database, no daemon magic — state is derived from tmux and the filesystem, the way a good console mirrors the system it manages. Sessions survive run-kit restarts because the daemon never touches them. The dashboard layer over —and fab-kit wt run-kit riff --skill /fab-fff launches a full fab-kit pipeline in an isolated worktree. Reach for run-kit when you have more parallel changes than one terminal can hold. run-kit is two independent halves that compose the command is run-kit ; rk is the fully interchangeable short alias people tend to type : run-kit riff run-kit serve ▼ ▼ spawns agent runs the workspaces ─────► browser dashboard tmux + worktree watches tmux You can run either alone. Run run-kit riff in any tmux session without ever starting run-kit serve — you get the spawning behavior, no dashboard. Run run-kit serve and never call run-kit riff — you get a tmux browser dashboard for sessions you spawn manually. The two are designed to compose, not depend on each other. One invocation gives you a git worktree, a tmux window inside it, and one or more panes ready to go. The default pane runs your coding agent, but a pane can run anything — run-kit riff is a workspace launcher, not an agent launcher. Pane array model. --skill and --cmd are repeatable. Each occurrence adds one pane; argv order left to right becomes pane order. Bare --skill opens a blank agent session; bare --cmd drops into $SHELL . Layouts. auto default , tiled , even-horizontal , even-vertical , main-horizontal , main-vertical . Set with --layout . Presets. Common pane/layout combos go in fab/project/config.yaml under riff.presets.