Skip to content
VoidNote

CLI Reference

Create and read zero-knowledge notes from your terminal, scripts, Dockerfiles, and CI pipelines.

Installation

macOS · Linux (via Homebrew)
brew tap quantum-encoding/tap && brew install voidnote
Any platform with Go installed
go install github.com/quantum-encoding/voidnote-cli@latest

Pre-built binaries for macOS, Linux (amd64/arm64), and Windows are available on the releases page.

Authentication

Log in once. The CLI stores credentials in ~/.config/voidnote/credentials.

shell
# interactive login
voidnote login
# non-interactive (CI)
VOIDNOTE_TOKEN=<api-token> voidnote send ...

voidnote send

Encrypt content and return a share link. Content is never sent in plaintext.

usage
voidnote send [flags]
examples

# pipe stdin

echo "deploy key: abc123" | voidnote send

# send a file

voidnote send --file secrets.env

# 3 views, expires in 6 hours

voidnote send --views 3 --expires 6h --title "DB creds"

# output just the URL (useful for scripting)

voidnote send --quiet < secret.txt
Flag Default Description
--file, -f stdin File to encrypt and send
--title, -t Optional title (stored in plaintext)
--views, -v 1 Max views before destruction (1–100)
--expires, -e 24h Expiry: 1h, 6h, 24h, 3d, 7d, 30d
--quiet, -q false Print only the URL, no decoration
--json false Output result as JSON

voidnote read

Fetch and decrypt a note by URL. Counts as one view.

examples

# print to stdout

voidnote read https://voidnote.net/note/<token>

# save to file

voidnote read <url> --out secrets.env

# pipe into a command

voidnote read <url> | source /dev/stdin

Other commands

Command Description
voidnote login Authenticate and store credentials
voidnote logout Remove stored credentials
voidnote status Show auth status and credit balance
voidnote list List your recent notes (title, expiry, views remaining)
voidnote version Print CLI version and check for updates

CI / CD examples

GitHub Actions — send secrets to a teammate without storing them in logs:

.github/workflows/share-creds.yml
- name: Share deploy key
  run: |
    echo "${{ secrets.DEPLOY_KEY }}" \
      | voidnote send --views 1 --expires 1h --quiet
  env:
    VOIDNOTE_TOKEN: ${{ secrets.VOIDNOTE_TOKEN }}

Dockerfile — inject secrets at runtime without baking them into the image:

Dockerfile
RUN curl -sL https://dl.voidnote.net/cli/install.sh | sh
ARG VOID_URL
RUN voidnote read "$VOID_URL" > /run/secrets/app.env

Environment variables

Variable Description
VOIDNOTE_TOKEN API token — overrides stored credentials (use in CI)
VOIDNOTE_API_URL Override API base URL (self-hosted instances)
NO_COLOR Disable colour output (standard NO_COLOR convention)