Skip to main content
The Veto CLI provides both interactive and headless workflows for managing AI agent safety policies. Launch the full-screen Studio TUI for real-time policy development, or use headless commands for CI/CD integration.

Core Capabilities

Interactive Studio

Launch the interactive Veto Studio terminal UI for managing policies, reviewing decisions, running tests, and monitoring agent activity:
veto studio

Policy Management

Generate and apply policies from natural language or YAML:
veto policy generate --tool transfer_funds --prompt "block transfers over $500"
veto policy apply --file ./veto/rules/financial.yaml

Guard Validation

Test tool calls against your rules without running an agent:
veto guard check --tool transfer_funds --args '{"amount": 600}' --json

Coverage Analysis

Audit which tools have rules and which don’t:
veto scan --fail-uncovered

Policy Diffing

Compare policy versions and see impact on historical calls:
veto diff financial.yaml --log calls.jsonl

Available Commands

CommandDescription
studioLaunch interactive Veto Studio TUI
initInitialize Veto in a new project
policy generateGenerate policy YAML from natural language
policy applyApply policy file locally or to cloud
guard checkValidate a tool call against current rules
scanCoverage audit - which tools have rules
diffShow what changed between policy versions
cloudAuthenticate and manage Veto Cloud
doctorRun diagnostics on runtime, auth, and connectivity

Command Types

Interactive Commands

  • studio - Full-screen TUI for policy development
  • init - Project setup wizard

Policy Commands

  • policy generate - AI-powered policy generation
  • policy apply - Deploy policies locally or to cloud
  • guard check - Test individual tool calls

Analysis Commands

  • scan - Coverage audit across your codebase
  • diff - Policy change impact analysis
  • doctor - System diagnostics

Cloud Commands

  • cloud login - Authenticate with Veto Cloud
  • cloud whoami - Show active account context
  • cloud org use - Switch organization
  • cloud project use - Switch project

Global Options

--directory <path>     Workspace directory (default: current directory)
--json                 Print machine-readable JSON output
--non-interactive      Disable interactive prompts (for CI)
--help, -h            Show command help

Quick Examples

Generate a policy from natural language

veto policy generate \
  --tool approve_invoice \
  --prompt "do not approve invoices above $5000" \
  --save ./veto/rules/invoices.yaml

Test a tool call

veto guard check \
  --tool approve_invoice \
  --args '{"amount": 120, "vendor": "Acme Corp"}' \
  --json

Check coverage and fail if uncovered tools exist

veto scan --fail-uncovered

Compare policy versions with impact on historical calls

veto diff financial.yaml --log calls.jsonl --format json

Exit Codes

  • 0 - Success
  • 1 - Error or validation failure

Next Steps

Build docs developers (and LLMs) love