Skip to content

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 like Faye or Cleo — is assigned for you, shown as a faint watermark, and is what you target with loom send, broadcast, and friends. Get handles from loom 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.
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.

  • 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.

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.

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+1Ctrl+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.

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 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 PATH show 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.

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.