Installing the CLI
Every install method below places two binaries on your PATH: dig-store and its shorthand digs. They're the same program — digs <args> behaves identically to dig-store <args> (same commands, flags, and --json output) — so use whichever you prefer. For example, digs new my-app and dig-store new my-app do exactly the same thing.
Raw binary (Windows / macOS / Linux)
Download the binary for your OS/CPU from the Releases page:
dig-store-<ver>-windows-x64.exe— Windowsdig-store-<ver>-macos-arm64— Apple Silicon Mac (M1/M2/M3)dig-store-<ver>-macos-x64— Intel Macdig-store-<ver>-linux-x64— Linux (x86-64), or thedig-store-<ver>-aarch64-unknown-linux-gnu.tar.gztarball for ARM Linux
A macOS/Linux binary has no file extension — that's normal, not a broken download.
Downloaded binaries lose their exec bit, and macOS quarantines an unsigned download (Gatekeeper). Two commands fix both — no sudo needed:
chmod +x dig-store-<ver>-macos-arm64
xattr -d com.apple.quarantine dig-store-<ver>-macos-arm64 # macOS only: clear Gatekeeper
mv dig-store-<ver>-macos-arm64 /opt/homebrew/bin/dig-store # Apple Silicon (no sudo); Intel/Linux: /usr/local/bin
dig-store --version
On Windows, place dig-store-<ver>-windows-x64.exe in a folder on your PATH (renaming it dig-store.exe is optional but convenient), then open a new terminal and confirm:
dig-store --version
If you hit permission denied on macOS/Linux, it's the exec bit or the quarantine above — not privileges. sudo is the wrong fix.
Guided setup (DIG Installer)
Prefer a desktop wizard, or want dig-store alongside a local node in one run? The DIG Installer puts dig-store on your PATH with no manual steps, installs dig-node and dig-dns as boot-start services by default, and — on Windows — registers the DIG brand icon for .dig files. Its desktop wizard (DIG-Installer-Setup-<version>-{windows-x64.exe, macos.dmg, linux-x86_64.AppImage}) walks Welcome → License → Components → Install → Done.
Build from source (any platform)
You need Rust (the version is pinned via rust-toolchain.toml). The CLI embeds a WebAssembly guest, so build that target first:
rustup target add wasm32-unknown-unknown
cargo build -p digstore-guest --target wasm32-unknown-unknown --release
cargo build -p digstore-cli --release
The binary lands at target/release/dig-store (dig-store.exe on Windows). Copy it somewhere on your PATH.
Keeping up to date
dig-store update is a built-in self-updater. On macOS and Linux it downloads and installs the latest release in place — it detects your OS and CPU, downloads the matching binary, verifies it, makes it executable, clears the macOS quarantine, and atomically replaces the running dig-store. If the install location isn't writable it stops and prints the exact manual steps.
dig-store update # download + install the latest release, in place
dig-store update --check # just report whether a newer release exists
On Windows, download the latest dig-store-<ver>-windows-x64.exe from the Releases page (or re-run the DIG Installer) and use it to replace the binary on your PATH.
Related
- CLI tutorial — create, commit, and read a store in minutes
- On-chain anchoring — wallet setup and funding before
init - Command reference — every
dig-storecommand - What is dig-store? — what the CLI operates on
Next: Quick start →