#compdef zeroclaw

autoload -U is-at-least

_zeroclaw() {
    typeset -A opt_args
    typeset -a _arguments_options
    local ret=1

    if is-at-least 5.2; then
        _arguments_options=(-s -S -C)
    else
        _arguments_options=(-s -C)
    fi

    local context curcontext="$curcontext" state line
    _arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_zeroclaw_commands" \
"*::: :->zeroclaw" \
&& ret=0
    case $state in
    (zeroclaw)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-command-$line[1]:"
        case $line[1] in
            (quickstart)
_arguments "${_arguments_options[@]}" : \
'--model-provider=[Provider type (anthropic / openai / openrouter / ollama)]:MODEL_PROVIDER:_default' \
'--model=[Model id for the new provider entry]:MODEL:_default' \
'--api-key=[API key for the new provider entry (omit for ollama / local)]:API_KEY:_default' \
'--agent=[Alias for the new agent. Defaults to a sanitized provider name]:AGENT:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(onboard)
_arguments "${_arguments_options[@]}" : \
'--api-key=[API key for model_provider configuration]:API_KEY:_default' \
'--model-provider=[ModelProvider name. Used as the type key for the synthesized \`\[providers.models.<type>.default\]\` entry]:MODEL_PROVIDER:_default' \
'--model=[Model ID override]:MODEL:_default' \
'--memory=[Memory backend (sqlite, lucid, markdown, none)]:MEMORY:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--quick[Skip interactive prompts; read from --api-key/--model-provider/--model/--memory]' \
'--cli[Force the dialoguer CLI backend instead of the default ratatui TUI]' \
'--tui[Deprecated\: TUI is now the default. Accepted as a no-op for one release]' \
'--force[Don'\''t ask "keep stored secret?" — always re-prompt]' \
'--reinit[Back up existing config and start from defaults]' \
'--channels-only[]' \
'--providers-only[]' \
'--memory-only[]' \
'--hardware-only[]' \
'--tunnel-only[]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_zeroclaw__subcmd__onboard_commands" \
"*::: :->onboard" \
&& ret=0

    case $state in
    (onboard)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-onboard-command-$line[1]:"
        case $line[1] in
            (providers.models)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(model_routes)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(embedding_routes)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(risk_profiles)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(runtime_profiles)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(storage)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(memory)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(skills)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(skill_bundles)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(mcp)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(mcp.servers)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(mcp_bundles)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(knowledge_bundles)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(providers.tts)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(providers.transcription)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(channels)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(hardware)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(agents)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(peer_groups)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(cron)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(tunnel)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(onboard_state)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__onboard__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-onboard-help-command-$line[1]:"
        case $line[1] in
            (providers.models)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(model_routes)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(embedding_routes)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(risk_profiles)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(runtime_profiles)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(storage)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(memory)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(skills)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(skill_bundles)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(mcp)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(mcp.servers)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(mcp_bundles)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(knowledge_bundles)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(providers.tts)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(providers.transcription)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(channels)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(hardware)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(agents)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(peer_groups)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(cron)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(tunnel)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(onboard_state)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(agent)
_arguments "${_arguments_options[@]}" : \
'-a+[Configured agent alias to run as (must match \`\[agents.<alias>\]\`). Required — there is no default agent]:AGENT:_default' \
'--agent=[Configured agent alias to run as (must match \`\[agents.<alias>\]\`). Required — there is no default agent]:AGENT:_default' \
'-m+[Single message mode (don'\''t enter interactive mode)]:MESSAGE:_default' \
'--message=[Single message mode (don'\''t enter interactive mode)]:MESSAGE:_default' \
'--session-state-file=[Load and save interactive session state in this JSON file]:SESSION_STATE_FILE:_files' \
'-p+[Model provider to use (openrouter, anthropic, openai, openai-codex)]:MODEL_PROVIDER:_default' \
'--model-provider=[Model provider to use (openrouter, anthropic, openai, openai-codex)]:MODEL_PROVIDER:_default' \
'--model=[Model to use]:MODEL:_default' \
'-t+[Temperature (0.0 - 2.0, defaults to \`providers.models.<type>.<alias>.temperature\`)]:TEMPERATURE:_default' \
'--temperature=[Temperature (0.0 - 2.0, defaults to \`providers.models.<type>.<alias>.temperature\`)]:TEMPERATURE:_default' \
'*--peripheral=[Attach a peripheral (board\:path, e.g. nucleo-f401re\:/dev/ttyACM0)]:PERIPHERAL:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(gateway)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_zeroclaw__subcmd__gateway_commands" \
"*::: :->gateway" \
&& ret=0

    case $state in
    (gateway)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-gateway-command-$line[1]:"
        case $line[1] in
            (start)
_arguments "${_arguments_options[@]}" : \
'-p+[Port to listen on (use 0 for random available port); defaults to config gateway.port]:PORT:_default' \
'--port=[Port to listen on (use 0 for random available port); defaults to config gateway.port]:PORT:_default' \
'--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]:HOST:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--allow-degraded-security[Boot even when security-critical config sections were dropped to their defaults during load (weakened posture). Off by default]' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(restart)
_arguments "${_arguments_options[@]}" : \
'-p+[Port to listen on (use 0 for random available port); defaults to config gateway.port]:PORT:_default' \
'--port=[Port to listen on (use 0 for random available port); defaults to config gateway.port]:PORT:_default' \
'--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]:HOST:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--allow-degraded-security[Boot even when security-critical config sections were dropped to their defaults during load (weakened posture). Off by default]' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(get-paircode)
_arguments "${_arguments_options[@]}" : \
'(--new --rotate)--rotate-device=[Revoke a single device'\''s bearer token by id, then issue a new code]:DEVICE_ID:_default' \
'-p+[Port of the running gateway to query; defaults to config gateway.port]:PORT:_default' \
'--port=[Port of the running gateway to query; defaults to config gateway.port]:PORT:_default' \
'--host=[Host of the running gateway to query; defaults to config gateway.host]:HOST:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--new[Generate a new pairing code for adding a client (does not revoke existing tokens)]' \
'(--new --rotate-device)--rotate[Revoke ALL paired tokens and clear the device registry, then issue a new code]' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__gateway__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-gateway-help-command-$line[1]:"
        case $line[1] in
            (start)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(restart)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(get-paircode)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(acp)
_arguments "${_arguments_options[@]}" : \
'--max-sessions=[Maximum concurrent sessions (default\: 10)]:MAX_SESSIONS:_default' \
'--session-timeout=[Session inactivity timeout in seconds (default\: 3600)]:SESSION_TIMEOUT:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(daemon)
_arguments "${_arguments_options[@]}" : \
'-p+[Port to listen on (use 0 for random available port); defaults to config gateway.port]:PORT:_default' \
'--port=[Port to listen on (use 0 for random available port); defaults to config gateway.port]:PORT:_default' \
'--host=[Host to bind to; defaults to config gateway.host]:HOST:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--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]' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(service)
_arguments "${_arguments_options[@]}" : \
'--service-init=[Init system to use\: auto (detect), systemd, or openrc]:SERVICE_INIT:(auto systemd openrc)' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_zeroclaw__subcmd__service_commands" \
"*::: :->service" \
&& ret=0

    case $state in
    (service)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-service-command-$line[1]:"
        case $line[1] in
            (run-launchd-daemon)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(run-openrc-log-writer)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':stream:(stdout stderr)' \
&& ret=0
;;
(install)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(start)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(stop)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(restart)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(status)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(uninstall)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(logs)
_arguments "${_arguments_options[@]}" : \
'-n+[Number of lines to show (default\: 50)]:LINES:_default' \
'--lines=[Number of lines to show (default\: 50)]:LINES:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-f[Follow log output (like tail -f)]' \
'--follow[Follow log output (like tail -f)]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__service__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-service-help-command-$line[1]:"
        case $line[1] in
            (run-launchd-daemon)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(run-openrc-log-writer)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(install)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(start)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(stop)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(restart)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(uninstall)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(logs)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(doctor)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_zeroclaw__subcmd__doctor_commands" \
"*::: :->doctor" \
&& ret=0

    case $state in
    (doctor)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-doctor-command-$line[1]:"
        case $line[1] in
            (models)
_arguments "${_arguments_options[@]}" : \
'--model-provider=[Probe a specific model_provider only (default\: all known model_providers)]:MODEL_PROVIDER:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--use-cache[Prefer cached catalogs when available (skip forced live refresh)]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(traces)
_arguments "${_arguments_options[@]}" : \
'--id=[Show a specific trace event by id]:ID:_default' \
'--event=[Filter list output by event type]:EVENT:_default' \
'--contains=[Case-insensitive text match across message/payload]:CONTAINS:_default' \
'--limit=[Maximum number of events to display]:LIMIT:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(update-context-windows)
_arguments "${_arguments_options[@]}" : \
'--model-provider=[Update a specific model_provider only (default\: all known model_providers)]:MODEL_PROVIDER:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--dry-run[Show what would be updated without writing to config]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__doctor__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-doctor-help-command-$line[1]:"
        case $line[1] in
            (models)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(traces)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(update-context-windows)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(status)
_arguments "${_arguments_options[@]}" : \
'--format=[Output format\: "exit-code" exits 0 if healthy, 1 otherwise (for Docker HEALTHCHECK)]:FORMAT:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(security)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_zeroclaw__subcmd__security_commands" \
"*::: :->security" \
&& ret=0

    case $state in
    (security)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-security-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" : \
'--agent=[Agent alias whose effective runtime security posture should be inspected]:AGENT:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--json[Emit machine-readable JSON instead of human text]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(issue-client-cert)
_arguments "${_arguments_options[@]}" : \
'--name=[Subject/device identity stamped into the certificate (CN)]:NAME:_default' \
'--out-dir=[Directory to write the certificate / key. Defaults to \`<data_dir>/tls\`]:OUT_DIR:_files' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--force[Overwrite an existing certificate/key for this name]' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(revoke-client-cert)
_arguments "${_arguments_options[@]}" : \
'(--device)--fingerprint=[SHA-256 fingerprint (hex) of the certificate to revoke]:FINGERPRINT:_default' \
'(--fingerprint)--device=[Device id whose active certificates should ALL be revoked]:DEVICE:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(list-client-certs)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--json[Emit machine-readable JSON instead of a text table]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(enroll-paircode)
_arguments "${_arguments_options[@]}" : \
'--timeout-secs=[Seconds to wait for the running daemon to answer]:TIMEOUT_SECS:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--new[Mint a new one-time enrollment code]' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(relay-rotate-node-id)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__security__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-security-help-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(issue-client-cert)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(revoke-client-cert)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list-client-certs)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(enroll-paircode)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(relay-rotate-node-id)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(estop)
_arguments "${_arguments_options[@]}" : \
'--level=[Level used when engaging estop from \`zeroclaw estop\`]:LEVEL:(kill-all network-kill domain-block tool-freeze)' \
'*--domain=[Domain pattern(s) for \`domain-block\` (repeatable)]:DOMAINS:_default' \
'*--tool=[Tool name(s) for \`tool-freeze\` (repeatable)]:TOOLS:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_zeroclaw__subcmd__estop_commands" \
"*::: :->estop" \
&& ret=0

    case $state in
    (estop)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-estop-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(resume)
_arguments "${_arguments_options[@]}" : \
'*--domain=[Resume one or more blocked domain patterns]:DOMAINS:_default' \
'*--tool=[Resume one or more frozen tools]:TOOLS:_default' \
'--otp=[OTP code. If omitted and OTP is required, a prompt is shown]:OTP:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--network[Resume only network kill]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__estop__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-estop-help-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(resume)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(cron)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_zeroclaw__subcmd__cron_commands" \
"*::: :->cron" \
&& ret=0

    case $state in
    (cron)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-cron-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
'-a+[Configured agent alias the cron job runs as. Required — there is no default agent]:AGENT_ALIAS:_default' \
'--agent=[Configured agent alias the cron job runs as. Required — there is no default agent]:AGENT_ALIAS:_default' \
'--tz=[Optional IANA timezone (e.g. America/Los_Angeles)]:TZ:_default' \
'*--allowed-tool=[Restrict agent cron jobs to the specified tool names (repeatable, prompt-only)]:ALLOWED_TOOLS:_default' \
'--uses-memory=[If false, disable memory recall for this agent cron job (default\: true). Set to false for stateless digest/report jobs that should not accumulate or consume memory]:USES_MEMORY:(true false)' \
'--channel=[Announce job output to this channel (e.g. telegram, discord, slack)]:DELIVERY_CHANNEL:_default' \
'--to=[Target chat/recipient id for the channel (e.g. a Telegram chat id)]:DELIVERY_TO:_default' \
'--thread=[Optional thread/conversation id, for channels that route on it (webhook)]:DELIVERY_THREAD:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--prompt[Treat the argument as an agent prompt instead of a shell command]' \
'(--best-effort)--no-best-effort[Fail the job if delivery fails (default\: delivery errors are non-fatal)]' \
'--best-effort[Keep the job succeeding when delivery fails. Restores the default after a previous \`--no-best-effort\`]' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':expression -- Cron expression:_default' \
':command -- Command (shell) or prompt (when --prompt) to run:_default' \
&& ret=0
;;
(add-at)
_arguments "${_arguments_options[@]}" : \
'-a+[Configured agent alias the cron job runs as]:AGENT_ALIAS:_default' \
'--agent=[Configured agent alias the cron job runs as]:AGENT_ALIAS:_default' \
'*--allowed-tool=[Restrict agent cron jobs to the specified tool names (repeatable, prompt-only)]:ALLOWED_TOOLS:_default' \
'--uses-memory=[If false, disable memory recall for this agent cron job (default\: true)]:USES_MEMORY:(true false)' \
'--channel=[Announce job output to this channel (e.g. telegram, discord, slack)]:DELIVERY_CHANNEL:_default' \
'--to=[Target chat/recipient id for the channel (e.g. a Telegram chat id)]:DELIVERY_TO:_default' \
'--thread=[Optional thread/conversation id, for channels that route on it (webhook)]:DELIVERY_THREAD:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--prompt[Treat the argument as an agent prompt instead of a shell command]' \
'(--best-effort)--no-best-effort[Fail the job if delivery fails (default\: delivery errors are non-fatal)]' \
'--best-effort[Keep the job succeeding when delivery fails. Restores the default after a previous \`--no-best-effort\`]' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':at -- One-shot RFC3339 timestamp with explicit Z or offset:_default' \
':command -- Command (shell) or prompt (when --prompt) to run:_default' \
&& ret=0
;;
(add-every)
_arguments "${_arguments_options[@]}" : \
'-a+[Configured agent alias the cron job runs as]:AGENT_ALIAS:_default' \
'--agent=[Configured agent alias the cron job runs as]:AGENT_ALIAS:_default' \
'*--allowed-tool=[Restrict agent cron jobs to the specified tool names (repeatable, prompt-only)]:ALLOWED_TOOLS:_default' \
'--uses-memory=[If false, disable memory recall for this agent cron job (default\: true)]:USES_MEMORY:(true false)' \
'--channel=[Announce job output to this channel (e.g. telegram, discord, slack)]:DELIVERY_CHANNEL:_default' \
'--to=[Target chat/recipient id for the channel (e.g. a Telegram chat id)]:DELIVERY_TO:_default' \
'--thread=[Optional thread/conversation id, for channels that route on it (webhook)]:DELIVERY_THREAD:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--prompt[Treat the argument as an agent prompt instead of a shell command]' \
'(--best-effort)--no-best-effort[Fail the job if delivery fails (default\: delivery errors are non-fatal)]' \
'--best-effort[Keep the job succeeding when delivery fails. Restores the default after a previous \`--no-best-effort\`]' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':every_ms -- Interval in milliseconds:_default' \
':command -- Command (shell) or prompt (when --prompt) to run:_default' \
&& ret=0
;;
(once)
_arguments "${_arguments_options[@]}" : \
'-a+[Configured agent alias the cron job runs as]:AGENT_ALIAS:_default' \
'--agent=[Configured agent alias the cron job runs as]:AGENT_ALIAS:_default' \
'*--allowed-tool=[Restrict agent cron jobs to the specified tool names (repeatable, prompt-only)]:ALLOWED_TOOLS:_default' \
'--uses-memory=[If false, disable memory recall for this agent cron job (default\: true)]:USES_MEMORY:(true false)' \
'--channel=[Announce job output to this channel (e.g. telegram, discord, slack)]:DELIVERY_CHANNEL:_default' \
'--to=[Target chat/recipient id for the channel (e.g. a Telegram chat id)]:DELIVERY_TO:_default' \
'--thread=[Optional thread/conversation id, for channels that route on it (webhook)]:DELIVERY_THREAD:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--prompt[Treat the argument as an agent prompt instead of a shell command]' \
'(--best-effort)--no-best-effort[Fail the job if delivery fails (default\: delivery errors are non-fatal)]' \
'--best-effort[Keep the job succeeding when delivery fails. Restores the default after a previous \`--no-best-effort\`]' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':delay -- Delay duration:_default' \
':command -- Command (shell) or prompt (when --prompt) to run:_default' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':id -- Task ID:_default' \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
'-a+[Configured agent alias. Required. The alias risk profile gates shell commands for shell jobs]:AGENT_ALIAS:_default' \
'--agent=[Configured agent alias. Required. The alias risk profile gates shell commands for shell jobs]:AGENT_ALIAS:_default' \
'--expression=[New cron expression]:EXPRESSION:_default' \
'--tz=[New IANA timezone]:TZ:_default' \
'--command=[New shell command, or new agent prompt when the job is an agent job]:COMMAND:_default' \
'--name=[New job name]:NAME:_default' \
'*--allowed-tool=[Replace the agent job allowlist with the specified tool names (repeatable)]:ALLOWED_TOOLS:_default' \
'--uses-memory=[If false, disable memory recall for this agent cron job (default\: true)]:USES_MEMORY:(true false)' \
'--channel=[Announce job output to this channel (e.g. telegram, discord, slack)]:DELIVERY_CHANNEL:_default' \
'--to=[Target chat/recipient id for the channel (e.g. a Telegram chat id)]:DELIVERY_TO:_default' \
'--thread=[Optional thread/conversation id, for channels that route on it (webhook)]:DELIVERY_THREAD:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'(--best-effort)--no-best-effort[Fail the job if delivery fails (default\: delivery errors are non-fatal)]' \
'--best-effort[Keep the job succeeding when delivery fails. Restores the default after a previous \`--no-best-effort\`]' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':id -- Task ID:_default' \
&& ret=0
;;
(pause)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':id -- Task ID:_default' \
&& ret=0
;;
(resume)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':id -- Task ID:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__cron__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-cron-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add-at)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add-every)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(once)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(pause)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(resume)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(models)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_zeroclaw__subcmd__models_commands" \
"*::: :->models" \
&& ret=0

    case $state in
    (models)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-models-command-$line[1]:"
        case $line[1] in
            (refresh)
_arguments "${_arguments_options[@]}" : \
'--model-provider=[ModelProvider name (defaults to configured default model_provider)]:MODEL_PROVIDER:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--all[Refresh all model_providers that support live model discovery]' \
'--force[Force live refresh and ignore fresh cache]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'--model-provider=[ModelProvider name (defaults to all configured entries)]:MODEL_PROVIDER:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--check[Verify each configured model against the provider'\''s live catalog]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':model -- Model name to set as default:_default' \
&& ret=0
;;
(status)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__models__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-models-help-command-$line[1]:"
        case $line[1] in
            (refresh)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(providers)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_zeroclaw__subcmd__providers_commands" \
"*::: :->providers" \
&& ret=0

    case $state in
    (providers)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-providers-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--category=[Category\: models | tts | transcription]:CATEGORY:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':category -- Category\: models | tts | transcription:_default' \
':family -- Provider family (e.g. anthropic, openai, elevenlabs):_default' \
':alias -- New alias:_default' \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':category:_default' \
':family:_default' \
':from:_default' \
':to:_default' \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--dry-run[]' \
'--yes[]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':category:_default' \
':family:_default' \
':alias:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__providers__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-providers-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(channel)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_zeroclaw__subcmd__channel_commands" \
"*::: :->channel" \
&& ret=0

    case $state in
    (channel)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-channel-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(start)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(doctor)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':channel_type -- Channel type (telegram, discord, slack, whatsapp, matrix, imessage, email):_default' \
':config -- Optional configuration as JSON:_default' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':name -- Channel name to remove:_default' \
&& ret=0
;;
(bind-telegram)
_arguments "${_arguments_options[@]}" : \
'--alias=[Telegram channel alias to bind to (the \`<alias>\` in \`channels.telegram.<alias>\`). Defaults to \`default\`]:ALIAS:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':identity -- Telegram identity to allow (username without '\''@'\'' or numeric user ID):_default' \
&& ret=0
;;
(send)
_arguments "${_arguments_options[@]}" : \
'--channel-id=[Channel config name (e.g. telegram, discord, slack)]:CHANNEL_ID:_default' \
'--recipient=[Recipient identifier (platform-specific, e.g. Telegram chat ID)]:RECIPIENT:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':message -- Message text to send:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__channel__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-channel-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(start)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(doctor)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(bind-telegram)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(send)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(agents)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_zeroclaw__subcmd__agents_commands" \
"*::: :->agents" \
&& ret=0

    case $state in
    (agents)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-agents-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':alias -- New agent alias (lowercase alphanumeric + single underscore):_default' \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':from -- Current alias:_default' \
':to -- New alias:_default' \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--dry-run[Show the impact (references that would be scrubbed) without deleting]' \
'--yes[Skip the confirmation prompt]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':alias -- Alias to delete:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__agents__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-agents-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(channels)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_zeroclaw__subcmd__channels_commands" \
"*::: :->channels" \
&& ret=0

    case $state in
    (channels)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-channels-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--channel-type=[Channel type, e.g. discord, telegram]:CHANNEL_TYPE:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':channel_type -- Channel type (discord, telegram, slack, …):_default' \
':alias -- New alias:_default' \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':channel_type:_default' \
':from:_default' \
':to:_default' \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--dry-run[]' \
'--yes[]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':channel_type:_default' \
':alias:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__channels__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-channels-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(integrations)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_zeroclaw__subcmd__integrations_commands" \
"*::: :->integrations" \
&& ret=0

    case $state in
    (integrations)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-integrations-command-$line[1]:"
        case $line[1] in
            (info)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':name -- Integration name:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__integrations__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-integrations-help-command-$line[1]:"
        case $line[1] in
            (info)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(skills)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_zeroclaw__subcmd__skills_commands" \
"*::: :->skills" \
&& ret=0

    case $state in
    (skills)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-skills-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--agent=[Show exactly what this agent loads at runtime (its workspace + open-skills + plugins + assigned bundles). --bundle takes precedence when both are passed]:AGENT:_default' \
'--bundle=[Restrict to a single bundle. Omit to list across all bundles]:BUNDLE:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
'--bundle=[Target bundle alias. Optional when exactly one bundle is configured]:BUNDLE:_default' \
'--description=[What the skill does and when to use it (frontmatter \`description\`). Required; prompted on TTY when missing]:DESCRIPTION:_default' \
'--license=[SPDX license identifier (e.g. MIT)]:LICENSE:_default' \
'--author=[Skill author handle]:AUTHOR:_default' \
'--version=[SemVer version (defaults to 0.1.0)]:VERSION:_default' \
'--category=[Skill category for registry grouping]:CATEGORY:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--no-scaffold[Skip scaffolding scripts/, references/, assets/]' \
'--edit[Open SKILL.md in \$EDITOR after scaffold]' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':name -- Skill name (lowercase + hyphens only):_default' \
&& ret=0
;;
(edit)
_arguments "${_arguments_options[@]}" : \
'--bundle=[Target bundle alias. Optional when name is unique across bundles]:BUNDLE:_default' \
'--file=[Edit a sibling file instead of SKILL.md (e.g. scripts/runner.sh)]:FILE:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':name -- Skill name:_default' \
&& ret=0
;;
(bundle)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_zeroclaw__subcmd__skills__subcmd__bundle_commands" \
"*::: :->bundle" \
&& ret=0

    case $state in
    (bundle)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-skills-bundle-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
'--directory=[Override directory (relative to install root or absolute). Must resolve inside \`<install>/shared/\`]:DIRECTORY:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':alias -- Bundle alias (lowercase + hyphens; same convention as agents/channels):_default' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--yes[Skip the confirmation prompt]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':alias -- Bundle alias:_default' \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':from -- Current alias:_default' \
':to -- New alias:_default' \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':alias -- Bundle alias:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-skills-bundle-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(audit)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':source -- Skill path or installed skill name:_default' \
&& ret=0
;;
(install)
_arguments "${_arguments_options[@]}" : \
'--agent=[Install into this agent'\''s assigned bundle (defaults to the active agent). When the agent has no bundle, falls back to the global dir]:AGENT:_default' \
'--bundle=[Install into this bundle directly. Takes precedence over --agent]:BUNDLE:_default' \
'--skill=[Install a single named skill from a git catalog repo (its \`skills/<name>/\` directory)]:SKILL:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--no-tier-banner[Suppress only the install-time tier banner; other install progress output (resolving, installed, audited) is unaffected]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':source -- Source URL or local path:_default' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
'--agent=[Limit the search to this agent'\''s assigned bundles]:AGENT:_default' \
'--bundle=[Remove from this bundle directly (disambiguates duplicates)]:BUNDLE:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':name -- Skill name to remove:_default' \
&& ret=0
;;
(test)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--verbose[Show verbose output]' \
'-h[Print help]' \
'--help[Print help]' \
'::name -- Skill name to test; omit for all skills:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__skills__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-skills-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(edit)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(bundle)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__skills__subcmd__help__subcmd__bundle_commands" \
"*::: :->bundle" \
&& ret=0

    case $state in
    (bundle)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-skills-help-bundle-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(audit)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(install)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(test)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(browse)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::path -- Path relative to `<install>/shared/`. Empty = root:_default' \
&& ret=0
;;
(sop)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_zeroclaw__subcmd__sop_commands" \
"*::: :->sop" \
&& ret=0

    case $state in
    (sop)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-sop-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(validate)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
'::name -- SOP name to validate (all if omitted):_default' \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':name -- Name of the SOP to show:_default' \
&& ret=0
;;
(approve)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':run_id -- The run ID to approve:_default' \
&& ret=0
;;
(deny)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':run_id -- The run ID to deny:_default' \
'::reason -- Optional reason recorded in the approval ledger:_default' \
&& ret=0
;;
(pending)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(graph)
_arguments "${_arguments_options[@]}" : \
'--format=[Output format]:FORMAT:((outline\:"One line per node with its outbound flow edges"
adjacency\:"\`from -> to \[role\]\` adjacency, one edge per line"
json\:"Pretty-printed JSON of the whole projection"))' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':name -- Name of the SOP to render:_default' \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':name -- Name of the SOP to delete:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__sop__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-sop-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(validate)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(approve)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(deny)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(pending)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(graph)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(migrate)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_zeroclaw__subcmd__migrate_commands" \
"*::: :->migrate" \
&& ret=0

    case $state in
    (migrate)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-migrate-command-$line[1]:"
        case $line[1] in
            (openclaw)
_arguments "${_arguments_options[@]}" : \
'--source=[Optional path to \`OpenClaw\` workspace (defaults to ~/.openclaw/workspace)]:SOURCE:_files' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--dry-run[Validate and preview migration without writing any data]' \
'--reindex[Rebuild backend indexes after importing entries]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__migrate__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-migrate-help-command-$line[1]:"
        case $line[1] in
            (openclaw)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(auth)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_zeroclaw__subcmd__auth_commands" \
"*::: :->auth" \
&& ret=0

    case $state in
    (auth)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-auth-command-$line[1]:"
        case $line[1] in
            (login)
_arguments "${_arguments_options[@]}" : \
'--model-provider=[ModelProvider (\`openai-codex\`, \`gemini\`, or \`xai\`)]:MODEL_PROVIDER:_default' \
'--profile=[Profile name (default\: default)]:PROFILE:_default' \
'(--device-code)--import=[Import an existing auth.json file instead of starting a new login flow. Supports \`openai-codex\` (\`~/.codex/auth.json\`) and \`xai\` (\`~/.grok/auth.json\`)]:PATH:_files' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--device-code[Use OAuth device-code flow]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(paste-redirect)
_arguments "${_arguments_options[@]}" : \
'--model-provider=[ModelProvider (\`openai-codex\`, \`gemini\`, or \`xai\`)]:MODEL_PROVIDER:_default' \
'--profile=[Profile name (default\: default)]:PROFILE:_default' \
'--input=[Full redirect URL or raw OAuth code]:INPUT:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(paste-token)
_arguments "${_arguments_options[@]}" : \
'--model-provider=[ModelProvider (\`anthropic\`)]:MODEL_PROVIDER:_default' \
'--profile=[Profile name (default\: default)]:PROFILE:_default' \
'--token=[Token value (if omitted, read interactively)]:TOKEN:_default' \
'--auth-kind=[Auth kind override (\`authorization\` or \`api-key\`)]:AUTH_KIND:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(setup-token)
_arguments "${_arguments_options[@]}" : \
'--model-provider=[ModelProvider (\`anthropic\`)]:MODEL_PROVIDER:_default' \
'--profile=[Profile name (default\: default)]:PROFILE:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(refresh)
_arguments "${_arguments_options[@]}" : \
'--model-provider=[ModelProvider (\`openai-codex\`, \`gemini\`, or \`xai\`)]:MODEL_PROVIDER:_default' \
'--profile=[Profile name or profile id]:PROFILE:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(logout)
_arguments "${_arguments_options[@]}" : \
'--model-provider=[ModelProvider]:MODEL_PROVIDER:_default' \
'--profile=[Profile name (default\: default)]:PROFILE:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(use)
_arguments "${_arguments_options[@]}" : \
'--model-provider=[ModelProvider]:MODEL_PROVIDER:_default' \
'--profile=[Profile name or full profile id]:PROFILE:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(status)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(email-login)
_arguments "${_arguments_options[@]}" : \
'--channel=[Email channel alias from \[channels.email.<alias>\] (e.g. '\''hotmail'\'')]:CHANNEL:_default' \
'--profile=[Profile name (default\: default)]:PROFILE:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__auth__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-auth-help-command-$line[1]:"
        case $line[1] in
            (login)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(paste-redirect)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(paste-token)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(setup-token)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(refresh)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(logout)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(use)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(email-login)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(hardware)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_zeroclaw__subcmd__hardware_commands" \
"*::: :->hardware" \
&& ret=0

    case $state in
    (hardware)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-hardware-command-$line[1]:"
        case $line[1] in
            (discover)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(introspect)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':path -- Serial or device path:_default' \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" : \
'--chip=[Chip name (e.g. STM32F401RETx). Default\: STM32F401RETx for Nucleo-F401RE]:CHIP:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__hardware__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-hardware-help-command-$line[1]:"
        case $line[1] in
            (discover)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(introspect)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(peripheral)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_zeroclaw__subcmd__peripheral_commands" \
"*::: :->peripheral" \
&& ret=0

    case $state in
    (peripheral)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-peripheral-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':board -- Board type (nucleo-f401re, rpi-gpio, esp32):_default' \
':path -- Path for serial transport (/dev/ttyACM0) or "native" for local GPIO:_default' \
&& ret=0
;;
(flash)
_arguments "${_arguments_options[@]}" : \
'-p+[Serial port (e.g. /dev/cu.usbmodem12345). If omitted, uses first arduino-uno from config]:PORT:_default' \
'--port=[Serial port (e.g. /dev/cu.usbmodem12345). If omitted, uses first arduino-uno from config]:PORT:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(setup-uno-q)
_arguments "${_arguments_options[@]}" : \
'--host=[Uno Q IP (e.g. 192.168.0.48). If omitted, assumes running ON the Uno Q]:HOST:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(flash-nucleo)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__peripheral__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-peripheral-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(flash)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(setup-uno-q)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(flash-nucleo)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(memory)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_zeroclaw__subcmd__memory_commands" \
"*::: :->memory" \
&& ret=0

    case $state in
    (memory)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-memory-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--category=[]:CATEGORY:_default' \
'--session=[]:SESSION:_default' \
'--limit=[]:LIMIT:_default' \
'--offset=[]:OFFSET:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':key:_default' \
&& ret=0
;;
(stats)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(clear)
_arguments "${_arguments_options[@]}" : \
'--key=[Delete a single entry by key (supports prefix match)]:KEY:_default' \
'--category=[]:CATEGORY:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--yes[Skip confirmation prompt]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(reindex)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__memory__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-memory-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(stats)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(clear)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(reindex)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(config)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_zeroclaw__subcmd__config_commands" \
"*::: :->config" \
&& ret=0

    case $state in
    (config)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-config-command-$line[1]:"
        case $line[1] in
            (schema)
_arguments "${_arguments_options[@]}" : \
'--path=[Property path to scope the schema dump (e.g. \`agents.researcher.model_provider\`). Without it, dumps the whole-config schema]:PATH:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'-f+[Filter by path prefix (e.g. "channels.telegram")]:FILTER:_default' \
'--filter=[Filter by path prefix (e.g. "channels.telegram")]:FILTER:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--secrets[Show only secret (encrypted) fields]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--json[Emit a structured JSON envelope ({path, value} or {path, populated}) instead of plain text]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':path -- Property path (e.g. channels.telegram.mention-only):_default' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
'--comment=[Optional comment to write alongside the value in TOML (preserves through future edits)]:COMMENT:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--no-interactive[Skip interactive prompts — require value on command line, accept raw strings for enums]' \
'--json[Emit a structured JSON envelope on success]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':path -- Property path:_default' \
'::value -- New value (omit for secret fields to get masked input):_default' \
&& ret=0
;;
(init)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--json[Emit a structured JSON envelope ({initialized\: \[...\]}) instead of plain text]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
'::section -- Section prefix (e.g. channels.matrix), or <section>.<alias> to create a new dynamic-map alias (e.g. risk_profiles.strict). Omit to init all:_default' \
&& ret=0
;;
(migrate)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--json[Emit a structured JSON envelope ({migrated, backup_path?, schema_version, valid?, error?}) instead of plain text]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(patch)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--json[Print results as JSON (one object per applied op) instead of human-readable text]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
'::input -- Path to a JSON Patch document, or `-` for stdin (default):_default' \
&& ret=0
;;
(docs)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(generate)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--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)]' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
'::version -- Target schema version (e.g. 1, 2, 3). Defaults to current:_default' \
&& ret=0
;;
(complete)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
'::partial -- Partial path to complete:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__config__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-config-help-command-$line[1]:"
        case $line[1] in
            (schema)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(init)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(migrate)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(patch)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(docs)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(generate)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(complete)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(update)
_arguments "${_arguments_options[@]}" : \
'--version=[Target version (default\: latest)]:VERSION:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--check[Only check for updates, don'\''t install]' \
'--force[Install even if the target is not newer (reinstall or downgrade/pin to --version)]' \
'--json[With --check, emit machine-readable JSON instead of human text]' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(self-test)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--quick[Run quick checks only (no network)]' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(eval)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_zeroclaw__subcmd__eval_commands" \
"*::: :->eval" \
&& ret=0

    case $state in
    (eval)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-eval-command-$line[1]:"
        case $line[1] in
            (run)
_arguments "${_arguments_options[@]}" : \
'--suite=[Directory of \`*.json\` trace fixtures (defaults to \`evals\`)]:SUITE:_default' \
'--mode=[Execution mode\: \`replay\` (deterministic) or \`live\` (later phase). Defaults to config \`\[eval\] mode\`]:MODE:_default' \
'--format=[Output format]:FORMAT:((table\:"Human-readable table"
json\:"Machine-readable JSON, for CI artifacts"))' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__eval__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-eval-help-command-$line[1]:"
        case $line[1] in
            (run)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(completions)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':shell -- Target shell:(bash fish zsh powershell elvish)' \
&& ret=0
;;
(markdown-help)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(markdown-schema)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(desktop)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'--install[Open the companion app'\''s download page]' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(props)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
"*::external_command:_default" \
&& ret=0
;;
(locales)
_arguments "${_arguments_options[@]}" : \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_zeroclaw__subcmd__locales_commands" \
"*::: :->locales" \
&& ret=0

    case $state in
    (locales)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-locales-command-$line[1]:"
        case $line[1] in
            (fetch)
_arguments "${_arguments_options[@]}" : \
'--catalog=[Comma-separated catalogues to fetch\: cli, tools, zerocode. Omit to fetch all of them]:CATALOG:_default' \
'--config-dir=[]:CONFIG_DIR:_default' \
'--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]:LOG_LEVEL:(error warn info debug trace)' \
'-v[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]' \
'--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]' \
'-h[Print help]' \
'--help[Print help]' \
':locale -- Locale code to fetch (e.g. `ja`, `fr`, `zh-CN`):_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__locales__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-locales-help-command-$line[1]:"
        case $line[1] in
            (fetch)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-command-$line[1]:"
        case $line[1] in
            (quickstart)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(onboard)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__onboard_commands" \
"*::: :->onboard" \
&& ret=0

    case $state in
    (onboard)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-onboard-command-$line[1]:"
        case $line[1] in
            (providers.models)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(model_routes)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(embedding_routes)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(risk_profiles)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(runtime_profiles)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(storage)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(memory)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(skills)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(skill_bundles)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(mcp)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(mcp.servers)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(mcp_bundles)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(knowledge_bundles)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(providers.tts)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(providers.transcription)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(channels)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(hardware)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(agents)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(peer_groups)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(cron)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(tunnel)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(onboard_state)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(agent)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(gateway)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__gateway_commands" \
"*::: :->gateway" \
&& ret=0

    case $state in
    (gateway)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-gateway-command-$line[1]:"
        case $line[1] in
            (start)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(restart)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(get-paircode)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(acp)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(daemon)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(service)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__service_commands" \
"*::: :->service" \
&& ret=0

    case $state in
    (service)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-service-command-$line[1]:"
        case $line[1] in
            (run-launchd-daemon)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(run-openrc-log-writer)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(install)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(start)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(stop)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(restart)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(uninstall)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(logs)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(doctor)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__doctor_commands" \
"*::: :->doctor" \
&& ret=0

    case $state in
    (doctor)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-doctor-command-$line[1]:"
        case $line[1] in
            (models)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(traces)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(update-context-windows)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(security)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__security_commands" \
"*::: :->security" \
&& ret=0

    case $state in
    (security)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-security-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(issue-client-cert)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(revoke-client-cert)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list-client-certs)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(enroll-paircode)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(relay-rotate-node-id)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(estop)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__estop_commands" \
"*::: :->estop" \
&& ret=0

    case $state in
    (estop)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-estop-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(resume)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(cron)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__cron_commands" \
"*::: :->cron" \
&& ret=0

    case $state in
    (cron)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-cron-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add-at)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add-every)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(once)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(pause)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(resume)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(models)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__models_commands" \
"*::: :->models" \
&& ret=0

    case $state in
    (models)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-models-command-$line[1]:"
        case $line[1] in
            (refresh)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(providers)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__providers_commands" \
"*::: :->providers" \
&& ret=0

    case $state in
    (providers)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-providers-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(channel)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__channel_commands" \
"*::: :->channel" \
&& ret=0

    case $state in
    (channel)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-channel-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(start)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(doctor)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(bind-telegram)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(send)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(agents)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__agents_commands" \
"*::: :->agents" \
&& ret=0

    case $state in
    (agents)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-agents-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(channels)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__channels_commands" \
"*::: :->channels" \
&& ret=0

    case $state in
    (channels)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-channels-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(integrations)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__integrations_commands" \
"*::: :->integrations" \
&& ret=0

    case $state in
    (integrations)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-integrations-command-$line[1]:"
        case $line[1] in
            (info)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(skills)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__skills_commands" \
"*::: :->skills" \
&& ret=0

    case $state in
    (skills)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-skills-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(edit)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(bundle)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__skills__subcmd__bundle_commands" \
"*::: :->bundle" \
&& ret=0

    case $state in
    (bundle)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-skills-bundle-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(audit)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(install)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(test)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(browse)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(sop)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__sop_commands" \
"*::: :->sop" \
&& ret=0

    case $state in
    (sop)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-sop-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(validate)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(approve)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(deny)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(pending)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(graph)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(migrate)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__migrate_commands" \
"*::: :->migrate" \
&& ret=0

    case $state in
    (migrate)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-migrate-command-$line[1]:"
        case $line[1] in
            (openclaw)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(auth)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__auth_commands" \
"*::: :->auth" \
&& ret=0

    case $state in
    (auth)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-auth-command-$line[1]:"
        case $line[1] in
            (login)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(paste-redirect)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(paste-token)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(setup-token)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(refresh)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(logout)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(use)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(email-login)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(hardware)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__hardware_commands" \
"*::: :->hardware" \
&& ret=0

    case $state in
    (hardware)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-hardware-command-$line[1]:"
        case $line[1] in
            (discover)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(introspect)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(peripheral)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__peripheral_commands" \
"*::: :->peripheral" \
&& ret=0

    case $state in
    (peripheral)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-peripheral-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(flash)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(setup-uno-q)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(flash-nucleo)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(memory)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__memory_commands" \
"*::: :->memory" \
&& ret=0

    case $state in
    (memory)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-memory-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(stats)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(clear)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(reindex)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(config)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__config_commands" \
"*::: :->config" \
&& ret=0

    case $state in
    (config)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-config-command-$line[1]:"
        case $line[1] in
            (schema)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(init)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(migrate)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(patch)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(docs)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(generate)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(complete)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(self-test)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(eval)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__eval_commands" \
"*::: :->eval" \
&& ret=0

    case $state in
    (eval)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-eval-command-$line[1]:"
        case $line[1] in
            (run)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(completions)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(markdown-help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(markdown-schema)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(desktop)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(props)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(locales)
_arguments "${_arguments_options[@]}" : \
":: :_zeroclaw__subcmd__help__subcmd__locales_commands" \
"*::: :->locales" \
&& ret=0

    case $state in
    (locales)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:zeroclaw-help-locales-command-$line[1]:"
        case $line[1] in
            (fetch)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
}

(( $+functions[_zeroclaw_commands] )) ||
_zeroclaw_commands() {
    local commands; commands=(
'quickstart:Quickstart — create one working agent end-to-end. Replaces the section-by-section onboarding flow with a single preset-driven path. Interactive\: the flags below pre-seed checklist selectors but do not skip them; a terminal is required' \
'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)' \
'security:Inspect the active security posture derived from local config and host detection' \
'estop:' \
'cron:Configure and manage scheduled tasks' \
'models:Manage model_provider model catalogs' \
'providers:Alias CRUD for providers (\`\[providers.<category>.<family>.<alias>\]\`). \`category\` is one of \`models\`, \`tts\`, \`transcription\`' \
'channel:Manage channels (telegram, discord, slack)' \
'agents:Manage agent aliases (create/list/rename/delete). Distinct from \`agent\`, which runs an agent' \
'channels:Manage channel aliases (create/list/rename/delete)' \
'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' \
'eval:Run the agent evaluation harness' \
'completions:Generate shell completion script to stdout' \
'markdown-help:Print the full CLI reference as Markdown (used by the docs pipeline)' \
'markdown-schema:Print the config JSON Schema (used by the docs pipeline)' \
'desktop:Launch the companion desktop app, or open its download page' \
'props:Deprecated\: use \`zeroclaw config\` instead' \
'locales:Fetch translated locale files (FTL) from upstream' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__acp_commands] )) ||
_zeroclaw__subcmd__acp_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw acp commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__agent_commands] )) ||
_zeroclaw__subcmd__agent_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw agent commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__agents_commands] )) ||
_zeroclaw__subcmd__agents_commands() {
    local commands; commands=(
'list:List configured agent aliases' \
'create:Create a new agent alias with default config' \
'rename:Rename an agent alias, rewriting every reference to it' \
'delete:Delete an agent alias, scrubbing references and cascading owned state' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw agents commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__agents__subcmd__create_commands] )) ||
_zeroclaw__subcmd__agents__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw agents create commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__agents__subcmd__delete_commands] )) ||
_zeroclaw__subcmd__agents__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw agents delete commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__agents__subcmd__help_commands] )) ||
_zeroclaw__subcmd__agents__subcmd__help_commands() {
    local commands; commands=(
'list:List configured agent aliases' \
'create:Create a new agent alias with default config' \
'rename:Rename an agent alias, rewriting every reference to it' \
'delete:Delete an agent alias, scrubbing references and cascading owned state' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw agents help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__agents__subcmd__help__subcmd__create_commands] )) ||
_zeroclaw__subcmd__agents__subcmd__help__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw agents help create commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__agents__subcmd__help__subcmd__delete_commands] )) ||
_zeroclaw__subcmd__agents__subcmd__help__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw agents help delete commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__agents__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__agents__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw agents help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__agents__subcmd__help__subcmd__list_commands] )) ||
_zeroclaw__subcmd__agents__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw agents help list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__agents__subcmd__help__subcmd__rename_commands] )) ||
_zeroclaw__subcmd__agents__subcmd__help__subcmd__rename_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw agents help rename commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__agents__subcmd__list_commands] )) ||
_zeroclaw__subcmd__agents__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw agents list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__agents__subcmd__rename_commands] )) ||
_zeroclaw__subcmd__agents__subcmd__rename_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw agents rename commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth_commands] )) ||
_zeroclaw__subcmd__auth_commands() {
    local commands; commands=(
'login:Login with OAuth (OpenAI Codex, Gemini, or xAI)' \
'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 OAuth 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' \
'email-login:Authenticate an email channel via OAuth2 device-code flow' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw auth commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth__subcmd__email-login_commands] )) ||
_zeroclaw__subcmd__auth__subcmd__email-login_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw auth email-login commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth__subcmd__help_commands] )) ||
_zeroclaw__subcmd__auth__subcmd__help_commands() {
    local commands; commands=(
'login:Login with OAuth (OpenAI Codex, Gemini, or xAI)' \
'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 OAuth 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' \
'email-login:Authenticate an email channel via OAuth2 device-code flow' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw auth help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth__subcmd__help__subcmd__email-login_commands] )) ||
_zeroclaw__subcmd__auth__subcmd__help__subcmd__email-login_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw auth help email-login commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__auth__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw auth help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth__subcmd__help__subcmd__list_commands] )) ||
_zeroclaw__subcmd__auth__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw auth help list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth__subcmd__help__subcmd__login_commands] )) ||
_zeroclaw__subcmd__auth__subcmd__help__subcmd__login_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw auth help login commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth__subcmd__help__subcmd__logout_commands] )) ||
_zeroclaw__subcmd__auth__subcmd__help__subcmd__logout_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw auth help logout commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth__subcmd__help__subcmd__paste-redirect_commands] )) ||
_zeroclaw__subcmd__auth__subcmd__help__subcmd__paste-redirect_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw auth help paste-redirect commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth__subcmd__help__subcmd__paste-token_commands] )) ||
_zeroclaw__subcmd__auth__subcmd__help__subcmd__paste-token_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw auth help paste-token commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth__subcmd__help__subcmd__refresh_commands] )) ||
_zeroclaw__subcmd__auth__subcmd__help__subcmd__refresh_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw auth help refresh commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth__subcmd__help__subcmd__setup-token_commands] )) ||
_zeroclaw__subcmd__auth__subcmd__help__subcmd__setup-token_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw auth help setup-token commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth__subcmd__help__subcmd__status_commands] )) ||
_zeroclaw__subcmd__auth__subcmd__help__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw auth help status commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth__subcmd__help__subcmd__use_commands] )) ||
_zeroclaw__subcmd__auth__subcmd__help__subcmd__use_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw auth help use commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth__subcmd__list_commands] )) ||
_zeroclaw__subcmd__auth__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw auth list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth__subcmd__login_commands] )) ||
_zeroclaw__subcmd__auth__subcmd__login_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw auth login commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth__subcmd__logout_commands] )) ||
_zeroclaw__subcmd__auth__subcmd__logout_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw auth logout commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth__subcmd__paste-redirect_commands] )) ||
_zeroclaw__subcmd__auth__subcmd__paste-redirect_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw auth paste-redirect commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth__subcmd__paste-token_commands] )) ||
_zeroclaw__subcmd__auth__subcmd__paste-token_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw auth paste-token commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth__subcmd__refresh_commands] )) ||
_zeroclaw__subcmd__auth__subcmd__refresh_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw auth refresh commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth__subcmd__setup-token_commands] )) ||
_zeroclaw__subcmd__auth__subcmd__setup-token_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw auth setup-token commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth__subcmd__status_commands] )) ||
_zeroclaw__subcmd__auth__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw auth status commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__auth__subcmd__use_commands] )) ||
_zeroclaw__subcmd__auth__subcmd__use_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw auth use commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__browse_commands] )) ||
_zeroclaw__subcmd__browse_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw browse commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channel_commands] )) ||
_zeroclaw__subcmd__channel_commands() {
    local commands; commands=(
'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' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw channel commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channel__subcmd__add_commands] )) ||
_zeroclaw__subcmd__channel__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channel add commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channel__subcmd__bind-telegram_commands] )) ||
_zeroclaw__subcmd__channel__subcmd__bind-telegram_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channel bind-telegram commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channel__subcmd__doctor_commands] )) ||
_zeroclaw__subcmd__channel__subcmd__doctor_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channel doctor commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channel__subcmd__help_commands] )) ||
_zeroclaw__subcmd__channel__subcmd__help_commands() {
    local commands; commands=(
'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' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw channel help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channel__subcmd__help__subcmd__add_commands] )) ||
_zeroclaw__subcmd__channel__subcmd__help__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channel help add commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channel__subcmd__help__subcmd__bind-telegram_commands] )) ||
_zeroclaw__subcmd__channel__subcmd__help__subcmd__bind-telegram_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channel help bind-telegram commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channel__subcmd__help__subcmd__doctor_commands] )) ||
_zeroclaw__subcmd__channel__subcmd__help__subcmd__doctor_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channel help doctor commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channel__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__channel__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channel help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channel__subcmd__help__subcmd__list_commands] )) ||
_zeroclaw__subcmd__channel__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channel help list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channel__subcmd__help__subcmd__remove_commands] )) ||
_zeroclaw__subcmd__channel__subcmd__help__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channel help remove commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channel__subcmd__help__subcmd__send_commands] )) ||
_zeroclaw__subcmd__channel__subcmd__help__subcmd__send_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channel help send commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channel__subcmd__help__subcmd__start_commands] )) ||
_zeroclaw__subcmd__channel__subcmd__help__subcmd__start_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channel help start commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channel__subcmd__list_commands] )) ||
_zeroclaw__subcmd__channel__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channel list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channel__subcmd__remove_commands] )) ||
_zeroclaw__subcmd__channel__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channel remove commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channel__subcmd__send_commands] )) ||
_zeroclaw__subcmd__channel__subcmd__send_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channel send commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channel__subcmd__start_commands] )) ||
_zeroclaw__subcmd__channel__subcmd__start_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channel start commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channels_commands] )) ||
_zeroclaw__subcmd__channels_commands() {
    local commands; commands=(
'list:List channel aliases (optionally filtered by type)' \
'create:Create a new channel alias with default config' \
'rename:Rename a channel alias, rewriting every reference' \
'delete:Delete a channel alias, scrubbing references' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw channels commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channels__subcmd__create_commands] )) ||
_zeroclaw__subcmd__channels__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channels create commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channels__subcmd__delete_commands] )) ||
_zeroclaw__subcmd__channels__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channels delete commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channels__subcmd__help_commands] )) ||
_zeroclaw__subcmd__channels__subcmd__help_commands() {
    local commands; commands=(
'list:List channel aliases (optionally filtered by type)' \
'create:Create a new channel alias with default config' \
'rename:Rename a channel alias, rewriting every reference' \
'delete:Delete a channel alias, scrubbing references' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw channels help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channels__subcmd__help__subcmd__create_commands] )) ||
_zeroclaw__subcmd__channels__subcmd__help__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channels help create commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channels__subcmd__help__subcmd__delete_commands] )) ||
_zeroclaw__subcmd__channels__subcmd__help__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channels help delete commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channels__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__channels__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channels help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channels__subcmd__help__subcmd__list_commands] )) ||
_zeroclaw__subcmd__channels__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channels help list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channels__subcmd__help__subcmd__rename_commands] )) ||
_zeroclaw__subcmd__channels__subcmd__help__subcmd__rename_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channels help rename commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channels__subcmd__list_commands] )) ||
_zeroclaw__subcmd__channels__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channels list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__channels__subcmd__rename_commands] )) ||
_zeroclaw__subcmd__channels__subcmd__rename_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw channels rename commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__completions_commands] )) ||
_zeroclaw__subcmd__completions_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw completions commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config_commands] )) ||
_zeroclaw__subcmd__config_commands() {
    local commands; commands=(
'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\`. 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' \
'docs:Print the API explorer URL (plus a hint if the daemon isn'\''t running)' \
'generate:' \
'complete:Print matching property paths for shell completion (hidden)' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw config commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config__subcmd__complete_commands] )) ||
_zeroclaw__subcmd__config__subcmd__complete_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw config complete commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config__subcmd__docs_commands] )) ||
_zeroclaw__subcmd__config__subcmd__docs_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw config docs commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config__subcmd__generate_commands] )) ||
_zeroclaw__subcmd__config__subcmd__generate_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw config generate commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config__subcmd__get_commands] )) ||
_zeroclaw__subcmd__config__subcmd__get_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw config get commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config__subcmd__help_commands] )) ||
_zeroclaw__subcmd__config__subcmd__help_commands() {
    local commands; commands=(
'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\`. 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' \
'docs:Print the API explorer URL (plus a hint if the daemon isn'\''t running)' \
'generate:' \
'complete:Print matching property paths for shell completion (hidden)' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw config help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config__subcmd__help__subcmd__complete_commands] )) ||
_zeroclaw__subcmd__config__subcmd__help__subcmd__complete_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw config help complete commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config__subcmd__help__subcmd__docs_commands] )) ||
_zeroclaw__subcmd__config__subcmd__help__subcmd__docs_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw config help docs commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config__subcmd__help__subcmd__generate_commands] )) ||
_zeroclaw__subcmd__config__subcmd__help__subcmd__generate_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw config help generate commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config__subcmd__help__subcmd__get_commands] )) ||
_zeroclaw__subcmd__config__subcmd__help__subcmd__get_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw config help get commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__config__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw config help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config__subcmd__help__subcmd__init_commands] )) ||
_zeroclaw__subcmd__config__subcmd__help__subcmd__init_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw config help init commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config__subcmd__help__subcmd__list_commands] )) ||
_zeroclaw__subcmd__config__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw config help list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config__subcmd__help__subcmd__migrate_commands] )) ||
_zeroclaw__subcmd__config__subcmd__help__subcmd__migrate_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw config help migrate commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config__subcmd__help__subcmd__patch_commands] )) ||
_zeroclaw__subcmd__config__subcmd__help__subcmd__patch_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw config help patch commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config__subcmd__help__subcmd__schema_commands] )) ||
_zeroclaw__subcmd__config__subcmd__help__subcmd__schema_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw config help schema commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config__subcmd__help__subcmd__set_commands] )) ||
_zeroclaw__subcmd__config__subcmd__help__subcmd__set_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw config help set commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config__subcmd__init_commands] )) ||
_zeroclaw__subcmd__config__subcmd__init_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw config init commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config__subcmd__list_commands] )) ||
_zeroclaw__subcmd__config__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw config list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config__subcmd__migrate_commands] )) ||
_zeroclaw__subcmd__config__subcmd__migrate_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw config migrate commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config__subcmd__patch_commands] )) ||
_zeroclaw__subcmd__config__subcmd__patch_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw config patch commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config__subcmd__schema_commands] )) ||
_zeroclaw__subcmd__config__subcmd__schema_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw config schema commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__config__subcmd__set_commands] )) ||
_zeroclaw__subcmd__config__subcmd__set_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw config set commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__cron_commands] )) ||
_zeroclaw__subcmd__cron_commands() {
    local commands; commands=(
'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' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw cron commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__cron__subcmd__add_commands] )) ||
_zeroclaw__subcmd__cron__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw cron add commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__cron__subcmd__add-at_commands] )) ||
_zeroclaw__subcmd__cron__subcmd__add-at_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw cron add-at commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__cron__subcmd__add-every_commands] )) ||
_zeroclaw__subcmd__cron__subcmd__add-every_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw cron add-every commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__cron__subcmd__help_commands] )) ||
_zeroclaw__subcmd__cron__subcmd__help_commands() {
    local commands; commands=(
'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' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw cron help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__cron__subcmd__help__subcmd__add_commands] )) ||
_zeroclaw__subcmd__cron__subcmd__help__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw cron help add commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__cron__subcmd__help__subcmd__add-at_commands] )) ||
_zeroclaw__subcmd__cron__subcmd__help__subcmd__add-at_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw cron help add-at commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__cron__subcmd__help__subcmd__add-every_commands] )) ||
_zeroclaw__subcmd__cron__subcmd__help__subcmd__add-every_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw cron help add-every commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__cron__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__cron__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw cron help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__cron__subcmd__help__subcmd__list_commands] )) ||
_zeroclaw__subcmd__cron__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw cron help list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__cron__subcmd__help__subcmd__once_commands] )) ||
_zeroclaw__subcmd__cron__subcmd__help__subcmd__once_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw cron help once commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__cron__subcmd__help__subcmd__pause_commands] )) ||
_zeroclaw__subcmd__cron__subcmd__help__subcmd__pause_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw cron help pause commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__cron__subcmd__help__subcmd__remove_commands] )) ||
_zeroclaw__subcmd__cron__subcmd__help__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw cron help remove commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__cron__subcmd__help__subcmd__resume_commands] )) ||
_zeroclaw__subcmd__cron__subcmd__help__subcmd__resume_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw cron help resume commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__cron__subcmd__help__subcmd__update_commands] )) ||
_zeroclaw__subcmd__cron__subcmd__help__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw cron help update commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__cron__subcmd__list_commands] )) ||
_zeroclaw__subcmd__cron__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw cron list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__cron__subcmd__once_commands] )) ||
_zeroclaw__subcmd__cron__subcmd__once_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw cron once commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__cron__subcmd__pause_commands] )) ||
_zeroclaw__subcmd__cron__subcmd__pause_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw cron pause commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__cron__subcmd__remove_commands] )) ||
_zeroclaw__subcmd__cron__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw cron remove commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__cron__subcmd__resume_commands] )) ||
_zeroclaw__subcmd__cron__subcmd__resume_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw cron resume commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__cron__subcmd__update_commands] )) ||
_zeroclaw__subcmd__cron__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw cron update commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__daemon_commands] )) ||
_zeroclaw__subcmd__daemon_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw daemon commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__desktop_commands] )) ||
_zeroclaw__subcmd__desktop_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw desktop commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__doctor_commands] )) ||
_zeroclaw__subcmd__doctor_commands() {
    local commands; commands=(
'models:Probe model catalogs across model_providers and report availability' \
'traces:Query runtime trace events (tool diagnostics and model replies)' \
'update-context-windows:Update context_window in config.toml from provider /models endpoints' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw doctor commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__doctor__subcmd__help_commands] )) ||
_zeroclaw__subcmd__doctor__subcmd__help_commands() {
    local commands; commands=(
'models:Probe model catalogs across model_providers and report availability' \
'traces:Query runtime trace events (tool diagnostics and model replies)' \
'update-context-windows:Update context_window in config.toml from provider /models endpoints' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw doctor help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__doctor__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__doctor__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw doctor help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__doctor__subcmd__help__subcmd__models_commands] )) ||
_zeroclaw__subcmd__doctor__subcmd__help__subcmd__models_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw doctor help models commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__doctor__subcmd__help__subcmd__traces_commands] )) ||
_zeroclaw__subcmd__doctor__subcmd__help__subcmd__traces_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw doctor help traces commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__doctor__subcmd__help__subcmd__update-context-windows_commands] )) ||
_zeroclaw__subcmd__doctor__subcmd__help__subcmd__update-context-windows_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw doctor help update-context-windows commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__doctor__subcmd__models_commands] )) ||
_zeroclaw__subcmd__doctor__subcmd__models_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw doctor models commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__doctor__subcmd__traces_commands] )) ||
_zeroclaw__subcmd__doctor__subcmd__traces_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw doctor traces commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__doctor__subcmd__update-context-windows_commands] )) ||
_zeroclaw__subcmd__doctor__subcmd__update-context-windows_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw doctor update-context-windows commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__estop_commands] )) ||
_zeroclaw__subcmd__estop_commands() {
    local commands; commands=(
'status:Print current estop status' \
'resume:Resume from an engaged estop level' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw estop commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__estop__subcmd__help_commands] )) ||
_zeroclaw__subcmd__estop__subcmd__help_commands() {
    local commands; commands=(
'status:Print current estop status' \
'resume:Resume from an engaged estop level' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw estop help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__estop__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__estop__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw estop help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__estop__subcmd__help__subcmd__resume_commands] )) ||
_zeroclaw__subcmd__estop__subcmd__help__subcmd__resume_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw estop help resume commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__estop__subcmd__help__subcmd__status_commands] )) ||
_zeroclaw__subcmd__estop__subcmd__help__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw estop help status commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__estop__subcmd__resume_commands] )) ||
_zeroclaw__subcmd__estop__subcmd__resume_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw estop resume commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__estop__subcmd__status_commands] )) ||
_zeroclaw__subcmd__estop__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw estop status commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__eval_commands] )) ||
_zeroclaw__subcmd__eval_commands() {
    local commands; commands=(
'run:Run a suite of evaluation cases' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw eval commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__eval__subcmd__help_commands] )) ||
_zeroclaw__subcmd__eval__subcmd__help_commands() {
    local commands; commands=(
'run:Run a suite of evaluation cases' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw eval help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__eval__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__eval__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw eval help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__eval__subcmd__help__subcmd__run_commands] )) ||
_zeroclaw__subcmd__eval__subcmd__help__subcmd__run_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw eval help run commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__eval__subcmd__run_commands] )) ||
_zeroclaw__subcmd__eval__subcmd__run_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw eval run commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__gateway_commands] )) ||
_zeroclaw__subcmd__gateway_commands() {
    local commands; commands=(
'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' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw gateway commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__gateway__subcmd__get-paircode_commands] )) ||
_zeroclaw__subcmd__gateway__subcmd__get-paircode_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw gateway get-paircode commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__gateway__subcmd__help_commands] )) ||
_zeroclaw__subcmd__gateway__subcmd__help_commands() {
    local commands; commands=(
'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' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw gateway help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__gateway__subcmd__help__subcmd__get-paircode_commands] )) ||
_zeroclaw__subcmd__gateway__subcmd__help__subcmd__get-paircode_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw gateway help get-paircode commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__gateway__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__gateway__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw gateway help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__gateway__subcmd__help__subcmd__restart_commands] )) ||
_zeroclaw__subcmd__gateway__subcmd__help__subcmd__restart_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw gateway help restart commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__gateway__subcmd__help__subcmd__start_commands] )) ||
_zeroclaw__subcmd__gateway__subcmd__help__subcmd__start_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw gateway help start commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__gateway__subcmd__restart_commands] )) ||
_zeroclaw__subcmd__gateway__subcmd__restart_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw gateway restart commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__gateway__subcmd__start_commands] )) ||
_zeroclaw__subcmd__gateway__subcmd__start_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw gateway start commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__hardware_commands] )) ||
_zeroclaw__subcmd__hardware_commands() {
    local commands; commands=(
'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' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw hardware commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__hardware__subcmd__discover_commands] )) ||
_zeroclaw__subcmd__hardware__subcmd__discover_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw hardware discover commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__hardware__subcmd__help_commands] )) ||
_zeroclaw__subcmd__hardware__subcmd__help_commands() {
    local commands; commands=(
'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' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw hardware help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__hardware__subcmd__help__subcmd__discover_commands] )) ||
_zeroclaw__subcmd__hardware__subcmd__help__subcmd__discover_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw hardware help discover commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__hardware__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__hardware__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw hardware help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__hardware__subcmd__help__subcmd__info_commands] )) ||
_zeroclaw__subcmd__hardware__subcmd__help__subcmd__info_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw hardware help info commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__hardware__subcmd__help__subcmd__introspect_commands] )) ||
_zeroclaw__subcmd__hardware__subcmd__help__subcmd__introspect_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw hardware help introspect commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__hardware__subcmd__info_commands] )) ||
_zeroclaw__subcmd__hardware__subcmd__info_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw hardware info commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__hardware__subcmd__introspect_commands] )) ||
_zeroclaw__subcmd__hardware__subcmd__introspect_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw hardware introspect commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help_commands] )) ||
_zeroclaw__subcmd__help_commands() {
    local commands; commands=(
'quickstart:Quickstart — create one working agent end-to-end. Replaces the section-by-section onboarding flow with a single preset-driven path. Interactive\: the flags below pre-seed checklist selectors but do not skip them; a terminal is required' \
'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)' \
'security:Inspect the active security posture derived from local config and host detection' \
'estop:' \
'cron:Configure and manage scheduled tasks' \
'models:Manage model_provider model catalogs' \
'providers:Alias CRUD for providers (\`\[providers.<category>.<family>.<alias>\]\`). \`category\` is one of \`models\`, \`tts\`, \`transcription\`' \
'channel:Manage channels (telegram, discord, slack)' \
'agents:Manage agent aliases (create/list/rename/delete). Distinct from \`agent\`, which runs an agent' \
'channels:Manage channel aliases (create/list/rename/delete)' \
'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' \
'eval:Run the agent evaluation harness' \
'completions:Generate shell completion script to stdout' \
'markdown-help:Print the full CLI reference as Markdown (used by the docs pipeline)' \
'markdown-schema:Print the config JSON Schema (used by the docs pipeline)' \
'desktop:Launch the companion desktop app, or open its download page' \
'props:Deprecated\: use \`zeroclaw config\` instead' \
'locales:Fetch translated locale files (FTL) from upstream' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__acp_commands] )) ||
_zeroclaw__subcmd__help__subcmd__acp_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help acp commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__agent_commands] )) ||
_zeroclaw__subcmd__help__subcmd__agent_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help agent commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__agents_commands] )) ||
_zeroclaw__subcmd__help__subcmd__agents_commands() {
    local commands; commands=(
'list:List configured agent aliases' \
'create:Create a new agent alias with default config' \
'rename:Rename an agent alias, rewriting every reference to it' \
'delete:Delete an agent alias, scrubbing references and cascading owned state' \
    )
    _describe -t commands 'zeroclaw help agents commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__agents__subcmd__create_commands] )) ||
_zeroclaw__subcmd__help__subcmd__agents__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help agents create commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__agents__subcmd__delete_commands] )) ||
_zeroclaw__subcmd__help__subcmd__agents__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help agents delete commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__agents__subcmd__list_commands] )) ||
_zeroclaw__subcmd__help__subcmd__agents__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help agents list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__agents__subcmd__rename_commands] )) ||
_zeroclaw__subcmd__help__subcmd__agents__subcmd__rename_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help agents rename commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__auth_commands] )) ||
_zeroclaw__subcmd__help__subcmd__auth_commands() {
    local commands; commands=(
'login:Login with OAuth (OpenAI Codex, Gemini, or xAI)' \
'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 OAuth 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' \
'email-login:Authenticate an email channel via OAuth2 device-code flow' \
    )
    _describe -t commands 'zeroclaw help auth commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__auth__subcmd__email-login_commands] )) ||
_zeroclaw__subcmd__help__subcmd__auth__subcmd__email-login_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help auth email-login commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__auth__subcmd__list_commands] )) ||
_zeroclaw__subcmd__help__subcmd__auth__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help auth list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__auth__subcmd__login_commands] )) ||
_zeroclaw__subcmd__help__subcmd__auth__subcmd__login_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help auth login commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__auth__subcmd__logout_commands] )) ||
_zeroclaw__subcmd__help__subcmd__auth__subcmd__logout_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help auth logout commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__auth__subcmd__paste-redirect_commands] )) ||
_zeroclaw__subcmd__help__subcmd__auth__subcmd__paste-redirect_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help auth paste-redirect commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__auth__subcmd__paste-token_commands] )) ||
_zeroclaw__subcmd__help__subcmd__auth__subcmd__paste-token_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help auth paste-token commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__auth__subcmd__refresh_commands] )) ||
_zeroclaw__subcmd__help__subcmd__auth__subcmd__refresh_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help auth refresh commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__auth__subcmd__setup-token_commands] )) ||
_zeroclaw__subcmd__help__subcmd__auth__subcmd__setup-token_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help auth setup-token commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__auth__subcmd__status_commands] )) ||
_zeroclaw__subcmd__help__subcmd__auth__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help auth status commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__auth__subcmd__use_commands] )) ||
_zeroclaw__subcmd__help__subcmd__auth__subcmd__use_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help auth use commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__browse_commands] )) ||
_zeroclaw__subcmd__help__subcmd__browse_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help browse commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__channel_commands] )) ||
_zeroclaw__subcmd__help__subcmd__channel_commands() {
    local commands; commands=(
'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' \
    )
    _describe -t commands 'zeroclaw help channel commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__channel__subcmd__add_commands] )) ||
_zeroclaw__subcmd__help__subcmd__channel__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help channel add commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__channel__subcmd__bind-telegram_commands] )) ||
_zeroclaw__subcmd__help__subcmd__channel__subcmd__bind-telegram_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help channel bind-telegram commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__channel__subcmd__doctor_commands] )) ||
_zeroclaw__subcmd__help__subcmd__channel__subcmd__doctor_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help channel doctor commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__channel__subcmd__list_commands] )) ||
_zeroclaw__subcmd__help__subcmd__channel__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help channel list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__channel__subcmd__remove_commands] )) ||
_zeroclaw__subcmd__help__subcmd__channel__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help channel remove commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__channel__subcmd__send_commands] )) ||
_zeroclaw__subcmd__help__subcmd__channel__subcmd__send_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help channel send commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__channel__subcmd__start_commands] )) ||
_zeroclaw__subcmd__help__subcmd__channel__subcmd__start_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help channel start commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__channels_commands] )) ||
_zeroclaw__subcmd__help__subcmd__channels_commands() {
    local commands; commands=(
'list:List channel aliases (optionally filtered by type)' \
'create:Create a new channel alias with default config' \
'rename:Rename a channel alias, rewriting every reference' \
'delete:Delete a channel alias, scrubbing references' \
    )
    _describe -t commands 'zeroclaw help channels commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__channels__subcmd__create_commands] )) ||
_zeroclaw__subcmd__help__subcmd__channels__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help channels create commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__channels__subcmd__delete_commands] )) ||
_zeroclaw__subcmd__help__subcmd__channels__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help channels delete commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__channels__subcmd__list_commands] )) ||
_zeroclaw__subcmd__help__subcmd__channels__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help channels list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__channels__subcmd__rename_commands] )) ||
_zeroclaw__subcmd__help__subcmd__channels__subcmd__rename_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help channels rename commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__completions_commands] )) ||
_zeroclaw__subcmd__help__subcmd__completions_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help completions commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__config_commands] )) ||
_zeroclaw__subcmd__help__subcmd__config_commands() {
    local commands; commands=(
'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\`. 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' \
'docs:Print the API explorer URL (plus a hint if the daemon isn'\''t running)' \
'generate:' \
'complete:Print matching property paths for shell completion (hidden)' \
    )
    _describe -t commands 'zeroclaw help config commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__config__subcmd__complete_commands] )) ||
_zeroclaw__subcmd__help__subcmd__config__subcmd__complete_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help config complete commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__config__subcmd__docs_commands] )) ||
_zeroclaw__subcmd__help__subcmd__config__subcmd__docs_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help config docs commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__config__subcmd__generate_commands] )) ||
_zeroclaw__subcmd__help__subcmd__config__subcmd__generate_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help config generate commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__config__subcmd__get_commands] )) ||
_zeroclaw__subcmd__help__subcmd__config__subcmd__get_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help config get commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__config__subcmd__init_commands] )) ||
_zeroclaw__subcmd__help__subcmd__config__subcmd__init_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help config init commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__config__subcmd__list_commands] )) ||
_zeroclaw__subcmd__help__subcmd__config__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help config list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__config__subcmd__migrate_commands] )) ||
_zeroclaw__subcmd__help__subcmd__config__subcmd__migrate_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help config migrate commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__config__subcmd__patch_commands] )) ||
_zeroclaw__subcmd__help__subcmd__config__subcmd__patch_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help config patch commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__config__subcmd__schema_commands] )) ||
_zeroclaw__subcmd__help__subcmd__config__subcmd__schema_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help config schema commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__config__subcmd__set_commands] )) ||
_zeroclaw__subcmd__help__subcmd__config__subcmd__set_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help config set commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__cron_commands] )) ||
_zeroclaw__subcmd__help__subcmd__cron_commands() {
    local commands; commands=(
'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' \
    )
    _describe -t commands 'zeroclaw help cron commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__cron__subcmd__add_commands] )) ||
_zeroclaw__subcmd__help__subcmd__cron__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help cron add commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__cron__subcmd__add-at_commands] )) ||
_zeroclaw__subcmd__help__subcmd__cron__subcmd__add-at_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help cron add-at commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__cron__subcmd__add-every_commands] )) ||
_zeroclaw__subcmd__help__subcmd__cron__subcmd__add-every_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help cron add-every commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__cron__subcmd__list_commands] )) ||
_zeroclaw__subcmd__help__subcmd__cron__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help cron list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__cron__subcmd__once_commands] )) ||
_zeroclaw__subcmd__help__subcmd__cron__subcmd__once_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help cron once commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__cron__subcmd__pause_commands] )) ||
_zeroclaw__subcmd__help__subcmd__cron__subcmd__pause_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help cron pause commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__cron__subcmd__remove_commands] )) ||
_zeroclaw__subcmd__help__subcmd__cron__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help cron remove commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__cron__subcmd__resume_commands] )) ||
_zeroclaw__subcmd__help__subcmd__cron__subcmd__resume_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help cron resume commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__cron__subcmd__update_commands] )) ||
_zeroclaw__subcmd__help__subcmd__cron__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help cron update commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__daemon_commands] )) ||
_zeroclaw__subcmd__help__subcmd__daemon_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help daemon commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__desktop_commands] )) ||
_zeroclaw__subcmd__help__subcmd__desktop_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help desktop commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__doctor_commands] )) ||
_zeroclaw__subcmd__help__subcmd__doctor_commands() {
    local commands; commands=(
'models:Probe model catalogs across model_providers and report availability' \
'traces:Query runtime trace events (tool diagnostics and model replies)' \
'update-context-windows:Update context_window in config.toml from provider /models endpoints' \
    )
    _describe -t commands 'zeroclaw help doctor commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__doctor__subcmd__models_commands] )) ||
_zeroclaw__subcmd__help__subcmd__doctor__subcmd__models_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help doctor models commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__doctor__subcmd__traces_commands] )) ||
_zeroclaw__subcmd__help__subcmd__doctor__subcmd__traces_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help doctor traces commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__doctor__subcmd__update-context-windows_commands] )) ||
_zeroclaw__subcmd__help__subcmd__doctor__subcmd__update-context-windows_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help doctor update-context-windows commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__estop_commands] )) ||
_zeroclaw__subcmd__help__subcmd__estop_commands() {
    local commands; commands=(
'status:Print current estop status' \
'resume:Resume from an engaged estop level' \
    )
    _describe -t commands 'zeroclaw help estop commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__estop__subcmd__resume_commands] )) ||
_zeroclaw__subcmd__help__subcmd__estop__subcmd__resume_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help estop resume commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__estop__subcmd__status_commands] )) ||
_zeroclaw__subcmd__help__subcmd__estop__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help estop status commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__eval_commands] )) ||
_zeroclaw__subcmd__help__subcmd__eval_commands() {
    local commands; commands=(
'run:Run a suite of evaluation cases' \
    )
    _describe -t commands 'zeroclaw help eval commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__eval__subcmd__run_commands] )) ||
_zeroclaw__subcmd__help__subcmd__eval__subcmd__run_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help eval run commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__gateway_commands] )) ||
_zeroclaw__subcmd__help__subcmd__gateway_commands() {
    local commands; commands=(
'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' \
    )
    _describe -t commands 'zeroclaw help gateway commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__gateway__subcmd__get-paircode_commands] )) ||
_zeroclaw__subcmd__help__subcmd__gateway__subcmd__get-paircode_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help gateway get-paircode commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__gateway__subcmd__restart_commands] )) ||
_zeroclaw__subcmd__help__subcmd__gateway__subcmd__restart_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help gateway restart commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__gateway__subcmd__start_commands] )) ||
_zeroclaw__subcmd__help__subcmd__gateway__subcmd__start_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help gateway start commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__hardware_commands] )) ||
_zeroclaw__subcmd__help__subcmd__hardware_commands() {
    local commands; commands=(
'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' \
    )
    _describe -t commands 'zeroclaw help hardware commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__hardware__subcmd__discover_commands] )) ||
_zeroclaw__subcmd__help__subcmd__hardware__subcmd__discover_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help hardware discover commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__hardware__subcmd__info_commands] )) ||
_zeroclaw__subcmd__help__subcmd__hardware__subcmd__info_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help hardware info commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__hardware__subcmd__introspect_commands] )) ||
_zeroclaw__subcmd__help__subcmd__hardware__subcmd__introspect_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help hardware introspect commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__integrations_commands] )) ||
_zeroclaw__subcmd__help__subcmd__integrations_commands() {
    local commands; commands=(
'info:Show details about a specific integration' \
    )
    _describe -t commands 'zeroclaw help integrations commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__integrations__subcmd__info_commands] )) ||
_zeroclaw__subcmd__help__subcmd__integrations__subcmd__info_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help integrations info commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__locales_commands] )) ||
_zeroclaw__subcmd__help__subcmd__locales_commands() {
    local commands; commands=(
'fetch:Download translated FTL files for a locale from upstream' \
    )
    _describe -t commands 'zeroclaw help locales commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__locales__subcmd__fetch_commands] )) ||
_zeroclaw__subcmd__help__subcmd__locales__subcmd__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help locales fetch commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__markdown-help_commands] )) ||
_zeroclaw__subcmd__help__subcmd__markdown-help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help markdown-help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__markdown-schema_commands] )) ||
_zeroclaw__subcmd__help__subcmd__markdown-schema_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help markdown-schema commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__memory_commands] )) ||
_zeroclaw__subcmd__help__subcmd__memory_commands() {
    local commands; commands=(
'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:' \
    )
    _describe -t commands 'zeroclaw help memory commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__memory__subcmd__clear_commands] )) ||
_zeroclaw__subcmd__help__subcmd__memory__subcmd__clear_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help memory clear commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__memory__subcmd__get_commands] )) ||
_zeroclaw__subcmd__help__subcmd__memory__subcmd__get_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help memory get commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__memory__subcmd__list_commands] )) ||
_zeroclaw__subcmd__help__subcmd__memory__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help memory list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__memory__subcmd__reindex_commands] )) ||
_zeroclaw__subcmd__help__subcmd__memory__subcmd__reindex_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help memory reindex commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__memory__subcmd__stats_commands] )) ||
_zeroclaw__subcmd__help__subcmd__memory__subcmd__stats_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help memory stats commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__migrate_commands] )) ||
_zeroclaw__subcmd__help__subcmd__migrate_commands() {
    local commands; commands=(
'openclaw:Import memory from an \`OpenClaw\` workspace into this \`ZeroClaw\` workspace' \
    )
    _describe -t commands 'zeroclaw help migrate commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__migrate__subcmd__openclaw_commands] )) ||
_zeroclaw__subcmd__help__subcmd__migrate__subcmd__openclaw_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help migrate openclaw commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__models_commands] )) ||
_zeroclaw__subcmd__help__subcmd__models_commands() {
    local commands; commands=(
'refresh:Refresh and cache model_provider models' \
'list:List the models configured in config.toml' \
'set:Set the default model in config' \
'status:Show current model configuration and cache status' \
    )
    _describe -t commands 'zeroclaw help models commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__models__subcmd__list_commands] )) ||
_zeroclaw__subcmd__help__subcmd__models__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help models list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__models__subcmd__refresh_commands] )) ||
_zeroclaw__subcmd__help__subcmd__models__subcmd__refresh_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help models refresh commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__models__subcmd__set_commands] )) ||
_zeroclaw__subcmd__help__subcmd__models__subcmd__set_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help models set commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__models__subcmd__status_commands] )) ||
_zeroclaw__subcmd__help__subcmd__models__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help models status commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard_commands() {
    local commands; commands=(
'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' \
'model_routes:Named model routing hints (e.g. reasoning, fast, code). Each route maps a hint to a specific provider + model combo. Use \`hint\:<name>\` as the model parameter to dispatch through a route' \
'embedding_routes:Named embedding routing hints (e.g. semantic, archive, faq). Each route maps a hint to an embedding-capable provider + model combo. Use \`hint\:<name>\` as the embedding_model parameter' \
'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.servers:Individual Model Context Protocol servers. Each entry binds a transport (stdio, http, sse), the command or URL to reach it, optional headers, and a \`tool_timeout_secs\` cap (≤ 600). Each server'\''s \`name\` is its addressable key — rename via the section page rather than editing the field directly. Group servers into bundles under \`mcp_bundles\` below' \
'mcp_bundles:Named bundles of MCP servers, granted to agents that list the bundle in their \`mcp_bundles\`. Secure by default\: an agent gets only the servers its bundles grant; with no bundle it gets no MCP servers' \
'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. Global channel settings live on \`\[channels\]\`; each configured platform still 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' \
    )
    _describe -t commands 'zeroclaw help onboard commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard__subcmd__agents_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard__subcmd__agents_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help onboard agents commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard__subcmd__channels_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard__subcmd__channels_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help onboard channels commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard__subcmd__cron_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard__subcmd__cron_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help onboard cron commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard__subcmd__embedding_routes_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard__subcmd__embedding_routes_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help onboard embedding_routes commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard__subcmd__hardware_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard__subcmd__hardware_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help onboard hardware commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard__subcmd__knowledge_bundles_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard__subcmd__knowledge_bundles_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help onboard knowledge_bundles commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard__subcmd__mcp_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard__subcmd__mcp_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help onboard mcp commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard__subcmd__mcp.servers_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard__subcmd__mcp.servers_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help onboard mcp.servers commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard__subcmd__mcp_bundles_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard__subcmd__mcp_bundles_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help onboard mcp_bundles commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard__subcmd__memory_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard__subcmd__memory_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help onboard memory commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard__subcmd__model_routes_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard__subcmd__model_routes_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help onboard model_routes commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard__subcmd__onboard_state_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard__subcmd__onboard_state_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help onboard onboard_state commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard__subcmd__peer_groups_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard__subcmd__peer_groups_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help onboard peer_groups commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard__subcmd__providers.models_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard__subcmd__providers.models_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help onboard providers.models commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard__subcmd__providers.transcription_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard__subcmd__providers.transcription_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help onboard providers.transcription commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard__subcmd__providers.tts_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard__subcmd__providers.tts_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help onboard providers.tts commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard__subcmd__risk_profiles_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard__subcmd__risk_profiles_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help onboard risk_profiles commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard__subcmd__runtime_profiles_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard__subcmd__runtime_profiles_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help onboard runtime_profiles commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard__subcmd__skill_bundles_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard__subcmd__skill_bundles_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help onboard skill_bundles commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard__subcmd__skills_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard__subcmd__skills_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help onboard skills commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard__subcmd__storage_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard__subcmd__storage_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help onboard storage commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__onboard__subcmd__tunnel_commands] )) ||
_zeroclaw__subcmd__help__subcmd__onboard__subcmd__tunnel_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help onboard tunnel commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__peripheral_commands] )) ||
_zeroclaw__subcmd__help__subcmd__peripheral_commands() {
    local commands; commands=(
'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)' \
    )
    _describe -t commands 'zeroclaw help peripheral commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__peripheral__subcmd__add_commands] )) ||
_zeroclaw__subcmd__help__subcmd__peripheral__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help peripheral add commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__peripheral__subcmd__flash_commands] )) ||
_zeroclaw__subcmd__help__subcmd__peripheral__subcmd__flash_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help peripheral flash commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__peripheral__subcmd__flash-nucleo_commands] )) ||
_zeroclaw__subcmd__help__subcmd__peripheral__subcmd__flash-nucleo_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help peripheral flash-nucleo commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__peripheral__subcmd__list_commands] )) ||
_zeroclaw__subcmd__help__subcmd__peripheral__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help peripheral list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__peripheral__subcmd__setup-uno-q_commands] )) ||
_zeroclaw__subcmd__help__subcmd__peripheral__subcmd__setup-uno-q_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help peripheral setup-uno-q commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__props_commands] )) ||
_zeroclaw__subcmd__help__subcmd__props_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help props commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__providers_commands] )) ||
_zeroclaw__subcmd__help__subcmd__providers_commands() {
    local commands; commands=(
'list:List provider aliases (optionally filtered by category)' \
'create:Create a new provider alias with default config' \
'rename:Rename a provider alias, rewriting every reference' \
'delete:Delete a provider alias, scrubbing references' \
    )
    _describe -t commands 'zeroclaw help providers commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__providers__subcmd__create_commands] )) ||
_zeroclaw__subcmd__help__subcmd__providers__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help providers create commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__providers__subcmd__delete_commands] )) ||
_zeroclaw__subcmd__help__subcmd__providers__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help providers delete commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__providers__subcmd__list_commands] )) ||
_zeroclaw__subcmd__help__subcmd__providers__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help providers list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__providers__subcmd__rename_commands] )) ||
_zeroclaw__subcmd__help__subcmd__providers__subcmd__rename_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help providers rename commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__quickstart_commands] )) ||
_zeroclaw__subcmd__help__subcmd__quickstart_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help quickstart commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__security_commands] )) ||
_zeroclaw__subcmd__help__subcmd__security_commands() {
    local commands; commands=(
'status:Show security posture for the default or selected agent risk profile' \
'issue-client-cert:Issue a client certificate from the daemon'\''s mTLS CA for connecting over WSS' \
'revoke-client-cert:Revoke an issued client certificate so the daemon refuses it at the next WSS handshake (threat A5). The revoke is written to the issued-cert ledger, which materializes \`<data_dir>/tls/revoked\` for the verifier - no daemon restart needed. Identify the cert by \`--fingerprint\` (its SHA-256 hex) or \`--device\` (revokes every active cert that device holds)' \
'list-client-certs:List the still-active client certificates issued by this daemon'\''s CA (device id, fingerprint, validity) by reading the issued-cert ledger' \
'enroll-paircode:Ask the running daemon to mint another enrollment pairing code' \
'relay-rotate-node-id:Request an on-demand relay node-id rotation. The running daemon mints a fresh id, registers it alongside the old one for a grace window, then retires the old id; the new id reaches clients in-band on their next certificate renewal. Only applies when \`\[relay\].node_id\` is auto-minted' \
    )
    _describe -t commands 'zeroclaw help security commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__security__subcmd__enroll-paircode_commands] )) ||
_zeroclaw__subcmd__help__subcmd__security__subcmd__enroll-paircode_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help security enroll-paircode commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__security__subcmd__issue-client-cert_commands] )) ||
_zeroclaw__subcmd__help__subcmd__security__subcmd__issue-client-cert_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help security issue-client-cert commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__security__subcmd__list-client-certs_commands] )) ||
_zeroclaw__subcmd__help__subcmd__security__subcmd__list-client-certs_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help security list-client-certs commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__security__subcmd__relay-rotate-node-id_commands] )) ||
_zeroclaw__subcmd__help__subcmd__security__subcmd__relay-rotate-node-id_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help security relay-rotate-node-id commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__security__subcmd__revoke-client-cert_commands] )) ||
_zeroclaw__subcmd__help__subcmd__security__subcmd__revoke-client-cert_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help security revoke-client-cert commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__security__subcmd__status_commands] )) ||
_zeroclaw__subcmd__help__subcmd__security__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help security status commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__self-test_commands] )) ||
_zeroclaw__subcmd__help__subcmd__self-test_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help self-test commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__service_commands] )) ||
_zeroclaw__subcmd__help__subcmd__service_commands() {
    local commands; commands=(
'run-launchd-daemon:Internal launchd runner that owns bounded daemon output capture' \
'run-openrc-log-writer:Internal OpenRC logger that drains one daemon stream into bounded storage' \
'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' \
    )
    _describe -t commands 'zeroclaw help service commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__service__subcmd__install_commands] )) ||
_zeroclaw__subcmd__help__subcmd__service__subcmd__install_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help service install commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__service__subcmd__logs_commands] )) ||
_zeroclaw__subcmd__help__subcmd__service__subcmd__logs_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help service logs commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__service__subcmd__restart_commands] )) ||
_zeroclaw__subcmd__help__subcmd__service__subcmd__restart_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help service restart commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__service__subcmd__run-launchd-daemon_commands] )) ||
_zeroclaw__subcmd__help__subcmd__service__subcmd__run-launchd-daemon_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help service run-launchd-daemon commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__service__subcmd__run-openrc-log-writer_commands] )) ||
_zeroclaw__subcmd__help__subcmd__service__subcmd__run-openrc-log-writer_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help service run-openrc-log-writer commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__service__subcmd__start_commands] )) ||
_zeroclaw__subcmd__help__subcmd__service__subcmd__start_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help service start commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__service__subcmd__status_commands] )) ||
_zeroclaw__subcmd__help__subcmd__service__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help service status commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__service__subcmd__stop_commands] )) ||
_zeroclaw__subcmd__help__subcmd__service__subcmd__stop_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help service stop commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__service__subcmd__uninstall_commands] )) ||
_zeroclaw__subcmd__help__subcmd__service__subcmd__uninstall_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help service uninstall commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__skills_commands] )) ||
_zeroclaw__subcmd__help__subcmd__skills_commands() {
    local commands; commands=(
'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)' \
    )
    _describe -t commands 'zeroclaw help skills commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__skills__subcmd__add_commands] )) ||
_zeroclaw__subcmd__help__subcmd__skills__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help skills add commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__skills__subcmd__audit_commands] )) ||
_zeroclaw__subcmd__help__subcmd__skills__subcmd__audit_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help skills audit commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__skills__subcmd__bundle_commands] )) ||
_zeroclaw__subcmd__help__subcmd__skills__subcmd__bundle_commands() {
    local commands; commands=(
'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 (archives its directory + strips it from every agent'\''s \`skill_bundles\` list)' \
'rename:Rename a skill bundle (moves its directory + rewrites agent references)' \
'show:Show metadata + skill list for a bundle' \
    )
    _describe -t commands 'zeroclaw help skills bundle commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__skills__subcmd__bundle__subcmd__add_commands] )) ||
_zeroclaw__subcmd__help__subcmd__skills__subcmd__bundle__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help skills bundle add commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__skills__subcmd__bundle__subcmd__list_commands] )) ||
_zeroclaw__subcmd__help__subcmd__skills__subcmd__bundle__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help skills bundle list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__skills__subcmd__bundle__subcmd__remove_commands] )) ||
_zeroclaw__subcmd__help__subcmd__skills__subcmd__bundle__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help skills bundle remove commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__skills__subcmd__bundle__subcmd__rename_commands] )) ||
_zeroclaw__subcmd__help__subcmd__skills__subcmd__bundle__subcmd__rename_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help skills bundle rename commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__skills__subcmd__bundle__subcmd__show_commands] )) ||
_zeroclaw__subcmd__help__subcmd__skills__subcmd__bundle__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help skills bundle show commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__skills__subcmd__edit_commands] )) ||
_zeroclaw__subcmd__help__subcmd__skills__subcmd__edit_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help skills edit commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__skills__subcmd__install_commands] )) ||
_zeroclaw__subcmd__help__subcmd__skills__subcmd__install_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help skills install commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__skills__subcmd__list_commands] )) ||
_zeroclaw__subcmd__help__subcmd__skills__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help skills list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__skills__subcmd__remove_commands] )) ||
_zeroclaw__subcmd__help__subcmd__skills__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help skills remove commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__skills__subcmd__test_commands] )) ||
_zeroclaw__subcmd__help__subcmd__skills__subcmd__test_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help skills test commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__sop_commands] )) ||
_zeroclaw__subcmd__help__subcmd__sop_commands() {
    local commands; commands=(
'list:List loaded SOPs' \
'validate:Validate SOP definitions' \
'show:Show details of an SOP' \
'approve:Approve a SOP run waiting for out-of-band approval (talks to the running daemon)' \
'deny:Deny (cancel) a SOP run waiting for approval (talks to the running daemon)' \
'pending:List SOP runs currently waiting for approval (talks to the running daemon)' \
'graph:Render an SOP'\''s node graph as text' \
'delete:Delete an SOP definition from disk' \
    )
    _describe -t commands 'zeroclaw help sop commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__sop__subcmd__approve_commands] )) ||
_zeroclaw__subcmd__help__subcmd__sop__subcmd__approve_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help sop approve commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__sop__subcmd__delete_commands] )) ||
_zeroclaw__subcmd__help__subcmd__sop__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help sop delete commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__sop__subcmd__deny_commands] )) ||
_zeroclaw__subcmd__help__subcmd__sop__subcmd__deny_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help sop deny commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__sop__subcmd__graph_commands] )) ||
_zeroclaw__subcmd__help__subcmd__sop__subcmd__graph_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help sop graph commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__sop__subcmd__list_commands] )) ||
_zeroclaw__subcmd__help__subcmd__sop__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help sop list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__sop__subcmd__pending_commands] )) ||
_zeroclaw__subcmd__help__subcmd__sop__subcmd__pending_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help sop pending commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__sop__subcmd__show_commands] )) ||
_zeroclaw__subcmd__help__subcmd__sop__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help sop show commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__sop__subcmd__validate_commands] )) ||
_zeroclaw__subcmd__help__subcmd__sop__subcmd__validate_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help sop validate commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__status_commands] )) ||
_zeroclaw__subcmd__help__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help status commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__help__subcmd__update_commands] )) ||
_zeroclaw__subcmd__help__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw help update commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__integrations_commands] )) ||
_zeroclaw__subcmd__integrations_commands() {
    local commands; commands=(
'info:Show details about a specific integration' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw integrations commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__integrations__subcmd__help_commands] )) ||
_zeroclaw__subcmd__integrations__subcmd__help_commands() {
    local commands; commands=(
'info:Show details about a specific integration' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw integrations help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__integrations__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__integrations__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw integrations help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__integrations__subcmd__help__subcmd__info_commands] )) ||
_zeroclaw__subcmd__integrations__subcmd__help__subcmd__info_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw integrations help info commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__integrations__subcmd__info_commands] )) ||
_zeroclaw__subcmd__integrations__subcmd__info_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw integrations info commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__locales_commands] )) ||
_zeroclaw__subcmd__locales_commands() {
    local commands; commands=(
'fetch:Download translated FTL files for a locale from upstream' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw locales commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__locales__subcmd__fetch_commands] )) ||
_zeroclaw__subcmd__locales__subcmd__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw locales fetch commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__locales__subcmd__help_commands] )) ||
_zeroclaw__subcmd__locales__subcmd__help_commands() {
    local commands; commands=(
'fetch:Download translated FTL files for a locale from upstream' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw locales help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__locales__subcmd__help__subcmd__fetch_commands] )) ||
_zeroclaw__subcmd__locales__subcmd__help__subcmd__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw locales help fetch commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__locales__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__locales__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw locales help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__markdown-help_commands] )) ||
_zeroclaw__subcmd__markdown-help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw markdown-help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__markdown-schema_commands] )) ||
_zeroclaw__subcmd__markdown-schema_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw markdown-schema commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__memory_commands] )) ||
_zeroclaw__subcmd__memory_commands() {
    local commands; commands=(
'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:' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw memory commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__memory__subcmd__clear_commands] )) ||
_zeroclaw__subcmd__memory__subcmd__clear_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw memory clear commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__memory__subcmd__get_commands] )) ||
_zeroclaw__subcmd__memory__subcmd__get_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw memory get commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__memory__subcmd__help_commands] )) ||
_zeroclaw__subcmd__memory__subcmd__help_commands() {
    local commands; commands=(
'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:' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw memory help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__memory__subcmd__help__subcmd__clear_commands] )) ||
_zeroclaw__subcmd__memory__subcmd__help__subcmd__clear_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw memory help clear commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__memory__subcmd__help__subcmd__get_commands] )) ||
_zeroclaw__subcmd__memory__subcmd__help__subcmd__get_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw memory help get commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__memory__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__memory__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw memory help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__memory__subcmd__help__subcmd__list_commands] )) ||
_zeroclaw__subcmd__memory__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw memory help list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__memory__subcmd__help__subcmd__reindex_commands] )) ||
_zeroclaw__subcmd__memory__subcmd__help__subcmd__reindex_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw memory help reindex commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__memory__subcmd__help__subcmd__stats_commands] )) ||
_zeroclaw__subcmd__memory__subcmd__help__subcmd__stats_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw memory help stats commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__memory__subcmd__list_commands] )) ||
_zeroclaw__subcmd__memory__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw memory list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__memory__subcmd__reindex_commands] )) ||
_zeroclaw__subcmd__memory__subcmd__reindex_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw memory reindex commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__memory__subcmd__stats_commands] )) ||
_zeroclaw__subcmd__memory__subcmd__stats_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw memory stats commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__migrate_commands] )) ||
_zeroclaw__subcmd__migrate_commands() {
    local commands; commands=(
'openclaw:Import memory from an \`OpenClaw\` workspace into this \`ZeroClaw\` workspace' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw migrate commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__migrate__subcmd__help_commands] )) ||
_zeroclaw__subcmd__migrate__subcmd__help_commands() {
    local commands; commands=(
'openclaw:Import memory from an \`OpenClaw\` workspace into this \`ZeroClaw\` workspace' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw migrate help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__migrate__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__migrate__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw migrate help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__migrate__subcmd__help__subcmd__openclaw_commands] )) ||
_zeroclaw__subcmd__migrate__subcmd__help__subcmd__openclaw_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw migrate help openclaw commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__migrate__subcmd__openclaw_commands] )) ||
_zeroclaw__subcmd__migrate__subcmd__openclaw_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw migrate openclaw commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__models_commands] )) ||
_zeroclaw__subcmd__models_commands() {
    local commands; commands=(
'refresh:Refresh and cache model_provider models' \
'list:List the models configured in config.toml' \
'set:Set the default model in config' \
'status:Show current model configuration and cache status' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw models commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__models__subcmd__help_commands] )) ||
_zeroclaw__subcmd__models__subcmd__help_commands() {
    local commands; commands=(
'refresh:Refresh and cache model_provider models' \
'list:List the models configured in config.toml' \
'set:Set the default model in config' \
'status:Show current model configuration and cache status' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw models help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__models__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__models__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw models help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__models__subcmd__help__subcmd__list_commands] )) ||
_zeroclaw__subcmd__models__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw models help list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__models__subcmd__help__subcmd__refresh_commands] )) ||
_zeroclaw__subcmd__models__subcmd__help__subcmd__refresh_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw models help refresh commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__models__subcmd__help__subcmd__set_commands] )) ||
_zeroclaw__subcmd__models__subcmd__help__subcmd__set_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw models help set commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__models__subcmd__help__subcmd__status_commands] )) ||
_zeroclaw__subcmd__models__subcmd__help__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw models help status commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__models__subcmd__list_commands] )) ||
_zeroclaw__subcmd__models__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw models list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__models__subcmd__refresh_commands] )) ||
_zeroclaw__subcmd__models__subcmd__refresh_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw models refresh commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__models__subcmd__set_commands] )) ||
_zeroclaw__subcmd__models__subcmd__set_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw models set commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__models__subcmd__status_commands] )) ||
_zeroclaw__subcmd__models__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw models status commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard_commands] )) ||
_zeroclaw__subcmd__onboard_commands() {
    local commands; commands=(
'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' \
'model_routes:Named model routing hints (e.g. reasoning, fast, code). Each route maps a hint to a specific provider + model combo. Use \`hint\:<name>\` as the model parameter to dispatch through a route' \
'embedding_routes:Named embedding routing hints (e.g. semantic, archive, faq). Each route maps a hint to an embedding-capable provider + model combo. Use \`hint\:<name>\` as the embedding_model parameter' \
'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.servers:Individual Model Context Protocol servers. Each entry binds a transport (stdio, http, sse), the command or URL to reach it, optional headers, and a \`tool_timeout_secs\` cap (≤ 600). Each server'\''s \`name\` is its addressable key — rename via the section page rather than editing the field directly. Group servers into bundles under \`mcp_bundles\` below' \
'mcp_bundles:Named bundles of MCP servers, granted to agents that list the bundle in their \`mcp_bundles\`. Secure by default\: an agent gets only the servers its bundles grant; with no bundle it gets no MCP servers' \
'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. Global channel settings live on \`\[channels\]\`; each configured platform still 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' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw onboard commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__agents_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__agents_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard agents commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__channels_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__channels_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard channels commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__cron_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__cron_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard cron commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__embedding_routes_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__embedding_routes_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard embedding_routes commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__hardware_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__hardware_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard hardware commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help_commands() {
    local commands; commands=(
'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' \
'model_routes:Named model routing hints (e.g. reasoning, fast, code). Each route maps a hint to a specific provider + model combo. Use \`hint\:<name>\` as the model parameter to dispatch through a route' \
'embedding_routes:Named embedding routing hints (e.g. semantic, archive, faq). Each route maps a hint to an embedding-capable provider + model combo. Use \`hint\:<name>\` as the embedding_model parameter' \
'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.servers:Individual Model Context Protocol servers. Each entry binds a transport (stdio, http, sse), the command or URL to reach it, optional headers, and a \`tool_timeout_secs\` cap (≤ 600). Each server'\''s \`name\` is its addressable key — rename via the section page rather than editing the field directly. Group servers into bundles under \`mcp_bundles\` below' \
'mcp_bundles:Named bundles of MCP servers, granted to agents that list the bundle in their \`mcp_bundles\`. Secure by default\: an agent gets only the servers its bundles grant; with no bundle it gets no MCP servers' \
'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. Global channel settings live on \`\[channels\]\`; each configured platform still 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' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw onboard help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__agents_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__agents_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help agents commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__channels_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__channels_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help channels commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__cron_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__cron_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help cron commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__embedding_routes_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__embedding_routes_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help embedding_routes commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__hardware_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__hardware_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help hardware commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__knowledge_bundles_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__knowledge_bundles_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help knowledge_bundles commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__mcp_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__mcp_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help mcp commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__mcp.servers_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__mcp.servers_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help mcp.servers commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__mcp_bundles_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__mcp_bundles_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help mcp_bundles commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__memory_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__memory_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help memory commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__model_routes_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__model_routes_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help model_routes commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__onboard_state_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__onboard_state_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help onboard_state commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__peer_groups_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__peer_groups_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help peer_groups commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__providers.models_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__providers.models_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help providers.models commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__providers.transcription_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__providers.transcription_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help providers.transcription commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__providers.tts_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__providers.tts_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help providers.tts commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__risk_profiles_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__risk_profiles_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help risk_profiles commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__runtime_profiles_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__runtime_profiles_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help runtime_profiles commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__skill_bundles_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__skill_bundles_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help skill_bundles commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__skills_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__skills_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help skills commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__storage_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__storage_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help storage commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__help__subcmd__tunnel_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__help__subcmd__tunnel_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard help tunnel commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__knowledge_bundles_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__knowledge_bundles_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard knowledge_bundles commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__mcp_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__mcp_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard mcp commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__mcp.servers_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__mcp.servers_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard mcp.servers commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__mcp_bundles_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__mcp_bundles_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard mcp_bundles commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__memory_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__memory_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard memory commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__model_routes_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__model_routes_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard model_routes commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__onboard_state_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__onboard_state_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard onboard_state commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__peer_groups_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__peer_groups_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard peer_groups commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__providers.models_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__providers.models_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard providers.models commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__providers.transcription_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__providers.transcription_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard providers.transcription commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__providers.tts_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__providers.tts_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard providers.tts commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__risk_profiles_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__risk_profiles_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard risk_profiles commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__runtime_profiles_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__runtime_profiles_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard runtime_profiles commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__skill_bundles_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__skill_bundles_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard skill_bundles commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__skills_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__skills_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard skills commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__storage_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__storage_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard storage commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__onboard__subcmd__tunnel_commands] )) ||
_zeroclaw__subcmd__onboard__subcmd__tunnel_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw onboard tunnel commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__peripheral_commands] )) ||
_zeroclaw__subcmd__peripheral_commands() {
    local commands; commands=(
'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)' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw peripheral commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__peripheral__subcmd__add_commands] )) ||
_zeroclaw__subcmd__peripheral__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw peripheral add commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__peripheral__subcmd__flash_commands] )) ||
_zeroclaw__subcmd__peripheral__subcmd__flash_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw peripheral flash commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__peripheral__subcmd__flash-nucleo_commands] )) ||
_zeroclaw__subcmd__peripheral__subcmd__flash-nucleo_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw peripheral flash-nucleo commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__peripheral__subcmd__help_commands] )) ||
_zeroclaw__subcmd__peripheral__subcmd__help_commands() {
    local commands; commands=(
'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)' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw peripheral help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__peripheral__subcmd__help__subcmd__add_commands] )) ||
_zeroclaw__subcmd__peripheral__subcmd__help__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw peripheral help add commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__peripheral__subcmd__help__subcmd__flash_commands] )) ||
_zeroclaw__subcmd__peripheral__subcmd__help__subcmd__flash_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw peripheral help flash commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__peripheral__subcmd__help__subcmd__flash-nucleo_commands] )) ||
_zeroclaw__subcmd__peripheral__subcmd__help__subcmd__flash-nucleo_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw peripheral help flash-nucleo commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__peripheral__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__peripheral__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw peripheral help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__peripheral__subcmd__help__subcmd__list_commands] )) ||
_zeroclaw__subcmd__peripheral__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw peripheral help list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__peripheral__subcmd__help__subcmd__setup-uno-q_commands] )) ||
_zeroclaw__subcmd__peripheral__subcmd__help__subcmd__setup-uno-q_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw peripheral help setup-uno-q commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__peripheral__subcmd__list_commands] )) ||
_zeroclaw__subcmd__peripheral__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw peripheral list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__peripheral__subcmd__setup-uno-q_commands] )) ||
_zeroclaw__subcmd__peripheral__subcmd__setup-uno-q_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw peripheral setup-uno-q commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__props_commands] )) ||
_zeroclaw__subcmd__props_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw props commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__providers_commands] )) ||
_zeroclaw__subcmd__providers_commands() {
    local commands; commands=(
'list:List provider aliases (optionally filtered by category)' \
'create:Create a new provider alias with default config' \
'rename:Rename a provider alias, rewriting every reference' \
'delete:Delete a provider alias, scrubbing references' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw providers commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__providers__subcmd__create_commands] )) ||
_zeroclaw__subcmd__providers__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw providers create commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__providers__subcmd__delete_commands] )) ||
_zeroclaw__subcmd__providers__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw providers delete commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__providers__subcmd__help_commands] )) ||
_zeroclaw__subcmd__providers__subcmd__help_commands() {
    local commands; commands=(
'list:List provider aliases (optionally filtered by category)' \
'create:Create a new provider alias with default config' \
'rename:Rename a provider alias, rewriting every reference' \
'delete:Delete a provider alias, scrubbing references' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw providers help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__providers__subcmd__help__subcmd__create_commands] )) ||
_zeroclaw__subcmd__providers__subcmd__help__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw providers help create commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__providers__subcmd__help__subcmd__delete_commands] )) ||
_zeroclaw__subcmd__providers__subcmd__help__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw providers help delete commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__providers__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__providers__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw providers help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__providers__subcmd__help__subcmd__list_commands] )) ||
_zeroclaw__subcmd__providers__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw providers help list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__providers__subcmd__help__subcmd__rename_commands] )) ||
_zeroclaw__subcmd__providers__subcmd__help__subcmd__rename_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw providers help rename commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__providers__subcmd__list_commands] )) ||
_zeroclaw__subcmd__providers__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw providers list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__providers__subcmd__rename_commands] )) ||
_zeroclaw__subcmd__providers__subcmd__rename_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw providers rename commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__quickstart_commands] )) ||
_zeroclaw__subcmd__quickstart_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw quickstart commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__security_commands] )) ||
_zeroclaw__subcmd__security_commands() {
    local commands; commands=(
'status:Show security posture for the default or selected agent risk profile' \
'issue-client-cert:Issue a client certificate from the daemon'\''s mTLS CA for connecting over WSS' \
'revoke-client-cert:Revoke an issued client certificate so the daemon refuses it at the next WSS handshake (threat A5). The revoke is written to the issued-cert ledger, which materializes \`<data_dir>/tls/revoked\` for the verifier - no daemon restart needed. Identify the cert by \`--fingerprint\` (its SHA-256 hex) or \`--device\` (revokes every active cert that device holds)' \
'list-client-certs:List the still-active client certificates issued by this daemon'\''s CA (device id, fingerprint, validity) by reading the issued-cert ledger' \
'enroll-paircode:Ask the running daemon to mint another enrollment pairing code' \
'relay-rotate-node-id:Request an on-demand relay node-id rotation. The running daemon mints a fresh id, registers it alongside the old one for a grace window, then retires the old id; the new id reaches clients in-band on their next certificate renewal. Only applies when \`\[relay\].node_id\` is auto-minted' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw security commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__security__subcmd__enroll-paircode_commands] )) ||
_zeroclaw__subcmd__security__subcmd__enroll-paircode_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw security enroll-paircode commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__security__subcmd__help_commands] )) ||
_zeroclaw__subcmd__security__subcmd__help_commands() {
    local commands; commands=(
'status:Show security posture for the default or selected agent risk profile' \
'issue-client-cert:Issue a client certificate from the daemon'\''s mTLS CA for connecting over WSS' \
'revoke-client-cert:Revoke an issued client certificate so the daemon refuses it at the next WSS handshake (threat A5). The revoke is written to the issued-cert ledger, which materializes \`<data_dir>/tls/revoked\` for the verifier - no daemon restart needed. Identify the cert by \`--fingerprint\` (its SHA-256 hex) or \`--device\` (revokes every active cert that device holds)' \
'list-client-certs:List the still-active client certificates issued by this daemon'\''s CA (device id, fingerprint, validity) by reading the issued-cert ledger' \
'enroll-paircode:Ask the running daemon to mint another enrollment pairing code' \
'relay-rotate-node-id:Request an on-demand relay node-id rotation. The running daemon mints a fresh id, registers it alongside the old one for a grace window, then retires the old id; the new id reaches clients in-band on their next certificate renewal. Only applies when \`\[relay\].node_id\` is auto-minted' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw security help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__security__subcmd__help__subcmd__enroll-paircode_commands] )) ||
_zeroclaw__subcmd__security__subcmd__help__subcmd__enroll-paircode_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw security help enroll-paircode commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__security__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__security__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw security help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__security__subcmd__help__subcmd__issue-client-cert_commands] )) ||
_zeroclaw__subcmd__security__subcmd__help__subcmd__issue-client-cert_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw security help issue-client-cert commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__security__subcmd__help__subcmd__list-client-certs_commands] )) ||
_zeroclaw__subcmd__security__subcmd__help__subcmd__list-client-certs_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw security help list-client-certs commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__security__subcmd__help__subcmd__relay-rotate-node-id_commands] )) ||
_zeroclaw__subcmd__security__subcmd__help__subcmd__relay-rotate-node-id_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw security help relay-rotate-node-id commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__security__subcmd__help__subcmd__revoke-client-cert_commands] )) ||
_zeroclaw__subcmd__security__subcmd__help__subcmd__revoke-client-cert_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw security help revoke-client-cert commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__security__subcmd__help__subcmd__status_commands] )) ||
_zeroclaw__subcmd__security__subcmd__help__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw security help status commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__security__subcmd__issue-client-cert_commands] )) ||
_zeroclaw__subcmd__security__subcmd__issue-client-cert_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw security issue-client-cert commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__security__subcmd__list-client-certs_commands] )) ||
_zeroclaw__subcmd__security__subcmd__list-client-certs_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw security list-client-certs commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__security__subcmd__relay-rotate-node-id_commands] )) ||
_zeroclaw__subcmd__security__subcmd__relay-rotate-node-id_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw security relay-rotate-node-id commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__security__subcmd__revoke-client-cert_commands] )) ||
_zeroclaw__subcmd__security__subcmd__revoke-client-cert_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw security revoke-client-cert commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__security__subcmd__status_commands] )) ||
_zeroclaw__subcmd__security__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw security status commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__self-test_commands] )) ||
_zeroclaw__subcmd__self-test_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw self-test commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__service_commands] )) ||
_zeroclaw__subcmd__service_commands() {
    local commands; commands=(
'run-launchd-daemon:Internal launchd runner that owns bounded daemon output capture' \
'run-openrc-log-writer:Internal OpenRC logger that drains one daemon stream into bounded storage' \
'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' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw service commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__service__subcmd__help_commands] )) ||
_zeroclaw__subcmd__service__subcmd__help_commands() {
    local commands; commands=(
'run-launchd-daemon:Internal launchd runner that owns bounded daemon output capture' \
'run-openrc-log-writer:Internal OpenRC logger that drains one daemon stream into bounded storage' \
'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' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw service help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__service__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__service__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw service help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__service__subcmd__help__subcmd__install_commands] )) ||
_zeroclaw__subcmd__service__subcmd__help__subcmd__install_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw service help install commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__service__subcmd__help__subcmd__logs_commands] )) ||
_zeroclaw__subcmd__service__subcmd__help__subcmd__logs_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw service help logs commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__service__subcmd__help__subcmd__restart_commands] )) ||
_zeroclaw__subcmd__service__subcmd__help__subcmd__restart_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw service help restart commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__service__subcmd__help__subcmd__run-launchd-daemon_commands] )) ||
_zeroclaw__subcmd__service__subcmd__help__subcmd__run-launchd-daemon_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw service help run-launchd-daemon commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__service__subcmd__help__subcmd__run-openrc-log-writer_commands] )) ||
_zeroclaw__subcmd__service__subcmd__help__subcmd__run-openrc-log-writer_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw service help run-openrc-log-writer commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__service__subcmd__help__subcmd__start_commands] )) ||
_zeroclaw__subcmd__service__subcmd__help__subcmd__start_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw service help start commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__service__subcmd__help__subcmd__status_commands] )) ||
_zeroclaw__subcmd__service__subcmd__help__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw service help status commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__service__subcmd__help__subcmd__stop_commands] )) ||
_zeroclaw__subcmd__service__subcmd__help__subcmd__stop_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw service help stop commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__service__subcmd__help__subcmd__uninstall_commands] )) ||
_zeroclaw__subcmd__service__subcmd__help__subcmd__uninstall_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw service help uninstall commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__service__subcmd__install_commands] )) ||
_zeroclaw__subcmd__service__subcmd__install_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw service install commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__service__subcmd__logs_commands] )) ||
_zeroclaw__subcmd__service__subcmd__logs_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw service logs commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__service__subcmd__restart_commands] )) ||
_zeroclaw__subcmd__service__subcmd__restart_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw service restart commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__service__subcmd__run-launchd-daemon_commands] )) ||
_zeroclaw__subcmd__service__subcmd__run-launchd-daemon_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw service run-launchd-daemon commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__service__subcmd__run-openrc-log-writer_commands] )) ||
_zeroclaw__subcmd__service__subcmd__run-openrc-log-writer_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw service run-openrc-log-writer commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__service__subcmd__start_commands] )) ||
_zeroclaw__subcmd__service__subcmd__start_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw service start commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__service__subcmd__status_commands] )) ||
_zeroclaw__subcmd__service__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw service status commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__service__subcmd__stop_commands] )) ||
_zeroclaw__subcmd__service__subcmd__stop_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw service stop commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__service__subcmd__uninstall_commands] )) ||
_zeroclaw__subcmd__service__subcmd__uninstall_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw service uninstall commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills_commands] )) ||
_zeroclaw__subcmd__skills_commands() {
    local commands; commands=(
'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)' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw skills commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__add_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills add commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__audit_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__audit_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills audit commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__bundle_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__bundle_commands() {
    local commands; commands=(
'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 (archives its directory + strips it from every agent'\''s \`skill_bundles\` list)' \
'rename:Rename a skill bundle (moves its directory + rewrites agent references)' \
'show:Show metadata + skill list for a bundle' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw skills bundle commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__add_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills bundle add commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__help_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__help_commands() {
    local commands; commands=(
'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 (archives its directory + strips it from every agent'\''s \`skill_bundles\` list)' \
'rename:Rename a skill bundle (moves its directory + rewrites agent references)' \
'show:Show metadata + skill list for a bundle' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw skills bundle help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__help__subcmd__add_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__help__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills bundle help add commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills bundle help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__help__subcmd__list_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills bundle help list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__help__subcmd__remove_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__help__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills bundle help remove commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__help__subcmd__rename_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__help__subcmd__rename_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills bundle help rename commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__help__subcmd__show_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__help__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills bundle help show commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__list_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills bundle list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__remove_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills bundle remove commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__rename_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__rename_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills bundle rename commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__show_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__bundle__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills bundle show commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__edit_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__edit_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills edit commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__help_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__help_commands() {
    local commands; commands=(
'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)' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw skills help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__help__subcmd__add_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__help__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills help add commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__help__subcmd__audit_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__help__subcmd__audit_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills help audit commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__help__subcmd__bundle_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__help__subcmd__bundle_commands() {
    local commands; commands=(
'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 (archives its directory + strips it from every agent'\''s \`skill_bundles\` list)' \
'rename:Rename a skill bundle (moves its directory + rewrites agent references)' \
'show:Show metadata + skill list for a bundle' \
    )
    _describe -t commands 'zeroclaw skills help bundle commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__help__subcmd__bundle__subcmd__add_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__help__subcmd__bundle__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills help bundle add commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__help__subcmd__bundle__subcmd__list_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__help__subcmd__bundle__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills help bundle list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__help__subcmd__bundle__subcmd__remove_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__help__subcmd__bundle__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills help bundle remove commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__help__subcmd__bundle__subcmd__rename_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__help__subcmd__bundle__subcmd__rename_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills help bundle rename commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__help__subcmd__bundle__subcmd__show_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__help__subcmd__bundle__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills help bundle show commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__help__subcmd__edit_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__help__subcmd__edit_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills help edit commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__help__subcmd__install_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__help__subcmd__install_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills help install commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__help__subcmd__list_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills help list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__help__subcmd__remove_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__help__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills help remove commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__help__subcmd__test_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__help__subcmd__test_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills help test commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__install_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__install_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills install commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__list_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__remove_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills remove commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__skills__subcmd__test_commands] )) ||
_zeroclaw__subcmd__skills__subcmd__test_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw skills test commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__sop_commands] )) ||
_zeroclaw__subcmd__sop_commands() {
    local commands; commands=(
'list:List loaded SOPs' \
'validate:Validate SOP definitions' \
'show:Show details of an SOP' \
'approve:Approve a SOP run waiting for out-of-band approval (talks to the running daemon)' \
'deny:Deny (cancel) a SOP run waiting for approval (talks to the running daemon)' \
'pending:List SOP runs currently waiting for approval (talks to the running daemon)' \
'graph:Render an SOP'\''s node graph as text' \
'delete:Delete an SOP definition from disk' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw sop commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__sop__subcmd__approve_commands] )) ||
_zeroclaw__subcmd__sop__subcmd__approve_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw sop approve commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__sop__subcmd__delete_commands] )) ||
_zeroclaw__subcmd__sop__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw sop delete commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__sop__subcmd__deny_commands] )) ||
_zeroclaw__subcmd__sop__subcmd__deny_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw sop deny commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__sop__subcmd__graph_commands] )) ||
_zeroclaw__subcmd__sop__subcmd__graph_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw sop graph commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__sop__subcmd__help_commands] )) ||
_zeroclaw__subcmd__sop__subcmd__help_commands() {
    local commands; commands=(
'list:List loaded SOPs' \
'validate:Validate SOP definitions' \
'show:Show details of an SOP' \
'approve:Approve a SOP run waiting for out-of-band approval (talks to the running daemon)' \
'deny:Deny (cancel) a SOP run waiting for approval (talks to the running daemon)' \
'pending:List SOP runs currently waiting for approval (talks to the running daemon)' \
'graph:Render an SOP'\''s node graph as text' \
'delete:Delete an SOP definition from disk' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'zeroclaw sop help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__sop__subcmd__help__subcmd__approve_commands] )) ||
_zeroclaw__subcmd__sop__subcmd__help__subcmd__approve_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw sop help approve commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__sop__subcmd__help__subcmd__delete_commands] )) ||
_zeroclaw__subcmd__sop__subcmd__help__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw sop help delete commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__sop__subcmd__help__subcmd__deny_commands] )) ||
_zeroclaw__subcmd__sop__subcmd__help__subcmd__deny_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw sop help deny commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__sop__subcmd__help__subcmd__graph_commands] )) ||
_zeroclaw__subcmd__sop__subcmd__help__subcmd__graph_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw sop help graph commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__sop__subcmd__help__subcmd__help_commands] )) ||
_zeroclaw__subcmd__sop__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw sop help help commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__sop__subcmd__help__subcmd__list_commands] )) ||
_zeroclaw__subcmd__sop__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw sop help list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__sop__subcmd__help__subcmd__pending_commands] )) ||
_zeroclaw__subcmd__sop__subcmd__help__subcmd__pending_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw sop help pending commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__sop__subcmd__help__subcmd__show_commands] )) ||
_zeroclaw__subcmd__sop__subcmd__help__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw sop help show commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__sop__subcmd__help__subcmd__validate_commands] )) ||
_zeroclaw__subcmd__sop__subcmd__help__subcmd__validate_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw sop help validate commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__sop__subcmd__list_commands] )) ||
_zeroclaw__subcmd__sop__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw sop list commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__sop__subcmd__pending_commands] )) ||
_zeroclaw__subcmd__sop__subcmd__pending_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw sop pending commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__sop__subcmd__show_commands] )) ||
_zeroclaw__subcmd__sop__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw sop show commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__sop__subcmd__validate_commands] )) ||
_zeroclaw__subcmd__sop__subcmd__validate_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw sop validate commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__status_commands] )) ||
_zeroclaw__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw status commands' commands "$@"
}
(( $+functions[_zeroclaw__subcmd__update_commands] )) ||
_zeroclaw__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'zeroclaw update commands' commands "$@"
}

if [ "$funcstack[1]" = "_zeroclaw" ]; then
    _zeroclaw "$@"
else
    compdef _zeroclaw zeroclaw
fi

# Dynamic completion for zeroclaw config get/set paths
if (( $+functions[_zeroclaw] )); then
    functions[_zeroclaw_clap_orig]=$functions[_zeroclaw]
    _zeroclaw() {
        if [[ "${words[*]}" == *"config "(get|set)* ]] && (( CURRENT > 3 )); then
            local -a props
            props=(${(f)"$(zeroclaw config complete "$words[CURRENT]" 2>/dev/null)"})
            compadd -a props
            return
        fi
        _zeroclaw_clap_orig "$@"
    }
fi
