Installation
Install the envi CLI on macOS, Linux, Termux, or Windows.
Two ways to install, both giving you the same single static binary.
With the install script
It detects your OS and CPU architecture at runtime and grabs the right build from the latest release — there's nothing to configure, and no Node required.
curl -fsSL https://install.envisecrets.com | sh
Termux runs on Android's Linux kernel, so this is the same Linux build everyone else gets — it installs to Termux's own $PREFIX/bin automatically instead of ~/.local/bin, since that's already on PATH there.
With a package manager
If Node is already part of your stack, install it the same way as everything else:
npm install -g @shellhaki/envi-cli
There is no install script in the package. The binary for your platform arrives as an optional dependency that your package manager picks by os and cpu, so this works under npm ci --ignore-scripts and pnpm's default settings, where a package that downloads on install would quietly leave you with no working command.
Adding it to a project rather than installing globally works too, which pins the CLI version alongside everything else your project depends on:
npm install --save-dev @shellhaki/envi-cli
npx envi pull
Every download is checked against a SHA-256 checksum before anything is installed — if it doesn't match, the script fails loudly rather than installing a corrupted or tampered binary.
Verify it
envi version
Keeping it up to date
envi update check # is there a newer release?
envi update now # install it
envi update knows how it was installed. A script install replaces its own binary, verifying the checksum first. A package-manager install hands the job to whichever manager owns it — npm, bun, pnpm or yarn — because overwriting the file directly would leave the package manager still reporting the old version.
Installing a specific version
Both scripts accept a version instead of defaulting to latest:
curl -fsSL https://install.envisecrets.com | sh -s v0.2.0
irm https://install.envisecrets.com/install.ps1 -OutFile install.ps1; ./install.ps1 v0.2.0
Choosing the install location
Set ENVI_INSTALL_DIR before running the script to install somewhere other than the default:
export ENVI_INSTALL_DIR=/usr/local/bin
curl -fsSL https://install.envisecrets.com | sh
Export the variable first, then pipe the script — ENVI_INSTALL_DIR=/path curl ... | sh only sets it for curl, not for the sh process reading the piped script, since they're separate processes in the pipeline.
Manual install
Prefer not to run a piped script? Grab a binary directly from the releases page — archives are provided for darwin (amd64/arm64), linux (amd64/arm64/armv7), and windows (amd64/arm64), each alongside a checksums.txt.
curl -LO https://github.com/shellhaki/envi/releases/latest/download/envi_<version>_linux_amd64.tar.gz
tar -xzf envi_<version>_linux_amd64.tar.gz
sudo mv envi /usr/local/bin/
Next step
QuickstartAuthenticate and push your first .env file.
npm install -g @shellhaki/envi-cli@0.4.0
Uninstalling
envi uninstall # script installs
npm uninstall -g @shellhaki/envi-cli # or your package manager

