Skip to main content
The keel CLI is a single static binary with no runtime dependencies. It contains the local UI (keel dev), the headless deployer (keel deploy), and the manifest generator. Releases are published on GitHub for macOS, Linux, and Windows on amd64 and arm64.

Prerequisites

  • Docker, running, on any machine that will execute deployments. The CLI itself starts without it, but keel dev and keel deploy build the environment image and run the steps with the Docker daemon.

Install

The script detects your OS and architecture, downloads the latest release, verifies its SHA-256 against the release’s checksums.txt, and installs keel into /usr/local/bin — using sudo when that directory is not writable and a terminal is attached, and falling back to ~/.local/bin otherwise.Two environment variables adjust it:

Verify

If keel --version prints a version, you are ready for the quickstart.

Upgrade

keel update replaces the binary in place after verifying the download’s checksum; keel update --check only tells you whether a newer release exists. The CLI also looks for a new release in the background at most once a day and mentions it after a command — set KEEL_NO_UPDATE_CHECK=1 to turn that off. Details are in the CLI reference. Running the install command again works too — it always installs the latest release, or the release pinned with KEEL_VERSION. With Go, re-run go install with the new version.

Uninstall

Delete the binary (/usr/local/bin/keel, ~/.local/bin/keel, or %LOCALAPPDATA%\Programs\keel\keel.exe). Keel keeps two other things on a machine, both safe to delete:
  • .keel/ inside each repository you ran keel dev in — the local SQLite database with targets, encrypted values, and run history.
  • A key file that encrypts those values: ~/Library/Application Support/keel/dev.key on macOS, ~/.config/keel/dev.key on Linux, %AppData%\keel\dev.key on Windows. Deleting it makes every saved value in every .keel/dev.db on that machine unreadable. The same directory holds update-check.json, the background update check’s last answer.

Vendoring Keel into a repository

Teams that should not install anything can get the full local Keel experience from a repository that has the binaries committed. See Embed Keel in a repository.

Keel Cloud

The multi-user edition, keel-cloud, is distributed as a Linux binary in the same releases and as a container image, ghcr.io/ucgeorge/keel-cloud. See Self-hosting Keel Cloud.