CLI Commands
Global Options
Section titled “Global Options”agentzero [OPTIONS] <COMMAND>| Flag | Description |
|---|---|
--data-dir <PATH> | Override data/config directory (alias: --config-dir) |
--config <PATH> | Override config file path |
-v, --verbose | Increase verbosity: -v=error, -vv=info, -vvv=debug, -vvvv=trace |
--json | Emit structured JSON output for any command |
Exit Codes
Section titled “Exit Codes”| Code | Meaning |
|---|---|
0 | Success (including --help, --version) |
1 | Runtime or execution failure |
2 | CLI usage or argument parsing error |
Core Commands
Section titled “Core Commands”Send a single message through the agent loop. The agent processes your message, calls tools as needed, and returns a response.
agentzero agent -m "hello"agentzero agent -m "List files in the current directory"agentzero agent -m "Summarize this repo" --provider openai --model gpt-4o-miniagentzero agent -m "hello" --profile my-anthropic-profileagentzero agent -m "explain this function" --stream| Flag | Description |
|---|---|
-m, --message <TEXT> | (Required) Message to send |
-p, --provider <NAME> | Override the configured provider (e.g., openrouter, openai, ollama) |
--model <ID> | Override the configured model (e.g., gpt-4o-mini, llama3.1:8b) |
--profile <NAME> | Use a specific auth profile by name (from auth list) |
--stream | Stream tokens incrementally as they arrive |
agents
Section titled “agents”Manage persistent named agents. Agents created here are stored in an encrypted JSON store and can be hot-loaded into a running coordinator. Keywords enable automatic routing via the AgentRouter.
agents create
Section titled “agents create”agentzero agents create --name Aria --description "Travel planner" \ --model claude-sonnet-4-20250514 --provider anthropic --keywords travel,bookingagentzero agents create --name Coder --model gpt-4o --allowed-tools shell,read_file,write_file --json| Flag | Description |
|---|---|
--name <NAME> | (Required) Agent name |
--description <TEXT> | What this agent does |
--model <ID> | Model identifier |
--provider <NAME> | Provider (anthropic, openai, openrouter, etc.) |
--system-prompt <TEXT> | System prompt / persona |
--keywords <LIST> | Comma-separated routing keywords |
--allowed-tools <LIST> | Comma-separated tool allowlist (empty = all) |
--json | Emit JSON output |
agents list
Section titled “agents list”agentzero agents listagentzero agents list --jsonagents get
Section titled “agents get”agentzero agents get --id agent_abc123agentzero agents get --id agent_abc123 --jsonagents update
Section titled “agents update”agentzero agents update --id agent_abc123 --name "New Name" --model gpt-4oagentzero agents update --id agent_abc123 --keywords travel,flights,hotels| Flag | Description |
|---|---|
--id <ID> | (Required) Agent ID |
--name, --description, --model, --provider, --system-prompt | Fields to update |
--keywords <LIST> | Replace keywords (comma-separated) |
--allowed-tools <LIST> | Replace tool allowlist (comma-separated) |
--json | Emit JSON output |
agents delete
Section titled “agents delete”agentzero agents delete --id agent_abc123agents status
Section titled “agents status”agentzero agents status --id agent_abc123 --activeagentzero agents status --id agent_abc123 --stopped| Flag | Description |
|---|---|
--id <ID> | (Required) Agent ID |
--active | Set agent to active |
--stopped | Set agent to stopped |
onboard
Section titled “onboard”Generate a starter agentzero.toml config file in the current directory. The interactive wizard walks you through provider, model, memory, and security settings.
agentzero onboard # Quick setup (uses defaults or env vars)agentzero onboard --interactive # Full wizard with promptsagentzero onboard --force --provider openrouter --model anthropic/claude-sonnet-4-6 --yes| Flag | Description |
|---|---|
--interactive | Launch full onboarding wizard |
--force | Overwrite existing config without confirmation |
--provider <NAME> | Provider name (openai, openrouter, anthropic, ollama, etc.) |
--base-url <URL> | Provider base URL |
--model <ID> | Model identifier |
--memory <BACKEND> | Memory backend: sqlite (default), lucid, markdown, none |
--memory-path <PATH> | Database file path |
--allowed-root <PATH> | Filesystem scope root |
--allowed-commands <LIST> | Comma-separated command allowlist |
--api-key <KEY> | API key (quick mode only, ignored with --interactive) |
--yes | Skip prompts, auto-accept defaults |
--no-totp | Disable OTP in quick setup (not recommended) |
--channels-only | Reconfigure channels only (fast repair) |
status
Section titled “status”Show a minimal runtime status summary including recent memory count.
agentzero statusagentzero --json statusdoctor
Section titled “doctor”Run diagnostics for model availability and trace inspection.
doctor models
Section titled “doctor models”Probe model catalogs across all configured providers. Shows provider status, model count, and cache freshness.
agentzero doctor models # Probe all known providersagentzero doctor models --provider openrouter # Specific provider onlyagentzero doctor models --use-cache # Prefer cached catalogs| Flag | Description |
|---|---|
--provider <NAME> | Probe specific provider only |
--use-cache | Prefer cached catalogs when available |
doctor traces
Section titled “doctor traces”List recent tool execution traces and model replies in reverse chronological order. Reads from {data_dir}/trace_events.jsonl.
agentzero doctor traces # Last 20 eventsagentzero doctor traces --event tool --contains shell --limit 50agentzero doctor traces --id abc123 # Show specific event| Flag | Description |
|---|---|
--id <ID> | Show specific trace event by id |
--event <TYPE> | Filter by event type |
--contains <TEXT> | Case-insensitive text match across message/payload |
--limit <N> | Maximum events to display (default: 20) |
providers
Section titled “providers”List all supported AI providers with their status and configuration.
agentzero providers # Table outputagentzero providers --json # Machine-readableagentzero providers --no-color # Disable ANSI colors| Flag | Description |
|---|---|
--json | Emit machine-readable JSON output |
--no-color | Disable ANSI color in table output |
providers-quota
Section titled “providers-quota”Inspect provider rate limits, API key status, and circuit breaker state.
agentzero providers-quotaagentzero providers-quota --provider openrouter --json| Flag | Description |
|---|---|
--provider <NAME> | Specific provider to inspect |
--json | Emit machine-readable JSON output |
Gateway & Operations
Section titled “Gateway & Operations”gateway
Section titled “gateway”Start the HTTP gateway server in the foreground. Blocks until stopped. Exposes REST, WebSocket, and webhook endpoints for programmatic access.
agentzero gateway # Defaults: 127.0.0.1:42617agentzero gateway --host 0.0.0.0 --port 8081 # Custom bind addressagentzero gateway --new-pairing # Clear paired tokens, fresh pairing code| Flag | Description |
|---|---|
--host <HOST> | Interface to bind (default: 127.0.0.1) |
-p, --port <PORT> | Port to bind (default: 42617) |
--new-pairing | Clear all paired tokens and generate a fresh pairing code |
Endpoints:
| Endpoint | Method | Description |
|---|---|---|
/health | GET | Health check |
/metrics | GET | Prometheus-style metrics |
/pair | POST | Pair a client (get bearer token) |
/api/chat | POST | Send a chat message |
/v1/chat/completions | POST | OpenAI-compatible completions API |
/v1/models | GET | List available models |
/v1/ping | POST | Connectivity check |
/v1/webhook/:channel | POST | Channel-specific webhook |
/ws/chat | GET | WebSocket chat |
daemon
Section titled “daemon”Manage the background daemon process. The daemon runs the gateway server as a detached process with logging.
daemon start
Section titled “daemon start”Start the daemon. By default spawns a background process and returns immediately. Logs to {data_dir}/daemon.log.
agentzero daemon start # Background, default 127.0.0.1:42617agentzero daemon start --port 9000 # Custom portagentzero daemon start --foreground # Foreground (for systemd/debugging)| Flag | Description |
|---|---|
--host <HOST> | Interface to bind (default: 127.0.0.1) |
-p, --port <PORT> | Port to bind (default: 42617) |
--foreground | Run in foreground instead of daemonizing |
daemon stop
Section titled “daemon stop”Stop the running daemon process.
agentzero daemon stopdaemon status
Section titled “daemon status”Show whether the daemon is running, its PID, bind address, and log file location.
agentzero daemon statusagentzero daemon status --json| Flag | Description |
|---|---|
--json | Emit JSON with running, host, port, pid, started_at_epoch_seconds |
service
Section titled “service”Install and manage AgentZero as an OS service for automatic startup on boot. Auto-detects systemd or OpenRC.
agentzero service install # Install serviceagentzero service start # Start serviceagentzero service stop # Stop serviceagentzero service restart # Restart serviceagentzero service status # Show install/running stateagentzero service uninstall # Remove serviceagentzero service --service-init systemd install # Force systemd| Flag | Description |
|---|---|
--service-init <INIT> | Init system: auto (default), systemd, openrc |
dashboard
Section titled “dashboard”Launch an interactive terminal dashboard for real-time monitoring. Connects to the gateway for live agent, run, and tool-call visibility.
agentzero dashboardagentzero dashboard --host 127.0.0.1 --port 8080| Flag | Description |
|---|---|
--host <HOST> | Gateway host to connect to (default: 127.0.0.1) |
-p, --port <PORT> | Gateway port to connect to (default: 42617) |
sandbox
Section titled “sandbox”Manage isolated sandbox environments for agent execution. Sandboxes provide filesystem and process isolation for untrusted workloads.
sandbox start
Section titled “sandbox start”Start a new sandbox environment.
agentzero sandbox startagentzero sandbox start --name my-sandbox| Flag | Description |
|---|---|
--name <NAME> | Sandbox name (default: auto-generated) |
sandbox stop
Section titled “sandbox stop”Stop a running sandbox.
agentzero sandbox stopagentzero sandbox stop --name my-sandbox| Flag | Description |
|---|---|
--name <NAME> | Sandbox name to stop (default: active sandbox) |
sandbox status
Section titled “sandbox status”Show sandbox state, resource usage, and isolation details.
agentzero sandbox statusagentzero sandbox status --json| Flag | Description |
|---|---|
--name <NAME> | Sandbox name (default: active sandbox) |
--json | Emit machine-readable JSON output |
sandbox shell
Section titled “sandbox shell”Open an interactive shell inside a running sandbox.
agentzero sandbox shellagentzero sandbox shell --name my-sandbox| Flag | Description |
|---|---|
--name <NAME> | Sandbox name (default: active sandbox) |
Configuration
Section titled “Configuration”config
Section titled “config”Inspect and modify the agentzero.toml configuration file.
config show
Section titled “config show”Print the effective configuration as JSON. Secrets are masked by default.
agentzero config show # Secrets maskedagentzero config show --raw # Secrets visible| Flag | Description |
|---|---|
--raw | Emit raw JSON without masking secrets |
config get
Section titled “config get”Query a single config value by dot-separated path.
agentzero config get provider.modelagentzero config get agent.max_tool_iterationsconfig set
Section titled “config set”Set a config value in agentzero.toml. Type is auto-inferred (bool, int, float, string).
agentzero config set provider.model "gpt-4o"agentzero config set agent.max_tool_iterations 20config schema
Section titled “config schema”Print the config template or JSON schema.
agentzero config schema # TOML templateagentzero config schema --json # JSON schema| Flag | Description |
|---|---|
--json | Emit JSON schema instead of TOML template |
Backup & Restore
Section titled “Backup & Restore”backup
Section titled “backup”Export and restore encrypted data stores. Backups are copied as-is (never decrypted) with SHA-256 integrity verification.
backup export
Section titled “backup export”Export all encrypted store files to a directory with a checksummed manifest.
agentzero backup export /path/to/backup-dir| Flag | Description |
|---|---|
<output-dir> | (Required) Directory to write backup files and manifest |
Exports 10 known stores (api-keys, cost data, identities, coordination status, goals, estop state, auth profiles, hooks, channel config). Each file is copied with its raw encrypted bytes and a SHA-256 checksum recorded in manifest.json. An integrity chain hash (SHA-256 of all individual hashes) ensures tamper detection.
backup restore
Section titled “backup restore”Restore encrypted store files from a backup directory. Validates manifest version, verifies all checksums, and enforces file permissions (0600 on Unix).
agentzero backup restore /path/to/backup-diragentzero backup restore /path/to/backup-dir --force| Flag | Description |
|---|---|
<archive-path> | (Required) Directory containing backup files and manifest |
--force | Overwrite existing store files (default: skip if present) |
Authentication
Section titled “Authentication”Manage provider authentication profiles. Supports OAuth (browser-based), API key paste, and multi-profile switching. Credentials are stored in an encrypted auth store at {data_dir}/auth/.
auth login
Section titled “auth login”Start an interactive login flow. Opens a browser for OAuth providers (OpenAI Codex, Anthropic) or prompts for an API key (Gemini).
agentzero auth login # Interactive provider selectionagentzero auth login --provider openai-codex # OAuth browser flowagentzero auth login --provider anthropic # OAuth browser flow (claude.ai)agentzero auth login --provider gemini # API key paste| Flag | Description |
|---|---|
--provider <NAME> | Provider: openai-codex, gemini, anthropic. Prompts if omitted |
--profile <NAME> | Profile name to save under (default: default) |
--device-code | Use OAuth device-code flow (planned) |
auth setup-token
Section titled “auth setup-token”Save an API key or token for a provider. Prompts interactively if --token is omitted.
agentzero auth setup-token --provider openrouteragentzero auth setup-token --provider anthropic --token sk-ant-...agentzero auth setup-token --provider openai --token sk-... --profile work| Flag | Description |
|---|---|
--provider <NAME> | (Required) Provider id |
--token <TOKEN> | Token value. Prompts interactively if omitted |
--profile <NAME> | Profile name (default: default) |
--activate | Set as active profile after saving (default: true) |
auth paste-token
Section titled “auth paste-token”Alias for setup-token. Same flags and behavior.
auth paste-redirect
Section titled “auth paste-redirect”Complete an OAuth flow by pasting the redirect URL or authorization code.
agentzero auth paste-redirect --provider openai-codexagentzero auth paste-redirect --provider anthropic --input "https://..."agentzero auth paste-redirect --provider gemini --input "https://..."| Flag | Description |
|---|---|
--provider <NAME> | (Required) Provider id |
--profile <NAME> | Profile name (default: default) |
--input <URL_OR_CODE> | Redirect URL or raw auth code. Prompts if omitted |
auth refresh
Section titled “auth refresh”Refresh an expired OAuth access token using a stored refresh token.
agentzero auth refresh --provider openai-codexagentzero auth refresh --provider anthropicagentzero auth refresh --provider gemini --profile work| Flag | Description |
|---|---|
--provider <NAME> | (Required) Provider id |
--profile <NAME> | Profile name to refresh |
auth use
Section titled “auth use”Set the active auth profile for a provider. The active profile is used when no --profile override is given.
agentzero auth use --provider anthropic --profile work| Flag | Description |
|---|---|
--provider <NAME> | (Required) Provider id |
--profile <NAME> | (Required) Profile name or full profile id |
auth list
Section titled “auth list”Show all configured auth profiles.
agentzero auth listagentzero auth list --json| Flag | Description |
|---|---|
--json | JSON array with name, provider, active, has_refresh_token, timestamps |
auth status
Section titled “auth status”Show the active profile, token type, and expiry information for each provider.
agentzero auth statusagentzero auth status --json| Flag | Description |
|---|---|
--json | JSON with active_profile, active_provider, total_profiles, expiry info |
auth logout
Section titled “auth logout”Remove an authentication profile.
agentzero auth logout --provider openrouteragentzero auth logout --provider anthropic --profile work| Flag | Description |
|---|---|
--provider <NAME> | (Required) Provider id |
--profile <NAME> | Profile name (default: default) |
Built-in Tools
Section titled “Built-in Tools”The agent has access to built-in tools that it calls automatically during the agent loop. Tools are gated by the [security] section in agentzero.toml. There is no CLI command to invoke tools directly — they are used by the agent when processing messages.
Always Available
Section titled “Always Available”| Tool | Description |
|---|---|
read_file | Read files within the configured allowed_root |
shell | Execute shell commands (restricted to allowed_commands) |
glob_search | Find files by glob pattern |
content_search | Search file contents by text or regex |
memory_store | Persist a key-value memory entry |
memory_recall | Retrieve stored memory entries |
memory_forget | Delete memory entries |
image_info | Read image metadata (dimensions, format, EXIF) |
docx_read | Extract text from Microsoft Word documents |
pdf_read | Extract text from PDF files |
screenshot | Capture a screenshot |
task_plan | Create and manage structured task plans |
process_tool | Manage system processes |
subagent_spawn | Start a sub-agent with a specific task |
subagent_list | List active sub-agents |
subagent_manage | Stop or manage sub-agent lifecycle |
cli_discovery | Check if shell commands exist on PATH, get runtime info |
proxy_config | Configure proxy settings |
delegate_coordination_status | Track delegation status across agents |
sop_list | List available standard operating procedures |
sop_status | Show status of an active SOP |
sop_advance | Advance to the next step in an SOP |
sop_approve | Approve the current SOP step |
sop_execute | Execute an SOP |
Conditionally Available
Section titled “Conditionally Available”These tools are disabled by default and must be enabled in agentzero.toml:
| Tool | Config Flag | Description |
|---|---|---|
write_file | security.write_file.enabled = true | Write files within allowed root |
apply_patch | security.write_file.enabled = true | Apply unified diffs to files |
file_edit | security.write_file.enabled = true | Make targeted edits to files |
git_operations | security.enable_git = true | Run git commands |
cron_add | security.enable_cron = true | Add a scheduled task |
cron_list | security.enable_cron = true | List scheduled tasks |
cron_remove | security.enable_cron = true | Remove a scheduled task |
cron_update | security.enable_cron = true | Update a scheduled task |
cron_pause | security.enable_cron = true | Pause a scheduled task |
cron_resume | security.enable_cron = true | Resume a paused task |
web_search | web_search.enabled = true | Search the web (DuckDuckGo, Brave, Jina) |
browser | browser.enabled = true | Browse web pages |
browser_open | browser.enabled = true | Open a URL in the browser |
mcp__{server}__{tool} | security.mcp.enabled = true + mcp.json | MCP server tools (one per remote tool) |
process_plugin | security.plugin.enabled = true | Execute process-based plugins |
composio | composio.enabled = true | Use Composio integrations |
pushover | security.enable_pushover = true | Send push notifications via Pushover |
model_routing_config | Automatically enabled when model router is configured | Configure model routing rules |
delegate | Automatically enabled when delegate agents are configured in [agents.*] | Delegate tasks to other agents |
Tool Security Configuration
Section titled “Tool Security Configuration”[security]allowed_root = "." # File access boundaryallowed_commands = ["ls", "pwd", "cat"] # Shell command allowlist
[security.read_file]max_read_bytes = 262144 # 256 KiB defaultallow_binary = false
[security.write_file]enabled = false # Disabled by defaultmax_write_bytes = 65536 # 64 KiB limit
[security.shell]max_args = 32max_arg_length = 4096max_output_bytes = 65536forbidden_chars = ";&|><$`\n\r"
[security.mcp]enabled = falseallowed_servers = []
[security.url_access]block_private_ip = trueallow_loopback = false
[security.otp]enabled = falsegated_actions = ["shell", "file_write", "browser_open", "browser", "memory_forget"]Skills
Section titled “Skills”Skills are composable agent behaviors written in TypeScript, Rust, Go, or Python. They are stored in an encrypted state file at {data_dir}/skills-state.json.
skill list
Section titled “skill list”List all installed skills with their enabled status and source.
agentzero skill listagentzero skill list --json| Flag | Description |
|---|---|
--json | Emit JSON array of skill records |
skill install
Section titled “skill install”Install a skill by name and source.
agentzero skill install --name research --source localagentzero skill install --name code-review --source builtin| Flag | Description |
|---|---|
--name <NAME> | (Required) Skill name (alphanumeric, hyphens, underscores) |
--source <SOURCE> | Source of the skill (default: local) |
skill test
Section titled “skill test”Run a basic validation check on an installed skill. Shows source and enabled status.
agentzero skill test --name research| Flag | Description |
|---|---|
--name <NAME> | (Required) Skill name |
skill remove
Section titled “skill remove”Remove an installed skill.
agentzero skill remove --name research| Flag | Description |
|---|---|
--name <NAME> | (Required) Skill name |
skill new
Section titled “skill new”Scaffold a new skill project with a manifest and source file.
agentzero skill new my-skill # TypeScript (default)agentzero skill new my-skill --template rust # Rustagentzero skill new my-skill --template python --dir ./skills| Flag | Description |
|---|---|
name | (Required, positional) Name for the new skill |
--template <LANG> | Scaffold template: typescript/ts (default), rust/rs, go, python/py |
--dir <PATH> | Target directory (default: workspace root) |
Generated files:
skill.json— manifest with name, version, template, entry pointsrc/main.{ts,rs,go,py}— scaffolded source file
skill audit
Section titled “skill audit”Audit an installed skill for security and compatibility. Checks manifest validity, source trust, and permission scope.
agentzero skill audit --name researchagentzero skill audit --name research --json| Flag | Description |
|---|---|
--name <NAME> | (Required) Skill name |
--json | Emit JSON with checks: manifest_valid, source_trusted, permissions_scoped |
skill templates
Section titled “skill templates”List available scaffold templates with their entry points.
agentzero skill templatesPlugins
Section titled “Plugins”plugin
Section titled “plugin”Plugins are sandboxed WebAssembly modules that extend AgentZero’s capabilities. They run in an isolated WASM runtime (wasmtime) with configurable resource limits.
plugin new
Section titled “plugin new”Scaffold a plugin manifest template.
agentzero plugin new --id my-pluginagentzero plugin new --id my-plugin --version 1.0.0 --entrypoint main --force| Flag | Description |
|---|---|
--id <ID> | (Required) Plugin identifier |
--version <VER> | Plugin version (default: 0.1.0) |
--entrypoint <NAME> | WASM entrypoint function (default: run) |
--wasm-file <PATH> | WASM file reference (default: plugin.wasm) |
--out-dir <DIR> | Output directory (default: current directory) |
--force | Overwrite existing manifest |
plugin validate
Section titled “plugin validate”Validate a plugin manifest for correctness. Checks id, version, entrypoint, WASM file extension, SHA256 format, and API version compatibility.
agentzero plugin validate --manifest manifest.json| Flag | Description |
|---|---|
--manifest <PATH> | (Required) Path to manifest.json |
plugin test
Section titled “plugin test”Run plugin preflight checks and optional execution in a sandboxed environment. Test isolation: 5s timeout, 5MB module limit, 64MB memory, no network, no filesystem writes.
agentzero plugin test --manifest manifest.json --wasm plugin.wasmagentzero plugin test --manifest manifest.json --wasm plugin.wasm --execute| Flag | Description |
|---|---|
--manifest <PATH> | (Required) Path to manifest.json |
--wasm <PATH> | (Required) Path to compiled .wasm module |
--execute | Execute the entrypoint after preflight (default: preflight only) |
plugin dev
Section titled “plugin dev”Run a local development loop: validate, preflight, and optionally execute with deterministic fixtures.
agentzero plugin dev --manifest manifest.json --wasm plugin.wasmagentzero plugin dev --manifest manifest.json --wasm plugin.wasm --iterations 5| Flag | Description |
|---|---|
--manifest <PATH> | (Required) Path to manifest.json |
--wasm <PATH> | (Required) Path to .wasm module |
--iterations <N> | Number of loop iterations (default: 1) |
--execute | Execute entrypoint in addition to preflight (default: true) |
plugin package
Section titled “plugin package”Package a plugin into an installable tar archive. Computes SHA256 checksum and embeds it in the manifest.
agentzero plugin package --manifest manifest.json --wasm plugin.wasm --out my-plugin.tar| Flag | Description |
|---|---|
--manifest <PATH> | (Required) Path to manifest.json |
--wasm <PATH> | (Required) Path to .wasm module |
--out <PATH> | (Required) Output archive path |
plugin install
Section titled “plugin install”Install a packaged plugin archive. Verifies checksum integrity, then installs to {data_dir}/plugins/{id}/{version}/.
agentzero plugin install --package my-plugin.taragentzero plugin install --package my-plugin.tar --install-dir ./plugins| Flag | Description |
|---|---|
--package <PATH> | (Required) Path to plugin archive (.tar) |
--install-dir <DIR> | Installation directory (default: {data_dir}/plugins) |
plugin list
Section titled “plugin list”List installed plugins with their version and install location.
agentzero plugin listagentzero plugin list --json| Flag | Description |
|---|---|
--json | Emit JSON with install_root and plugins array |
--install-dir <DIR> | Installation directory (default: {data_dir}/plugins) |
plugin remove
Section titled “plugin remove”Remove an installed plugin. Can remove a specific version or all versions.
agentzero plugin remove --id my-plugin # All versionsagentzero plugin remove --id my-plugin --version 0.1.0 # Specific version| Flag | Description |
|---|---|
--id <ID> | (Required) Plugin identifier |
--version <VER> | Specific version to remove (default: all versions) |
--install-dir <DIR> | Installation directory (default: {data_dir}/plugins) |
plugin enable
Section titled “plugin enable”Enable a disabled plugin without reinstalling.
agentzero plugin enable --id my-plugin| Flag | Description |
|---|---|
--id <ID> | (Required) Plugin identifier |
plugin disable
Section titled “plugin disable”Disable a plugin without removing it.
agentzero plugin disable --id my-plugin| Flag | Description |
|---|---|
--id <ID> | (Required) Plugin identifier |
plugin search
Section titled “plugin search”Search the plugin registry.
agentzero plugin search "web scraping"| Flag | Description |
|---|---|
--registry-url <URL> | Registry URL (default: configured registry_url) |
plugin outdated
Section titled “plugin outdated”Check for available plugin updates.
agentzero plugin outdated| Flag | Description |
|---|---|
--registry-url <URL> | Registry URL (default: configured registry_url) |
plugin update
Section titled “plugin update”Update installed plugins to latest versions.
agentzero plugin update # all pluginsagentzero plugin update --id my-plugin # specific plugin| Flag | Description |
|---|---|
--id <ID> | Update only this plugin (default: all) |
--registry-url <URL> | Registry URL |
--install-dir <DIR> | Installation directory |
plugin refresh
Section titled “plugin refresh”Force-refresh the cached registry index.
agentzero plugin refreshagentzero plugin refresh --registry-url https://custom-registry.example.com/index.json| Flag | Description |
|---|---|
--registry-url <URL> | Registry URL to fetch (default: configured registry_url) |
Plugin Manifest Format
Section titled “Plugin Manifest Format”{ "id": "my-plugin", "version": "0.1.0", "entrypoint": "run", "wasm_file": "plugin.wasm", "wasm_sha256": "a1b2c3...", "capabilities": ["tool.call"], "hooks": ["before_tool_call"], "min_runtime_api": 1, "max_runtime_api": 1, "allowed_host_calls": []}WASM Isolation Defaults
Section titled “WASM Isolation Defaults”| Limit | Default | Test/Dev |
|---|---|---|
| Max execution time | 30s | 5s |
| Max module size | 5 MB | 5 MB |
| Max memory | 256 MB | 64 MB |
| Network access | No | No |
| Filesystem writes | No | No |
Inspect registered tools, their descriptions, and JSON schemas. Useful for debugging which tools the agent has access to and verifying schema definitions.
tools list
Section titled “tools list”List all registered tools.
agentzero tools listagentzero tools list --with-schemaagentzero tools list --json| Flag | Description |
|---|---|
--with-schema | Only show tools that have a JSON input schema defined |
--json | Output as JSON array |
tools info
Section titled “tools info”Show details for a specific tool.
agentzero tools info read_fileagentzero tools info shell| Argument | Description |
|---|---|
<NAME> | (Required) Tool name to inspect |
tools schema
Section titled “tools schema”Print the JSON input schema for a specific tool.
agentzero tools schema read_fileagentzero tools schema shell --pretty| Argument / Flag | Description |
|---|---|
<NAME> | (Required) Tool name |
--pretty | Pretty-print the JSON schema |
Memory & Knowledge
Section titled “Memory & Knowledge”memory
Section titled “memory”Inspect and manage the agent’s conversation memory store. Backend is configured in agentzero.toml (sqlite, lucid, markdown, or none).
memory list
Section titled “memory list”List memory entries with pagination.
agentzero memory listagentzero memory list --limit 100 --offset 50agentzero memory list --json| Flag | Description |
|---|---|
--limit <N> | Maximum entries to return (default: 50) |
--offset <N> | Pagination offset (default: 0) |
--category <CAT> | Filter by category (reserved) |
--session <SID> | Filter by session (reserved) |
--json | Emit machine-readable JSON output |
memory get
Section titled “memory get”Retrieve a memory entry by key prefix. Returns the most recent match.
agentzero memory get --key "session-abc"agentzero memory get --json # Most recent entry| Flag | Description |
|---|---|
--key <KEY> | Key or prefix to match (most recent if omitted) |
--json | Emit machine-readable JSON output |
memory stats
Section titled “memory stats”Show memory store statistics.
agentzero memory statsagentzero memory stats --json| Flag | Description |
|---|---|
--json | Emit machine-readable JSON output |
memory clear
Section titled “memory clear”Delete memory entries. Can target specific keys or clear all.
agentzero memory clear --yes # Clear all (skip confirmation)agentzero memory clear --key "old-session" # Delete by key prefix| Flag | Description |
|---|---|
--key <KEY> | Delete entries matching this key prefix |
--category <CAT> | Filter by category (reserved) |
--yes | Skip confirmation prompt |
--json | Emit machine-readable JSON output |
conversation
Section titled “conversation”Manage conversation branches. Conversations allow you to fork and switch between parallel conversation threads.
conversation list
Section titled “conversation list”List all named conversations.
agentzero conversation listagentzero conversation list --json| Flag | Description |
|---|---|
--json | Emit machine-readable JSON output |
conversation fork
Section titled “conversation fork”Fork an existing conversation into a new branch.
agentzero conversation fork main experiment-1agentzero conversation fork main experiment-1 --json| Argument | Description |
|---|---|
<FROM> | (Required) Source conversation ID to fork from |
<TO> | (Required) New conversation ID for the fork |
| Flag | Description |
|---|---|
--json | Emit machine-readable JSON output |
conversation switch
Section titled “conversation switch”Switch the active conversation. Use an empty string to switch back to the global conversation.
agentzero conversation switch experiment-1agentzero conversation switch "" # back to global| Argument | Description |
|---|---|
<ID> | (Required) Conversation ID to switch to |
Local retrieval-augmented generation index. Ingest documents and query them by semantic similarity. Requires the rag feature.
rag ingest
Section titled “rag ingest”Add a document to the RAG index.
agentzero rag ingest --id doc1 --text "Important context about the project..."agentzero rag ingest --id doc2 --file ./notes.md| Flag | Description |
|---|---|
--id <ID> | (Required) Document identifier |
--text <TEXT> | Inline text content |
--file <PATH> | File path to ingest (alternative to --text) |
--json | Emit machine-readable JSON output |
rag query
Section titled “rag query”Query the RAG index for relevant documents.
agentzero rag query --query "What was the decision?" --limit 5| Flag | Description |
|---|---|
--query <TEXT> | (Required) Query text |
--limit <N> | Maximum matches (default: 5) |
--json | Emit machine-readable JSON output |
Security & Safety
Section titled “Security & Safety”Emergency stop — immediately halt agent execution at various severity levels. Can require OTP to resume.
agentzero estop # Default: kill-allagentzero estop --level kill-all --require-otp # Require OTP to resumeagentzero estop --level network-kill # Block all network accessagentzero estop --level domain-block --domain "*.example.com" --domain "evil.com"agentzero estop --level tool-freeze --tool shell --tool write_file| Flag | Description |
|---|---|
--level <LEVEL> | Severity: KillAll, NetworkKill, DomainBlock, ToolFreeze |
--domain <PATTERN> | Domain pattern(s) for domain-block (repeatable) |
--tool <NAME> | Tool name(s) for tool-freeze (repeatable) |
--require-otp | Require TOTP code to resume |
estop status
Section titled “estop status”Show current emergency stop state, level, blocked domains/tools, and timestamp.
agentzero estop statusestop resume
Section titled “estop resume”Resume from emergency stop. Can resume partially (specific domains or tools) or fully.
agentzero estop resume # Resume allagentzero estop resume --otp 123456 # Resume with OTPagentzero estop resume --network # Resume network onlyagentzero estop resume --domain "*.example.com" # Unblock specific domainagentzero estop resume --tool shell # Unfreeze specific tool| Flag | Description |
|---|---|
--network | Resume only network kill |
--domain <PATTERN> | Unblock specific domain(s) (repeatable) |
--tool <NAME> | Unfreeze specific tool(s) (repeatable) |
--otp <CODE> | OTP code (prompted if required but omitted) |
approval
Section titled “approval”Evaluate approval requirements for high-risk actions using the approval policy engine.
agentzero approval evaluate --actor agent --action shell --risk highagentzero approval evaluate --actor agent --action shell --risk high --decision allow --approver admin --reason "deployment"| Flag | Description |
|---|---|
--actor <NAME> | Actor requesting the action |
--action <NAME> | Action being evaluated |
--risk <LEVEL> | Risk level of the action |
--approver <NAME> | Who approved the action |
--decision <DECISION> | Decision: allow or deny |
--reason <TEXT> | Reason for the decision |
--json | Emit machine-readable JSON output |
privacy
Section titled “privacy”Manage privacy mode, key rotation, and run diagnostics. Requires the privacy Cargo feature flag.
privacy status
Section titled “privacy status”Show current privacy mode and feature status.
agentzero privacy statusagentzero privacy status --json| Flag | Description |
|---|---|
--json | Emit machine-readable JSON output |
Output includes: privacy mode, Noise Protocol status, sealed envelopes status, key rotation status and interval.
privacy rotate-keys
Section titled “privacy rotate-keys”Rotate identity keypair. Checks if the rotation interval has elapsed; use --force for immediate rotation.
agentzero privacy rotate-keysagentzero privacy rotate-keys --forceagentzero privacy rotate-keys --json| Flag | Description |
|---|---|
--force | Force immediate rotation regardless of interval |
--json | Emit machine-readable JSON output |
Output includes: new epoch number, key fingerprint, whether rotation occurred, next rotation timestamp.
privacy generate-keypair
Section titled “privacy generate-keypair”Generate a new identity keypair without activating it. Use rotate-keys to activate a new key.
agentzero privacy generate-keypairagentzero privacy generate-keypair --json| Flag | Description |
|---|---|
--json | Emit machine-readable JSON output |
privacy test
Section titled “privacy test”Run 8 diagnostic checks on the privacy subsystem: config validation, boundary resolution, memory isolation, sealed envelope round-trip, Noise XX handshake, Noise IK handshake, channel locality, encrypted store round-trip.
agentzero privacy testagentzero privacy test --json| Flag | Description |
|---|---|
--json | Emit machine-readable JSON output with per-check pass/fail |
Returns exit code 1 if any checks fail.
Models & Local Providers
Section titled “Models & Local Providers”models
Section titled “models”Manage provider model catalogs. Models are cached with a 12-hour TTL.
models refresh
Section titled “models refresh”Fetch the latest model list from providers.
agentzero models refresh # Refresh configured provideragentzero models refresh --all --force # Force refresh all providersagentzero models refresh --provider anthropic| Flag | Description |
|---|---|
--provider <NAME> | Refresh specific provider (default: configured provider) |
--all | Refresh all providers that support live discovery |
--force | Force live refresh, ignore fresh cache |
models list
Section titled “models list”List cached models for a provider.
agentzero models listagentzero models list --provider ollama| Flag | Description |
|---|---|
--provider <NAME> | List models for this provider (default: configured provider) |
models set
Section titled “models set”Set the default model in your config file.
agentzero models set anthropic/claude-sonnet-4-6agentzero models set gpt-4o-minimodels status
Section titled “models status”Show current provider, default model, and cache freshness.
agentzero models statusmodels pull
Section titled “models pull”Download a model from a local provider (Ollama and similar). Shows a progress bar.
agentzero models pull llama3.1:8bagentzero models pull llama3.1:8b --provider ollama| Flag | Description |
|---|---|
--provider <NAME> | Provider to pull from (default: configured local provider) |
Discover and manage local AI model services (Ollama, llama.cpp, LM Studio, vLLM, SGLang).
local discover
Section titled “local discover”Scan default ports for running local AI services.
agentzero local discoveragentzero local discover --timeout-ms 5000 --jsonagentzero local discover --retries 2 # Retry unreachable providers with backoff| Flag | Description |
|---|---|
--timeout-ms <MS> | Probe timeout in milliseconds (default: 2000) |
--retries <N> | Retry unreachable providers up to N times with backoff (default: 0) |
--json | Emit machine-readable JSON output |
local status
Section titled “local status”Show status of the configured local provider.
agentzero local statusagentzero local status --json| Flag | Description |
|---|---|
--json | Emit machine-readable JSON output |
local health
Section titled “local health”Run a health check against a specific local provider endpoint.
agentzero local health ollamaagentzero local health vllm --url http://gpu-server:8000| Flag | Description |
|---|---|
provider | (Required, positional) Provider name: ollama, llamacpp, lmstudio, vllm, sglang |
--url <URL> | Custom base URL (overrides default) |
Scheduling & Hooks
Section titled “Scheduling & Hooks”Manage scheduled tasks. Tasks are stored in {data_dir}/cron-tasks.json.
cron list
Section titled “cron list”agentzero cron listagentzero cron list --jsoncron add
Section titled “cron add”Add a scheduled task with a cron expression.
agentzero cron add --id backup --schedule "0 2 * * *" --command "agentzero agent -m 'run backup'"| Flag | Description |
|---|---|
--id <ID> | (Required) Task identifier |
--schedule <EXPR> | (Required) Cron expression |
--command <CMD> | (Required) Command to execute |
cron add-at
Section titled “cron add-at”Add a task scheduled at a specific time.
agentzero cron add-at --id deploy --schedule "2026-03-15T10:00:00" --command "deploy.sh"cron add-every
Section titled “cron add-every”Add a recurring task with a cadence expression.
agentzero cron add-every --id heartbeat --schedule "5m" --command "agentzero status"cron once
Section titled “cron once”Add a one-time scheduled task.
agentzero cron once --id migrate --schedule "2026-03-01T00:00:00" --command "migrate"cron update
Section titled “cron update”Update an existing task’s schedule or command.
agentzero cron update --id backup --schedule "0 3 * * *"agentzero cron update --id backup --command "new-backup-script"| Flag | Description |
|---|---|
--id <ID> | (Required) Task identifier |
--schedule <EXPR> | New schedule (optional) |
--command <CMD> | New command (optional) |
cron pause / cron resume / cron remove
Section titled “cron pause / cron resume / cron remove”agentzero cron pause --id backupagentzero cron resume --id backupagentzero cron remove --id backupManage lifecycle hooks that run at specific points in the agent execution cycle.
hooks list
Section titled “hooks list”agentzero hooks listagentzero hooks list --jsonhooks enable / hooks disable
Section titled “hooks enable / hooks disable”agentzero hooks enable --name pre-toolagentzero hooks disable --name pre-toolhooks test
Section titled “hooks test”Run a hook test to verify it executes correctly.
agentzero hooks test --name pre-toolChannels & Integrations
Section titled “Channels & Integrations”channel
Section titled “channel”Manage messaging channels (Telegram, Discord, Slack, etc.). Channel credentials are stored in an encrypted state file.
channel add
Section titled “channel add”Add a new channel. Prompts for channel-specific configuration (API keys, chat IDs, etc.).
agentzero channel add # Interactive promptagentzero channel add telegram # Add by nameagentzero channel add discordchannel list
Section titled “channel list”agentzero channel listchannel doctor
Section titled “channel doctor”Run channel diagnostics — checks configured channels and dispatch engine.
agentzero channel doctorchannel start
Section titled “channel start”Launch configured channels and test connectivity.
agentzero channel startchannel remove
Section titled “channel remove”agentzero channel remove # Interactive promptagentzero channel remove telegram # Remove by namechannel test
Section titled “channel test”Send a test message through a configured channel to verify connectivity.
agentzero channel test telegram # Test by nameagentzero channel test # Interactive promptintegrations
Section titled “integrations”Browse and validate available third-party integrations.
agentzero integrations listagentzero integrations list --category ai --status enabledagentzero integrations search --query "slack"agentzero integrations info| Flag | Description |
|---|---|
--category <CAT> | Filter by category |
--status <STATUS> | Filter by status |
--query <TEXT> | Search query |
Templates
Section titled “Templates”template
Section titled “template”Manage template files that define agent behavior. Templates are Markdown files loaded at agent startup (e.g., AGENTS.md, IDENTITY.md, SOUL.md, TOOLS.md).
template list
Section titled “template list”List all template files with their status and source location.
agentzero template listagentzero template list --json| Flag | Description |
|---|---|
--json | JSON array with name, session, found, source |
Available templates: AGENTS.md, BOOT.md, BOOTSTRAP.md, HEARTBEAT.md, IDENTITY.md, SOUL.md, TOOLS.md, USER.md
template show
Section titled “template show”Display the content of a specific template.
agentzero template show IDENTITYagentzero template show soul # Case-insensitivetemplate init
Section titled “template init”Scaffold template files with default content.
agentzero template init # All templatesagentzero template init --name IDENTITY # Single templateagentzero template init --dir ./templates --force| Flag | Description |
|---|---|
--name <NAME> | Single template to scaffold (default: all) |
--dir <DIR> | Target directory (default: workspace root) |
--force | Overwrite existing files |
template validate
Section titled “template validate”Check that template files exist and have content.
agentzero template validateIdentity & Coordination
Section titled “Identity & Coordination”identity
Section titled “identity”Manage actor identities and roles. Identities track who (human, agent, service) is performing actions.
agentzero identity upsert --id agent-1 --name "Primary Agent" --kind agentagentzero identity get --id agent-1agentzero identity get --id agent-1 --jsonagentzero identity add-role --id agent-1 --role admin| Subcommand | Description | Key Flags |
|---|---|---|
upsert | Create or update an identity | --id, --name, --kind (Human/Agent/Service), --json |
get | Show identity by id | --id, --json |
add-role | Add a role to an identity | --id, --role, --json |
coordination
Section titled “coordination”Inspect and update the multi-agent coordination runtime.
agentzero coordination statusagentzero coordination status --jsonagentzero coordination set --active-workers 4 --queued-tasks 10| Subcommand | Description | Key Flags |
|---|---|---|
status | Show worker/task counts | --json |
set | Update counts | --active-workers, --queued-tasks |
Track accumulated API usage cost.
agentzero cost statusagentzero cost status --jsonagentzero cost record --tokens 1500 --usd 0.003agentzero cost reset| Subcommand | Description | Key Flags |
|---|---|---|
status | Show cost summary | --json |
record | Record token usage | --tokens, --usd |
reset | Reset cost summary | — |
Manage runtime goals for tracking agent progress.
agentzero goals listagentzero goals list --jsonagentzero goals add --id ship-v1 --title "Ship v1.0"agentzero goals complete --id ship-v1| Subcommand | Description | Key Flags |
|---|---|---|
list | List goals | --json |
add | Add a goal | --id, --title |
complete | Mark goal complete | --id |
Utility
Section titled “Utility”tunnel
Section titled “tunnel”Manage secure tunnels for exposing local services.
agentzero tunnel start --protocol https --remote example.com:443 --local-port 8443agentzero tunnel start --name my-tunnel --protocol http --remote api.example.com:80 --local-port 3000agentzero tunnel statusagentzero tunnel status --jsonagentzero tunnel stop| Subcommand | Key Flags |
|---|---|
start | --name (default: default), --protocol (http/https/ssh), --remote (host:port), --local-port |
stop | --name |
status | --name, --json |
migrate
Section titled “migrate”Migrate data from external runtimes.
agentzero migrate import --source /path/to/sourceagentzero migrate import --source /path/to/source --dry-run| Flag | Description |
|---|---|
--source <PATH> | Source directory to import from |
--dry-run | Validate and preview without writing |
update
Section titled “update”Self-update operations. Check for new versions, apply updates, or roll back.
agentzero update --check # Quick checkagentzero update check --channel stable --json # Detailed checkagentzero update apply --version 1.2.0 # Apply specific versionagentzero update rollback # Roll back to previousagentzero update status # Show update state| Subcommand | Key Flags |
|---|---|
check | --channel (default: stable), --json |
apply | --version, --json |
rollback | --json |
status | --json |
completions
Section titled “completions”Generate shell completion scripts. Pipe to your shell’s completion file.
agentzero completions --shell bash >> ~/.bashrcagentzero completions --shell zsh >> ~/.zshrcagentzero completions --shell fish > ~/.config/fish/completions/agentzero.fish| Flag | Description |
|---|---|
--shell <SHELL> | Shell: bash, zsh, fish, elvish, powershell |
hardware (feature-gated)
Section titled “hardware (feature-gated)”Discover hardware boards and inspect chip details. Requires the hardware feature.
agentzero hardware discover # Scan for boardsagentzero hardware info --chip STM32F401RETx # Chip detailsagentzero hardware introspect # Board introspectionperipheral (feature-gated)
Section titled “peripheral (feature-gated)”Manage peripheral devices. Requires the hardware feature.
agentzero peripheral listagentzero peripheral list --jsonagentzero peripheral add --id sensor-1 --kind temperature --connection /dev/ttyUSB0agentzero peripheral flash --id sensor-1 --firmware firmware.binagentzero peripheral flash-nucleoagentzero peripheral setup-uno-q --host 192.168.0.48| Subcommand | Description | Key Flags |
|---|---|---|
list | List registered peripherals | --json |
add | Register a peripheral | --id, --kind, --connection, --json |
flash | Flash firmware | --id, --firmware, --json |
flash-nucleo | Flash Nucleo board profile | --json |
setup-uno-q | Setup Uno Q | --host, --json |