Skip to content

Telemetry

The Kubb CLI collects anonymous, non-identifiable usage data to help improve the tool. This data helps us understand which plugins and features are most used, identify performance bottlenecks, and prioritize future development.

IMPORTANT

Telemetry is enabled by default and can be disabled at any time using the DO_NOT_TRACK or KUBB_DISABLE_TELEMETRY environment variable.

What Is Collected?

The following anonymous data is sent after each CLI command:

FieldDescriptionExample
commandCLI command that was run"generate", "validate", "mcp", "agent"
kubbVersionKubb CLI version"4.30.0"
nodeVersionNode.js major version"20"
platformOperating system"linux", "darwin", "win32"
ciWhether running in CItrue
pluginsPlugin names and their options (only for generate)[{ "name": "@kubb/plugin-ts", "options": { "output": { "path": "types" } } }]
durationCommand execution time in milliseconds1432
filesCreatedNumber of files generated (only for generate)47
statusWhether the command succeeded or failed"success"

Commands that send telemetry

CommandDescription
kubb generateSent after code generation completes or fails
kubb validateSent after OpenAPI validation completes or fails
kubb mcpSent after the MCP server starts or fails to start
kubb agent startSent after the agent server starts or fails to start

What Is Not Collected

We take privacy seriously. The following data is never sent:

  • OpenAPI specification contents
  • File paths or directory structures
  • Secrets, API keys, or tokens
  • Source code or generated code
  • IP addresses or user identifiers

How to Opt Out

There are two ways to disable telemetry:

DO_NOT_TRACK is a standard cross-tool opt-out convention supported by many developer tools.

shell
DO_NOT_TRACK=1 kubb generate

Add it to your shell profile (~/.bashrc, ~/.zshrc, etc.) to disable it permanently:

shell
export DO_NOT_TRACK=1

Option 2 — KUBB_DISABLE_TELEMETRY

Kubb-specific opt-out flag:

shell
KUBB_DISABLE_TELEMETRY=1 kubb generate

Or permanently via your shell profile:

shell
export KUBB_DISABLE_TELEMETRY=1

Both environment variables accept "1" or "true" as values.

How the Data Is Used

The collected data is used exclusively to:

  • Understand which plugins and features are actively used
  • Detect performance regressions across Kubb versions
  • Identify deprecated options that users still depend on
  • Guide prioritization of new features and bug fixes

The data is aggregated and anonymized — individual runs cannot be linked to a specific project or user.

Data Transmission

Telemetry events are formatted as OpenTelemetry OTLP traces and sent via a single HTTP POST request to https://otlp.kubb.dev/v1/traces at the end of each command. The request:

  • Only fires when an internet connection is available (detected automatically)
  • Has a 5-second timeout and fails silently if the endpoint is unreachable
  • Will never delay or interrupt the CLI output

Released under the MIT License.