A formula (not a cask) in the caesar-data/homebrew-tap repo.
npm
Package caesar-search-cli, binary caesar-search. Requires Node 20 or newer. No postinstall scripts, so --ignore-scripts works.
Installer script
Verifies the sha256 checksum against the release checksums.txt, then installs to ~/.local/bin (override with CAESAR_INSTALL_DIR). macOS and Linux, x64 and arm64.
Prebuilt archives for all platforms (including Windows), with checksums and SBOMs, are on GitHub Releases.
version prints caesar-search 0.1.4 (<commit>, <date>); with --json it returns {"version": ..., "commit": ..., "build_date": ...}. The search runs keyless — the anonymous tier is live at a lower rate limit.
An API key raises your rate limits; without one the CLI runs anonymously. Either set the CAESAR_API_KEY environment variable, or store the key in the config file:
caesar-search auth login # prompts for the key, input hiddencaesar-search auth login --key - # reads the key from stdin, e.g. piped from a secret manager
Never paste an API key into a chat or leave it in shell history. Use the hidden auth login prompt, or pipe it in with --key -. The CLI stores keys with mode 0600, masks them in all output, and never logs them.
Check what the CLI is using:
caesar-search auth status --json
The payload reports key_present, key_source (flag, env, config, or none), key_masked, base_url, api_reachable, and config_path. caesar-search auth logout removes the stored key. Full resolution order is on Scripting and CI.
Don’t run npm update -g or brew upgrade by hand — caesar-search update picks the right channel itself. If a flag errors as unknown, the installed CLI is outdated: run caesar-search update and retry.