piloop --help for the list of commands, and piloop <command> --help for the options of one command.
Many commands take a REF: a project name, or a path inside the project’s repo. When a command makes the REF
optional and you leave it out, it uses the project of the current directory, else the only active project, else
every project.
Commands that write sign their writes with PILOOP_ACTOR (human by default). See
Environment variables.
Set up
piloop init
PATH (default .) a piloop project and registers it. It is safe to run again.
- Runs
git initand makes a baseline commit when necessary. - When there is no
piloop.toml, writespiloop.toml,brief.mdandevaluate.pyfrom the template. It keeps files that exist already. Whileevaluate.pyis the unchanged stub, it stops and says what to edit. - Measures
HEADas the baseline candidate and registers the project. When the project is registered already, it readspiloop.tomlagain.
--example creates a bundled example instead of the blank template.
piloop install-skills
Copies the skills of this CLI into the skill directory of every harness on yourPATH: ~/.claude/skills for
Claude Code (or $CLAUDE_CONFIG_DIR/skills), and ~/.agents/skills for Codex, pi, Gemini CLI and Cursor. It replaces
only piloop’s own skills. The installer and piloop upgrade run it.
piloop doctor
Checks the install, without changing anything. Each failure prints the command that fixes it. See Upgrading.piloop upgrade
--timeout (default 30) is
how long to wait for the daemon to come back. See Upgrading.
piloop migrate
Brings the database to the schema of this CLI and prints what changed. Every command does this silently when it starts.The daemon
piloop serve
--detach starts it in the background, with its output in
$PILOOP_HOME/serve.log. Only one daemon runs for each PILOOP_HOME.
piloop stop
--timeout seconds (default 30) for it to exit. The daemon stops the
running agents, and their runs fail with daemon stopped.
piloop restart
--timeout (default 30) is how
long to wait for the daemon to come back.
piloop service-unit
Prints a systemd user unit (Linux) or a launchd agent (macOS) that keepspiloop serve running. It installs nothing.
See Running for days.
Ideas and candidates
piloop idea add
ready idea runs when a worker slot is free, in order of priority.
A watchdog files a seed instead. A worker files neither.
piloop idea seed
piloop idea develop
Optional:
--plan, --title, --family, --base, --priority (default: the seed’s) and --proposed.
piloop candidate import
reference candidate: a starting point that an idea
can pin with --base. The daemon measures it. It is never kept, never the head and never a bar. To import a candidate
of another project, fetch its commit into this repo first: git fetch <its repo> <sha>.
piloop candidate note
discard or interesting candidate in view as a starting point. Its verdict becomes interesting,
with the reason note: <REASON>. Each --follow-up files a seed pinned to the candidate. See
Notes.
Status and the inbox
piloop status
[stop], the open runs, the queue, the running agents with their last line, the recent candidates, the anomalies,
the inbox, the latest decisions and the recent events. The watchdog and research agents get the same overview in
their brief.
piloop watch
piloop history
piloop inbox
--kind keeps only items of one kind: note,
finding, decision or escalation. --all includes acknowledged items. See
The orchestrator and the inbox.
piloop inbox show
piloop inbox ack
--up-to acknowledges every unacknowledged item up to that id instead.
Nothing waits on an acknowledgement. To revise a decision, write a decision comment on its target.
piloop inbox wait
--after is the cursor that the last wait
printed (default: now). --timeout (default 1800) is how long to wait before it returns with nothing. Set the timeout
of your shell tool above it.
Agents
piloop launch
ROLE: watchdog or research. The daemon starts it on its next tick,
within the role’s max_concurrent. --scout asks for a research sweep in scout mode.
Only the daemon starts workers, because a worker needs a run.
piloop attach
piloop Herdr session and attaches this terminal to it.
piloop prompt
TEXT into a running agent of any role. This needs the Herdr runtime. The worker ids are in piloop status.
The database
piloop sql
DELETE, is allowed. See the database schema.
piloop schema
Prints whatpiloop sql accepts, the conventions for writing to the database, and every table. Agents read it before
they write.