The T3 Code server sends product usage events to T3 Code's own endpoint at ingest.t3.codes,
associated with a hashed account or installation identifier. To count how many installations one person
uses, the server also sends hashed account identifiers: your T3 Connect account, your OpenAI and
Claude accounts when you are signed in, and a random identifier for each device that connects. The endpoint keeps a copy of each
event and forwards events to PostHog. Events include the provider, model, reasoning effort,
permission mode, turn result, duration, release channel, and main-agent token totals when
available.
Events do not include prompts, responses, file contents, authentication tokens, conversation IDs, raw provider events, or child-agent output. Child-agent token use is excluded from the totals.
T3 Code also sends relay connection traces to Axiom to diagnose T3 Connect connectivity.
To disable product events and relay tracing, set T3CODE_TELEMETRY_ENABLED=false in the server's
environment before starting it. Relay tracing also stops when T3CODE_OTEL_SDK_DISABLED or
OTEL_SDK_DISABLED turns OpenTelemetry export off. The web app in a browser, including one the
t3 CLI opens, does not read these variables.
The desktop app reads T3CODE_TELEMETRY_ENABLED from your shell profile (for example ~/.zshrc) on macOS and
Linux, so export it there and restart the app. On Windows, set it as a user environment variable.
To send traces, metrics, or logs to an OpenTelemetry receiver, open
Settings > General > Diagnostics, select an environment, and enter each signal's OTLP HTTP
endpoint under OpenTelemetry export (for example http://localhost:4318/v1/traces). Save, then
restart that environment's server. The receiver must be reachable from the server's machine.
Test sends an empty export from the server to check an endpoint before or after you save it;
saved endpoints are checked when the section opens. Checks send authentication headers only to
the signal's currently running endpoint and do not follow redirects. To check a new endpoint
that requires authentication, save it and restart the server first.
T3CODE_OTLP_*_URL and standard OTEL_EXPORTER_OTLP_* environment variables override the saved
settings. For endpoints saved here or set with T3CODE_OTLP_*_URL, set T3CODE_OTLP_HEADERS for
receivers that need authentication and T3CODE_OTLP_PROTOCOL=http/protobuf for receivers that do
not accept JSON. An endpoint set with OTEL_EXPORTER_OTLP_* takes its headers and protocol from
OTEL_EXPORTER_OTLP_HEADERS and OTEL_EXPORTER_OTLP_PROTOCOL instead.