Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Commands Overview

Usage: git-loom [OPTIONS] [COMMAND]

Workflow:
  init              Initialize a new integration branch
  update, up        Pull-rebase and update submodules
  push, pr          Push a branch to remote
  agent             Install the loom skill for AI agents

Staging:
  add               Stage files using short IDs or paths [-p for interactive hunks]

Commits:
  commit, ci        Create a commit on a feature branch [-p for interactive hunks]
  fold              Amend, fixup, or move commits [-p for interactive hunks] [amend, am, fixup, mv, rub]
  absorb            Auto-distribute changes into originating commits
  split             Split a commit into two [-p for interactive hunks]
  swap              Swap two commits
  reword, rw        Reword a commit message or rename a branch
  drop, rm          Drop a change, commit, or branch

Branches:
  branch, br        Manage feature branches (create, merge, unmerge)
  switch, sw        Switch to any branch for testing (without weaving)

Inspection:
  status            Show the branch-aware status (default command)
  tui               Interactive status TUI (tree + diff, with actions)
  show, sh          Show commit details (like git show)
  diff, di          Show a diff using short IDs (like git diff)
  trace             Show the latest command trace

Recovery:
  continue, c       Resume a paused operation after resolving conflicts
  abort, a          Cancel a paused operation and restore original state

Options:
      --no-color       Disable colored output
      --agent          Machine-readable JSON status output for AI agents (see also LOOM_AGENT)
      --theme <THEME>  Color theme for graph output [default: auto] [possible values: auto, dark, light]
  -h, --help           Print help (see more with '--help')
  -V, --version        Print version

Running git loom with no command is equivalent to git loom status.

All commands that accept a target (commit, branch, or file) support short IDs — the compact identifiers shown in the status output. You can also use full git hashes, branch names, or partial hashes.

Passing Options to Git

show, diff, commit and add each wrap a single git command. Anything after a -- separator is handed to that command untouched:

git loom show -- --stat
git loom diff ab..d0 -- --name-only
git loom commit -m "wip" -- --no-verify
git loom add zz -- -f

Before the separator loom parses strictly, so an option it doesn’t define is an error rather than a guess — the message tells you to move it after the --. That also means a flag keeps loom’s meaning on loom’s side of the separator and git’s meaning on git’s: git loom diff -a is loom’s --all, while git loom diff -- -a is git’s --text.

Forwarded arguments land after the revisions loom resolved and before any pathspec loom builds, so options stay options and paths stay paths. Because the tokens are never inspected, values may be attached or detached — -U5, --unified=5 and -S x all reach git as written.

When you forward arguments to add or commit, loom steps back: the git command runs uncaptured so its own output reaches you, and loom stops narrating what it can no longer vouch for. (Under --agent those two stay captured — there is nobody there to close an editor.) show and diff are always uncaptured; displaying is all they do.

The other commands don’t take a --: they either render their own output or drive a rebase, where there is no single git command to forward to.