Waza
A Go CLI for evaluating AI agent skills — scaffold eval suites, run benchmarks, and compare results across models.
Installation
Binary Install (recommended)
Download and install the latest pre-built binary with the Bash install script on macOS, Linux, or Windows Bash environments such as Git Bash, MSYS2, or Cygwin:
curl -fsSL https://raw.githubusercontent.com/microsoft/waza/main/install.sh | bash
The Bash script auto-detects the OS and architecture of the environment where Bash is running (linux/darwin/windows, amd64/arm64), downloads the latest standalone waza CLI release, verifies the checksum, and installs to /usr/local/bin (or ~/bin if not writable).
For native Windows PowerShell:
irm https://raw.githubusercontent.com/microsoft/waza/main/install.ps1 | iex
The PowerShell script downloads the latest standalone native Windows waza binary, verifies the checksum, and installs to an existing waza.exe location or %LOCALAPPDATA%\Microsoft\Waza. On Windows, piping the Bash command from PowerShell may invoke WSL and install the Linux binary inside WSL.
Or browse the GitHub Releases page and choose the standalone waza binary assets for the version you want.
Install from Source
Requires Go 1.26+:
Note: due to the use of LFS artifacts you cannot install waza using go install. To install waza outside of a normal release, clone the repository:
git clone https://github.com/microsoft/waza.git
cd waza
# ensure git LFS-based artifacts are available (for embedded copilot binaries)
git lfs install
git lfs pull
go build -o waza ./cmd/waza
./waza <waza command line>
Waza bundles the GitHub Copilot CLI used by the copilot-sdk executor and extracts it and its runtime assets to a versioned directory in the local user cache on first use (or under COPILOT_HOME/cache when set). Set COPILOT_CLI_PATH only when you need to force a specific Copilot CLI binary. Installation failures are reported without falling back to a CLI on PATH; set COPILOT_CLI_INSTALL_VERBOSE=1 for installation diagnostics.
Azure Developer CLI (azd) Extension
Waza is also available as an azd extension:
# Add the waza extension registry
azd ext source add -n waza -t url -l https://raw.githubusercontent.com/microsoft/waza/main/registry.json
# Install the extension
azd ext install microsoft.azd.waza
# Verify it's working
azd waza --help
Once installed, all waza commands are available under azd waza. For example:
azd waza init my-eval --interactive
azd waza run examples/code-explainer/eval.yaml -v
Update Notifications
Waza automatically checks for new versions in the background. If an update is available, a notice appears after command output:
A newer version of waza is available: v0.24.0 → v0.28.0. Run: waza update
Run waza update to download and execute the official OS-specific installer after an explicit confirmation prompt. It uses the Bash installer on macOS/Linux and the PowerShell installer on native Windows. Use waza update --yes to skip the prompt in scripted environments. The check is non-blocking (never slows commands), cached for 24 hours, and can be disabled with --no-update-check or WAZA_NO_UPDATE_CHECK=1.
Quick Start
For New Users: Get Started in 5 Minutes
See Getting Started Guide for a complete walkthrough:
# Initialize a new project
waza init my-project && cd my-project
# Create a new skill
waza new skill my-skill
# Define the skill in skills/my-skill/SKILL.md
# Write evaluation tasks in evals/my-skill/tasks/
# Add test fixtures in evals/my-skill/fixtures/
# Run evaluations
waza run my-skill
# Check skill readiness
waza check my-skill
All Commands