Eval trace telemetry
Disable trace uploads with: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.
- No API key (the default): spans are not uploaded anywhere.
HUD_TELEMETRY_ENABLED=0: spans are not uploaded. Emitted spans are written to~/.hud/spanssohud tracecan still read them. Override the directory withHUD_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.envor the process environment is the right place for a relative path — not~/.hud/.env.- CLI analytics are independent; set
HUD_CLI_ANALYTICS_ENABLED=0to disable them.
Anonymous CLI usage events
Disable CLI usage events with: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.