Idle disks, orphaned IPs, NAT gateways, stopped-but-billed VMs, and whatever your AI agent spun up. Azure and AWS. Free CLI, read-only by default.
Example output from azguard resources. Figures are samples, not a live account.
Azure's 12-month free services don't stop when they expire鈥攖hey just start charging you. AWS monthly limits just reset and keep going.
A "free" VM triggers billable disks, IPs, and bandwidth. AWS Lambda needs S3, CloudWatch, and more. One service becomes five charges.
Both clouds let you exceed limits and bill you later. No warnings, no budget locks by default. You find out when the invoice arrives.
azguard resources lists idle disks, unassociated public IPs, NAT gateways, stopped-but-billed VMs, and the AWS equivalents, with a monthly list-price estimate. The command is read-only.
azguard status and azguard scan check Azure. azguard aws checks AWS. The limits files cover 12 Azure services and 13 AWS services. azguard cost shows the current month by service.
azguard budget stores an Azure threshold from $1 to $100, and azguard status prints it when you run the command. azguard watch polls for new billable resources every 15 minutes and can notify your desktop or a webhook. azguard guard checks billable commands against a session budget.
Automatic cleanup is coming soon. Today, azguard cleanup prints a static guide and leaves your cloud resources in place.
Choose your preferred installation method
macOS/Linux
brew install cdobratz/azguard/azguard
Windows
scoop bucket add azguard https://github.com/cdobratz/scoop-azguard
scoop install azguard
curl -sSL https://azguard.dev/install.sh | bash
linux and darwin, amd64 and arm64. The script checks the release checksum before it installs. On Windows, use Scoop above.
Download Latest Release from GitHub
Available for Windows, macOS (Intel & Apple Silicon), and Linux