Skip to main content
gaal ships as a single static binary. Pick the install method that matches your environment.

Quick install (macOS / Linux)

curl -fsSL https://raw.githubusercontent.com/getgaal/gaal/main/scripts/install.sh | sh
Installs the latest release to ~/.local/bin/gaal. Make sure ~/.local/bin is on your $PATH.

Pin a version

curl -fsSL https://raw.githubusercontent.com/getgaal/gaal/main/scripts/install.sh | VERSION=v0.1.2 sh

Install elsewhere

curl -fsSL https://raw.githubusercontent.com/getgaal/gaal/main/scripts/install.sh | INSTALL_DIR=/usr/local/bin sh

Verbose output

GAAL_INSTALL_DEBUG=1 curl -fsSL https://raw.githubusercontent.com/getgaal/gaal/main/scripts/install.sh | sh

Help

curl -fsSL https://raw.githubusercontent.com/getgaal/gaal/main/scripts/install.sh | sh -s -- --help

With Go

If you have a Go 1.26+ toolchain installed:
go install github.com/getgaal/gaal@latest
The binary lands in $GOBIN (or $GOPATH/bin if GOBIN is unset).

From source

Requires Go 1.26+ and make.
git clone https://github.com/getgaal/gaal.git
cd gaal
make build
The binary is written to dist/gaal. Move it to your $PATH:
sudo cp dist/gaal /usr/local/bin/gaal
# or, user-local:
cp dist/gaal ~/.local/bin/gaal

Verify the install

$ gaal version
gaal v0.1.0
built 2026-04-18T09:00:00Z
If the command isn’t found, ~/.local/bin is probably not on your $PATH. Add this to your shell profile:
export PATH="$HOME/.local/bin:$PATH"

Shell completion

gaal ships completion scripts for bash, zsh, fish, and PowerShell. See the gaal completion reference.

Next

Quickstart

Run your first sync in five minutes.

How gaal works

Understand the model before you write YAML.