Droid
Factory's Droid, with approvals, status and session resume wired into Hivemind.
hive agents install droid Run it in a terminal, or find it in Hivemind under Settings ▸ Plugins.
Droid
Runs droid, the Droid command-line agent, in a Hivemind terminal tile.
Before you add it
Hivemind installs no code for it: it runs the droid command you install yourself. Get it from its install page, or run curl -fsSL https://app.factory.ai/cli | sh.
What it can do in Hivemind
- Says when a turn ends, so another agent can hand it work and read its reply (
hive ctl read, workflows). - Picks up the newest session for its folder after a restart.
- Its permission prompts stay with you, even when another agent started it.
What it asks for
Hivemind shows this before it adds the agent.
- Links your {home}/.factory into a private copy it points droid at
- Reads {home}/.factory/sessions to find a session to resume
- Reports its status and approval prompts to Hivemind through its own hooks, which can also read and type into your other tiles
Launch options
Set them on its page in Settings ▸ Plugins, or with hive plugins set agent:droid <option> <value>.
| Option | How it is passed |
|---|---|
| Autonomy | --auto <value> |
Listed from agent.yaml in this folder; fix it by pull request.
On the canvas
- Resumes a session: yes
- Reports when a turn ends: yes
- Can be supervised by another agent: no
This adds Droid to Hivemind. Install droid itself too, if you don't have it.
Files
From dip497/hivemind-plugins at c417100. Hivemind checks each file's checksum as it downloads, and stops if one changed.
agent.yaml18b3553fe7e0hive-notify.cjs9cc07e21e330hive-turn-end.cjscbe6c72bb1a0README.md5ea2def402d9
agent.yaml
# Droid — built-in provider manifest.
# Authoring format for the def half. See packages/hive-agents/src/manifest.ts.
manifestVersion: 2
# Written for the agent host that shipped in this release.
minAppVersion: '2026.9.6'
id: droid
label: Droid
bin: droid
enabled: true
caps:
promptDelivery: typed
turnSignal: true
resume: cwd
supervise: human
blockedDetection: true
icon:
viewBox: 0 0 24 24
attrs:
fill: none
stroke: currentColor
strokeWidth: '1.2'
shapes:
- ellipse:
cx: '12'
cy: '12'
rx: '10'
ry: '2.6'
- ellipse:
cx: '12'
cy: '12'
rx: '10'
ry: '2.6'
transform: rotate(45 12 12)
- ellipse:
cx: '12'
cy: '12'
rx: '10'
ry: '2.6'
transform: rotate(90 12 12)
- ellipse:
cx: '12'
cy: '12'
rx: '10'
ry: '2.6'
transform: rotate(135 12 12)
# A message typed while it works steers that turn: droid 0.161.0 says "Enter to steer" while it
# works, and lists it under "Steering messages".
steer: true
# An image whose path is pasted alone is attached: droid 0.161.0 lists it as "[Image 1] <name>".
pastedImages: true
options:
- id: mode
label: Autonomy
flag: --auto
unattended: high
install:
url: https://docs.factory.ai/cli/getting-started/quickstart
command: "curl -fsSL https://app.factory.ai/cli | sh"
detect:
rules:
- when:
all:
- containsCS: EXECUTE
- any:
- contains: enter to select
- contains: ↑↓ to navigate
- contains: esc to cancel
- contains: '> yes, allow'
- contains: '> no, cancel'
then: blocked
- when:
all:
- any:
- contains: enter to select
- contains: ↑↓ to navigate
- contains: esc to cancel
- any:
- contains: '> yes, allow'
- contains: '> no, cancel'
then: blocked
- when:
contains: esc to stop
then: working
default: idle
session:
resume:
args:
- --resume
- '{id}'
find:
strategy: jsonl-header
root: '{home}/.factory/sessions'
cwdPath: cwd
idPath: id
require:
type: session_start
home:
root: droid-home
dir: .factory
mirror: '{home}/.factory'
env: FACTORY_HOME_OVERRIDE
own:
- name: settings.local.json
merge: true
set:
disableAutoUpdate: true
hooks:
file: hooks.json
template: '{events}'
events:
SessionStart:
emit: session.started
timeout: 10
SessionEnd:
emit: session.ended
timeout: 10
UserPromptSubmit:
emit: turn.started
timeout: 10
Stop:
hook: turnEnd
timeout: 10
Notification:
hook: notify
timeout: 10
PostToolUse:
emit: input.resolved
timeout: 10
assets:
- name: hive-turn-end.cjs
file: hive-turn-end.cjs
hook: turnEnd
produces: [turn.ended]
- name: hive-notify.cjs
file: hive-notify.cjs
hook: notify
produces: [input.requested]
launch:
hcp: true
Hivemind shows you this list and asks before it installs.
- links your {home}/.factory into a private copy it points droid at
- reads {home}/.factory/sessions to find a session to resume
- reports its status and approval prompts to Hivemind through its own hooks, which can also read and type into your other tiles
| Version | Commit | Listed |
|---|---|---|
| 1.0.0 | c417100 | October 20, 2026 |
Needs Hivemind 2026.9.6 or newer.
HiveHub keeps the version listed last. The ones before it are in the repository's history.
Something wrong with it? Report it.