Run a mixed-backend team¶
A single Director can spawn claude, codex, and opencode members in the
same fleet — there are no broker-level differences between the backends
(Coding agents). This guide creates a fleet
with one member per backend and messages each of them.
Prerequisites¶
- The backend binaries you want to mix (
claude,codex,opencode) are onPATH—member createexits 1 withError: binary <name> not found on PATHotherwise. - You have followed Install and Configure, and you are inside a tmux session.
Prompt¶
Create a CAFleet team for this repo with three members — one on claude,
one on codex, and one on opencode. Name them alice, bob, and carol.
Once they are up, send each member a message asking it to report its
backend, and confirm all three reply. Then tear the team down.
Your agent loads the cafleet skill plus cafleet-agent-team-supervision
(which loads cafleet-agent-team-monitoring) before spawning members.
The supervision tick is supplied by cafleet monitor — a per-fleet loop a
coding agent runs as a background task — so a Director on any backend
(claude, codex, or opencode) gets the same heartbeat. Run the monitor once
as a background task with cafleet --fleet-id <id> monitor start regardless of
the Director's backend (Monitoring).
What to expect¶
The agent creates a fleet, then opens three tmux panes — one per backend —
each running its member's coding agent. Each message lands as a 2-line
inline preview keystroked into the recipient's pane
(tmux push), so you watch every member wake up
and reply. Only the claude pane shows the member name in its pane title
(Coding agents).
When all three replies are confirmed, the agent closes the panes and
deletes the fleet.
Appendix: the CLI underneath¶
The commands the agent runs, with literal ids — fleet 1, root Director
2, members 4/5/6; your ids will differ.
Create the fleet — the operator declares the binary running in your pane
via --coding-agent because cafleet cannot auto-detect it
(Coding agents):
Spawn one member per backend:
cafleet --fleet-id 1 member create --agent-id 2 \
--name "alice" --description "claude member" \
--coding-agent claude -- "You are alice. Wait for instructions."
cafleet --fleet-id 1 member create --agent-id 2 \
--name "bob" --description "codex member" \
--coding-agent codex -- "You are bob. Wait for instructions."
cafleet --fleet-id 1 member create --agent-id 2 \
--name "carol" --description "opencode member" \
--coding-agent opencode -- "You are carol. Wait for instructions."
List the panes — only the claude pane titles itself with the member name
(Known asymmetries),
so use the pane_id column to locate bob and carol:
3 members:
agent_id name status backend session window_id pane_id created_at
-------------- -------- ------ -------- ------- --------- ------- --------------------
4 alice active claude main @1 %7 2026-06-11T09:01:00.000000+00:00
5 bob active codex main @1 %8 2026-06-11T09:02:00.000000+00:00
6 carol active opencode main @1 %9 2026-06-11T09:03:00.000000+00:00
Message each member — repeat with --to 5 and --to 6; the envelope and
the 2-line inline preview are identical for every backend
(tmux push):
Tear down — repeat member delete for members 5 and 6, then delete the
fleet:
Every member create / member delete flag and exit code is documented in
CLI options.