Tabs and splits

The nine tab kinds, the left pane and the right pane that opens on demand, moving terminals and chats between them, terminal splits, and what survives Quit.

A worktree’s centre column holds tabs in up to two panes, a left one and a right one, each with its own tab strip. A tab is one of nine kinds, and each kind opens in its home pane:

Kind What it shows Pane
Terminal A shell or an agent CLI; splittable Left, and can move right
Agent chat An agent in a chat surface Left, and can move right
Browser A native web view Right
Editor A file, coloured, with language-server navigation, or a read-only snapshot of a file from a pull request Right
Changes The worktree’s git changes and their diffs, or one commit’s Right
Project settings One project’s settings form Right
Pull/merge request A GitHub pull request or GitLab merge request, with its conversation, commits, checks and diff Right
CI job log The log of one CI job from a pull or merge request, read-only, coloured and foldable Right
Trace The whole turn of a Claude Code chat as a tree beside its timeline; see Trace Right

Splits

A terminal tab splits recursively, and each part is a pane with its own PTY and its own SIRIO_PANE_ID. The command palette offers Split Pane Right (Ctrl+Alt+Shift+Right), Split Pane Down (Ctrl+Alt+Shift+Down) and Close Pane (Ctrl+Alt+W), and Ctrl+Alt with an arrow key moves to the neighbouring pane. A terminal’s right-click menu also offers Split Left, Split Right, Split Above and Split Down, and greys all four while the tab is the only one in its pane or the pane is too small to divide. A new pane takes the focus.

From a script, sirioctl pane split right splits the terminal pane that has the focus, as the keyboard does, and it also takes left, down and up. On Linux and macOS, sirioctl panel create and panel split start terminals of their own that a script writes to and reads from, and the window never draws them; see Panels.

A terminal has a scrollbar along its right edge. Its thumb follows the view through the scrollback, and you can drag it to move the view. Sirio draws the bar over the text, so the terminal keeps its column count and the program inside never receives a resize. The thumb appears once there is history to scroll, and it goes away while a full-screen program such as vim holds the alternate screen.

The two panes

The work area between the sidebars divides into the left pane and the right pane. The left pane holds what you talk to, so new terminals and chats open there. The right pane holds what you look at: a browser, a file, Changes, a project’s settings, a pull request. Sirio also calls each terminal in a split tab a pane, so the Split Pane commands above act inside one tab, while Move to Right Pane and Toggle Right Pane act on the two halves of the centre.

An empty left pane offers Terminal and Chat, and Chat first asks which agent to start.

Hide the right pane with the × at the end of its tab strip, whose tooltip reads Hide Pane, or with Ctrl+Shift+B. A hidden pane keeps its tabs, and the left pane takes the whole work area. Each worktree remembers the choice, across restarts too. Ctrl+Shift+B brings the pane back, as does Toggle Right Pane in the command palette, and opening anything that lives there, such as a file, a browser or Changes, shows it again. Toggle Right Panel, its neighbour in the palette, hides the right panel beside the centre instead.

The second pane on demand

The centre starts with one pane. The right pane appears when something opens in it, and it goes away with its last tab. The Open view of the right panel lists what you can open there. Dragging a tab to the right shows where the second pane will open. Ctrl+Shift+B still hides or shows a right pane that has tabs.

Moving terminals and chats

A terminal or a chat can sit in either pane: beside a file, a browser or Changes, or beside another agent. There are four ways to move one across:

  • Drag its tab onto the other pane’s tab strip. A bar marks where it will land.
  • Drag it onto the other pane’s body, which puts it at the end of that pane’s strip.
  • Right-click the tab and choose Move to Right Pane or Move to Left Pane.
  • Press Ctrl+Shift+M, or choose Move Tab to Other Pane in the command palette. It moves the tab you are working in and takes the focus with it, so pressing it again brings the tab back.

The right-click menu works on every platform. Windows keeps several Ctrl+Shift chords for itself, which is why Sirio moves Ctrl+Shift+S, I and O to D, R and H there, so on Windows turn to the menu or the palette when Ctrl+Shift+M has no effect.

A moved tab keeps running. An agent in a terminal carries on through the move, and a chat keeps its conversation. The pane it left shows its neighbouring tab, and a hidden right pane opens to take a tab you move into it. A restart puts every moved tab back in the pane you left it in. The sidebar lists a worktree’s terminals and chats in either pane; see Sidebar and Sessions.

Only terminals and chats move. Other tabs have no move item in their right-click menu, and on them the palette command stays disabled with the reason “Only terminals and chats move between panes”. Browser, editor, Changes, Project Settings, pull request, CI job log and Trace tabs always stay on the right.

Project settings

Project Settings opens as a right-pane tab titled “Project Settings · {name}”, one per project: opening it again switches to the tab you already have. Edits save to the project catalog as you make them. The tab comes back after a restart, in its place in the strip, and Sirio drops it once you remove its project.

Closing

Closing a chat tab archives the chat. The sidebar’s Sessions tab keeps it under Closed, where a click reopens it; see Sidebar and Sessions. A terminal tab closes for good.

What the window’s close button does depends on the platform. On macOS and Linux it minimizes the window, and every terminal and agent keeps running; Open Sirio in the tray menu brings the window back. On Windows it quits Sirio. Quitting does not end your terminals: they keep running in the background, and the next launch reattaches them. See Terminals that outlive the app. Sirio saves the layout a moment after each change and once more as it quits, so the next launch opens where you left off.