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

Configuration

Git Config Settings

SettingValuesDefaultDescription
loom.remote-typegithub, azure, gerritAuto-detectedOverride the remote type for git loom push
loom.push-remoteAny remote nameAuto-detectedOverride which remote to push to (e.g., personal for fork workflows)
loom.hideBranchPatternAny prefix stringlocal-Prefix for branches hidden from loom status by default

loom.remote-type

By default, git loom push auto-detects the remote type:

  • GitHub — if the remote URL contains github.com
  • Azure DevOps — if the remote URL contains dev.azure.com
  • Gerrit — if .git/hooks/commit-msg contains “gerrit”
  • Plain Git — otherwise

You can override this with:

git config loom.remote-type github   # Force GitHub push (push + open PR)
git config loom.remote-type azure    # Force Azure DevOps push (push + open PR)
git config loom.remote-type gerrit   # Force Gerrit push (refs/for/<branch>)

loom.push-remote

By default, git loom push uses the integration branch’s remote for pushing. One exception: if the integration branch tracks a remote named upstream and a remote named origin also exists, pushes go to origin automatically (the standard GitHub fork convention).

For non-standard fork setups where your remotes have different names, set this explicitly:

git config loom.push-remote personal

For example, with remotes:

  • origin → upstream read-only repository
  • personal → your fork (where you push)

Now git loom push will push to personal regardless of remote names.

loom.hideBranchPattern

Branches whose names start with this prefix are hidden from loom status by default — both the branch section and its commits are suppressed. Pass --all to show them.

git config loom.hideBranchPattern "local-"   # default: hide local-* branches
git config loom.hideBranchPattern "secret-"  # hide secret-* branches instead
git config loom.hideBranchPattern ""         # disable hiding entirely

Hidden branches remain fully accessible to all other loom commands (fold, drop, commit, push, etc.).

When creating or renaming a branch to a name that matches this prefix, git-loom prints a warning.

Environment Variables

VariableDescription
NO_COLORDisable colored output when set (follows the NO_COLOR standard)
TERMColors are automatically disabled when TERM=dumb

CLI Flags

FlagDescription
--no-colorDisable colored output
--theme <auto|dark|light>Set the graph color theme (default: auto)

--theme

Controls the color palette used for graph output.

ValueBehavior
autoDetect the terminal background and choose dark or light automatically. Falls back to dark if detection fails or output is not a TTY.
darkAlways use the dark theme (optimized for dark terminal backgrounds).
lightAlways use the light theme (optimized for light terminal backgrounds).
git loom --theme light
git loom --theme dark status