April 22, 2026

Ping heard ’round the terminal

GitHub CLI now collects pseudoanonymous telemetry

GitHub CLI flips on tracking by default—and devs are split between “meh” and “nope”

TLDR: GitHub’s CLI now sends usage data by default, with tools to preview what’s collected and easy opt-out commands. The community is split between appreciating transparent logs and bristling at “pseudoanonymous” tracking, with some pinning older versions and others just pasting the opt-out—making this a trust-versus-convenience showdown.

GitHub’s command-line tool just turned on “pseudoanonymous” telemetry by default, and the internet is doing what it does best: arguing about it. The official line: it’s to see which features people actually use, and you can even run a special log mode to print the exact data—a unique device ID, your system type, the command you ran, and a timestamp—before anything is sent. Plus, opt-out switches are clearly posted. Sounds reasonable… until the word “pseudoanonymous” shows up.

The drama kicked off when one user linked a super-short pull request saying it plainly: “telemetry on by default”. Cue the split-screen reaction. Privacy hawks are side-eyeing the “not-anonymous” vibe and asking which version to freeze on before the change lands. One commenter deadpanned, “pseudoanonymous, meaning not anonymous? lol,” while another started hunting for the last pre-telemetry release like it’s the last safe save point. Meanwhile, calm voices are dropping copy-paste fixes: set GH_TELEMETRY=false, flip on DO_NOT_TRACK=true, or run gh config set telemetry disabled—also handily compiled in the docs at cli.github.com/telemetry.

Then there’s the side-plot: a plug for an alternative project promising tighter data control. And of course, a few devs are shrugging because the code is open source and the payload is inspectable. Verdict? It’s transparency vs. trust—with a sprinkle of memes and a whole lot of “not on my machine” energy.

Key Points

  • GitHub CLI collects pseudoanonymous telemetry to understand feature usage and improve the product.
  • Users can enable a logging mode (GH_TELEMETRY=log or 'gh config set telemetry log') to print the JSON payload to stderr instead of sending it.
  • An example payload includes fields such as command, flags, OS, architecture, version, device_id, invocation_id, timestamp, and TTY status.
  • Opt-out is available via environment variables (e.g., GH_TELEMETRY=false, DO_NOT_TRACK=true) or CLI config ('gh config set telemetry disabled'); environment variables take precedence.
  • Data is sent to GitHub’s internal analytics; extensions may collect their own data independently, and this policy does not cover GitHub Copilot or the Copilot CLI.

Hottest takes

“Removes the env var that gates telemetry, so it will be on by default” — embedding-shape
“pseudoanonymous, meaning not anonymous? lol” — wild_pointer
“what’s the last version before telemetry… will want to pin there” — Kim_Bruning
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.