Skip to main content
The SDK sends eval trace telemetry and anonymous CLI usage analytics. They are independent and have separate controls.

Eval trace telemetry

Disable trace uploads with:
or set HUD_TELEMETRY_ENABLED=0 in your environment. When you run evaluations with an API key configured, the SDK uploads trace spans to the HUD platform. Depending on the agent, task, instrumentation, and workspace configuration, span payloads can include:
  • prompts and other structured messages, task arguments, and task setup and grading results;
  • model content and reasoning, tool calls, raw provider data, usage, and token-level samples;
  • complete tool requests and results;
  • serialized arguments and results from instrumented functions, plus exception messages; and
  • workspace setup and agent file diffs and final artifacts when workspace file tracking is active.
Spans also include execution metadata such as step order, timings, status, and errors. Trace uploads require your API key and power the trace viewer.
  • No API key (the default): spans are not uploaded anywhere.
  • HUD_TELEMETRY_ENABLED=0: spans are not uploaded. Emitted spans are written to ~/.hud/spans so hud trace can still read them. Override the directory with HUD_TELEMETRY_LOCAL_DIR. Disabling uploads also stops workspace file-tracking spans.
  • HUD_TELEMETRY_LOCAL_DIR=./spans: write spans there even when uploads are on (and without an API key). Local writes are best-effort; filesystem errors do not fail the evaluation. A project .env or the process environment is the right place for a relative path — not ~/.hud/.env.
  • CLI analytics are independent; set HUD_CLI_ANALYTICS_ENABLED=0 to disable them.

Anonymous CLI usage events

Disable CLI usage events with:
or set HUD_CLI_ANALYTICS_ENABLED=0 in your environment. Except for hud --version, each CLI invocation sends one small event recording which command ran and how it exited, so HUD can improve the commands people actually use and fix the ones that fail. The payload is a fixed allowlist: Never sent: command arguments, file paths or contents, error messages, environment variables, or API keys. A token from the command line is recorded only when it names a command registered on the CLI itself — anything else, a task file, a trace id, a typo, is recorded as other or omitted, so positional input is never transmitted. The install id is a random identifier for one machine — it is not tied to your account. The POST is bounded by a 1s timeout. A failed send cannot break a command. A one-time notice is printed the first time the install id is created.