Skip to content

Splits, Sessions & Persistence

Each terminal pane can be split horizontally (side by side) or vertically (stacked) from the top-bar buttons, and the result can be split again — splits nest arbitrarily deep. Every pane gets its own shell, its own scrollback and its own tint.

Splitting always acts on the focused pane of the active host — the panel drawer if it is open, otherwise an open terminal tab. It never pops out a new window.

The agent can do this too, with SplitActivePane and CloseActivePane. See the MCP Tool Reference.

A layout that works well in practice:

┌─────────────────────────┬───────────────┐
│ │ │
│ agent (Claude Code) │ build │
│ │ │
│ ├───────────────┤
│ │ logs │
└─────────────────────────┴───────────────┘

A session is one shell, tracked by the tab that owns it. A tab can hold several sessions and switch between them from the session picker in the top bar; only one is displayed at a time.

Sessions are labelled from the shell they run (PowerShell, PSMux (PowerShell), Ubuntu (WSL)) with a per-shell sequence number, and they carry an internal name — T1_1, T1_2 and so on — which is what the agent’s SwitchSession tool addresses them by.

On shutdown the plugin writes a record for every tracked session. On the next editor start it rebuilds:

  • every tab’s session list, in order
  • each session’s shell profile and workspace mode
  • which session was active
  • the full split layout, nested splits included, with the splitter sizing weights
  • every pane’s tint
  • the panel drawer’s own session, tracked separately from the four tabs

What is not stored is terminal contents. Scrollback is not written to disk. In Plain Shell mode the shells respawn fresh; in PSMux or Tmux mode the live sessions re-attach and carry their scrollback with them, because the multiplexer kept them running.

Restore happens a single time per editor process, at the first tab bootstrap. Closing and reopening the panel drawer within one editor session does not re-read the saved records — you get the live state, not a rewind.

All of it lives in your per-project, per-user editor config:

<YourProject>/Saved/Config/WindowsEditor/EditorPerProjectUserSettings.ini

That file is not normally committed to source control, so terminal layouts are yours alone and will not follow a teammate who checks out the project.

To wipe every saved terminal layout, close the editor and delete the PersistedSessions entries from the [/Script/ConductorTerminal.ConductorTerminalSettings] section of that ini — or delete the whole file if you do not mind resetting your other per-user editor preferences with it.