Run remote AI coding
agents from anywhere.
Hive is a daemon, CLI, and cross-platform app for running and managing remote AI coding agents and shell sessions over WebSocket - detach and reattach from any client, with scheduling, a notes vault, and optional multi-node clustering with failover.
Hive is launching
A control plane for running AI coding agents across all your machines.
I built Hive because I was running coding agents on a few different machines and kept losing track of which agent was doing what, and where. You start a session on any machine in your cluster, then attach to it, take it over, or just watch it from your laptop, another desktop, or your phone. The agent keeps running on the host even after every client disconnects.
A handful of people are using it daily right now. Everything is self-hosted, so your agents and their output never leave your machines. If the cross-machine workflow matches how you run agents, I would love your feedback.
One control plane for your agents
Start a session on any machine, then reach it from your desktop, your phone, or the CLI - it stays alive when you disconnect.
Remote sessions
Run coding agents like Claude Code, Codex, Copilot, and OpenCode - plus plain shell sessions - over WebSocket, streamed live with full PTY fidelity.
Detach & reattach
Sessions, scrollback, and projects keep running on the node while you disconnect - reattach later from any client, desktop or mobile. Watch a session live from several devices at once; one holds the keyboard while the rest follow read-only, and a tap takes over.
Clustering & failover
Optional leaderless 2-3 node clusters with gossip replication, anti-entropy merge, and automatic failover when a node drops.
Teams
Multi-agent teams with a leader and workers - spawn, broadcast, and collect results across sessions via the hive team CLI and an autopilot skill.
Scheduled tasks
Queue work to run on a cron schedule, with notes, projects, and task tracking built in.
Desktop, mobile, web & CLI
One app for Windows, macOS, Linux, and Android, an installable web client, a powerful CLI, and a daemon that runs anywhere Linux does.
Updates you control
Self-update the daemon, CLI, and app from any HTTP(S) manifest URL you host - this very server, in fact.
Notes vault
A built-in Markdown vault with live preview and an AI agent rooted in your notes - synced across nodes via any S3-compatible bucket, or kept fully local.
Files explorer
Pick any node in the cluster and browse its whole filesystem from the app: preview and edit files, create, rename, copy, delete, upload and download files of any size (streamed straight to disk) - across the cluster and on mobile.
SSH connections
Save SSH connections to remote servers - even ones without Hive - and connect from any node. Each opens a persistent, daemon-spawned terminal session, with passwords and key passphrases encrypted at rest.
Know when an agent needs you
A ? marks any session where the agent is waiting on a permission prompt or question, with a copy-the-prompt notification - so you can walk away from long runs. Works with Claude Code automatically, or any AI CLI.
Two paths to a running Hive
Set up a headless node from the terminal, or grab the app for your machine. Both auto-update from this server afterward.
One-line CLI install
Installs the hive CLI for your architecture, verified against this server's signed manifest.
$ curl -fsSL https://hive.vazac.dev/install.sh | bash
sudo. The script installs hive into /usr/local/bin and will prompt for your password for that step only. As with any curl | bash, read it first: hive.vazac.dev/install.sh- The script detects your OS/arch and verifies the download's SHA-256.
- Run the interactive wizard:
hive install- it sets up and configures thehiveddaemon. - Check it's live:
hive daemon statusand grab a token withhive daemon get-token. - Connect from the desktop app, your phone, or another CLI.
Prefer to do it by hand? Download the CLI above, then chmod +x, move it onto your PATH, and run hive install.
Download the client
Connect to a local or remote daemon, manage sessions, and let the app keep itself updated from this server.
Looking for an older build or the raw files? Browse the release manifest.
Two branches: steady, or the latest
The daemon, CLI, and app each follow a release channel and self-update from this server. Pick stability or bleeding edge - and switch any time.
Semi-stable
Road-tested builds, promoted once they have settled. This is what every install follows out of the box, served from the bare domain at /manifest.json.
Unstable
Every new build lands here first, at /manifest-unstable.json - newest features and fixes, with less soak time. Promoted to semi-stable once proven.
Switch channels
All three components share one accumulating set of builds - only the pinned version differs per channel.
# follow the bleeding-edge channel
$ hive update --channel unstable
# back to the default
$ hive update --channel semi-stable
- Per node: set
channel = "unstable"under[update]in the daemon config to pin its auto-updates. - In the app: choose a channel from Settings (or the cluster config editor) - it rides your cluster preferences across nodes.