Skip to content

Settings & configuration

Open Settings with Ctrl+Shift+,. It’s tabbed — Appearance, Terminal, and Keys — and stored as a single JSON blob merged over sensible defaults.

  • Font — family and size (9–24).
  • Cursor — style and blink.
  • Scrollback — lines kept per pane (default 5000).
  • Theme — Loom Dark, Loom Light, Midnight, or Paper (also switchable from the rail).
  • Default shell and default working directory for new terminals.
  • Editor command — used by Ctrl+Shift+I (default code; a {dir} token is substituted, or the path is appended).
  • Auto-adopt agents (on) — if you start a known agent by hand in a pane, Loom remembers it as that pane’s command for restarts.
  • Resume agent sessions (on) — Claude panes resume their previous conversation on restart.

These guardrails are on by default and prompt before something disruptive:

  • Confirm close — closing a pane with a live process.
  • Confirm external spawn — a loom spawn from the bus.
  • Confirm destructive broadcast — a broadcast that looks dangerous.
  • Honor input holds — respect input gates.

Use loom broadcast --dry-run to preview which panes a broadcast would reach (marking dead and gated panes) without sending anything.

  • Idle/stuck threshold — flag an agent pane that’s been silent this many seconds (default 45; 0 disables).
  • Heuristic status — the opt-in, per-agent content observer (ADR-0011). It’s off for Claude and plain shells, and any guessed status is always overridden by a fact an agent pushes. This is the one place Loom looks at output content, and it’s clearly labeled as a guess and switchable off.
  • Notify on attention (off) — a desktop notification when a pane raises its attention border.
  • Global hotkey — summon/hide Loom from anywhere (default `Ctrl+Alt+``; can be disabled).
  • Close to tray — keep running in the system tray when the window closes.
  • Session logging (opt-in) — write a pane’s raw output to a log file.
  • History pruning — agent history is bounded by age (default 90 days) and count (default 1000 sessions).

Every pane’s child process gets these, and the CLI directory is prepended to PATH so loom and loom mcp resolve:

Variable What it is
LOOM_SOCK The control-bus socket the CLI talks to.
LOOM_PANE This pane’s routing handle — the default self-target for attention, status, role.
LOOM_BIN Directory holding the loom binary (added to PATH).

Loom also sets TERM=xterm-256color and COLORTERM=truecolor. The control socket lives at $XDG_RUNTIME_DIR/loom.sock (falling back to /tmp/loom-<user>.sock) on Linux, and a per-user named pipe on Windows — mode 0600, a same-user trust boundary. Outside Loom these are unset and the CLI is an inert no-op.

  • App config dirsettings, theme, workspaces.json, recent folders, saved presets, and the closed-pane reopen history.
  • Per project.loom/board.json (the task board) and .loom/notes.json (the blackboard), so that state travels with the repo.