| AUDE-TEAM(7) | Miscellaneous Information Manual | AUDE-TEAM(7) |
NAME
aude-team — a team
of aude sessions
DESCRIPTION
This page is for a model that delegates to subagents of aude(1). The page expects that your tool runs each command in a new shell, with no standard input, and stops it after a time.
- A subagent has a name, a record and a transcript. They stay after its host
exits, so the name stays valid until
remove. - A listing tells the state of the work: waiting, working, done or failed.
- Only
waitblocks, for at most--limit. Each other command returns at once. - The budget of a turn and the limit of a wait are two different times. Give
each turn a long budget with
startorsend. Give eachwaita short limit, less than the time your tool allows a command.
SUBAGENTS
start name makes a
git worktree .aude/worktrees/<name> in the
repository, ignored by git, on the branch name.
remove removes them. A session that a person started
is not a subagent, and wait with no target does not
wait for it.
The host of a subagent runs while the subagent has a turn, and
exits after the last turn. The next send starts a
new host that continues the conversation. A turn that you send while a turn
runs waits in a queue, and does not use its budget while it waits. When the
budget ends, the host interrupts the turn as
interrupt does: exit 9, and the subagent is
failed.
The model commits only when the task tells it to, and git-merge(1) takes only commits. So tell each subagent to commit its work.
attach prints the whole last turn. For a
short answer, give each subagent the absolute path of a report file under
.aude in the repository, which git ignores, and read
that file.
WHAT TO RUN
| To | Run |
| know if it is done | wait
with a short limit; exit 9 is not yet |
| know if it is stuck | sessions;
quiet= grows over two waits on a working
listing |
| read what it did | attach;
commits= and dirty= on the listing |
| interrupt the turn | interrupt |
| change the direction | interrupt,
then send |
| give more work | send;
the turn runs after the current one |
| continue a finished subagent | send |
| build on other subagents | start
--on |
| see the team | sessions |
| clean up | remove |
EXAMPLES
Three modules are stubs, and the tests exist. Each task file tells the subagent to commit.
aude start tokenize --harness claude --budget 15m </path/to/tasks/tokenize.md aude start count --harness claude --budget 15m </path/to/tasks/count.md aude start report --harness claude --budget 15m </path/to/tasks/report.md aude wait --limit 90s # exit 9: not yet, so run it again echo 'Also add a module docstring, and commit.' | aude send tokenize --budget 5m aude wait tokenize --limit 90s aude attach count # the last turn of count git merge tokenize count report python3 -m unittest discover -s tests aude remove tokenize count report
After remove, the next run can use the
same names.
To build ‘report’ on the two
others:
aude start report --harness claude --budget 15m --on tokenize count \ </path/to/tasks/report.md
‘report’ waits. When
‘tokenize’ and
‘count’ are done, its host merges them
and runs its task.
Exit 0 tells that a turn had no error. It does not tell that the
task is correct. Read ‘commits=’,
‘dirty=’ and the last answer, and run
the tests.
FAILURE
- A turn with an error: failed, exit 1.
sessions--jsonshows the error. - A turn that the budget or
interruptended: failed, exit 9. Its edits stay in the worktree. - A host that stopped: the listing shows failed and
‘
exit=5’.sendstarts a new host. - A host that cannot start:
startorsenditself exits 3, 4 or 5 with one line. - With
--on: exit 1 when a named subagent failed, 8 when one was removed, and 64 for a merge conflict. No turn runs. Aninterruptof a named subagent also makes it fail. Fix the named subagent, thensendthe task again: the host merges first, then runs it. removeof a working subagent, a worktree with uncommitted or untracked files, or a branch that is not merged: exit 64, and nothing is removed. Put build output in .gitignore.
After a failed turn, the next queued turn runs, or
send gives a new turn.
SEE ALSO
CAVEATS
A subagent name has only lower-case letters, digits and hyphens,
and the branch has the same name, so it cannot be
‘feat/<name>’.
To abandon a failed subagent, clean its worktree or delete its
branch with git, then run remove.
A waiting subagent cannot be interrupted or removed until its
--on subagents are done or failed.
start needs a git repository.
A subagent runs at the top level of its worktree, so
--agent on start names an
agent file that is committed there.
| October 20, 2026 | aude |