Installation
Quick install
macOS and Linux
Copy the command below into your terminal. The script shows exactly what it will do before downloading anything:
curl -fsSL https://raw.githubusercontent.com/ewatch/snow-cli/main/scripts/install.sh | bash
You will see a plan like this and be asked to confirm:
Plan:
Download: https://github.com/ewatch/snow-cli/releases/download/v0.4.0/snow-cli-aarch64-apple-darwin.tar.gz
Release: v0.4.0
Install to: /Users/you/.local/bin
Binaries: snow-cli, snow-cli-ro
Proceed? [Y/n]
Skip the confirmation
If you are running this in CI or prefer no prompts:
FORCE=1 curl -fsSL https://raw.githubusercontent.com/ewatch/snow-cli/main/scripts/install.sh | bash
Use a different directory
INSTALL_DIR=/usr/local/bin curl -fsSL https://raw.githubusercontent.com/ewatch/snow-cli/main/scripts/install.sh | bash
Windows
Open PowerShell and run:
irm https://raw.githubusercontent.com/ewatch/snow-cli/main/scripts/install.ps1 | iex
The script shows the same plan-and-confirm flow. To skip the prompt in automation:
$env:FORCE = "1"; irm https://raw.githubusercontent.com/ewatch/snow-cli/main/scripts/install.ps1 | iex
What the script does (in plain English)
- Detects your operating system and CPU architecture.
- Finds the latest release on GitHub.
- Downloads the matching archive (
tar.gzfor macOS/Linux,zipfor Windows). - Extracts it to a temporary folder.
- Copies
snow-cliandsnow-cli-rointo the install directory. - Tells you if the directory is missing from your
PATHand how to add it.
No registry changes, no admin rights required by default, and the archive is deleted automatically.
Manual install (pre-built binaries)
If you prefer to install by hand, download the archive for your platform from the GitHub releases page.
| Platform | Archive |
|---|---|
| macOS Intel | snow-cli-x86_64-apple-darwin.tar.gz |
| macOS Apple Silicon | snow-cli-aarch64-apple-darwin.tar.gz |
| Linux x64 | snow-cli-x86_64-unknown-linux-gnu.tar.gz |
| Windows x64 | snow-cli-x86_64-pc-windows-msvc.zip |
The "unknown" in the Linux filename is not a placeholder — it is the standard Rust target triple vendor field (x86_64-unknown-linux-gnu), which is how the release archives are named.
Extract the archive and place snow-cli (and optionally snow-cli-ro) in a directory on your PATH.
Build from source
Clone the repository and build the release binary:
git clone https://github.com/ewatch/snow-cli.git
cd snow-cli
cargo build --release
The binaries are created at:
target/release/snow-cli
target/release/snow-cli-ro
Run:
./target/release/snow-cli --help
Development build
For local development, run through Cargo:
cargo run -- --help
cargo run -- table list --help
Verify the project
Before contributing changes, run:
cargo fmt -- --check
cargo test
cargo clippy -- -D warnings
Configuration file
snow-cli stores profile configuration in:
~/.servicenow/config.toml
Secrets are stored in the operating system keychain where possible, not in plaintext config files.