The Terminal Surface
Where the terminal lives
Section titled “Where the terminal lives”Conductor Terminal registers two kinds of host.
Numbered tabs
Section titled “Numbered tabs”Tools → Conductor Terminal contains up to four numbered terminal tabs, labelled Conductor Terminal 1 to 4. They are ordinary Unreal dockable tabs — drag them into a layout, float them, dock them beside the Output Log, whatever suits. Each tab keeps its own shell profile, its own sessions and its own split layout.
Four is a hard cap.
The panel drawer
Section titled “The panel drawer”Alt+F2 toggles a terminal hosted in the editor’s status-bar panel drawer. It slides up over
the bottom of the editor and dismisses with the same shortcut — handy for a quick command without
disturbing your layout. The Conductor Terminal button in the status bar toggles the same drawer
with the mouse.
The drawer is a host in its own right: it has its own persisted session record, separate from the four numbered tabs.
ushell
Section titled “ushell”When the engine ships Epic’s ushell CLI (Engine/Extras/ushell), the plugin also surfaces it
as its own entry under Tools → ushell, for the times you want Epic’s own project tooling rather
than a general shell.
The top bar
Section titled “The top bar”Above each terminal surface sits a row of native controls, left to right:
| Control | What it does |
|---|---|
New session (+) |
Starts another shell in this tab, using the shell picked in the dropdown. |
| Shell picker | Which detected shell new sessions use — plain, or wrapped in a PSMux / tmux workspace where available. |
| Session picker | Switches between this tab’s sessions; only one is displayed at a time. |
| Terminal ID | Read-only. The internal session name (for example T1_2) that the agent’s SwitchSession tool addresses. |
| Split side by side / Split stacked | Add a sibling pane with its own shell. Hidden for PSMux and tmux sessions, where the multiplexer owns layout. |
| Swap panes | Appears only when exactly two panes are open; exchanges them. |
| Delete session | Ends the active session and removes it from the tab. |
| ? | PSMux sessions only: a cheat sheet of psmux keybindings (default prefix Ctrl+B). |
| Settings (gear) | Opens Editor Preferences → Plugins → Conductor Terminal, which also holds the MCP client config and psmux install notes. |
| Pop out | Opens a new terminal in the next free numbered slot, as a tab ready to drag into a floating window. Does nothing when all four slots are in use. |
| Close | Closes the tab. |
Pop out and Close are hidden inside the panel drawer, which draws its own pair.
If you are putting two terminals side by side and want every pixel for text, turn Show Top Bars off in settings. The whole chrome row disappears.
Per-pane tint
Section titled “Per-pane tint”Each pane has a small colour swatch in its top-right corner — on the pane surface itself, not in the top bar. Tinting a pane is the fastest way to tell two shells apart at a glance — build in amber, agent in green, logs in slate.
A few things worth knowing about how tint works:
- Alpha is the tint strength, not opacity. At
A = 0the pane keeps its stock background; the higher the alpha, the more of the colour blends in. - Cells the shell has explicitly coloured keep their own colours. Tinting the pane will not
wash out your
lsoutput or your agent’s syntax highlighting. - The per-pane choice persists across editor restarts.
- The Default Terminal Tint setting seeds new panes only. Changing it never repaints panes
that already exist. The factory default is
#1E2022.
What the renderer supports
Section titled “What the renderer supports”There is exactly one renderer: a native Slate renderer driven by a real ConPTY. There is no webview, no fallback path, and no toggle — which is why it starts instantly and costs you nothing in editor memory.
| ANSI / VT sequences | Full colour, attributes, cursor control, scroll regions. Identifies as a VT220 with Sixel. |
| Alternate screen | Full-screen TUI apps (vim, htop, lazygit, agent TUIs) work correctly. A scrollbar hugs the right edge on the primary screen and hides on the alternate screen. |
| Kitty keyboard protocol | CSI-u encoding for disambiguated keys, so modern agent CLIs get the key events they expect. |
| Inline graphics | Sixel and iTerm2 OSC 1337 — see Inline Graphics. |
| Hyperlinks | OSC 8 hyperlinks are underlined and open with Ctrl+click. |
| Scrollback | 5,000 lines per pane by default (ScrollbackLines, config-only). |
| Fonts | A curated monospace list with automatic fallback — see below. |
Only monospace faces are offered, on purpose: a proportional font would break column alignment, because the renderer derives one cell width from the glyph advance.
Auto picks the best installed option in this order:
- Cascadia Mono (Windows 11 / Windows Terminal’s default), then Cascadia Code
- Consolas
- Courier New
- Droid Sans Mono (bundled with the engine — always available)
Any explicit choice is existence-checked at render time and falls back to the bundled Droid Sans Mono if it is not installed, so the terminal can never end up with a missing face.
Font size can either track the editor’s application scale, or be pinned — see
Settings → Appearance. Ctrl+= / Ctrl+- and
Ctrl+scroll zoom a pane for the session only and do not change the saved value; Ctrl+0 returns
to the size the pane opened at.
