Free & open source Linux & macOS · MIT

Bring your own agents. Draw your own workspace.

Coding-agent CLIs, next to the terminals, editors and diffs they work on. Adding your own is a file, not a fork.

bash <(curl -fsSL https://hivemind.griiken.com/install.sh)
  • No account
  • No cloud
  • Your keys, your machine
Queue — sorted by who needs youCanvas — frames you drag and arrangeTiled — every session at onceBoard — doing, review, done
Agents across five frames — nothing lands until you answerWatch the walkthrough →

Recorded in the app: three agents in two repositories, drawn by three different views.

See the catalog

How it works

From a repository you already have to an agent working in it, in three commands.

  1. 1

    Initialise the repository

    One directory, .hivemind/, holds the workspace and its issues as Markdown beside your code. Nothing else on your machine changes.

    $ hive init --prefix API
  2. 2

    Start an agent in a frame

    A frame is one repository, worktree or SSH host. The agent gets a real terminal inside it, with the CLI and the keys you already installed.

    $ hive ctl spawn --agent claude --frame api
  3. 3

    Read it, and answer it

    Its screen comes back as text you can pipe. The same verb sends the next instruction — to you, or from one agent to another.

    $ hive ctl read tile-scout --json

Nothing we ship is privileged

Every agent in the box is a manifest, and every one of them passes exactly the checks yours does. There is no tier you cannot reach and no fork to maintain.

An agent is a file

It names the command to run and how to read that command's screen. Write it, check it the way a stranger's machine will, and install it from a folder or straight from a repository.

$ hive agents validate ./my-agent
$ hive agents install ./my-agent
$ hive agents install owner/repo

Read how to write an agent manifest →

Before it installs, Hivemind says what it will do in plain words — the command it runs, any directory it reads, whether it can talk to your other agents. An agent added automatically, with nobody reading it, may do none of those.

my-agent/agent.yaml
id: my-agent
label: My Agent
bin: my-agent

caps:
  promptDelivery: typed
  turnSignal: false
  resume: none
  supervise: human
  blockedDetection: true

detect:
  default: idle
  rules:
    - when: { contains: "esc to interrupt" }
      then: working
    - when: { contains: "[y/n]" }
      then: blocked

The workspace is a plugin too

Canvas and Windows ship; the rest are plugins, and so is the one you write. Your terminals, editor buffers and browser tabs survive the switch — tile bodies are mounted once and lent to whichever view is on screen.

The Canvas view: An infinite board. Frames are zones you drag, zoom and arrange.
An infinite board. Frames are zones you drag, zoom and arrange.
The Tiled view: One pane per agent, tabbed by frame — for people who live in a terminal.
One pane per agent, tabbed by frame — for people who live in a terminal.
The Queue view: Ordered by who needs you, with that agent's live terminal docked beside the list.
Ordered by who needs you, with that agent's live terminal docked beside the list.
The Board view: Doing, needs you, review, done — a session moves across when you say so.
Doing, needs you, review, done — a session moves across when you say so.

A view is a folder with a manifest and one page. The host hands it the frames, the tiles and their status; it draws the workspace however it likes, sandboxed, and asks for a live terminal when it wants one.

$ hive views install ./my-view/dist
$ hive agents install ./my-agent
{
  "id": "my-view",
  "name": "My view",
  "entry": "index.html",
  "permissions": [],
  "author": "you",
  "license": "MIT"
}

Views are a sandboxed plugin API — write your own →

What else is in the box

Worktrees as frames

Every agent on its own branch, physically unable to collide with a sibling's work.

Issues as Markdown

They live in your repository. No tracker, no account — greppable, and reviewable in a diff.

Remote hosts over SSH

PTYs on the host, editor over SFTP, in the same canvas as everything local.

Driven from the shell

Every verb takes --json and returns a real exit status, so any script can drive it.

Questions people actually ask

Does my code go anywhere?
No. Hivemind runs on your machine and shells out to agent CLIs you installed yourself, with your own keys. There is no Hivemind account and no server of ours in the path.
Which agents work with it?
Five ship in the box — claude, codex, droid, kiro, pi — and 16 more are a click away in the catalog. The list is not the point: an agent is a manifest naming the command it runs and how to read its status. Yours is a file you write, not a fork of ours — and Hivemind adds one from the catalog the moment its CLI turns up on your machine.
Do I have to learn a new tool?
The CLIs are the ones you already use. Hivemind arranges them, keeps their sessions alive, and gives them one command to talk to each other.
How finished is it?
The canvas is released behaviour. Views-as-plugins and the plugin catalog are development previews — the docs mark which is which.

Start with one repo.

One binary. Linux x86_64 and macOS Apple Silicon, MIT licensed.