CiscoCiscoDefenseClaw
Setup

Setup

Every defenseclaw setup verb in one place — from the central guardrail wizard to the auxiliary commands that wire keys, webhooks, registries, observability, and per-connector hooks.

defenseclaw setup is the family of operator commands that take DefenseClaw from "binary on disk" to "actively defending an agent". Every verb writes the same ~/.defenseclaw/config.yaml, restarts the right side-cars, and emits an audit-log entry — interactively when you are at a TTY, scripted when you pass --non-interactive.

The one-line summary

Run defenseclaw setup guardrail once. Reach for the auxiliary verbs only when you want to wire a chat notifier, a registry, an observability sink, or a custom LLM key into a guardrail that is already running.

The central command

Connector aliases (thin wrappers around setup guardrail)

Each alias pre-fills the connector flag and inherits every guardrail option. Pass --mode observe to run any of them in audit-only mode.

Auxiliary setup verbs

The non-guardrail verbs each own a focused slice of the configuration surface. Every one of them runs interactively at a TTY and supports --non-interactive for CI.

Interactive vs non-interactive — global matrix

Every verb in the setup family exposes both a fully-interactive walkthrough and a --non-interactive flag for CI. The table below is the canonical mapping.

VerbInteractiveNon-interactiveNotes
setup guardrailyes (default)--non-interactive + flagsWizard explains each prompt; non-interactive mode requires every required flag.
setup mode <connector>yesflags onlyReuses the existing guardrail config; only re-prompts when the integration scope changes.
keys list / set / fill-missing / checkyes (default)--value + --yeskeys set prompts for the value (hidden) when --value is omitted.
setup webhook add <type>yes (default)--non-interactive + flagsURL and secret-env are prompt-or-flag; type is always positional.
setup webhook test <name>n/an/aAlways non-interactive; safe to re-run.
registry add <id>yes (default)--non-interactive + flagswizard is the friendly first-run alias.
registry sync / entries / approve / rejectn/aflags onlyDesigned for cron / scripts.
setup splunkyes--non-interactive + flagsHEC token comes from --hec-token <value> or, if omitted, the DEFENSECLAW_SPLUNK_HEC_TOKEN env var.
setup local-observabilityyesflags + --non-interactiveOne-shot bring-up; --down tears the stack back down.
setup skill-scanner / setup mcp-scanneryes--non-interactive + flagsPer-feature toggles; the underlying cisco-ai-skill-scanner / cisco-ai-mcp-scanner SDKs ship as hard dependencies of defenseclaw.
setup redaction on / off / statusn/aflags onlyIdempotent; status exits 0/1 for CI.

See it for yourself

The interactive flow for the central command is replayed end-to-end on the Setup guardrail page. Every other verb follows the same prompt-or-flag rhythm.

What gets written where

Every setup verb writes to ~/.defenseclaw/:

~/.defenseclaw/
  config.yaml          # the canonical configuration (every verb edits this)
  .env                 # secret values — never committed, never logged
  audit.db             # SQLite audit store (configuration changes land here too)
  gateway.jsonl        # rolling decision/event JSONL
  registries/<id>/     # cached manifest + scanner verdicts for each registry source

Next steps: defenseclaw setup guardrail is the right starting point if you have not run it yet. Already running? defenseclaw keys set DEFENSECLAW_LLM_KEY is the most common follow-up — it unlocks the LLM judge and the LLM-backed scanners. The full guided workflow lives at Unified LLM key.