Skip to content

CLI Configuration

The CLI reads its settings from flags, environment variables, and a config file. The fastest way to set it up is shield360 configure.

Terminal window
shield360 configure \
--endpoint https://shield360.example.com:4318 \
--api-key $SHIELD360_API_KEY

This writes a KEY=VALUE file to:

  • Linux / macOS - ~/.config/shield360/config.env (honors $XDG_CONFIG_HOME)
  • Windows - %APPDATA%\shield360\config.env

The file is written with mode 0600 (owner-readable only).

To inspect the effective configuration without writing anything - including which source each value came from - use --show:

Terminal window
shield360 configure --show
FlagMaps toDescription
--endpointSHIELD360_OTLP_ENDPOINTOTLP/HTTP endpoint URL (e.g. http://localhost:4318)
--api-keySHIELD360_API_KEYAPI key, sent as Authorization: Bearer <key>
--environmentSHIELD360_ENVIRONMENTDeployment environment (e.g. production, staging)
--application-nameSHIELD360_APPLICATION_NAMEApplication name (default shield360-cli)
--content-captureSHIELD360_CODING_CONTENT_CAPTURECoding-agent content capture: minimal | metadata_only | full
--show-Print resolved config (and its source) without writing

Settings resolve highest-to-lowest:

  1. CLI flags (--endpoint, --api-key, …)
  2. SHIELD360_* environment variables
  3. OTEL_EXPORTER_OTLP_* environment variables (standard OpenTelemetry fallback)
  4. Config file (~/.config/shield360/config.env, allow-listed keys only)
  5. Built-in defaults

For headless / fleet rollouts, prefer environment variables or flags - they take precedence over the file. Existing OpenTelemetry users can reuse their standard OTEL_EXPORTER_OTLP_* setup.

VariablePurposeDefault
SHIELD360_OTLP_ENDPOINTOTLP/HTTP base URLhttp://127.0.0.1:4318
SHIELD360_API_KEYAuthenticates the OTLP exporter (Authorization: Bearer <key>)-
SHIELD360_ENVIRONMENTDeployment environment labeldefault
SHIELD360_APPLICATION_NAMEApp name for OTel resource attributesshield360-cli
SHIELD360_CODING_CONTENT_CAPTURECoding-agent content capture modefull
SHIELD360_CODING_REPO_ALLOWLISTComma/newline-separated repo patterns for personal-vs-work classification-
SHIELD360_USEROverride the resolved user identity (gen_ai.user.name)auto
OTEL_EXPORTER_OTLP_ENDPOINTStandard OTel endpoint (fallback)-
OTEL_EXPORTER_OTLP_HEADERSExtra headers as comma-separated k=v pairs-
OTEL_RESOURCE_ATTRIBUTESStandard OTel resource attributes-
SHIELD360_DEBUG_PAYLOAD_DIRTee raw hook payloads to JSONL for debugging-

SHIELD360_CODING_CONTENT_CAPTURE controls how much of each coding-agent interaction is captured. Tier-1 secret redaction runs on every export regardless of mode.

ModeWhat’s captured
minimalSession bookends and counters only - good for cost + activity dashboards
metadata_onlyPer-event spans without prompt bodies or tool-arg bodies
full (default)Complete prompt + response bodies and tool I/O, secret-scrubbed on the way out

The CLI accepts scheme-less, http://, or https:// endpoints, with or without a path/trailing slash. For non-loopback hosts it auto-upgrades plain http:// to https://. Loopback and private-range hosts (localhost, 127.0.0.1, ::1, 10.*, 192.168.*, 172.16–31.*, 169.254.*) are left on http://.