install grr

Pick the shortest path to your shell.

Prebuilt binaries are the easy default. If you want a package manager, a crates.io install, or a local build, the project documents each route below.

one binary · one OAuth login · six services
brew install debanjanbasu/tap/grr winget install debanjanbasu.grr cargo install grr-cli --locked
release channels

Install the way you already ship software.

The published binary is named grr, even though the crates.io package is grr-cli because the short crate name grr is already taken.

Prebuilt binaries

Download the archive for your platform from GitHub Releases. The release workflow publishes Windows x64, Linux x64, and macOS ARM binaries with checksums.

Open GitHub Releases

macOS + Linux

The repository’s Homebrew tap serves arm64 macOS and x86_64 Linux builds.

homebrew
brew install debanjanbasu/tap/grr

Windows

The Windows package is available through winget. The repository currently notes 0.2.0 as live while the 0.3.0 update is pending review; 0.4.0 is in preparation.

winget
winget install debanjanbasu.grr

crates.io

The crate publishes as grr-cli; the installed executable is grr. The default CLI enables HTTP/3, so a crates.io source install needs nightly Rust and the reqwest_unstable cfg.

cargo · unix
RUSTFLAGS="--cfg reqwest_unstable" cargo install grr-cli --locked

PowerShell: set $env:RUSTFLAGS='--cfg reqwest_unstable' before running cargo. Library users can choose stable Rust with default-features = false and select only the service features they need.

OAuth setup

After installing, create a Google Cloud Desktop OAuth client, put its client ID in ~/.grr/config.toml, and authenticate locally.

first run
grr auth login
grr gmail profile
from source

Build the exact revision you want to run.

The repository pins Rust nightly in rust-toolchain.toml. A local clone uses the repository’s Cargo config, which sets the unstable reqwest cfg and the extra build-std settings needed by the CLI.

The default CLI enables HTTP/3 through reqwest’s rustls/quinn path. The grr_cli library can use stable Rust with default-features = false and HTTP/2, while selecting services such as gmail as needed.

Read development notes
local clone
git clone https://github.com/debanjanbasu/grr-cli.git
cd grr-cli
cargo build --release --locked
./target/release/grr
next step

One-time Google Cloud setup.

Create a Google Cloud project, enable the APIs you need, and create a Desktop OAuth client. The repository’s setup guide walks through the consent screen, client ID, and headless login flow.