A CLI for the Antithesis API. See the webhook documentation for details on available endpoints and parameters.
Note
Snouty is new and experimental. Stuff is going to change in the early days. Even so, we hope you'll try it out!
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/antithesishq/snouty/releases/latest/download/snouty-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://github.com/antithesishq/snouty/releases/latest/download/snouty-installer.ps1 | iex"cargo binstall snoutycargo install snouty| File | Platform | Checksum |
|---|---|---|
| snouty-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| snouty-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| snouty-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| snouty-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
Set the following environment variables:
export ANTITHESIS_USERNAME="your-username"
export ANTITHESIS_PASSWORD="your-password"
export ANTITHESIS_TENANT="your-tenant"
export ANTITHESIS_REPOSITORY="us-central1-docker.pkg.dev/your-project/your-repo"The -w/--webhook flag specifies which webhook to call. Common values are basic_test (Docker environment) or basic_k8s_test (Kubernetes environment), unless you have a custom webhook registered with Antithesis.
The -c/--config flag points at a local directory containing your docker-compose.yaml. Snouty builds a config image from that directory and pushes it to ANTITHESIS_REPOSITORY automatically.
snouty run --webhook basic_test --config ./config \
--test-name "my-test" \
--description "nightly test run" \
--duration 30 \
--recipients "team@example.com"Alternatively, pass a pre-built config image directly:
snouty run --webhook basic_test \
--config-image us-central1-docker.pkg.dev/proj/repo/config:latest \
--duration 30Extra parameters (e.g. integration tokens, custom properties) can be passed with --param:
snouty run -w basic_test --duration 30 \
--param antithesis.integrations.github.token=TOKEN \
--param my.custom.property=valueThe api webhook subcommand provides raw access to the webhook API using --key value pairs. This is useful for CI pipelines or advanced use cases.
snouty api webhook -w basic_test \
--antithesis.config_image us-central1-docker.pkg.dev/proj/repo/config:latest \
--antithesis.test_name "my-test" \
--antithesis.duration 30 \
--antithesis.report.recipients "team@example.com"Parameters can also be passed via stdin as JSON:
echo '{"antithesis.duration": "30"}' | snouty api webhook -w basic_test --stdinUsing CLI arguments:
snouty debug \
--antithesis.debugging.session_id f89d5c11f5e3bf5e4bb3641809800cee-44-22 \
--antithesis.debugging.input_hash 6057726200491963783 \
--antithesis.debugging.vtime 329.8037810830865 \
--antithesis.report.recipients "team@example.com"Snouty can handle passing in a Moment.from via stdin:
echo 'Moment.from({ session_id: "...", input_hash: "...", vtime: ... })' | \
snouty debug --stdin --antithesis.report.recipients "team@example.com"Snouty supports tab completions for bash, zsh, fish, powershell, and elvish.
# Add to ~/.bashrc
eval "$(snouty completions bash)"# Add to ~/.zshrc
eval "$(snouty completions zsh)"snouty completions fish > ~/.config/fish/completions/snouty.fish# Add to your PowerShell profile
snouty completions powershell | Out-String | Invoke-Expressionsnouty completions elvish > ~/.config/elvish/lib/snouty.elvThis project was originally developed by orbitinghail for use by Graft. It was donated to Antithesis for the benefit of everyone on Feb 27, 2026.