Docs · Sessions and groups
Sessions and groups
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:
| Field | How the id is obtained |
|---|---|
| session_id_flag | The tool launches under an id the manager mints. |
| session_store | The tool mints its own, and a capturer reads it back (codex, opencode). |
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.
| Key | Action |
|---|---|
| g | Create a subgroup inline. |
| enter | Fold a subtree. F folds or unfolds everything. |
| e | Hide or restore empty groups. |
| r | Edit a group's name and default path. |
| K / J | Reorder sessions among their siblings, or whole groups among theirs. The order persists. |
| m | Move a session to another group. |
| a / u | Archive a session or a whole subtree, and restore it. Restoring un-archives whichever ancestors it needs. |
| t | Toggle 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.
agent-manager rename is available later if you ask for it.