Skip to content

Commands

Look-up tables for the Agent Factory’s commands. The user guide shows how to use them; the cheat sheet lists the labels and comment commands.

The maku CLI

Download maku-<os>-<arch> from a Maku release and check it against maku.sha256, or build it with go build ./cmd/maku.

maku configure --url … --issuer … --client-id … --project-id …  # the room list's "CLI setup" prints it
maku login                                    # device flow: open the URL, enter the code
maku rooms --mine                             # issues you filed or labelled, PRs you authored or review
maku rooms --needs-me                         # an approval you could decide; --repo owner/name filters
maku status <room> --json                     # phase, run, budget, PR, what needs you, the agents' notes
maku changes <room>                           # what changed since your last call (first call: 24 h)
maku checkout <room>                          # the room's branch in a new worktree beside the repository
maku setup <client>                           # the MCP server and the skill, for a coding agent
maku doctor                                   # checks the set-up; every check should read ok
maku watch <room>                             # the last 50 events, then live
maku post <room> --queue "address L42"        # for the next run's brief; without --queue, a chat
maku fork <room> --at <seq> --role implementer --egress pypi --note "try uv"
maku token                                    # your access token, for scripts

maku reads, chats, queues and forks. It never drives a run, interrupts it or approves: those stay in the browser, because a local agent can type into a terminal (ADR-0049). A task waiting for your merge is not listed under --needs-me (maku#51).

maku setup

maku setup <client> registers maku mcp as the factory MCP server and writes the factory-handoff skill where that client reads skills. The clients: claude, opencode, codex, gemini, cursor, copilot.

OptionEffect
(none)User-level set-up
--projectWrites both into the repository instead, for a team that commits them
--printShows every command and file, changes nothing

It is idempotent. It runs the client’s own mcp add when that is on the PATH, and otherwise prints the snippet to paste: it never edits a config file itself. Gemini CLI starts a local server only in a folder you trust.

The tools a coding agent gets

Tool or promptWhat it does
handoffDrafts an issue, one defect per issue; a form shows it to you, files it and offers to start it
status [room or #issue]The room card; without an argument, your most recently updated room
inboxThe rooms that need you first, then your other open rooms
room_waitFollows a room and returns when it needs you, opens a pull request or ends
room_checkoutThe room’s branch in a new git worktree, at the commit it checked

The other tools are rooms_list, room_summary, room_changes, issue_draft and issue_file.

Starting a task is a form field, never a tool argument: your agent can file an issue but cannot answer the form. It is offered only on repositories the platform lists and you can write to. A checkout that changes agent or editor config, hooks, symlinks or non-ASCII paths asks first. Everything an agent wrote comes back in code spans, as data. The design: ADR-0059.

What each coding agent supports

Text views work everywhere. The rest depends on what each client declares. unconfirmed means no source says. Which clients are tested end to end: the status page.

ClientFormsSlash commandsSkill directory
Claude Codeunconfirmed/mcp__factory__<prompt> (unconfirmed)~/.claude/skills
OpenCodeyes/factory:<prompt>~/.agents/skills
Codex CLIunconfirmedunconfirmed~/.agents/skills
Gemini CLIunconfirmedyes~/.gemini/skills
Copilot CLIunconfirmedunconfirmed~/.copilot/skills
Cursoryesyes~/.cursor/skills

Without forms the draft is shown for you to file with gh, nothing starts, and a checkout that needs to confirm refuses. Codex CLI may cut a call at 60 s; the skill then calls room_wait again.

Room states

StateMeaning
needs youAn item names you: an approval, a hand-off
waiting for a humanThe task waits for a maintainer
runningA run is working
queuedA run is waiting for a free sandbox
done, failed, stoppedThe task ended

How a run ends

ReasonMeaningResumed?
DisruptedIts node was reclaimed or drained: a spot reclaim, an eviction, an upgradeYes
PodLostIts pod was deleted, or vanished with its node, before a final state was readYes
PodFailedThe run failed on its own, or hit its deadlineNo: the task waits for you

The factory resumes at most twice per task, within its budget; /factory retry does not give the resumes back. A lost review run starts again without using a review round. On the way out, within 15 s, an implementer commits its changes with the trailer Agent-Checkpoint: disruption and pushes them, so the resumed run starts from that commit. Limits: Reference › Harness.

Start a run by hand

With agents-member, after maku login:

task agent:run -- --role implementer --class public --task-url <issue>
task agent:run -- --role implementer --class public --task-url <issue> --branch agent/<task>   # continue a stopped task

The factory creates the run under your sign-in identity: the run is yours. internal work and triager runs need agents-admin. The run API: Reference › Harness.