Loom keeps your agents on track.

Install the Loom CLI

This page installs the shared, user-level loom command on macOS, Linux or Windows, which is the first step for every hosted or private user.

The installer needs no harness and no account. Install it before any coding-agent integration.

Requirements#

  • macOS or Linux: python3, tar, curl (or wget), and sha256sum or shasum.
  • Windows: tar available in PowerShell. The installer downloads a checksum-verified private uv into ~/.loom/bin and uses it to provision Loom's own Python, so you do not need Python or uv preinstalled.

On macOS and Linux the installer uses an existing uv if you have one and otherwise installs a private copy under ~/.loom/bin. On macOS and Linux the installer prints how to put ~/.local/bin (the loom launcher) on PATH if it is not there. The Claude Code, Codex and OpenCode integrations start Loom's MCP server with the bare command uv, so when the private copy is the uv in use, the installer also makes it reachable (v0.672 or later):

  • It writes ~/.loom/env, a small file that appends ~/.loom/bin to PATH (after your own entries, so a uv you already have keeps winning), and adds the line . "$HOME/.loom/env" to ~/.profile, plus ~/.bash_profile, ~/.bashrc and ~/.zshrc where they exist and your current shell's own startup file. When fish is your login shell ($SHELL) it also writes ~/.config/fish/conf.d/loom-uv.fish; an existing fish config alone does not trigger it.
  • If ~/.local/bin is already on PATH and writable, it links ~/.local/bin/uv to the private copy unless something named uv is already there.
  • It ends by printing Loom put its private uv on PATH for new terminals. For this terminal, run: followed by . "$HOME/.loom/env". Run that line in the terminal you will start your harness from, or open a new terminal.
  • A profile that is a symlink, or a file it cannot write, is left alone; the installer then prints Not changed: <file> (<reason>). Add this line to it yourself: <line> and still succeeds.

On Windows the installer already adds ~/.loom/bin to your user PATH; open a new terminal for it to take effect. With a uv of your own (for example from Homebrew), none of this is done. Not verified on a clean Windows account: the installer adding ~/.loom/bin to your user PATH.

Install#

Run the installer#

macOS and Linux#

curl -fsSL https://loomcloud.ai/.well-known/cli/install.sh | sh

The script downloads loom-cli-bootstrap.tar.gz and SHA256SUMS, verifies the checksum, and runs the bundled installer. On macOS and Linux its first output line is loom-cli-bootstrap.tar.gz: OK; the Windows script prints only Loom command installed: <path>, Loom runtime environment: <path> and the Next: line. If you have no uv, the first run prints the absolute path, for example uv was not found; installing a private copy into /home/<you>/.loom/bin. It finishes with Next: run 'loom setup' to connect this machine to your Loom store. (releases before v0.674 said "hosted store").

Private: After the install, follow Connect your coding agents instead.

Windows#

irm https://loomcloud.ai/.well-known/cli/install.ps1 | iex

The script first installs a checksum-verified private uv if needed, then verifies and runs the same bundled installer.

What gets installed#

ItemmacOS / LinuxWindows
Runtime files~/.loom/cli/%USERPROFILE%\.loom\cli\
loom launcher~/.local/bin/loom%USERPROFILE%\.loom\bin\loom.cmd
Python environment~/.loom/venv%USERPROFILE%\.loom\venv

The installer reports Loom command installed: <path> and Loom runtime environment: <path>. On Windows it updates your user PATH; on macOS and Linux, if ~/.local/bin is not on PATH it prints the lines to fix the current shell and new ones. Open a new terminal if it tells you to.

Verify#

loom --version

This prints loom <version>, for example loom 0.674.0. It only works as the first argument, and it works even when nothing else is configured. On a build made from a source checkout it prints loom version unknown: this build carries no release stamp.

loom --help prints only the usage line and the list of tool commands (loom_... and kanban_... names); it does not list setup, login, drop_store, fleet or residual, and loom setup --help is not supported yet: it prints loom setup: unknown argument '--help' and exits 2. A later release lists the built-in commands in loom --help and answers loom setup --help. Run loom <tool> --help for one tool (v0.674 or later) and see the CLI reference for the built-in commands.

If your shell says loom: command not found, ~/.local/bin is not on PATH yet. Run the export line the installer printed (current shell) and the echo line it printed (future shells), or open a new login terminal. A new login terminal works only where your shell profile adds ~/.local/bin to PATH (Ubuntu's default does once the directory exists); otherwise run the printed export line.

Next step#

Run loom setup.

Uninstall#

There is no uninstall command. Remove the launcher and the Loom runtime directories by hand.

macOS and Linux#

rm -rf ~/.loom/cli ~/.loom/venv ~/.loom/bin ~/.local/bin/loom ~/.loom/env ~/.config/fish/conf.d/loom-uv.fish
[ -L ~/.local/bin/uv ] && [ ! -e ~/.local/bin/uv ] && rm ~/.local/bin/uv

Then delete the two lines # Loom: put its private uv on PATH and . "$HOME/.loom/env" from the startup files the installer edited (~/.profile, ~/.bashrc, ~/.zshrc, ~/.bash_profile where present; it printed Not changed: for any it left alone). Until you do, a new shell prints No such file for ~/.loom/env.

Windows#

Remove-Item -Recurse -Force $env:USERPROFILE\.loom\cli, $env:USERPROFILE\.loom\venv, $env:USERPROFILE\.loom\bin

This does not touch your stores.toml in ~/.loom. Keep it unless you intend to give up local access to your stores.

It also leaves behind:

  • The uv package cache in ~/.cache/uv (run uv cache clean before removing ~/.loom/bin, or delete the directory) and ~/.config/uv/uv-receipt.json. On macOS a private uv install also leaves ~/.local/share/uv and ~/Library/Caches/com.apple.python.
  • ~/.loom, which still holds stores.toml; and ~/.local/bin, which is empty unless you have other tools there.
  • The export PATH="$HOME/.local/bin:$PATH" line, if you added the one the installer printed for ~/.local/bin; remove it yourself.
  • On Windows, the %USERPROFILE%\.loom\bin entry in your user PATH; remove it from the user environment variables.
  • On Windows, %USERPROFILE%\.loom also keeps its cache, opencode, session-defaults and venvs folders (and stores.toml); the Remove-Item commands above do not remove them. Checked with -WhatIf on Windows 11.