Skip to content

Quick Start

Detect your platform, probe for existing backends, and generate a models.json:

Terminal window
az bootstrap

This checks common ports (11434 for Ollama, 8080 for llama.cpp, 8000 for vLLM), recommends the best backend for your platform, and optionally installs it. Use --non-interactive for CI or --skip-model to skip model downloads.

Terminal window
cd your-project
az init --private

This creates .agentzero/ with:

  • policy.yml — security policy rules
  • settings.toml — default provider and model
  • models.json — provider configurations
  • audit/ — audit event logs
  • sessions/ — conversation history
  • vault/ — encrypted secrets
  • prompts/ — custom system prompts
  • skills/ — local skill overrides
  • index/ — semantic search index (when using az index build)
Terminal window
az chat

The agent can read files, list directories, search code, and execute tools — all governed by your policy.

you> what does this project do?
[tool: read] ok (1234 bytes)
[tool: list] ok (450 bytes)
agentzero> This is a Rust workspace with 13 crates implementing...
Terminal window
az run repo-security-audit

Scans for secrets, PII, prompt injection attempts, and unsafe patterns.

Build a semantic index of your project files, then ask questions about them in chat:

Terminal window
ollama pull nomic-embed-text
az index build
az chat
you> how does the policy engine work?
[tool: query] ok (2048 bytes)
agentzero> The policy engine uses deny-by-default semantics with...

See the Document Querying guide for details.

Add to your Claude Code or Cursor settings:

{
"mcpServers": {
"agentzero": {
"command": "agentzero",
"args": ["mcp"]
}
}
}

Now your editor’s AI gets policy-controlled tool access through AgentZero.

Generate editor-native config files during init:

Terminal window
az init --private --editor vscode

This creates .vscode/tasks.json configured to launch az serve. Also works with cursor and zed.

For scripting and automation, use single-shot mode:

Terminal window
az chat -P "what does this project do?" --mode json

This sends one message, prints the JSON response, and exits.

Terminal window
# Use a specific model
az chat --model codellama
# Use llama.cpp instead of Ollama
az chat --provider llama-cpp
# Use vLLM on a custom port
az chat --provider vllm --url http://gpu-box:8000
Terminal window
az search "security audit"

Returns matching skills from the index with name, description, trust tier, and tags. Use --json for machine-readable output.

Terminal window
az audit summary

Shows a human-readable summary of audit activity: session count, total events, denied actions, and redactions applied. Use --json for structured output.

The agent can create new WASM tools during a chat session:

you> I need a tool that counts lines in all .rs files
[APPROVE generate_tool: line-counter?] (y/yes-all/n) y
[tool: generate_tool] ok — registered line-counter v1
agentzero> Created and registered the line-counter tool. It's now available for use.

Encryption is enabled by default — you’ll be prompted for a passphrase:

Terminal window
az chat
# Encryption passphrase: ********
# Audit logs and sessions encrypted at rest

To disable, pass --no-encrypt.