Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Command-Line Help for zeroclaw

This document contains the help content for the zeroclaw command-line program.

Command Overview:

zeroclaw

The fastest, smallest AI assistant.

Usage: zeroclaw [OPTIONS] <COMMAND>

Subcommands:

  • quickstart — Quickstart — create one working agent end-to-end. Replaces the section-by-section onboarding flow with a single preset-driven path. Non-interactive in this build: writes balanced defaults for risk/runtime/memory and prints next-step instructions
  • onboard — Deprecated. Use zeroclaw quickstart. Any flags error
  • agent — Start the AI agent loop
  • gateway — Start/manage the gateway server (webhooks, websockets)
  • acp — Start ACP (Agent Control Protocol) server over stdio
  • daemon — Start long-running autonomous runtime (gateway + channels + heartbeat + scheduler)
  • service — Manage OS service lifecycle (launchd/systemd user service)
  • doctor — Run diagnostics for daemon/scheduler/channel freshness
  • status — Show system status (full details)
  • estop — Engage, inspect, and resume emergency-stop states
  • cron — Configure and manage scheduled tasks
  • models — Manage model_provider model catalogs
  • providers — List supported AI model_providers
  • channel — Manage channels (telegram, discord, slack)
  • integrations — Browse 50+ integrations
  • skills — Manage skills (user-defined capabilities)
  • browse — Browse the shared workspace one directory at a time
  • sop — Manage standard operating procedures (SOPs)
  • migrate — Migrate data from other agent runtimes
  • auth — Manage model_provider subscription authentication profiles
  • hardware — Discover and introspect USB hardware
  • peripheral — Manage hardware peripherals (STM32, RPi GPIO, etc.)
  • memory — Manage agent memory (list, get, stats, clear)
  • config — Manage configuration
  • update — Check for and apply updates
  • self-test — Run diagnostic self-tests
  • completions — Generate shell completion script to stdout
  • desktop — Launch or install the companion desktop app
  • locales — Fetch translated locale files (FTL) from upstream

Options:

  • --config-dir <CONFIG_DIR>

  • --log-level <LOG_LEVEL> — Lowest severity recorded to the runtime trace (and capture layer). Immutable for the process. Precedence: this flag > RUST_LOG env > per-command default

    Possible values: error, warn, info, debug, trace

  • -v, --verbose — Surface recorded logs on the terminal. Off by default: logs go to the trace file only and the terminal shows just command output. When on, the terminal shows events down to the recorded floor. Immutable for the process

zeroclaw quickstart

Quickstart — create one working agent end-to-end. Replaces the section-by-section onboarding flow with a single preset-driven path. Non-interactive in this build: writes balanced defaults for risk/runtime/memory and prints next-step instructions

Usage: zeroclaw quickstart [OPTIONS]

Options:

  • --model-provider <MODEL_PROVIDER> — Provider type (anthropic / openai / openrouter / ollama)
  • --model <MODEL> — Model id for the new provider entry
  • --api-key <API_KEY> — API key for the new provider entry (omit for ollama / local)
  • --agent <AGENT> — Alias for the new agent. Defaults to a sanitized provider name

zeroclaw onboard

Deprecated. Use zeroclaw quickstart. Any flags error

Usage: zeroclaw onboard [COMMAND]

Subcommands:

  • providers.models — Pick a model provider to configure (Anthropic, OpenAI, OpenRouter, Ollama, custom OpenAI-compatible gateways, etc.). Multiple aliases per provider are supported — e.g. anthropic.production and anthropic.dev can coexist
  • risk_profiles — Named risk profiles binding allowlists, denylists, and approval thresholds. Agents reference one via agents.<alias>.risk_profile
  • runtime_profiles — Named runtime tuning profiles (token limits, retry policy, timeouts). Agents reference one via agents.<alias>.runtime_profile
  • storage — SQLite is the safe default for single-node installs (file-based, zero-config, no extra services). Pick Postgres for shared or multi-instance deployments, Qdrant for vector search, Markdown or Lucid for human-readable files. Each backend supports multiple aliased instances; agents reference them via memory.storage_ref
  • memory — Persistent memory backend. SQLite is the default; pick none to disable long-term recall entirely
  • skills — Skills tool settings — where skill markdown lives on disk (defaults to the data dir), and how the skills loader handles community repositories. Add skill BUNDLES under skill-bundles below
  • skill_bundles — Named bundles of skill files. Agents reference a bundle to load a set of capabilities at startup
  • mcp — Model Context Protocol settings. Toggle enabled and pick deferred or eager loading. Individual MCP servers live under mcp.servers[]
  • mcp_bundles — Named bundles of MCP servers. Agents reference a bundle to pull in a set of MCP tools as one unit
  • knowledge_bundles — Named bundles of knowledge sources (RAG indexes, doc folders). Agents reference a bundle to surface relevant snippets at inference time
  • providers.tts — Text-to-speech providers (OpenAI, ElevenLabs, Google, Edge, Piper). Configure one per voice / language; agents reference them by alias
  • providers.transcription — Speech-to-text providers (OpenAI Whisper, Groq, Deepgram, AssemblyAI, Google, local Whisper). Configure one per pipeline; agents reference them by alias
  • channels — Pick which chat platforms ZeroClaw should listen on. You can configure multiple — each channel gets its own alias
  • hardware — Optional: hardware peripherals (Arduino, STM32, GPIO, etc.). Skip if you don’t need them
  • agents — An agent binds a model provider, profiles, bundles, and channels into one dispatchable unit. Add one per persona; reuse the same alias across channels to share state
  • peer_groups — Named groups binding a channel, member agents, and external peers. Mutual opt-in: two agents become peers only when both appear in the same group’s agents list
  • cron — Scheduled tasks. Each cron entry binds a schedule expression to a prompt, channel, and target
  • tunnel — Optional: expose your gateway over the public internet via Cloudflare or ngrok. Pick none to keep it localhost-only
  • onboard_state — Quickstart lifecycle state. quickstart_completed flips to true once the Quickstart finishes a successful run; while false, the web gateway and TUI auto-launch the Quickstart on startup. completed_sections is a legacy per-section ledger retained for backwards compatibility with prior data

zeroclaw onboard providers.models

Pick a model provider to configure (Anthropic, OpenAI, OpenRouter, Ollama, custom OpenAI-compatible gateways, etc.). Multiple aliases per provider are supported — e.g. anthropic.production and anthropic.dev can coexist

Usage: zeroclaw onboard providers.models

zeroclaw onboard risk_profiles

Named risk profiles binding allowlists, denylists, and approval thresholds. Agents reference one via agents.<alias>.risk_profile

Usage: zeroclaw onboard risk_profiles

zeroclaw onboard runtime_profiles

Named runtime tuning profiles (token limits, retry policy, timeouts). Agents reference one via agents.<alias>.runtime_profile

Usage: zeroclaw onboard runtime_profiles

zeroclaw onboard storage

SQLite is the safe default for single-node installs (file-based, zero-config, no extra services). Pick Postgres for shared or multi-instance deployments, Qdrant for vector search, Markdown or Lucid for human-readable files. Each backend supports multiple aliased instances; agents reference them via memory.storage_ref

Usage: zeroclaw onboard storage

zeroclaw onboard memory

Persistent memory backend. SQLite is the default; pick none to disable long-term recall entirely

Usage: zeroclaw onboard memory

zeroclaw onboard skills

Skills tool settings — where skill markdown lives on disk (defaults to the data dir), and how the skills loader handles community repositories. Add skill BUNDLES under skill-bundles below

Usage: zeroclaw onboard skills

zeroclaw onboard skill_bundles

Named bundles of skill files. Agents reference a bundle to load a set of capabilities at startup

Usage: zeroclaw onboard skill_bundles

zeroclaw onboard mcp

Model Context Protocol settings. Toggle enabled and pick deferred or eager loading. Individual MCP servers live under mcp.servers[]

Usage: zeroclaw onboard mcp

zeroclaw onboard mcp_bundles

Named bundles of MCP servers. Agents reference a bundle to pull in a set of MCP tools as one unit

Usage: zeroclaw onboard mcp_bundles

zeroclaw onboard knowledge_bundles

Named bundles of knowledge sources (RAG indexes, doc folders). Agents reference a bundle to surface relevant snippets at inference time

Usage: zeroclaw onboard knowledge_bundles

zeroclaw onboard providers.tts

Text-to-speech providers (OpenAI, ElevenLabs, Google, Edge, Piper). Configure one per voice / language; agents reference them by alias

Usage: zeroclaw onboard providers.tts

zeroclaw onboard providers.transcription

Speech-to-text providers (OpenAI Whisper, Groq, Deepgram, AssemblyAI, Google, local Whisper). Configure one per pipeline; agents reference them by alias

Usage: zeroclaw onboard providers.transcription

zeroclaw onboard channels

Pick which chat platforms ZeroClaw should listen on. You can configure multiple — each channel gets its own alias

Usage: zeroclaw onboard channels

zeroclaw onboard hardware

Optional: hardware peripherals (Arduino, STM32, GPIO, etc.). Skip if you don’t need them

Usage: zeroclaw onboard hardware

zeroclaw onboard agents

An agent binds a model provider, profiles, bundles, and channels into one dispatchable unit. Add one per persona; reuse the same alias across channels to share state

Usage: zeroclaw onboard agents

zeroclaw onboard peer_groups

Named groups binding a channel, member agents, and external peers. Mutual opt-in: two agents become peers only when both appear in the same group’s agents list

Usage: zeroclaw onboard peer_groups

zeroclaw onboard cron

Scheduled tasks. Each cron entry binds a schedule expression to a prompt, channel, and target

Usage: zeroclaw onboard cron

zeroclaw onboard tunnel

Optional: expose your gateway over the public internet via Cloudflare or ngrok. Pick none to keep it localhost-only

Usage: zeroclaw onboard tunnel

zeroclaw onboard onboard_state

Quickstart lifecycle state. quickstart_completed flips to true once the Quickstart finishes a successful run; while false, the web gateway and TUI auto-launch the Quickstart on startup. completed_sections is a legacy per-section ledger retained for backwards compatibility with prior data

Usage: zeroclaw onboard onboard_state

zeroclaw agent

Start the AI agent loop.

Launches an interactive chat session with the configured AI model_provider. Use –message for single-shot queries without entering interactive mode.

Examples: zeroclaw agent -a assistant # interactive session zeroclaw agent -a assistant -m “Summarize today’s logs” # single message zeroclaw agent -a assistant -p anthropic –model claude-sonnet-4-20250514 zeroclaw agent -a assistant –peripheral nucleo-f401re:/dev/ttyACM0

Usage: zeroclaw agent [OPTIONS] --agent <AGENT>

Options:

  • -a, --agent <AGENT> — Configured agent alias to run as (must match [agents.<alias>]). Required — there is no default agent
  • -m, --message <MESSAGE> — Single message mode (don’t enter interactive mode)
  • --session-state-file <SESSION_STATE_FILE> — Load and save interactive session state in this JSON file
  • -p, --model-provider <MODEL_PROVIDER> — Model provider to use (openrouter, anthropic, openai, openai-codex)
  • --model <MODEL> — Model to use
  • -t, --temperature <TEMPERATURE> — Temperature (0.0 - 2.0, defaults to providers.models.<type>.<alias>.temperature)
  • --peripheral <PERIPHERAL> — Attach a peripheral (board:path, e.g. nucleo-f401re:/dev/ttyACM0)

zeroclaw gateway

Manage the gateway server (webhooks, websockets).

Start, restart, or inspect the HTTP/WebSocket gateway that accepts incoming webhook events and WebSocket connections.

Examples: zeroclaw gateway start # start gateway zeroclaw gateway restart # restart gateway zeroclaw gateway get-paircode # show pairing code

Usage: zeroclaw gateway [COMMAND]

Subcommands:

  • start — Start the gateway server (default if no subcommand specified)
  • restart — Restart the gateway server
  • get-paircode — Show or generate the pairing code without restarting

zeroclaw gateway start

Start the gateway server (webhooks, websockets).

Runs the HTTP/WebSocket gateway that accepts incoming webhook events and WebSocket connections. Bind address defaults to the values in your config file (gateway.host / gateway.port).

Examples: zeroclaw gateway start # use config defaults zeroclaw gateway start -p 8080 # listen on port 8080 zeroclaw gateway start –host 0.0.0.0 # requires [gateway].allow_public_bind=true or a tunnel zeroclaw gateway start -p 0 # random available port

Usage: zeroclaw gateway start [OPTIONS]

Options:

  • -p, --port <PORT> — Port to listen on (use 0 for random available port); defaults to config gateway.port
  • --host <HOST> — Host to bind to; defaults to config gateway.host Note: Binding to 0.0.0.0 requires gateway.allow_public_bind = true in config
  • --allow-degraded-security — Boot even when security-critical config sections were dropped to their defaults during load (weakened posture). Off by default

zeroclaw gateway restart

Restart the gateway server.

Stops the running gateway if present, then starts a new instance with the current configuration.

Examples: zeroclaw gateway restart # restart with config defaults zeroclaw gateway restart -p 8080 # restart on port 8080

Usage: zeroclaw gateway restart [OPTIONS]

Options:

  • -p, --port <PORT> — Port to listen on (use 0 for random available port); defaults to config gateway.port
  • --host <HOST> — Host to bind to; defaults to config gateway.host Note: Binding to 0.0.0.0 requires gateway.allow_public_bind = true in config
  • --allow-degraded-security — Boot even when security-critical config sections were dropped to their defaults during load (weakened posture). Off by default

zeroclaw gateway get-paircode

Show or generate the gateway pairing code.

Displays the pairing code for connecting new clients without restarting the gateway. Requires the gateway to be running.

With –new, generates a fresh pairing code even if the gateway was previously paired (useful for adding additional clients). This does NOT revoke existing tokens.

With –rotate, revokes ALL paired bearer tokens, clears the device registry, and issues a fresh code. Use this after a suspected token leak when you do not know which token was compromised; every client must re-pair.

With –rotate-device ID, revokes just that device’s bearer token and issues a fresh code for re-pairing that one device.

Examples: zeroclaw gateway get-paircode # show current pairing code zeroclaw gateway get-paircode –new # add another client (no revocation) zeroclaw gateway get-paircode –rotate # revoke ALL tokens, then issue a code zeroclaw gateway get-paircode –rotate-device dash-1 # revoke one device’s token zeroclaw gateway get-paircode –new –port 3001 # target alternate-port gateway

Usage: zeroclaw gateway get-paircode [OPTIONS]

Options:

  • --new — Generate a new pairing code for adding a client (does not revoke existing tokens)
  • --rotate — Revoke ALL paired tokens and clear the device registry, then issue a new code
  • --rotate-device <DEVICE_ID> — Revoke a single device’s bearer token by id, then issue a new code
  • -p, --port <PORT> — Port of the running gateway to query; defaults to config gateway.port
  • --host <HOST> — Host of the running gateway to query; defaults to config gateway.host

zeroclaw acp

Start the ACP server (JSON-RPC 2.0 over stdio).

Launches a JSON-RPC 2.0 server on stdin/stdout for IDE and tool integration. Supports session management and streaming agent responses as notifications.

Methods: initialize, session/new, session/prompt, session/stop.

Examples: zeroclaw acp # start ACP server zeroclaw acp –max-sessions 5 # limit concurrent sessions

Usage: zeroclaw acp [OPTIONS]

Options:

  • --max-sessions <MAX_SESSIONS> — Maximum concurrent sessions (default: 10)
  • --session-timeout <SESSION_TIMEOUT> — Session inactivity timeout in seconds (default: 3600)

zeroclaw daemon

Start the long-running autonomous daemon.

Launches the full ZeroClaw runtime: gateway server, all configured channels (Telegram, Discord, Slack, etc.), heartbeat monitor, and the cron scheduler. This is the recommended way to run ZeroClaw in production or as an always-on assistant.

Use ‘zeroclaw service install’ to register the daemon as an OS service (systemd/launchd) for auto-start on boot.

Examples: zeroclaw daemon # use config defaults zeroclaw daemon -p 9090 # gateway on port 9090 zeroclaw daemon –host 127.0.0.1 # localhost only

Usage: zeroclaw daemon [OPTIONS]

Options:

  • -p, --port <PORT> — Port to listen on (use 0 for random available port); defaults to config gateway.port
  • --host <HOST> — Host to bind to; defaults to config gateway.host
  • --ephemeral — Self-terminate after all socket clients disconnect (with grace period)
  • --allow-degraded-security — Boot even when security-critical config sections were dropped to their defaults during load. Without this, the daemon refuses to start with a weakened posture; with it, the daemon boots so the operator can reach repair surfaces, emitting a repeating warning

zeroclaw service

Manage OS service lifecycle (launchd/systemd user service)

Usage: zeroclaw service [OPTIONS] <COMMAND>

Subcommands:

  • install — Install daemon service unit for auto-start and restart
  • start — Start daemon service
  • stop — Stop daemon service
  • restart — Restart daemon service to apply latest config
  • status — Check daemon service status
  • uninstall — Uninstall daemon service unit
  • logs — Tail daemon service logs

Options:

  • --service-init <SERVICE_INIT> — Init system to use: auto (detect), systemd, or openrc

    Default value: auto

    Possible values: auto, systemd, openrc

zeroclaw service install

Install daemon service unit for auto-start and restart

Usage: zeroclaw service install

zeroclaw service start

Start daemon service

Usage: zeroclaw service start

zeroclaw service stop

Stop daemon service

Usage: zeroclaw service stop

zeroclaw service restart

Restart daemon service to apply latest config

Usage: zeroclaw service restart

zeroclaw service status

Check daemon service status

Usage: zeroclaw service status

zeroclaw service uninstall

Uninstall daemon service unit

Usage: zeroclaw service uninstall

zeroclaw service logs

Tail daemon service logs

Usage: zeroclaw service logs [OPTIONS]

Options:

  • -n, --lines <LINES> — Number of lines to show (default: 50)

    Default value: 50

  • -f, --follow — Follow log output (like tail -f)

zeroclaw doctor

Run diagnostics for daemon/scheduler/channel freshness

Usage: zeroclaw doctor [COMMAND]

Subcommands:

  • models — Probe model catalogs across model_providers and report availability
  • traces — Query runtime trace events (tool diagnostics and model replies)

zeroclaw doctor models

Probe model catalogs across model_providers and report availability

Usage: zeroclaw doctor models [OPTIONS]

Options:

  • --model-provider <MODEL_PROVIDER> — Probe a specific model_provider only (default: all known model_providers)
  • --use-cache — Prefer cached catalogs when available (skip forced live refresh)

zeroclaw doctor traces

Query runtime trace events (tool diagnostics and model replies)

Usage: zeroclaw doctor traces [OPTIONS]

Options:

  • --id <ID> — Show a specific trace event by id

  • --event <EVENT> — Filter list output by event type

  • --contains <CONTAINS> — Case-insensitive text match across message/payload

  • --limit <LIMIT> — Maximum number of events to display

    Default value: 20

zeroclaw status

Show system status (full details)

Usage: zeroclaw status [OPTIONS]

Options:

  • --format <FORMAT> — Output format: “exit-code” exits 0 if healthy, 1 otherwise (for Docker HEALTHCHECK)

zeroclaw estop

Engage, inspect, and resume emergency-stop states.

Examples: - zeroclaw estop - zeroclaw estop --level network-kill - zeroclaw estop --level domain-block --domain "*.chase.com" - zeroclaw estop --level tool-freeze --tool shell --tool browser - zeroclaw estop status - zeroclaw estop resume --network - zeroclaw estop resume --domain "*.chase.com" - zeroclaw estop resume --tool shell

Usage: zeroclaw estop [OPTIONS] [COMMAND]

Subcommands:

  • status — Print current estop status
  • resume — Resume from an engaged estop level

Options:

  • --level <LEVEL> — Level used when engaging estop from zeroclaw estop

    Possible values: kill-all, network-kill, domain-block, tool-freeze

  • --domain <DOMAINS> — Domain pattern(s) for domain-block (repeatable)

  • --tool <TOOLS> — Tool name(s) for tool-freeze (repeatable)

zeroclaw estop status

Print current estop status

Usage: zeroclaw estop status

zeroclaw estop resume

Resume from an engaged estop level

Usage: zeroclaw estop resume [OPTIONS]

Options:

  • --network — Resume only network kill
  • --domain <DOMAINS> — Resume one or more blocked domain patterns
  • --tool <TOOLS> — Resume one or more frozen tools
  • --otp <OTP> — OTP code. If omitted and OTP is required, a prompt is shown

zeroclaw cron

Configure and manage scheduled tasks.

Schedule recurring, one-shot, or interval-based tasks using cron expressions, RFC3339 timestamps with explicit Z or offsets, durations, or fixed intervals.

Cron expressions use the standard 5-field format: ‘min hour day month weekday’. When –tz is omitted, cron schedules use the runtime local timezone. For user-facing schedules, pass –tz with an explicit IANA timezone.

Examples: zeroclaw cron list zeroclaw cron add ‘0 9 * * 1-5’ ‘Good morning’ –tz America/New_York –agent zeroclaw cron add ‘*/30 * * * ’ ‘Check system health’ –agent zeroclaw cron add ‘/5 * * * *’ ‘echo ok’ zeroclaw cron add-at 2025-01-15T14:00:00Z ‘Send reminder’ –agent zeroclaw cron add-every 60000 ‘Ping heartbeat’ zeroclaw cron once 30m ‘Run backup in 30 minutes’ –agent zeroclaw cron pause TASK_ID zeroclaw cron update TASK_ID –expression ‘0 8 * * *’ –tz Europe/London

Usage: zeroclaw cron <COMMAND>

Subcommands:

  • list — List all scheduled tasks
  • add — Add a new scheduled task
  • add-at — Add a one-shot scheduled task at an RFC3339 timestamp with explicit Z or offset
  • add-every — Add a fixed-interval scheduled task
  • once — Add a one-shot delayed task (e.g. “30m”, “2h”, “1d”)
  • remove — Remove a scheduled task
  • update — Update a scheduled task
  • pause — Pause a scheduled task
  • resume — Resume a paused task

zeroclaw cron list

List all scheduled tasks

Usage: zeroclaw cron list

zeroclaw cron add

Add a new recurring scheduled task.

Uses standard 5-field cron syntax: ‘min hour day month weekday’. When –tz is omitted, cron schedules use the runtime local timezone. For user-facing schedules, pass –tz with an explicit IANA timezone.

Examples: zeroclaw cron add ‘0 9 * * 1-5’ ‘Good morning’ –tz America/New_York –agent zeroclaw cron add ‘*/30 * * * ’ ‘Check system health’ –agent zeroclaw cron add ‘/5 * * * *’ ‘echo ok’

Usage: zeroclaw cron add [OPTIONS] --agent <AGENT_ALIAS> <EXPRESSION> <COMMAND>

Arguments:

  • <EXPRESSION> — Cron expression
  • <COMMAND> — Command (shell) or prompt (when –prompt) to run

Options:

  • -a, --agent <AGENT_ALIAS> — Configured agent alias the cron job runs as. Required — there is no default agent
  • --tz <TZ> — Optional IANA timezone (e.g. America/Los_Angeles)
  • --prompt — Treat the argument as an agent prompt instead of a shell command
  • --allowed-tool <ALLOWED_TOOLS> — Restrict agent cron jobs to the specified tool names (repeatable, prompt-only)

zeroclaw cron add-at

Add a one-shot task that fires at a specific RFC3339 timestamp with explicit Z or offset.

The timestamp must include an explicit Z or numeric offset (e.g. 2025-01-15T14:00:00Z or 2025-01-15T09:00:00-05:00).

Examples: zeroclaw cron add-at –agent morning-shift 2025-01-15T14:00:00Z ‘Send reminder’ zeroclaw cron add-at –agent morning-shift –prompt 2025-12-31T23:59:00Z ‘Happy New Year!’

Usage: zeroclaw cron add-at [OPTIONS] --agent <AGENT_ALIAS> <AT> <COMMAND>

Arguments:

  • <AT> — One-shot RFC3339 timestamp with explicit Z or offset
  • <COMMAND> — Command (shell) or prompt (when –prompt) to run

Options:

  • -a, --agent <AGENT_ALIAS> — Configured agent alias the cron job runs as
  • --prompt — Treat the argument as an agent prompt instead of a shell command
  • --allowed-tool <ALLOWED_TOOLS> — Restrict agent cron jobs to the specified tool names (repeatable, prompt-only)

zeroclaw cron add-every

Add a task that repeats at a fixed interval.

Interval is specified in milliseconds. For example, 60000 = 1 minute.

Examples: zeroclaw cron add-every –agent triage 60000 ‘Ping heartbeat’ zeroclaw cron add-every –agent triage 3600000 ‘Hourly report’

Usage: zeroclaw cron add-every [OPTIONS] --agent <AGENT_ALIAS> <EVERY_MS> <COMMAND>

Arguments:

  • <EVERY_MS> — Interval in milliseconds
  • <COMMAND> — Command (shell) or prompt (when –prompt) to run

Options:

  • -a, --agent <AGENT_ALIAS> — Configured agent alias the cron job runs as
  • --prompt — Treat the argument as an agent prompt instead of a shell command
  • --allowed-tool <ALLOWED_TOOLS> — Restrict agent cron jobs to the specified tool names (repeatable, prompt-only)

zeroclaw cron once

Add a one-shot task that fires after a delay from now.

Accepts human-readable durations: s (seconds), m (minutes), h (hours), d (days).

Examples: zeroclaw cron once –agent ops-bot 30m ‘Run backup in 30 minutes’ zeroclaw cron once –agent researcher –prompt 2h ‘Follow up on deployment’

Usage: zeroclaw cron once [OPTIONS] --agent <AGENT_ALIAS> <DELAY> <COMMAND>

Arguments:

  • <DELAY> — Delay duration
  • <COMMAND> — Command (shell) or prompt (when –prompt) to run

Options:

  • -a, --agent <AGENT_ALIAS> — Configured agent alias the cron job runs as
  • --prompt — Treat the argument as an agent prompt instead of a shell command
  • --allowed-tool <ALLOWED_TOOLS> — Restrict agent cron jobs to the specified tool names (repeatable, prompt-only)

zeroclaw cron remove

Remove a scheduled task

Usage: zeroclaw cron remove <ID>

Arguments:

  • <ID> — Task ID

zeroclaw cron update

Update one or more fields of an existing scheduled task.

Only the fields you specify are changed; others remain unchanged.

Examples: zeroclaw cron update TASK_ID –expression ‘0 8 * * *’ zeroclaw cron update TASK_ID –tz Europe/London –name ‘Morning check’ zeroclaw cron update TASK_ID –command ‘Updated message’

Usage: zeroclaw cron update [OPTIONS] --agent <AGENT_ALIAS> <ID>

Arguments:

  • <ID> — Task ID

Options:

  • -a, --agent <AGENT_ALIAS> — Configured agent alias whose risk profile gates the new shell command (when –command is provided). Required
  • --expression <EXPRESSION> — New cron expression
  • --tz <TZ> — New IANA timezone
  • --command <COMMAND> — New command to run
  • --name <NAME> — New job name
  • --allowed-tool <ALLOWED_TOOLS> — Replace the agent job allowlist with the specified tool names (repeatable)

zeroclaw cron pause

Pause a scheduled task

Usage: zeroclaw cron pause <ID>

Arguments:

  • <ID> — Task ID

zeroclaw cron resume

Resume a paused task

Usage: zeroclaw cron resume <ID>

Arguments:

  • <ID> — Task ID

zeroclaw models

Manage model_provider model catalogs

Usage: zeroclaw models <COMMAND>

Subcommands:

  • refresh — Refresh and cache model_provider models
  • list — List cached models for a model_provider
  • set — Set the default model in config
  • status — Show current model configuration and cache status

zeroclaw models refresh

Refresh and cache model_provider models

Usage: zeroclaw models refresh [OPTIONS]

Options:

  • --model-provider <MODEL_PROVIDER> — ModelProvider name (defaults to configured default model_provider)
  • --all — Refresh all model_providers that support live model discovery
  • --force — Force live refresh and ignore fresh cache

zeroclaw models list

List cached models for a model_provider

Usage: zeroclaw models list [OPTIONS]

Options:

  • --model-provider <MODEL_PROVIDER> — ModelProvider name (defaults to configured default model_provider)

zeroclaw models set

Set the default model in config

Usage: zeroclaw models set <MODEL>

Arguments:

  • <MODEL> — Model name to set as default

zeroclaw models status

Show current model configuration and cache status

Usage: zeroclaw models status

zeroclaw providers

List supported AI model_providers

Usage: zeroclaw providers

zeroclaw channel

Manage communication channels.

Add, remove, list, send, and health-check channels that connect ZeroClaw to messaging platforms. Supported channel types: telegram, discord, slack, whatsapp, matrix, imessage, email.

Examples: zeroclaw channel list zeroclaw channel doctor zeroclaw channel add telegram ‘{“bot_token”:“…”,“name”:“my-bot”}’ zeroclaw channel remove my-bot zeroclaw channel bind-telegram zeroclaw_user zeroclaw channel send ‘Alert!’ –channel-id telegram –recipient 123456789

Usage: zeroclaw channel <COMMAND>

Subcommands:

  • list — List all configured channels
  • start — Start all configured channels (handled in main.rs for async)
  • doctor — Run health checks for configured channels (handled in main.rs for async)
  • add — Add a new channel configuration
  • remove — Remove a channel configuration
  • bind-telegram — Bind a Telegram identity (username or numeric user ID) into allowlist
  • send — Send a message to a configured channel

zeroclaw channel list

List all configured channels

Usage: zeroclaw channel list

zeroclaw channel start

Start all configured channels (handled in main.rs for async)

Usage: zeroclaw channel start

zeroclaw channel doctor

Run health checks for configured channels (handled in main.rs for async)

Usage: zeroclaw channel doctor

zeroclaw channel add

Add a new channel configuration.

Provide the channel type and a JSON object with the required configuration keys for that channel type.

Supported types: telegram, discord, slack, whatsapp, matrix, imessage, email.

Examples: zeroclaw channel add telegram ‘{“bot_token”:“…”,“name”:“my-bot”}’ zeroclaw channel add discord ‘{“bot_token”:“…”,“name”:“my-discord”}’

Usage: zeroclaw channel add <CHANNEL_TYPE> <CONFIG>

Arguments:

  • <CHANNEL_TYPE> — Channel type (telegram, discord, slack, whatsapp, matrix, imessage, email)
  • <CONFIG> — Optional configuration as JSON

zeroclaw channel remove

Remove a channel configuration

Usage: zeroclaw channel remove <NAME>

Arguments:

  • <NAME> — Channel name to remove

zeroclaw channel bind-telegram

Bind a Telegram identity into the allowlist.

Adds a Telegram username (without the ‘@’ prefix) or numeric user ID to the channel allowlist so the agent will respond to messages from that identity.

Examples: zeroclaw channel bind-telegram zeroclaw_user zeroclaw channel bind-telegram 123456789

Usage: zeroclaw channel bind-telegram <IDENTITY>

Arguments:

  • <IDENTITY> — Telegram identity to allow (username without ‘@’ or numeric user ID)

zeroclaw channel send

Send a one-off message to a configured channel.

Sends a text message through the specified channel without starting the full agent loop. Useful for scripted notifications, hardware sensor alerts, and automation pipelines.

The –channel-id selects the channel by its config section name (e.g. ‘telegram’, ‘discord’, ‘slack’). The –recipient is the platform-specific destination (e.g. a Telegram chat ID).

Examples: zeroclaw channel send ‘Someone is near your device.’ –channel-id telegram –recipient 123456789 zeroclaw channel send ‘Build succeeded!’ –channel-id discord –recipient 987654321

Usage: zeroclaw channel send --channel-id <CHANNEL_ID> --recipient <RECIPIENT> <MESSAGE>

Arguments:

  • <MESSAGE> — Message text to send

Options:

  • --channel-id <CHANNEL_ID> — Channel config name (e.g. telegram, discord, slack)
  • --recipient <RECIPIENT> — Recipient identifier (platform-specific, e.g. Telegram chat ID)

zeroclaw integrations

Browse 50+ integrations

Usage: zeroclaw integrations <COMMAND>

Subcommands:

  • info — Show details about a specific integration

zeroclaw integrations info

Show details about a specific integration

Usage: zeroclaw integrations info <NAME>

Arguments:

  • <NAME> — Integration name

zeroclaw skills

Manage skills (user-defined capabilities)

Usage: zeroclaw skills <COMMAND>

Subcommands:

  • list — List all installed skills
  • add — Scaffold a new skill from scratch (canonical SKILL.md + optional subdirs)
  • edit — Open a skill’s SKILL.md (or a sibling file) in $EDITOR
  • bundle — Manage skill bundles (the named directories skills live in)
  • audit — Audit a skill source directory or installed skill name
  • install — Install a new skill from a URL or local path
  • remove — Remove an installed skill
  • test — Run TEST.sh validation for a skill (or all skills)

zeroclaw skills list

List all installed skills

Usage: zeroclaw skills list

zeroclaw skills add

Scaffold a new skill under a skill bundle. Writes <bundle.directory>/<name>/SKILL.md plus the canonical optional subdirs (scripts/, references/, assets/). Name must be lowercase + hyphens; description is required (prompted on TTY if omitted).

Examples: zeroclaw skills add code-review –bundle official –description “Review PRs.” zeroclaw skills add ops-runbook –description “Triage prod incidents.” –edit

Usage: zeroclaw skills add [OPTIONS] <NAME>

Arguments:

  • <NAME> — Skill name (lowercase + hyphens only)

Options:

  • --bundle <BUNDLE> — Target bundle alias. Optional when exactly one bundle is configured
  • --description <DESCRIPTION> — What the skill does and when to use it (frontmatter description). Required; prompted on TTY when missing
  • --license <LICENSE> — SPDX license identifier (e.g. MIT)
  • --author <AUTHOR> — Skill author handle
  • --version <VERSION> — SemVer version (defaults to 0.1.0)
  • --category <CATEGORY> — Skill category for registry grouping
  • --no-scaffold — Skip scaffolding scripts/, references/, assets/
  • --edit — Open SKILL.md in $EDITOR after scaffold

zeroclaw skills edit

Open a skill’s SKILL.md (or a sibling file) in $EDITOR

Usage: zeroclaw skills edit [OPTIONS] <NAME>

Arguments:

  • <NAME> — Skill name

Options:

  • --bundle <BUNDLE> — Target bundle alias. Optional when name is unique across bundles
  • --file <FILE> — Edit a sibling file instead of SKILL.md (e.g. scripts/runner.sh)

zeroclaw skills bundle

Manage skill bundles (the named directories skills live in)

Usage: zeroclaw skills bundle <COMMAND>

Subcommands:

  • list — List configured skill bundles and their resolved directories
  • add — Add a new skill bundle. Directory defaults to shared/skills/<alias>/
  • remove — Remove a configured skill bundle
  • show — Show metadata + skill list for a bundle

zeroclaw skills bundle list

List configured skill bundles and their resolved directories

Usage: zeroclaw skills bundle list

zeroclaw skills bundle add

Add a new skill bundle. Directory defaults to shared/skills/<alias>/

Usage: zeroclaw skills bundle add [OPTIONS] <ALIAS>

Arguments:

  • <ALIAS> — Bundle alias (lowercase + hyphens; same convention as agents/channels)

Options:

  • --directory <DIRECTORY> — Override directory (relative to install root or absolute). Must resolve inside <install>/shared/

zeroclaw skills bundle remove

Remove a configured skill bundle

Usage: zeroclaw skills bundle remove <ALIAS>

Arguments:

  • <ALIAS> — Bundle alias

zeroclaw skills bundle show

Show metadata + skill list for a bundle

Usage: zeroclaw skills bundle show <ALIAS>

Arguments:

  • <ALIAS> — Bundle alias

zeroclaw skills audit

Audit a skill source directory or installed skill name

Usage: zeroclaw skills audit <SOURCE>

Arguments:

  • <SOURCE> — Skill path or installed skill name

zeroclaw skills install

Install a new skill from a URL or local path

Usage: zeroclaw skills install [OPTIONS] <SOURCE>

Arguments:

  • <SOURCE> — Source URL or local path

Options:

  • --no-tier-banner — Suppress only the install-time tier banner; other install progress output (resolving, installed, audited) is unaffected

zeroclaw skills remove

Remove an installed skill

Usage: zeroclaw skills remove <NAME>

Arguments:

  • <NAME> — Skill name to remove

zeroclaw skills test

Run TEST.sh validation for a skill (or all skills)

Usage: zeroclaw skills test [OPTIONS] [NAME]

Arguments:

  • <NAME> — Skill name to test; omit for all skills

Options:

  • --verbose — Show verbose output

zeroclaw browse

List children of a directory under <install>/shared/. Paths are relative to the shared workspace root; .. traversal that escapes the root is rejected. Used by the dashboard’s skill-bundle directory picker and by operators who want to inspect what’s installed.

Examples: zeroclaw browse # list shared/ root zeroclaw browse skills # list shared/skills/ zeroclaw browse skills/coding # list shared/skills/coding/

Usage: zeroclaw browse [PATH]

Arguments:

  • <PATH> — Path relative to <install>/shared/. Empty = root

    Default value: ``

zeroclaw sop

Manage standard operating procedures (SOPs)

Usage: zeroclaw sop <COMMAND>

Subcommands:

  • list — List loaded SOPs
  • validate — Validate SOP definitions
  • show — Show details of an SOP

zeroclaw sop list

List loaded SOPs

Usage: zeroclaw sop list

zeroclaw sop validate

Validate SOP definitions

Usage: zeroclaw sop validate [NAME]

Arguments:

  • <NAME> — SOP name to validate (all if omitted)

zeroclaw sop show

Show details of an SOP

Usage: zeroclaw sop show <NAME>

Arguments:

  • <NAME> — Name of the SOP to show

zeroclaw migrate

Migrate data from other agent runtimes

Usage: zeroclaw migrate <COMMAND>

Subcommands:

  • openclaw — Import memory from an OpenClaw workspace into this ZeroClaw workspace

zeroclaw migrate openclaw

Import memory from an OpenClaw workspace into this ZeroClaw workspace

Usage: zeroclaw migrate openclaw [OPTIONS]

Options:

  • --source <SOURCE> — Optional path to OpenClaw workspace (defaults to ~/.openclaw/workspace)
  • --dry-run — Validate and preview migration without writing any data

zeroclaw auth

Manage model_provider subscription authentication profiles

Usage: zeroclaw auth <COMMAND>

Subcommands:

  • login — Login with OAuth (OpenAI Codex or Gemini)
  • paste-redirect — Complete OAuth by pasting redirect URL or auth code
  • paste-token — Paste setup token / auth token (for Anthropic subscription auth)
  • setup-token — Alias for paste-token (interactive by default)
  • refresh — Refresh OpenAI Codex access token using refresh token
  • logout — Remove auth profile
  • use — Set active profile for a model_provider
  • list — List auth profiles
  • status — Show auth status with active profile and token expiry info

zeroclaw auth login

Login with OAuth (OpenAI Codex or Gemini)

Usage: zeroclaw auth login [OPTIONS] --model-provider <MODEL_PROVIDER>

Options:

  • --model-provider <MODEL_PROVIDER> — ModelProvider (openai-codex or gemini)

  • --profile <PROFILE> — Profile name (default: default)

    Default value: default

  • --device-code — Use OAuth device-code flow

  • --import <PATH> — Import an existing auth.json file instead of starting a new login flow. Currently supports only openai-codex; Codex defaults to ~/.codex/auth.json

zeroclaw auth paste-redirect

Complete OAuth by pasting redirect URL or auth code

Usage: zeroclaw auth paste-redirect [OPTIONS] --model-provider <MODEL_PROVIDER>

Options:

  • --model-provider <MODEL_PROVIDER> — ModelProvider (openai-codex)

  • --profile <PROFILE> — Profile name (default: default)

    Default value: default

  • --input <INPUT> — Full redirect URL or raw OAuth code

zeroclaw auth paste-token

Paste setup token / auth token (for Anthropic subscription auth)

Usage: zeroclaw auth paste-token [OPTIONS] --model-provider <MODEL_PROVIDER>

Options:

  • --model-provider <MODEL_PROVIDER> — ModelProvider (anthropic)

  • --profile <PROFILE> — Profile name (default: default)

    Default value: default

  • --token <TOKEN> — Token value (if omitted, read interactively)

  • --auth-kind <AUTH_KIND> — Auth kind override (authorization or api-key)

zeroclaw auth setup-token

Alias for paste-token (interactive by default)

Usage: zeroclaw auth setup-token [OPTIONS] --model-provider <MODEL_PROVIDER>

Options:

  • --model-provider <MODEL_PROVIDER> — ModelProvider (anthropic)

  • --profile <PROFILE> — Profile name (default: default)

    Default value: default

zeroclaw auth refresh

Refresh OpenAI Codex access token using refresh token

Usage: zeroclaw auth refresh [OPTIONS] --model-provider <MODEL_PROVIDER>

Options:

  • --model-provider <MODEL_PROVIDER> — ModelProvider (openai-codex)
  • --profile <PROFILE> — Profile name or profile id

zeroclaw auth logout

Remove auth profile

Usage: zeroclaw auth logout [OPTIONS] --model-provider <MODEL_PROVIDER>

Options:

  • --model-provider <MODEL_PROVIDER> — ModelProvider

  • --profile <PROFILE> — Profile name (default: default)

    Default value: default

zeroclaw auth use

Set active profile for a model_provider

Usage: zeroclaw auth use --model-provider <MODEL_PROVIDER> --profile <PROFILE>

Options:

  • --model-provider <MODEL_PROVIDER> — ModelProvider
  • --profile <PROFILE> — Profile name or full profile id

zeroclaw auth list

List auth profiles

Usage: zeroclaw auth list

zeroclaw auth status

Show auth status with active profile and token expiry info

Usage: zeroclaw auth status

zeroclaw hardware

Discover and introspect USB hardware.

Enumerate connected USB devices, identify known development boards (STM32 Nucleo, Arduino, ESP32), and retrieve chip information via probe-rs / ST-Link.

Examples: zeroclaw hardware discover zeroclaw hardware introspect /dev/ttyACM0 zeroclaw hardware info –chip STM32F401RETx

Usage: zeroclaw hardware <COMMAND>

Subcommands:

  • discover — Enumerate USB devices (VID/PID) and show known boards
  • introspect — Introspect a device by path (e.g. /dev/ttyACM0)
  • info — Get chip info via USB (probe-rs over ST-Link). No firmware needed on target

zeroclaw hardware discover

Enumerate USB devices and show known boards.

Scans connected USB devices by VID/PID and matches them against known development boards (STM32 Nucleo, Arduino, ESP32).

Examples: zeroclaw hardware discover

Usage: zeroclaw hardware discover

zeroclaw hardware introspect

Introspect a device by its serial or device path.

Opens the specified device path and queries for board information, firmware version, and supported capabilities.

Examples: zeroclaw hardware introspect /dev/ttyACM0 zeroclaw hardware introspect COM3

Usage: zeroclaw hardware introspect <PATH>

Arguments:

  • <PATH> — Serial or device path

zeroclaw hardware info

Get chip info via USB using probe-rs over ST-Link.

Queries the target MCU directly through the debug probe without requiring any firmware on the target board.

Examples: zeroclaw hardware info zeroclaw hardware info –chip STM32F401RETx

Usage: zeroclaw hardware info [OPTIONS]

Options:

  • --chip <CHIP> — Chip name (e.g. STM32F401RETx). Default: STM32F401RETx for Nucleo-F401RE

    Default value: STM32F401RETx

zeroclaw peripheral

Manage hardware peripherals.

Add, list, flash, and configure hardware boards that expose tools to the agent (GPIO, sensors, actuators). Supported boards: nucleo-f401re, rpi-gpio, esp32, arduino-uno.

Examples: zeroclaw peripheral list zeroclaw peripheral add nucleo-f401re /dev/ttyACM0 zeroclaw peripheral add rpi-gpio native zeroclaw peripheral flash –port /dev/cu.usbmodem12345 zeroclaw peripheral flash-nucleo

Usage: zeroclaw peripheral <COMMAND>

Subcommands:

  • list — List configured peripherals
  • add — Add a peripheral (board path, e.g. nucleo-f401re /dev/ttyACM0)
  • flash — Flash ZeroClaw firmware to Arduino (creates .ino, installs arduino-cli if needed, uploads)
  • setup-uno-q — Setup Arduino Uno Q Bridge app (deploy GPIO bridge for agent control)
  • flash-nucleo — Flash ZeroClaw firmware to Nucleo-F401RE (builds + probe-rs run)

zeroclaw peripheral list

List configured peripherals

Usage: zeroclaw peripheral list

zeroclaw peripheral add

Add a peripheral by board type and transport path.

Registers a hardware board so the agent can use its tools (GPIO, sensors, actuators). Use ‘native’ as path for local GPIO on single-board computers like Raspberry Pi.

Supported boards: nucleo-f401re, rpi-gpio, esp32, arduino-uno.

Examples: zeroclaw peripheral add nucleo-f401re /dev/ttyACM0 zeroclaw peripheral add rpi-gpio native zeroclaw peripheral add esp32 /dev/ttyUSB0

Usage: zeroclaw peripheral add <BOARD> <PATH>

Arguments:

  • <BOARD> — Board type (nucleo-f401re, rpi-gpio, esp32)
  • <PATH> — Path for serial transport (/dev/ttyACM0) or “native” for local GPIO

zeroclaw peripheral flash

Flash ZeroClaw firmware to an Arduino board.

Generates the .ino sketch, installs arduino-cli if it is not already available, compiles, and uploads the firmware.

Examples: zeroclaw peripheral flash zeroclaw peripheral flash –port /dev/cu.usbmodem12345 zeroclaw peripheral flash -p COM3

Usage: zeroclaw peripheral flash [OPTIONS]

Options:

  • -p, --port <PORT> — Serial port (e.g. /dev/cu.usbmodem12345). If omitted, uses first arduino-uno from config

zeroclaw peripheral setup-uno-q

Setup Arduino Uno Q Bridge app (deploy GPIO bridge for agent control)

Usage: zeroclaw peripheral setup-uno-q [OPTIONS]

Options:

  • --host <HOST> — Uno Q IP (e.g. 192.168.0.48). If omitted, assumes running ON the Uno Q

zeroclaw peripheral flash-nucleo

Flash ZeroClaw firmware to Nucleo-F401RE (builds + probe-rs run)

Usage: zeroclaw peripheral flash-nucleo

zeroclaw memory

Manage agent memory entries.

List, inspect, and clear memory entries stored by the agent. Supports filtering by category and session, pagination, and batch clearing with confirmation.

Examples: zeroclaw memory stats zeroclaw memory list zeroclaw memory list –category core –limit 10 zeroclaw memory get KEY zeroclaw memory clear –category conversation –yes

Usage: zeroclaw memory <COMMAND>

Subcommands:

  • list — List memory entries with optional filters
  • get — Get a specific memory entry by key
  • stats — Show memory backend statistics and health
  • clear — Clear memories by category, by key, or clear all
  • reindex — Rebuild backend indexes: FTS tables + any missing embedding vectors

zeroclaw memory list

List memory entries with optional filters

Usage: zeroclaw memory list [OPTIONS]

Options:

  • --category <CATEGORY>

  • --session <SESSION>

  • --limit <LIMIT>

    Default value: 50

  • --offset <OFFSET>

    Default value: 0

zeroclaw memory get

Get a specific memory entry by key

Usage: zeroclaw memory get <KEY>

Arguments:

  • <KEY>

zeroclaw memory stats

Show memory backend statistics and health

Usage: zeroclaw memory stats

zeroclaw memory clear

Clear memories by category, by key, or clear all

Usage: zeroclaw memory clear [OPTIONS]

Options:

  • --key <KEY> — Delete a single entry by key (supports prefix match)
  • --category <CATEGORY>
  • --yes — Skip confirmation prompt

zeroclaw memory reindex

Rebuild backend indexes: FTS tables + any missing embedding vectors.

Run after zeroclaw migrate openclaw or other bulk writes that land rows with embedding = NULL. Safe to re-run; only touches entries whose vector is missing. No-op for backends without a vector index.

Usage: zeroclaw memory reindex

zeroclaw config

Manage ZeroClaw configuration.

View, set, or initialize config properties by dotted path. Use ‘schema’ to dump the full JSON Schema for the config file.

Properties are addressed by dotted path (e.g. channels.matrix.mention-only). Secret fields (API keys, tokens) automatically use masked input. Enum fields offer interactive selection when value is omitted.

Examples: zeroclaw config list # list all properties zeroclaw config list –secrets # list only secrets zeroclaw config list –filter channels.matrix # filter by prefix zeroclaw config get channels.matrix.mention-only # get a value zeroclaw config set channels.matrix.mention-only true # set a value zeroclaw config set channels.matrix.access-token # secret: masked input zeroclaw config set channels.matrix.stream-mode # enum: interactive select zeroclaw config init channels.matrix # init section with defaults zeroclaw config schema # print JSON Schema to stdout zeroclaw config schema > schema.json

Property path tab completion is included automatically in zeroclaw completions <shell>.

Usage: zeroclaw config <COMMAND>

Subcommands:

  • schema — Dump the full configuration JSON Schema to stdout. With --path, returns the schema fragment for that property only — same payload OPTIONS /api/config/prop?path=... returns over HTTP
  • list — List all config properties with current values
  • get — Get a config property value
  • set — Set a config property (secret fields auto-prompt for masked input)
  • init — Initialize unconfigured sections with defaults (enabled=false)
  • migrate — Migrate the on-disk config to the current schema version (preserves comments)
  • patch — Apply a JSON Patch (RFC 6902) document atomically. Mirrors PATCH /api/config
  • docs — Print the API explorer URL (plus a hint if the daemon isn’t running)
  • generate — Generate a canonical config at any supported schema version to stdout

zeroclaw config schema

Dump the full configuration JSON Schema to stdout. With --path, returns the schema fragment for that property only — same payload OPTIONS /api/config/prop?path=... returns over HTTP

Usage: zeroclaw config schema [OPTIONS]

Options:

  • --path <PATH> — Property path to scope the schema dump (e.g. agents.researcher.model_provider). Without it, dumps the whole-config schema

zeroclaw config list

List all config properties with current values

Usage: zeroclaw config list [OPTIONS]

Options:

  • -f, --filter <FILTER> — Filter by path prefix (e.g. “channels.telegram”)
  • --secrets — Show only secret (encrypted) fields

zeroclaw config get

Get a config property value

Usage: zeroclaw config get [OPTIONS] <PATH>

Arguments:

  • <PATH> — Property path (e.g. channels.telegram.mention-only)

Options:

  • --json — Emit a structured JSON envelope ({path, value} or {path, populated}) instead of plain text

zeroclaw config set

Set a config property (secret fields auto-prompt for masked input)

Usage: zeroclaw config set [OPTIONS] <PATH> [VALUE]

Arguments:

  • <PATH> — Property path
  • <VALUE> — New value (omit for secret fields to get masked input)

Options:

  • --no-interactive — Skip interactive prompts — require value on command line, accept raw strings for enums
  • --comment <COMMENT> — Optional comment to write alongside the value in TOML (preserves through future edits)
  • --json — Emit a structured JSON envelope on success

zeroclaw config init

Initialize unconfigured sections with defaults (enabled=false)

Usage: zeroclaw config init [OPTIONS] [SECTION]

Arguments:

  • <SECTION> — Section prefix (e.g. channels.matrix). Omit to init all

Options:

  • --json — Emit a structured JSON envelope ({initialized: […]}) instead of plain text

zeroclaw config migrate

Migrate the on-disk config to the current schema version (preserves comments)

Usage: zeroclaw config migrate [OPTIONS]

Options:

  • --json — Emit a structured JSON envelope ({migrated, backup_path?, schema_version}) instead of plain text

zeroclaw config patch

Apply a JSON Patch (RFC 6902) document atomically. Mirrors PATCH /api/config.

Reads operations from the given file, or from stdin when path is - or omitted. Supported ops: add, replace, remove, test. move and copy are rejected.

Usage: zeroclaw config patch [OPTIONS] [INPUT]

Arguments:

  • <INPUT> — Path to a JSON Patch document, or - for stdin (default)

Options:

  • --json — Print results as JSON (one object per applied op) instead of human-readable text

zeroclaw config docs

Print the API explorer URL (plus a hint if the daemon isn’t running)

Usage: zeroclaw config docs

zeroclaw config generate

Generate a canonical config at any supported schema version to stdout.

Runs the embedded V1 fixture through the typed migration chain and emits the result at the requested version. Useful for repros, doc snippets, and seeding test installs. Valid versions are 1..=CURRENT_SCHEMA_VERSION — invalid inputs error out.

Usage: zeroclaw config generate [OPTIONS] [VERSION]

Arguments:

  • <VERSION> — Target schema version (e.g. 1, 2, 3). Defaults to current

Options:

  • --encrypt — Encrypt secret-bearing string values in the output (api_key, bot_token, access_token, password, refresh_token, etc.). Works at every schema version via a key-name-based walker. Uses the resolved config-dir’s .secret_key (creates one if missing)

zeroclaw update

Check for and apply ZeroClaw updates.

By default, downloads and installs the latest release with a 6-phase pipeline: preflight, download, backup, validate, swap, and smoke test. Automatic rollback on failure.

Use –check to only check for updates without installing. Use –force to skip the confirmation prompt. Use –version to target a specific release instead of latest.

Examples: zeroclaw update # download and install latest zeroclaw update –check # check only, don’t install zeroclaw update –force # install without confirmation zeroclaw update –version 0.6.0 # install specific version

Usage: zeroclaw update [OPTIONS]

Options:

  • --check — Only check for updates, don’t install
  • --force — Skip confirmation prompt
  • --version <VERSION> — Target version (default: latest)

zeroclaw self-test

Run diagnostic self-tests to verify the ZeroClaw installation.

By default, runs the full test suite including network checks (gateway health, memory round-trip). Use –quick to skip network checks for faster offline validation.

Examples: zeroclaw self-test # full suite zeroclaw self-test –quick # quick checks only (no network)

Usage: zeroclaw self-test [OPTIONS]

Options:

  • --quick — Run quick checks only (no network)

zeroclaw completions

Generate shell completion scripts for zeroclaw.

The script is printed to stdout so it can be sourced directly:

Examples (Unix shells): source <(zeroclaw completions bash) zeroclaw completions zsh > ~/.zfunc/_zeroclaw zeroclaw completions fish > ~/.config/fish/completions/zeroclaw.fish

Examples (Windows PowerShell): zeroclaw completions powershell | Out-String | Invoke-Expression zeroclaw completions powershell > $PROFILE.CurrentUserAllHosts

Usage: zeroclaw completions <SHELL>

Arguments:

  • <SHELL> — Target shell

    Possible values: bash, fish, zsh, powershell, elvish

zeroclaw desktop

Launch the ZeroClaw companion desktop app.

The companion app is a lightweight menu bar / system tray application that connects to the same gateway as the CLI. It provides quick access to the dashboard, status monitoring, and device pairing.

Use –install to download the pre-built companion app for your platform.

Examples: zeroclaw desktop # launch the companion app zeroclaw desktop –install # download and install it

Usage: zeroclaw desktop [OPTIONS]

Options:

  • --install — Download and install the companion app

zeroclaw locales

Fetch translated Fluent (.ftl) catalogues for a locale from the upstream repository and install them under <config-dir>/data/ftl/<locale>/, where the runtime and zerocode loaders read them.

Pass a single locale. By default every catalogue is fetched; restrict with –catalog (comma-separated): cli, tools, zerocode.

Examples: zeroclaw locales fetch ja zeroclaw locales fetch fr –catalog cli,tools zeroclaw locales fetch zh-CN –catalog zerocode

Usage: zeroclaw locales <COMMAND>

Subcommands:

  • fetch — Download translated FTL files for a locale from upstream

zeroclaw locales fetch

Download translated FTL files for a locale from upstream

Usage: zeroclaw locales fetch [OPTIONS] <LOCALE>

Arguments:

  • <LOCALE> — Locale code to fetch (e.g. ja, fr, zh-CN)

Options:

  • --catalog <CATALOG> — Comma-separated catalogues to fetch: cli, tools, zerocode. Omit to fetch all of them

This document was generated automatically by clap-markdown.