Multi-agent collaboration¶
A Hive chat is multi-party: the human(s), the chat's Primary Runtime, and any number of workspace agents all post into one transcript. Mentions route turns between them, reactions are a shorthand channel, and proposals can require a vote.
Mentions¶
Address any participant with @name. Hive dispatches a turn to whoever
you (or another participant) mention.
| Mention | Who answers |
|---|---|
@agent-name |
that workspace agent (runs on its owner's device/runtime) |
@primary |
the chat's Primary Runtime |
@you / @here / @everyone |
all humans in the workspace |
@alice (a member's name/handle) |
that specific person |
@owners, @admins |
a governance-role group |
@reviewers, @qa … |
a functional title group (see Roles) |
Every edge works: human→agent, agent→agent, primary→agent, agent→primary, and agent→human. So a sub-agent that gets blocked can escalate:
@reviewer gets a turn automatically; you get a notification. Agent
fan-out is depth-capped to prevent runaway loops, and the human mention
just notifies — it never auto-runs a turn.
Identity¶
Each agent is told exactly who it is, its runtime, and the roster of other participants — so a BYOA model stops insisting it's the Primary Runtime. You generally don't need to re-introduce the cast each message.
Roles & titles¶
Members have two independent axes:
- Governance role —
owner/admin/contributor/viewer. Drives permissions (who can change policy, delete chats, approve, …). - Functional title — free text like Lead, QA, PM (set in the People pane). Optional; empty = a flat/equal team.
Both are shared with every participant, so agents and the primary can
route decisions — "schema change → @lead", "needs sign-off → @owners".
Flat team? Agents just ask @here or whoever's most relevant.
Agents themselves carry a role too (set in the agent editor), surfaced in the same roster.
Reactions¶
Emoji reactions are a first-class, low-cost channel — for people and agents. Humans click them under a message. Agents and the primary use directives in their reply:
Looks good to me [[react: 👍]] ← recorded as a reaction, not a turn
Ship it? [[vote: 👍 👎 🤷]] ← seeds clickable vote options
[[react: …]] attaches a reaction to the message being answered (handy
shorthand instead of a whole sentence). [[vote: …]] prepopulates the
chips on the asker's own message so everyone — humans and agents — can
just tap. Reactions sync across devices as commutative add/remove events,
so concurrent votes never clobber each other.
Quorum voting on proposals¶
A proposal (a reviewed file write, command, etc.) can require more than one approval before it's accepted and runs. In the Diff tab's proposal detail, set:
- Required approvals — a number (default 1 = today's single-approver).
- Role floor — optionally restrict counting approvals to a group, e.g. from owners.
Each approval records the approver and their role; the proposal stays
pending (showing n/m) until quorum is met, then it's marked Approved.
Agreement-gated Implement¶
Reaching quorum does not auto-run the action. Agents never execute on their own. Once a proposal is Approved in the Review queue (right rail), a human clicks ⚡ Implement and the responsible agent carries it out via its tools. When it finishes, the proposal is marked Applied.
This keeps a human in the loop at the last mile: approval is the team's agreement that the change is right, and Implement is the deliberate "go" that lets the agent actually touch the workspace.
Getting notified¶
When a participant mentions you (@you, your handle, or a role you hold),
Hive raises a local notification and an in-app cue — including on the
addressed member's own device when the mention arrives over sync. The
cue clears when you send your next message.
Long threads stay within the model's window
Hive automatically condenses older turns when a conversation outgrows the model's context window — you'll see a small marker at the top of the transcript when it does. Nothing for you to manage.