Workspaces & the grid
Loom is a graphical terminal multiplexer with agents as first-class citizens — think tmux or Terminator as the substrate. You work in workspaces, each holding a grid of real terminal panes. This guide covers building and managing that layout.
Shortcuts below are in the Ctrl+Shift namespace (Cmd+Shift on macOS); the modifiers are fixed,
only the final key is rebindable in Settings → Keys. The full list is in
Keyboard shortcuts.
A pane is one terminal bound to one real OS process (its PTY). Panes are byte-opaque — Loom forwards bytes and never scrapes the output (see Core concepts).
- A pane’s display name follows its working directory (the basename of its cwd, so it tracks
as you
cd) — you don’t rename panes by hand. Its routing handle — a stable pool name likeFayeorCleo— is assigned for you, shown as a faint watermark, and is what you target withloom send,broadcast, and friends. Get handles fromloom list. - The title chip shows a state dot (working / idle / needs-you / dead), an agent badge if a known CLI agent is running, a role badge, and either a status label or the current git branch.
- When a pane’s command exits, Loom drops you into an interactive shell so the terminal stays usable — except when the command wasn’t found (exit 127), where you get a panel with Restart and Open shell instead.
Splitting, closing, zooming
Section titled “Splitting, closing, zooming”| Do this | Shortcut |
|---|---|
| Split right (new pane beside) | Ctrl+Shift+D |
| Split down (new pane below) | Ctrl+Shift+E |
| Move focus between panes | Ctrl+Shift+↑ ↓ ← → |
| Close the focused pane | Ctrl+Shift+W |
| Zoom the focused pane full-screen (toggle) | Ctrl+Shift+Enter |
| Reopen the last closed pane | Ctrl+Shift+Z |
The grid is a binary split tree: splitting inserts a sibling at a 50/50 ratio; closing a pane promotes its sibling to fill the space, and Loom never leaves a workspace with zero panes. Splitting or closing never restarts the surviving panes — their processes keep running.
Resize by dragging the gutter between panes (clamped so no pane collapses). Reopen
(Ctrl+Shift+Z) restores the last pane or workspace you closed — and resumes a Claude
conversation if that’s what was running.
Rearranging
Section titled “Rearranging”- Drag a pane’s title chip onto another pane. Within a workspace that’s a swap; across workspaces it moves the pane beside the target. Either way the process is handed across alive — no restart.
- The pane’s
⋯overflow menu → Move to… moves it to another workspace, or into a brand-new one, keeping the process alive.
Overview (fleet glance)
Section titled “Overview (fleet glance)”Press Ctrl+Shift+O to flatten the active workspace into a uniform tile wall — every pane the
same size — for quick triage across a busy fleet. Agent badges, attention borders, timers, and the
live task caption stay visible. It’s a pure view transform: your layout and processes are
untouched. Esc or click a tile to exit.
Workspaces
Section titled “Workspaces”A workspace is a layout tree plus its panes, focus, and docked panel. All workspaces stay mounted even when hidden, so background agents keep running.
| Do this | Shortcut |
|---|---|
| New workspace (opens the wizard) | Ctrl+Shift+T |
| Previous / next workspace | Ctrl+Shift+PageUp / PageDown |
| Jump to workspace 1–9 | Ctrl+Shift+1 … Ctrl+Shift+9 |
The workspace rail on the left lists your workspaces with a terminal-count badge and activity / attention dots; it’s where you switch themes and hit + to open the wizard. Double-click a workspace’s name to rename it (Enter or blur to commit, Esc to cancel). You can also duplicate a workspace (a deep clone of its layout) and save layouts as presets.
Session persistence
Section titled “Session persistence”Loom persists intent, not scrollback: the layout tree and each pane’s spec (command, cwd, shell, env, seed prompt, role). On restart it rebuilds the trees and re-runs each pane’s command; Claude panes resume their previous conversation. You get your grid back, freshly launched.
The new-workspace wizard
Section titled “The new-workspace wizard”The wizard (Ctrl+Shift+T, or + on the rail) is a single launcher for a whole workspace.
Ctrl/Cmd+Enter creates it; Esc closes.
Where it runs
- Name — auto-derived from the folder’s name until you edit it.
- Working folder — a native folder picker, plus Recents (remembers the folder and its pane count).
- Presets — built-ins like Fleet ×4, Web dev, and Blank, plus any presets you’ve saved. Launch or delete them from here.
What runs
- Layout — pick a preset tile grid (1 / 2 / 4 / 6) or drag a slider for 1–16 panes.
- Fill every pane with — choose a shell or a built-in agent and apply it to all panes at once.
- Per-pane editing — click any pane in the live preview to set its own agent or shell,
a free-text command, its cwd, and a seed prompt (typed into the pane once on launch). Panes
whose command isn’t on your
PATHshow a ⚠ not installed warning before you launch.
Loom ships knowing several CLI agents — Claude Code, Codex, Gemini, Copilot, Amazon Q, Aider, and Cursor — so they show up as one-click chips; see Agents, MCP & hooks.
Tear-off: a pane in its own window
Section titled “Tear-off: a pane in its own window”Pop the focused pane into its own OS window with Ctrl+Shift+N (or ⋯ → Tear off into
window). The process doesn’t move — Loom just re-points the pane’s output at the new window,
and the main grid shows a placeholder. A torn-off pane is still reachable by loom send and
broadcast (those write straight to the process), so you can drive it from elsewhere. Close the
window to re-dock the pane back into the grid, its buffer intact. Quitting Loom closes
torn-off windows and ends their processes.