WendyOS Docs
AdvancedClientsWendy cli

Analytics

We track analytics for our CLI's usage through a self-hosted telemetry service at https://cloud.wendy.sh/v1/telemetry/events. This is opt-out, or through WENDYANALYTICS=false in yo

We track analytics for our CLI's usage through a self-hosted telemetry service at https://cloud.wendy.sh/v1/telemetry/events. This is opt-out, or through WENDY_ANALYTICS=false in your environment.

How it works

When analytics are enabled, each tracked event is serialised to JSON and sent via an HTTP POST request in a background goroutine. The CLI waits for any in-flight request to complete before exiting so no events are silently dropped.

Endpoint

Events are posted to:

https://cloud.wendy.sh/v1/telemetry/events

Each request has a 5-second timeout. Network errors are silently discarded — telemetry is strictly best-effort and never blocks normal CLI operation.

Overriding the endpoint

For development and testing the telemetry host can be overridden with an environment variable:

WENDY_TELEMETRY_HOST=http://localhost:8082 wendy <command>

Event payload

Every event is an anonymous JSON object. The fields sent are:

FieldTypeDescription
anonymous_idstringStable random UUID stored in ~/.wendy/ — never tied to a real identity
eventstringEvent name, e.g. "command_run"
command_namestringCanonical command path, e.g. "wendy device wifi connect"
command_rootstringTop-level command token
duration_msintegerCommand duration in milliseconds
successbooleanWhether the command completed without error
error_classstringBounded enum describing the error category (never free-form error text)
cli_versionstringCLI version string
osstringOperating system (GOOS)
archstringCPU architecture (GOARCH)
is_dev_buildbooleantrue when cli_version == "dev"

Privacy note: Flag values, positional arguments, file paths, hostnames, and error message text are never included in telemetry payloads. Only the fields listed above are sent.

Opting out

Analytics can be disabled in several ways:

  1. Environment variable — takes precedence over everything else:
    WENDY_ANALYTICS=false wendy <command>
  2. CLI command:
    wendy analytics disable
  3. CI environments — analytics are hard-disabled automatically when any standard CI environment variable is detected (e.g. CI=true). There is no opt-in escape hatch in CI.

On this page