Docs · Sessions and groups
Sessions outlive the manager.
Every agent is a real tmux session with its own directory, command and environment. Quit the manager and they keep working; close the laptop lid and they are still there.
Killing without losing the row
x ends a session that is holding RAM you want back, and on a group
row it ends every live session under it. X ends every live session
in view. Each asks to confirm first, and what it ends is the tmux session, not the record:
the row stays in the tree, marked dead, with its name, group and conversation id
intact.
Reviving the same conversation
v relaunches a dead session under its old id, keeping its name,
group and history. When the manager holds that session's own conversation id, revive resumes
that exact conversation through the tool's resume_by_id_command:
claude --resume {id}
codex resume {id}
opencode --session {id}
grok --resume {id}
gemini --resume {id}
The id arrives one of two ways: tools with a session_id_flag launch under an id
the manager mints, and tools that mint their own are read back by a session_store
capturer. Without an id, revive falls back to revive_command
(claude --continue), which resumes the directory's most recent conversation, and
the manager says so in the status line, since sessions sharing a directory would otherwise
land on the wrong one. On a group row v revives everything dead under it, and
V revives everything dead in view; both revive what they can and
name the first failure rather than stopping.
Groups are a tree
Groups are paths like backend/api/auth, forming a tree of unlimited depth, and
sessions live at any node including the root. Create subgroups inline with
g, fold a subtree with enter on its row, fold or unfold
everything with F, hide or restore empty groups with
e, and edit a group's name and default path with r.
K and J reorder sessions among their
siblings or whole groups among theirs, and the order persists across restarts along with
everything else. m moves a session to another group.
a archives a session or a whole subtree and u restores
it, un-archiving whichever ancestors it needs; t toggles the archived view.
Sessions name themselves
A session spawned without a name gets a placeholder like claude-a1b2, and its
first prompt opens by asking the agent to run agent-manager rename once, with a
short name for the broad feature it is working on rather than a single subtask. The directive
also tells the agent not to rename again unless you ask.
When the first prompt cannot carry the directive, because it is a /slash command
or there is no prompt at all, the manager sends it as its own message once the tool's input
box appears. The subcommand drops the name into a per-session file, and the manager picks it
up on the next poll. A name you set yourself is never overwritten: the first prompt only
notes that renaming is available later if you ask.