Releases: cmgmyr/hive
Releases · cmgmyr/hive
Release list
1.7.0
- hive now kills, types into, or reads the screen of a pane only when the row owns it. 1.6.0 changed what hive reports about a row's pane; this release changes what it does. Closing, parking, sending, renaming,
hive stop, wake delivery,hive lead's adopt andscripts/restart-lead.shact only on a pane whose process matches the one hive recorded. After a tmux restart a pane id can name another process, and hive no longer touches it. When ownership cannot be checked, hive refuses or holds and says why. pad_readtakes optionaloffsetandlimitarguments, so you can read a large pad in chunks. A ranged read returnstotal_length, the effectiveoffsetandnext_offset. A read without them returns the whole pad as before.- A held idle wake (
wake_when_idlewithagents) now follows the same 15 minute ceiling as other wakes. Before, it waited as long as you kept typing in the target pane. - Arming a one-shot idle wake for the same watched workers, mode and target cancels your older pending one, so only one delivers. The receipt lists the cancelled ids in
superseded. - A rebuild that produces identical output no longer sends every session a "the build on disk changed" restart notice.
build_idis now a hash of the version and the built files. hive lead's cleanup of commands left running by a previous lead no longer stops ahive startyou run while the lead is starting.- Opening the dashboard waits up to 10 seconds for
open, up from 5, so a slow machine no longer reports a failed open. - The
hive:cleanupskill reports drift in your active profile when you wrap up, without changing anything. The/hive:profileskill asks once, after a profile edit, before telling running leads about it. - New page: What hive can do on your machine, a code-cited list of what hive sends over the network, runs and writes, for security reviewers. SECURITY.md now also says that
hive upgradedownloads and installs the new version, and thatHIVE_NO_UPDATE_CHECK=1stops only the version query. - After upgrading, restart every hive session. A session on an older build keeps the old behaviour, and any running hive server can deliver any project's wakes.
1.6.0
- hive now tells a row that owns a live tmux pane apart from a pane id that merely exists. After a tmux restart a pane id can come back attached to a different process. A row counts as live only when the pane's process matches the one hive recorded for it.
hive statusprintsrunningfor a lead only when its pane is live. It printsno live panewhen the pane is gone or its id now belongs to another process. It printspane identity unknownwhen hive cannot check, for example a row with no recorded pane pid. Before this releasehive statusprintedrunningfor every lead row.hive portfolio,hive doctor,agent_list,agent_statusandagent_outputreport the same way.aliveisnullwhen ownership cannot be verified, and none of them reads the screen of a pane the row does not own. Doctor's warnings name a remedy that works for each case.
agent_closetakesrow_only: true. It marks a row closed whose pane is gone, reused or unverifiable, with no kill, stop or typing. Only a human or a peer lead can pass it. It refuses a row that owns a live pane, and it refuses with a retry message when tmux does not answer.hive project rmandproject_pruneno longer refuse because of a running row whose pane is provably gone or reused. A row whose ownership is unknown still blocks removal, and the message namesagent_closewithrow_only: truefor it.- A Codex worker's hook events are accepted only from the worker's own generated Codex home. A Codex run that a worker starts inside its session no longer writes its state or session id into the worker's row, so it can no longer make a busy worker look idle. A closed Codex worker's row ignores hook events.
hive profile listandhive doctorshow each profile file's rendered size, the byteshive profile readprints for the project. Above 25600 bytes they add an advisory: a harness may save long tool output to a file and show only a short preview, so split the file or read it in sections. The advisory never changes doctor's exit status, including under--strict.- The
/hive:profileskill reads a large profile file in sections from a saved copy, so it never edits text it has only seen a preview of. - The custom status line example in the install guide now pipes Claude Code's statusline JSON into
hive statusline, so a lead's status line showsturns N. It reads stdin only when your script has not already. - After upgrading, a lead row created before hive recorded pane pids, and never restarted since, shows
pane identity unknowninstead ofrunning, even while that lead is live. Restart it withhive leadand hive records its pid. Until then the queen may not count it as a running lead. - Closing, typing into and delivering wakes to a row still use the earlier liveness check. A later release moves them to the new one.
- After upgrading, restart every hive session. A session still on an older build keeps the old behaviour, and any running hive server can deliver any project's wakes.
1.5.0
hive project rm <id|path> [--yes]removes a project and everything it owns: its agents, todos, pads, wakes and the rest. It prints what it will remove, asks[y/N]unless you pass--yes, and takes a snapshot of the store first. It refuses your own project, a project with a running agent, and any run underHIVE_PROJECT_LOCK=1. A path must match a registered project's path exactly.project_prunetakesconfirm_name. Withproject_idand that project's exact name, it removes a project that still owns rows, under the same guards, and reports per-table counts and the snapshot path. Without it,project_prunebehaves as before.- The queen can run
project_pruneandhive project rm, so it can clean up stray projects across your machine. Each project it removes is recorded inhive queen-audit. - The idle-wake trailer and the unsubmitted-text hold now work for Codex workers. Codex 0.159 draws a two-row footer, and hive could not find the input box above it, so a wake could be typed over a Codex worker's half-written prompt. That includes the footer Codex shows while you type, which drops its shortcuts row.
- After upgrading, restart every hive session. Any running hive server can deliver any project's wakes, so a session still on an older build can still type a wake over a Codex draft.
1.4.0
hive queenstarts the queen: one lead per data dir that reads every registered project and tells you which one needs you. It writes into another project only by handing things to that project's lead: todos, comments, and text or wakes addressed to the running lead. Anything else there is refused withQUEEN_CROSS_PROJECT_WRITE_REFUSED. The first run creates<data dir>/queenwith ahive.ymlthat selects a new shippedqueenprofile, a skeleton you fork and fill in. The new queen guide,docs/queen.md, covers all of it.hive portfolio [--json]prints one block per registered project, sorted into four lanes: waiting on you, stuck, moving and quiet. Tag a todoneeds-humanto put its project in front of you. A project with live work stays moving, and a held wake is never overdue.hive nextattaches you to the lead of the project that needs you most, starting or adopting that lead first.hive next --printnames the choice and starts nothing.hive lead <path> --detachstarts or adopts a project's lead without attaching your terminal, and prints its pane and an attach command. From a script it stops at ahive.ymlcommand you have not approved yet.- The queen has its own dashboard at
<data dir>/queen/dashboard.html: the queen's picks, one section per lane, a grid of every project, each lead's turn state, and the queen's recent actions. wake_when_idletakeslead_project_id, for the queen only, and wakes it when another project's lead ends a turn. The watch ends with a named reason if that lead goes away, restarts, or its pane is reissued.- Every queen write into another project is recorded.
hive queen-auditand thequeen_audit_listtool list them, newest first, for 30 days. - A lead's first message is now set with
first_messagein the global or a projecthive.yml, and hive ships no default text. Before this release a lead opened with a built-in morning-triage message. After upgrading it waits for you until you setfirst_message.hive leadpasses the message on the command line, because Claude Code 2.1.285 drops the message the session-start hook used to send. - The trailer under an idle wake now shows the worker's last output rows and one line about its input box (empty, a model suggestion, or unsubmitted text), in place of box borders, the status line and the mode line. A screen hive cannot classify, such as a dialog, still arrives as the raw tail.
- Two wakes delivered to the same pane by two hive servers at the same moment no longer arrive as one merged message.
- The read-only CLI commands (
hive pads,hive pad,hive todos,hive todo,hive runbook,hive posture,hive profile read) no longer register the current directory as a project. Outside a registered project they exit 1 and namehive init.project_prunetakes aproject_idto remove one empty project. - hive's read commands no longer fail at startup when the process cannot write to the store, which is the case for a
read_onlyworker. One case remains: when no other hive process has the store open, the read still fails. - Piping a hive command into
headno longer prints an EPIPE stack trace. - Help and tool text now say a lease guards shared state, not any file edit.
- Dependencies: MCP SDK 1.30.1 and smol-toml 1.9.0, with patched
ip-addressandfast-uri. - After upgrading, restart every hive session. A session still running the old build keeps rewriting the dashboards with its old text.
1.3.0
- Set hive defaults once in
~/.hive/hive.yml. Any key you put there applies to every project, and a project's ownhive.ymloverrides it key by key.hive doctorshows where each setting came from (global or project).hive lead,hive setupandhive doctorfold an existing~/.hive/config.jsoninto the new file and keep a copy of the original. - A new
/hive:profileskill in the Claude Code plugin interviews you about how you work with agents, then creates a hive profile or edits one you already have. It recommends the simple or orchestration profile from your answers, can draw your flows as a Mermaid diagram, and offers recipes for common problems such as two test runs sharing one database. agent_spawntakesread_only: true. The worker cannot write files or run mutating shell commands, but it can still use hive's tools, so it can write a plan to a pad. It suits planning or review workers. Only an effort flag may be passed alongside it, andagent_resumekeeps the mode.agent_resumerestores the model and extra arguments a worker was spawned with, instead of starting it on the defaults.- A codex worker's hive MCP server now receives the worker's hive identity and data directory. Before this, a codex worker in a directory outside its project could register a new project, or write to the default store when you ran hive with a different one.
- Nested codex runs inside a hive codex worker, such as
codex exec, can call hive's tools. Every codex home hive generates now pre-approves hive's own MCP tools, so the call no longer fails with "approval policy is never". - Every hive tool declares MCP tool annotations (read-only, destructive, idempotent, open-world), so clients can see what a tool does before calling it.
- A migration that fails for a reason other than a busy store now names the failing migration and the SQL error. It no longer tells you to look for a stuck hive process.
- An idle wake that was ready when its worker went idle, but was held past its max wait (for example while your pane showed a dialog), is no longer labelled "max wait reached".
review_tagsis retired. Ahive.ymlthat still sets it gets a warning asking you to remove it, and nothing else changes.
1.2.2
- The build-changed notice now reaches Claude Code. Claude Code shows the model only the structured part of a tool result for tools that declare an output schema, so the notice that 1.2.0 added as extra text was hidden, and the lead wake was the only place it appeared. The notice now also rides in the result as an optional
hive_noticestring. The same fix applies to the notice hive gives when it registers a new project for your working directory. - hive describes itself the same way everywhere: the README, the npm package,
hive --helpand the MCP help now say "Run a crew of Claude Code and Codex workers from one lead session". CONTRIBUTING.md now says which harnesses hive supports and why.
1.2.1
- A running hive session now picks up a repaired build stamp. If the stamp file on disk was unreadable and you fixed its permissions, the build-changed notice used to keep reporting it as unreadable until you restarted the session. It now reads the stamp again.
1.2.0
hive upgradeupdates hive in one command. On a global npm install it installs the latest@cmgmyr/hive, re-pins thehivecommand using the new install's own setup, and prints the exact fix for any Claude Code or Codex MCP registration that still points at the old install. It never edits those tools' config files. In a git checkout it prints the pull, install, build and setup steps, and runs them only withhive upgrade --run.hive upgrade --checkpreviews without changing your install.hive --version --checkasks npm for the latest published version and tells you whether you are current.hive --versionandhive doctorthen show an update line when a newer version exists.hive doctorrefreshes that answer itself at most once a day, and only in an interactive terminal. This is the one network request hive makes, always through your ownnpm, never from the MCP server, hooks or scheduler. SetHIVE_NO_UPDATE_CHECK=1to turn it off.- A running hive session now notices when the hive build on disk has changed since it started, after a rebuild or an upgrade. The next hive tool result says which build it loaded and which is on disk, and a lead also gets one wake with the same sentence. Restart that session, or reconnect hive in
/mcp, to pick up the new build. Sessions started before 1.2.0 cannot notice anything, so restart every hive session once after upgrading to 1.2.0. hive initwrites commentedagents:anddashboard:examples, andhive.example.ymland the docs now list every top-levelhive.ymlkey.
1.1.0
hive doctorwarns when your shared store's schema is ahead of this build, which means a newer hive has already migrated it.hive statuslineshowsstore ahead (update hive)in the same case. Upgrade that install before you rely on it. The warning does not changehive doctor --strict's exit code.hive statuslinecan show a lead how many turns its session has taken. Pipe Claude Code's statusline JSON to it, for exampleprintf '%s' "$input" | hive statusline, and a lead's line gainsturns N. Setlead_turn_budget: {warn: 300, stop: 600}inhive.ymlto colour it amber and red at your own thresholds. Workers never show it.agent_listpages its closed-agent listing: newest first, 20 by default and at most 100, with abefore_idcursor for the next page. A long-lived project no longer returns hundreds of closed workers in one call.- The README demo shows the whole loop: finished workers stay on screen as idle, and the lead asks what to work on next.
- Every Mermaid diagram in the docs renders, and CI now checks that they do.
1.0.0
The first public release of hive, a local MCP server and CLI for shared memory and visible worker sessions.
- Run Claude Code and Codex workers together on one project.
- Nothing leaves your machine: no daemon, no network, one SQLite file.
Install it globally with npm install -g @cmgmyr/hive.