Reference
Telemetry
Learn what anonymous usage data Kubb collects, how to opt out, and how the data improves the tool.
The Kubb CLI collects anonymous command, plugin, and performance data.
Telemetry is enabled by default. Disable it any time with the
DO_NOT_TRACK or KUBB_DISABLE_TELEMETRY environment variable.What is collected
Telemetry includes these fields:
| Field | Description | Example |
|---|---|---|
command | CLI command that was run | "generate", "validate", "mcp" |
kubbVersion | Kubb CLI version | "5.0.0" |
nodeVersion | Node.js major version | "22" |
runtime | JavaScript runtime name | "node", "bun", "deno" |
runtimeVersion | Runtime major version | "22" |
platform | Operating system | "linux", "darwin", "win32" |
ci | Whether running in CI | true |
agent | Name of the AI coding agent that ran the command, if any | "claude" |
plugins | Plugin names and their options (only for generate) | [{ "name": "@kubb/plugin-ts", "options": { "output": { "path": "types" } } }] |
duration | Command execution time in milliseconds | 1432 |
filesCreated | Number of files generated (only for generate) | 47 |
status | Whether the command succeeded or failed | "success" |
Commands that send telemetry
| Command | Description |
|---|---|
kubb generate | Sent after code generation completes or fails |
kubb validate | Sent after OpenAPI validation completes or fails |
kubb mcp | Sent after the MCP server starts or fails to start |
What is not collected
Kubb never sends:
- 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
Set DO_NOT_TRACK or KUBB_DISABLE_TELEMETRY to 1 or true:
Terminal
DO_NOT_TRACK=1 kubb generate
Add export DO_NOT_TRACK=1 to your shell profile to opt out permanently. DO_NOT_TRACK follows the cross-tool convention.
Data transmission
Telemetry is formatted as OpenTelemetry OTLP traces. Kubb sends them to https://otlp.kubb.dev/v1/traces at the end of each command. The request fires only when you are online. It times out after 5 seconds and fails silently if anything goes wrong.