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.
Appearance
Section titled “Appearance”- 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).
Terminal defaults
Section titled “Terminal defaults”- Default shell and default working directory for new terminals.
- Editor command — used by
Ctrl+Shift+I(defaultcode; 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.
Safety confirmations
Section titled “Safety confirmations”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 spawnfrom the bus. - Confirm destructive broadcast — a
broadcastthat 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.
Fleet & activity
Section titled “Fleet & activity”- 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.
Window & tray
Section titled “Window & tray”- 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.
History & logging
Section titled “History & logging”- 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).
The environment Loom injects into panes
Section titled “The environment Loom injects into panes”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.
Where state lives
Section titled “Where state lives”- App config dir —
settings,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.