https://github.com/lucascaro/hive
A terminal TUI for managing multiple AI coding agent sessions across projects — Claude, Codex, Gemini, GitHub Copilot, Aider, OpenCode, and more.
https://github.com/lucascaro/hive
ai claude codex copilot multiplexer productivity terminal
Last synced: about 1 month ago
JSON representation
A terminal TUI for managing multiple AI coding agent sessions across projects — Claude, Codex, Gemini, GitHub Copilot, Aider, OpenCode, and more.
- Host: GitHub
- URL: https://github.com/lucascaro/hive
- Owner: lucascaro
- License: mit
- Created: 2026-04-01T22:57:37.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-05-01T08:26:55.000Z (about 2 months ago)
- Last Synced: 2026-05-01T10:28:58.499Z (about 2 months ago)
- Topics: ai, claude, codex, copilot, multiplexer, productivity, terminal
- Language: Go
- Size: 4.98 MB
- Stars: 5
- Watchers: 0
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Hive
A native desktop app for managing multiple AI coding agent sessions —
Claude, Codex, Gemini, Copilot, Aider, plain shells — across projects.
> **`main` is now Hive v2 — the native daemon + GUI rewrite.** The legacy
> tmux-backed TUI (Hive v1, `v0.14.x`) lives on the
> [`release/v1`](https://github.com/lucascaro/hive/tree/release/v1) branch
> for bug fixes. See `docs/native-rewrite/` for v2 design docs (PLAN.md
> plus per-phase notes).
## Status
**Alpha.** The v2 architecture is feature-complete for daily use; the
download is pre-release. Latest release:
[v2.0.0-alpha.1](https://github.com/lucascaro/hive/releases/tag/v2.0.0-alpha.1).
What works:
- Multi-session daemon (`hived`) — sessions persist across GUI restart
- Wails-based desktop GUI with xterm.js — full keyboard control,
font scaling, dark theme
- Projects (name, color, working dir) — sidebar tree
- Agent launcher (Claude, Codex, Gemini, Copilot, Aider, shell)
- Grid view: per-project (⌘G) or all-sessions (⇧⌘G), spatial arrow nav
- Multi-window (⇧⌘N) — independent windows share the same daemon
- BEL → desktop notification + visual pulse on non-focused sessions
Not yet shipping: scrollback resume across daemon restart, splits
inside grid cells, workflows / agent teams, code signing.
## Build
Requires Go 1.22+, Node 18+, and the Wails CLI:
```sh
go install github.com/wailsapp/wails/v2/cmd/wails@latest
```
Then from the repo root:
```sh
./build.sh # macOS .app at cmd/hivegui/build/bin/hivegui.app
./build.sh --open # build then launch
./build.sh --zip --version v2.0.0-alpha.2 # also write release/.zip
```
For Windows or Linux, build the GUI and the daemon separately:
```sh
# Windows (cross-build from macOS works)
( cd cmd/hivegui && wails build -platform windows/amd64 )
GOOS=windows GOARCH=amd64 go build -o cmd/hivegui/build/bin/hived.exe ./cmd/hived
# Linux (build natively)
( cd cmd/hivegui && wails build -platform linux/amd64 )
GOOS=linux GOARCH=amd64 go build -o cmd/hivegui/build/bin/hived ./cmd/hived
```
`hivegui` and `hived` must live in the same directory; the GUI
auto-spawns the daemon at startup.
## Updating
Tagged release builds check GitHub for newer releases automatically:
once on launch and every six hours. When a newer tag is found, the
GUI shows an "Update available" banner with a one-click link to the
release page. The check is also reachable manually from
**File → Check for Updates…**.
The check is a single anonymous `GET` to
`api.github.com/repos/lucascaro/hive/releases/latest` (no
identifying data beyond a `User-Agent: hivegui/` header).
Untagged dev builds — anything built without `./build.sh --version
` — skip the check entirely and never call out.
## Layout
```
cmd/
hived/ # session daemon
hivegui/ # Wails GUI client
internal/
wire/ # protocol v1 (frame format + JSON control messages)
session/ # one PTY + scrollback
registry/ # sessions + projects + persistence
daemon/ # socket listener + dispatch
agent/ # built-in agent launcher catalog
docs/
native-rewrite/ # v2 design docs (PLAN.md, phase-{0..5}.md)
spikes/ # phase-0 reference code (kept for posterity)
build.sh # macOS universal build
```
## Keybinds
| Key | Action |
|---|---|
| ⌘N | New session (agent launcher) |
| ⇧⌘N | New window |
| ⌘W | Kill active session |
| ⇧⌘W | Close this window |
| ⇧⌘P | New project |
| ⌘G / ⇧⌘G | Per-project grid / all-sessions grid |
| ⌘Enter | Toggle grid / single |
| ⌘arrows | Spatial nav (grid) / session nav (single) |
| ⌘[ / ⌘] | Previous / next project |
| ⌘1–9 | Jump to nth session |
| ⌘= / ⌘- / ⌘0 | Font size up / down / reset |
| ⌘S | Toggle sidebar |
## Contributing
See `AGENTS.md` for repo-wide rules and `CONTRIBUTING.md` for the
contribution flow. The native rewrite has its own design docs under
`docs/native-rewrite/`.
## License
MIT — see `LICENSE`.