Install

loopkeep is three binaries: loopkeepd (the resident daemon), lk (the CLI and the terminal UI), and the Claude adapter that drives the agent. The daemon runs underneath; you drive it from the CLI, the terminal UI, or the desktop app, whichever you reach for. Install it one of the ways below — they all deliver the same three binaries.

Requirements

  • Claude Code CLI — the default engine drives the claude command as a subprocess. Install it and sign in before running workflows.
  • git — recommended. Checkpoints, rollback, and take-over summaries need a git repository; plain folders work with those features reduced.

Standalone runtime

The installer downloads the signed runtime — lk, loopkeepd, and the adapter — and puts lk on your PATH at ~/.local/bin/lk:

curl -fsSL https://loopkeep.run/install.sh | sh

loopkeepd and the adapter sit next to lk, so only lk needs to be on your PATH (the installer tells you if that directory isn't there yet). Beta builds are macOS on Apple silicon; the installer stops with a note on anything else. Once it's in, start the daemon with lk start.

Keep it current from lk itself — no reinstall:

lk update              # upgrade to the latest release
lk update --rollback   # go back to the version you came from

Desktop app

The desktop app (macOS) bundles all three binaries, so installing it is the only step. Download the latest release from GitHub Releases. It keeps runs alive from the tray — closing the window doesn't stop the daemon — and updates itself when a new version ships.

To use lk in a terminal from the app bundle, open Settings → Command line tool and choose Install lk command. That symlinks /usr/local/bin/lk into the bundle, so app updates keep the command current; macOS may ask for your administrator password. Open a new terminal afterward so the command is on your PATH.

Homebrew and Nix

A Homebrew tap and a Nix package are on the way. Until they land, use the standalone installer or the desktop app above.

Check the install

From a terminal, lk start launches the daemon and lk status reports it:

lk start
lk status

From the desktop app, the footer shows Connected once the service is up.

From here, continue with the Quickstart, take a tour of the app, or open the terminal UI.