Run a fleet
Create a supervised team from your coding-agent pane inside tmux or herdr. A Director can use one backend or mix Claude, Codex and OpenCode members; all exchange messages through the same broker.
Prerequisites
Follow Quickstart to install, configure and trust the working directory. Put each selected backend binary on PATH. Run every CAFleet command in its own shell-tool invocation and use the literal IDs returned by the CLI.
Prompt
Your agent loads the CAFleet Director instructions, starts the monitor, and dispatches each member after its own ready signal. Messages appear as inline previews in the member panes and remain available through the broker.
Manual lifecycle
This baseline uses a Claude Director, example HOME /home/cafleet-demo
and workspace /home/cafleet-demo/work/demo. Substitute your actual
absolute paths and installed skill root. Run the diagnostic first; resolve
any reported issue before bootstrap:
Use Config-dir resolution for overrides. The default skill roots are:
The Director loads its own backend instructions and the installed generic Director role and supervision protocol before orchestration. When composing a spawn, it reads the selected backend's model catalog, defaults and capabilities. Pane classification uses the observed member's backend cues.
Bootstrap the monitor
Save this complete prompt as
/home/cafleet-demo/work/demo/.prompts/monitor.md, creating the directory
and choosing a new filename if one already exists. Keep the four identity
placeholders for CAFleet to fill during creation; double any other literal
braces added to the prompt.
For example, the command returns 1 director=2 monitor=3. The
--coding-agent value states the backend already running in the Director's
pane; the monitor inherits it. Wait for the monitor's ready, then its
confirmed monitor live before creating an ordinary member. Registration
alone does not establish startup. Codex retains a managed execution session
and performs bounded startup and later-wake liveness checks; each backend's
installed monitor instructions define its execution mechanism.
Create and dispatch a member
Save this prompt as a new file
/home/cafleet-demo/work/demo/.prompts/member.md:
Suppose the returned member ID is 4. Wait for that member's ready, then
take a fresh capture and apply the capture gate
before dispatching work:
When the capture shows the member ready to receive its assignment:
The member receives the preview, polls, acknowledges and replies. Read the Director inbox and ACK each consumed delivery using its actual message ID:
Here 10 is an example. Repeat the capture gate before further dispatch;
working or awaiting-user panes defer the send, and an unknown capture needs
diagnosis. The monitor's live gate and each ordinary member's ready gate
serve different purposes.
Close the fleet
Delete the monitor first to stop its wake source, then delete the ordinary member. After each command succeeds, verify that only the root Director remains before deleting the fleet:
Confirm fleet 1 is absent. If another fixture-owned member remains, finish
its member deletion before fleet deletion; fleet deletion alone does not
close panes. Apply cleanup only to the team you are authorized to manage.
Backend variations
Use the same lifecycle for a Codex or OpenCode Director, declaring its actual backend at fleet creation and using its installed monitor paths and selected monitor model. The monitor inherits the Director's backend. Resolve model choices through Model choice.
For a mixed team, save separate ordinary-member prompts with the appropriate installed role/core/backend paths and a shared workspace BASE. After monitor live, add members with explicit backend flags:
Dispatch each member after its own ready and fresh capture, using the actual returned ID. List members to find their panes: only Claude sets the member name as its pane title. During shutdown, delete every added member after the monitor and before the root-only registry check. Exact flags, outputs and failure distinctions are in CLI options.