Install arrow on any box you own.
arrow ships as a single static binary - no runtime, no daemon, no service account. Pick the install method that fits your platform.
One-line installer
Downloads the latest release, verifies the signature against the GitHub attestation, and writes the binary to ~/.local/bin. Idempotent and rerunnable.
$ curl -fsSL https://arrow.run/install | sh › downloaded arrow 0.3.2› verified signature (a4f9c12)› installed to ~/.local/bin/arrow # ensure ~/.local/bin is on $PATH$ arrow --version› arrow 0.3.2 (a4f9c12)Homebrew
arrow is published on Homebrew core. The tap is maintained by the core team and refreshed within minutes of each release.
$ brew install arrow # verify$ arrow --version› arrow 0.3.2 (a4f9c12) # update later$ brew upgrade arrowScoop or winget
On Windows, arrow ships as a portable zip and through the Scoop and winget package managers. Pick whichever fits your toolchain.
Scoop
› scoop install arrow # verify› arrow --version› arrow 0.3.2 (a4f9c12)winget
› winget install --id=Arrow.Arrow -e › found Arrow.Arrow 0.3.2› installed successfullynpm / npx
If your project already uses Node, you can install arrow alongside your other dev dependencies. The package wraps the same static binary.
# dev dependency$ pnpm add -D arrow # or run ad-hoc without installing$ npx arrow@latest run build # verify$ pnpm arrow --version› arrow 0.3.2 (a4f9c12)From source
The main branch is published continuously. Building from source is a quick cargo build --release with no external system dependencies.
$ git clone https://github.com/example/arrow$ cd arrow$ cargo build --release › Compiling arrow v0.3.2› Finished release in 14.2s $ ./target/release/arrow --version› arrow 0.3.2 (a4f9c12)Verifying, updating, removing
Verification, updates, and uninstall are deliberately a one-liner each. We do not run a native installer that needs admin rights.
Verify the install
$ arrow doctor › ✓ arrow 0.3.2 (a4f9c12)› ✓ cache directory ~/.arrow/cache is writable› ✓ ~/.local/bin is on $PATH for your shell› ✓ TOML config parser loaded (arrow.toml v3)Update
# self-update for any install method$ arrow self update › current 0.3.2 → latest 0.4.0› downloaded, verified, replaced› arrow is now 0.4.0Uninstall
$ arrow self uninstall › removed ~/.local/bin/arrow› left ~/.arrow/cache in place (kept in case you reinstall)› nothing else was written to diskShell completions
arrow ships completions for zsh, fish, and PowerShell. They are generated at build time and printed as static snippets so the CLI is fast even at very large tab-completion depths.
# arrow shell completions — generated for arrow 0.3.2
eval "$(arrow completions zsh)"For bash, append the snippet to ~/.bash_completion.d/arrow. For fish, save it to ~/.config/fish/completions/arrow.fish. The one-liner adds tab-completion for every subcommand, flag, and config key - including values from any arrow.toml in the current directory.