Skip to content
manueltaroucaPublic

About

A terminal multiplexer for coding agents. Sessions survive restarts, agents tell you when they need you, and one API drives it all.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation


hive

A terminal multiplexer for coding agents.
Run many agents at once, and see the one that needs you.

Install     Docs     Agent setup     Changelog

The hive app: a session split into a shell, a Claude Code pane and a test run, and a badge for the two agents in other sessions that need you.

About

More and more terminal work runs at the same time: coding agents on different tasks, a dev server, tests. Close the window and the work stops. Restart the computer and you set it all up again by hand. And an agent can wait an hour for your answer, in a tab you don't see.

With hive, your sessions keep running when you close the app, and they come back after a restart. You see every agent in one place, and the ones waiting for you come first. Everything you can do in the app, a script or an agent can do through the same API.

  • Keeps your sessions. Close the app, stop the server, or reboot. Layouts, scrollback and working directories come back.
  • Knows your agents. Claude Code reports what it is doing and when it needs you. After a restart, each agent continues its conversation.
  • Has an API for everything. The app, the hive CLI, your scripts and your agents all use one self-describing API.
  • Feels like a normal terminal. It draws terminals with Ghostty's terminal engine. Scrolling and selection are native, with no copy mode.
  • Reaches your other machines. Run hive on a Linux box or another Mac, and its sessions sit next to yours. It connects over Tailscale.
  • Works from your phone. hive for Android shows the same sessions on your phone, and you can answer an agent from a notification.
  • Talks only to your machines. There is no account and no telemetry.

Install

Download from Releases:

File For
hive-VERSION-macos-arm64.tar.gz The server and the CLI, on macOS with Apple Silicon
hive-VERSION-linux-amd64.tar.gz The server and the CLI, on Linux x86_64 with glibc 2.28 or later
Hive-VERSION-macos-arm64.zip Hive.app, for macOS 14 or later
hive-VERSION-android.apk hive for Android 10 or later
SHA256SUMS Checksums of the files

Hive.app isn't signed with an Apple Developer ID yet, so macOS asks you to approve its first launch. Installation shows how, how to check a download, and how to build from source.

Let your agent set it up

Paste this into Claude Code, Codex, or any coding agent:

Fetch and follow the instructions at
https://manueltarouca.github.io/hive/agent-setup/prompt.md
to set me up with hive.

The agent installs hive and its skills, connects Claude Code, and can move your tmux sessions over one window at a time. In Claude Code you can add the skills as a plugin yourself:

claude plugin marketplace add manueltarouca/hive
claude plugin install hive@hive

Then /hive:hive drives hive, /hive:hive-setup sets it up, and /hive:hive-from-tmux moves tmux sessions over. Update them with claude plugin update hive@hive.

Quick start

hive new work --cwd ~/src/app                 # a session; starts the server if needed
hive -s work split --split below -- htop      # a pane under the current one
hive -s work run --label tests --wait -- go test ./...   # exits with the tests' status
hive -b tests capture --tail 5                # the last lines it printed
hive ls                                       # every session

Inside a hive terminal, commands act on that terminal's own session and pane, so you rarely need -s or -b.

Restarts

A stopped server, a crash or a reboot ends the programs, but not the sessions. The next hive command brings back every session with its layout and labels. Each pane gets its screen and scrollback, a ── restored ── line, then a shell in its last directory, or its agent, resumed in that shell. Other programs are not run again.

Agents

hive agent install claude     # add hive's hooks to Claude Code
hive agents                   # every agent, the ones waiting for you first
STATE    HARNESS  SESSION      BLOCK   DIR          SINCE   MESSAGE
blocked  claude   api-gateway  …a29f3  ~/src/api    now     Claude needs your permission to use Bash
working  claude   hive-demo    agent   ~/src/hive   2m ago

hive agent uninstall claude removes the hooks again. After a restart, each agent pane resumes its conversation: claude --resume, codex resume, opencode -s, gemini --resume or grok --resume. More about agents.

Scripting

The CLI wraps a JSON API, on a Unix socket and on your tailnet, and the server describes it:

hive api list                                # every method
hive api describe session.new_split          # its arguments, as JSON Schema
hive events -s work --json                   # a live stream of what happens

Command names, method names and exit codes are stable: they break only in a new major version. See the CLI and the server API.

Other machines and your phone

A hive server on another machine works like the one on your Mac. Start it with a listener on your tailnet, then add it:

hive server start --tailscale --tailscale-hostname box   # on the other machine
hive hosts add box https://box.example.ts.net            # here; your tailnet's name
hive -S box ls                                           # any command, on that machine

Hive.app shows every host's sessions in one list. On Android, add your hosts by scanning the code from Hive → Share Hosts with Phone. Remote hosts and hive on your phone have the details.

How it works

One Go program, hive, is both the server and the CLI. The server owns every terminal: a PTY plus a headless copy of Ghostty's terminal engine (libghostty-vt). It saves layouts and terminal snapshots to disk. The Mac app (Swift, AppKit, Metal) and the Android app mirror each terminal through an ordered byte stream and draw it themselves. ARCHITECTURE.md has the details.

Build from source

You need Go 1.27 and Zig 0.16 exactly (Ghostty's build refuses other versions). The Mac app needs Xcode 27 to build.

brew install go zig@0.16
git clone https://github.com/manueltarouca/hive && cd hive
make vt       # once: builds Ghostty's terminal library
make build    # ./bin/hive
apps/macos/script/bundle.sh && open apps/macos/build/Hive.app

Installation covers Linux and the Android app.

Status

hive is young. The server, the CLI, the Mac app, remote hosts and the Android app work, and Claude Code has the deepest integration. Planned next: scripts and key bindings that run inside hive.

Contributing

See CONTRIBUTING.md. Report security problems privately, as SECURITY.md says.

Thanks

hive stands on Ghostty's terminal engine and Tailscale, and uses JetBrains Mono, Inter and Noto.

License

MIT

About

A terminal multiplexer for coding agents. Sessions survive restarts, agents tell you when they need you, and one API drives it all.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages