Skip to content

Sessions

Command What it does
cadrei opens your orchestrator, in tmux or in this terminal as your crew’s setting says (tmux)
cadrei --tmux / --no-tmux in tmux, or in this terminal, for this one run
cadrei --detach starts your orchestrator in tmux without opening it
cadrei --fresh starts your orchestrator with a fresh chat
cadrei up <team>[/<role>] [project] [--fresh] start a team or one member (your orchestrator does this)
cadrei attach [team] [project] watch or talk to a team; with no team, your orchestrator in tmux
cadrei stop <team>[/<role>] [project] [--fresh] stop a team or one member
cadrei stop [--all] [--yes] with no team, every member of this crew (--all: of every crew), after a confirmation; never your orchestrator
cadrei ls [--all] [--json [--watch]] your crew, your orchestrator, running teams with what each member is doing, projects (missing ones marked) and other crews; --watch keeps printing each change, for programs

Building something on top of cadrei? cadrei ls --json and its live stream are a stable interface: see For tool builders.

What cadrei ls shows. One block per running team, with the command that opens it, and one row per member:

main ~/.cadrei/main
Orchestrator open in tmux since 14:02 · reopen with cadrei
Teams
dev on my-app cadrei attach dev my-app
● engineer working for 4m
! reviewer waiting on you · approve it in its window
research cadrei attach research
○ scout idle since 13:40
◌ writer starting
? editor running · can't tell what it's doing
Not running: study (tutor), ops (sre)
Projects
my-app ~/code/my-app
blog not on this machine · ask your orchestrator to clone it
Mark State What it means
● working busy on a task, working for 4m
! waiting on you it needs your approval, or asked you something, in its window
○ idle done, and waiting for its next task
◌ starting its window is open, but it hasn’t started work yet
? running it runs, but cadrei can’t tell what it’s doing (for example a member started by an older cadrei)
✗ stopped by safeguards Claude’s safeguards stopped its last reply, so it won’t answer. Pick the model again in its window, or start it fresh.

When a working or waiting member’s chat hasn’t changed for 10 minutes, the row adds · no activity for 12m: you may have stopped it with Esc. Members tell cadrei their state through Claude Code hooks in their settings copy; cadrei never reads their screen. The state is for you to look at. It’s never a reason for cadrei or your orchestrator to stop or restart anyone, except a member stopped by safeguards, which your orchestrator offers to restart fresh. Without a terminal, cadrei ls uses plain marks (* ! o . ? x), and cadrei ls --json has the same states for scripts.

Names. A team runs in tmux session cadrei-<crew>-<team> (or cadrei-<crew>-<team>-<project>), one window per role, and your orchestrator in cadrei-<crew>. Each member’s Claude Code session is named <crew>-<team>[-<project>]-<role>, which is the address your orchestrator sends work to. In tmux session names a . becomes _, as older tmux versions do it themselves: project my.app runs in cadrei-w-dev-my_app, while its members keep the dot (w-dev-my.app-engineer). cadrei up refuses when another crew already uses the name.

One orchestrator per crew. cadrei records your orchestrator in .claude/build/orchestrator.lock. When it’s already open in another terminal, cadrei says so (Your orchestrator is already open in another terminal) and exits; when it runs in tmux, cadrei takes you back to it. A lock left by a session that ended is cleared. An orchestrator the every-chat hook started isn’t detected.

Chats resume. Every start records the member’s Claude Code session in .claude/build/sessions/, kept current across /clear and /compact. The next cadrei up (and the next cadrei) picks that chat up again. It starts a fresh chat, and says why, when there’s no record, the working folder changed, the chat is gone, or it won’t reopen. --fresh on cadrei, cadrei up and cadrei stop starts clean.

Safeguard stops. Sometimes Claude’s safeguards stop a member’s reply, and the member goes quiet. Cadrei notices: cadrei up warns after it starts such a member, cadrei ls shows it, and your orchestrator tells you right away. To fix it, open its window (cadrei attach <team> [project]), type /model and pick the model again. Or let your orchestrator restart it with a fresh chat. Your orchestrator never sends the stopped task again on its own.

Sessions started by 0.1.x show as legacy in the default crew’s cadrei ls, and cadrei stop and cadrei stop --all stop them. They carry no crew, so on a tmux server another setup shares, that includes its 0.1.x sessions too. Every other session is stopped only when one of your crews started it.