CLI reference
hive has two vocabularies: issue verbs (file operations, work without the app) and
hive ctl (drives the running app over a local socket). Agents use the same CLI from
Bash; there is no MCP server. Conventions:
--jsonprints one line of machine-readable output; errors are{"ok":false,"code":"…","message":"…"}.- Issue ids accept
MYP-1or@MYP-1;hive @MYP-1ishive show. Ids from registered repos resolve automatically.
In the syntax below, brackets mark optional arguments and angle brackets mark values you supply. See Getting started for runnable examples.
Exit codes
Section titled “Exit codes”| Exit | Meaning |
|---|---|
| 0 | ok |
| 2 | usage — the error lists valid values |
| 3 | app not running (canvas verbs) |
| 4 | timeout (hive ctl read) |
| 5 | not found |
| 6 | unauthorized |
| 7 | refused/unsupported — the runtime cannot do this |
| 1 | other |
Issues
Section titled “Issues”hive init --prefix MYP [--no-agentic] # create tracker (+ agentic stack by default)hive init # refresh the agentic stackhive add skill # refresh the skills only
hive new "Title" [--label l …] [--parent ID] [--state backlog] [--github N] [--assignee claude --assignee-type agent] [--assignee-model m] [--description d] [--ac "criterion one || criterion two"]hive list [--state todo] [--assignee id] [--label l] [--parent none|ID]hive show MYP-1hive update MYP-1 [--state s] [--title t] [--assignee id|none] [--add-label l] [--rm-label l] [--github N|none] [--note "…"]hive close MYP-1 [--reason "…"] # --reason → cancelled, else donehive reopen MYP-1 [--state todo]
hive task MYP-3 add "Subtask" [--assignee id] # sub-issues: MYP-3.1, …hive task MYP-3 done 2 # tail number or full idhive task MYP-3 listStates: backlog · todo · in_progress · in_review · done · cancelled.
Structure and registries
Section titled “Structure and registries”hive link MYP-4 --parent MYP-1 # re-parent, or --parent nonehive relate MYP-4 OPS-7 [--type blocks] [--remove] # relates | blocks | blocked-by | duplicates | # parent-of | child-of | moved-to | moved-fromhive move MYP-4 OPS [--copy] # move refuses issues with sub-issueshive workspace listhive workspace registerhive agent detect # detect agent CLIshive agent context # regenerate .agent.mdhive resolve "text" # expand @ID mentions to markdown linkshive ctl — canvas
Section titled “hive ctl — canvas”hive ctl list [--frame f] # tiles grouped by frame, with statushive ctl frames # frames: id, title, repo, branch, tileshive ctl spawn [--agent claude] [--prompt "…"] [--name "title"] [--frame id|repo|title] [--mode plan] [--model sonnet] [--no-report] [--supervise all|Bash,Edit] # → {"tileId":…}; workers auto-report by defaulthive ctl send <tileId> "text"hive ctl keys <tileId> Down,Enter # Esc, Tab, digits, …hive ctl read <tileId> [--timeout 90000] [--poll] # default wait 100 s; --poll: no waithive ctl stream <tileId> [--lines 40] [--since <offset>] [--timeout ms] [--snapshot] [--json] # NDJSON tail with byte offsetshive ctl focus <tileId>hive ctl close <tileId>hive ctl connect <src> <dst>hive ctl disconnect <src> [<dst>]hive ctl — workflows, supervision, review
Section titled “hive ctl — workflows, supervision, review”hive ctl workflow --shape fanout|pipeline|mapreduce [--items "a || b"] [--prompt "Review {item}"] [--stages "draft || critique || rewrite"] [--input "seed"] [--reduce-prompt "Merge {results}"] [--agent claude] [--model m] [--frame f] [--supervise all] [--max-concurrent 6] [--timeout 600000] [--close] # per-worker timeout; blocks until all replieshive ctl approve <reqId> allow|deny|always|never [--reason "…"]hive ctl report "summary" # to the tile that spawned you ($HIVEMIND_TILE)hive ctl open-review --file plan.md [--cwd dir] [--timeout ms] # default ceiling 24 hhive ctl — issue verbs
Section titled “hive ctl — issue verbs”hive ctl set-state MYP-1 in_progress [--note "…"]hive ctl add-comment MYP-1 "root cause found in …"hive ctl mark-acceptance MYP-1 0 [--undone] # 0-based index from hive show --jsonhive ctl delete-issue MYP-1 # irreversiblehive ctl list-workspacesViews, agents, config, theme, upgrade
Section titled “Views, agents, config, theme, upgrade”Views, agent files and the settings file are on the unreleased development line — expect change.
hive views list # installed view plugins + load errorshive views install <dir> # dir with hivemind-view.json; asks the app to rescanhive views remove <id>
hive agents list # every agent, its source, on/off, and why any failedhive agents list --found # only agents whose CLI is on this machinehive agents install <dir> # dir with agent.yaml; checked before it is copiedhive agents remove <id> # agents you installed; switch built-ins off instead
hive config pathhive config get [dotted.path]hive config set <path> '<json>'hive theme listhive theme use nordhive theme export f.jsonhive theme import f.jsonhive upgrade [--dev]hive config set takes a JSON value ('"nord"' for strings) and asks a running app to
reload; themes cover ubuntu, dracula, nord, solarized-dark, one-dark.
hive agents install and remove ask a running app to rescan, so the change shows up
without a restart. hive ctl spawn --agent and hive ctl workflow accept agents added
this way, and refuse any agent switched off in Settings. See
Add your own agent for the file format.
Optional tools
Section titled “Optional tools”Browser is an optional bundled tool. Switch it on in Settings > Tools, or set
the enabled plugin list through the CLI. These commands replace the complete list;
read hive config get tools.enabledPlugins first if you have other plugins enabled.
hive config set tools.enabledPlugins '["hivemind/web"]'hive ctl open-tool hivemind/web/browser --url https://example.com --jsonhive config set tools.enabledPlugins '[]'open-tool accepts --frame <frame-id>. Browser URLs must use HTTP/HTTPS or
about:blank. A disabled Browser returns UNAUTHORIZED; disabling does not close
existing browser panels. Fresh profiles start with Browser disabled, while older
version-1 settings preserve its availability during migration.