Sidebar and Sessions

Projects and Sessions, the list of every agent session, closed chats, and folding every project at once.

A segmented switch sits at the top of the left sidebar: Projects, with a folder icon, and Sessions, with a speech bubble. Projects holds your projects and their worktrees. Sessions holds every agent session across all of them in one list. The switch marks the side you are on, and the sidebar opens on the side you left it on, across restarts too. Hide or show the whole sidebar with Ctrl+Shift+S, or Ctrl+Shift+D on Windows.

Projects

Each project is a header with its name, how many worktrees it holds, a + that creates a new worktree from a branch name, and a ⋯ menu with Project Settings, Refresh Project, Initialize Git repository, Show in File Manager and Remove Project. Initialize Git repository works on a project without git and greys out on one that has it. Click the header, or the chevron at its end, to fold the project away. Drag a project or a worktree to reorder it.

Under the header, each worktree has a card with its branch as the title. The second line names the terminal or chat you have selected there, or else the last one the card lists, and a comment set with sirioctl worktree-set takes its place. On the right, every terminal and chat in the worktree has a small mark of its own, which takes its agent’s colour once Sirio knows the agent. Click a mark to open that tab. A dot on a mark shows that tab’s own state, and the marks of a worktree you left draw dimmed.

Right-click a worktree, or click the + after the marks of the selected one, for New Terminal, New Chat and the two ways to remove it. New Chat expands into the agents that can start a chat, and Other agents… opens Settings → Agents.

Status marks

A worktree card shows the most urgent state among its own tabs:

  • Running: a green bloom that keeps moving.
  • Done: the same green bloom, standing still.
  • Needs input: a still bloom in amber.
  • Error: a still bloom in red.
  • Idle: the bloom goes away. A worktree with more than one agent shows how many instead, such as “3 agents”. Plain shells and empty chats do not count.

A worktree you switch away from keeps its mark for as long as its agent works, and each worktree shows only its own agents. Inside each project, a worktree with an error rises to the top, then one that needs input, and the rest keep the order you gave them. Activity states explains how Sirio decides each state.

Adding a project

The + on the row beneath the switch opens Open Project…, Clone Repository… and Create Project…. Open Project… asks for a folder. A folder with no git repository in it brings up a choice of Initialize Git, Add without Git and Cancel, so a plain folder can become a project too.

Clone Repository creates the folder it clones into, and it keeps going for as long as git is making progress. A failed clone leaves no half-made folder behind, so Retry clone works. A private repository needs credentials git already has, such as an SSH key, a credential helper or gh auth setup-git, because the clone does not wait on a login prompt.

A project on a disk that is not plugged in stays in the sidebar, with its worktrees marked (missing). It is whole again once the disk is back.

The filter

The field under the switch narrows the list as you type. In Projects it reads “Search worktrees…” and matches project names, branch names and tab titles, and a folded project opens while one of its worktrees matches. Switching between Projects and Sessions clears it.

Sessions

Sessions lists every agent session in every worktree, most recently active first. An agent chat always counts as a session. A terminal counts once Sirio identifies an agent running in it, so a plain shell stays out of the list.

Recent activity means the last time the agent moved into running, needs input, done or error. Settling back to idle leaves the time where it was. A session you start goes straight to the top, and a session with no recorded event sits at the bottom.

Each row shows the agent’s mark in its own colour, the session’s title and its status mark, or the word idle. Under them sit the project, the branch and how long ago the agent last did something: now, 5m, 3h, yesterday, 4d, and after a week a date such as 7 Sep.

The list includes sessions in worktrees you switched away from and in projects you folded. Click a row to go to its worktree and tab. ↑ and ↓ move through the list, and Enter opens the row you are on.

Hover a row and a × takes the place of its time. It closes the tab. Sirio asks first when the agent is still running, waiting for you or stopped on an error. For a session in another worktree, Sirio switches there and then asks.

While Projects is showing, the Sessions tab carries a small dot when a session needs you: amber when one needs input, red when one has hit an error. Red wins when both apply. In Sessions the filter reads “Search sessions…” and matches a session’s title, its agent’s name, its project and its branch.

Closed chats

Closing a chat tab archives the chat. Sessions keeps it under Closed, below the open sessions, most recently closed first, in a dimmer row with no status mark. The Closed header counts them, and a click on it folds or opens the group. Only chat tabs go to Closed: a terminal closes for good, agent or no agent.

Sessions lists a closed chat once it holds at least one turn, and Sirio discards a chat you closed before its first turn. A closed chat also leaves the list when you remove its worktree.

Click a closed chat, or press Enter on it, to reopen it in its worktree with its conversation. A Claude Code chat running natively also resumes the agent’s own session, as long as Resume agent sessions on launch stays on in Settings → General, as it does by default; see Agent chats. Any other agent starts a fresh session under the restored conversation.

Hover a closed chat for a red trash icon. The first click turns it into Delete, and a second click deletes the chat and its transcript for good. Escape, a click anywhere else or a switch to Projects cancels it.

Sirio keeps at most 50 closed chats, none older than 30 days, and trims the archive at startup and each time you close a chat.

Fold every project

Expand all and Collapse all sit on a row of their own beneath the switch, with a + beside them, as icon buttons with the tooltips Expand all projects and Collapse all projects. They open or fold every project, and so all its worktrees, in one click. The selection stays where it was: the worktree you are in remains the selected one even while its card sits inside a folded project. A typed filter still decides what shows. Both buttons, like the +, appear in the Projects view only.

The fold follows the project, not its row, so a project stays folded when you reorder it, when you click a worktree in it and when the window gets focus. A project the sidebar has not shown before starts open, and Sirio does not remember the fold across a restart.