GitHub CLI telemetry - GitHub Docs
https://docs.github.com/en/github-cli/github-cli/github-cli-telemetry • 97 KB fetched
Open original page
GitHub CLI telemetry - GitHub Docs Skip to main content
GitHub Docs Version: Free, Pro, & Team
Search or ask Copilot Search or ask Copilot
Select language: current language is English
Search or ask Copilot Search or ask Copilot
Open menu
Collapse sidebar Expand sidebar
Scroll breadcrumbs left
* Home
* GitHub CLI
* GitHub CLI
* GitHub CLI telemetry
Scroll breadcrumbs right
GitHub CLI
*
*
* GitHub CLI
* About GitHub CLI
* Quickstart
* Attaching files with GitHub CLI
* Accounts across platforms
* Creating GitHub CLI extensions
* Using GitHub CLI extensions
* GitHub CLI telemetry
* GitHub CLI reference
GitHub CLI telemetry
GitHub CLI sends pseudonymous telemetry to help improve the product. Learn what data is collected and how to opt out.
Copy as Markdown
In this article
* Why GitHub CLI collects telemetry
* Reviewing telemetry
* How to opt out
* Where data is sent
* Additional information
Why GitHub CLI collects telemetry
As agentic adoption of GitHub CLI grows, visibility into how features are used in practice helps GitHub improve the product. Telemetry data helps us prioritize development work and evaluate whether features meet real user needs.
For example, when a new subcommand is shipped, telemetry reveals whether anyone is using it and how. If adoption is low, that signals a need to revisit the feature's discoverability or design. If a subcommand sees high usage with certain flags, that shows where to invest in a better experience.
Important
Telemetry data is not collected when the target is GitHub Enterprise Server or the user has authenticated GitHub CLI with a GitHub Enterprise Server host.
Reviewing telemetry
GitHub CLI is open source. You can review the telemetry implementation in the cli/cli repository. If you want to see exactly what would be sent without actually sending it, you can enable logging mode using either an environment variable or a configuration option.
Environment variable:
export GH_TELEMETRY=log
CLI configuration:
gh config set telemetry log
In logging mode, the JSON payload that would normally be sent is printed to stderr instead. This lets you inspect every field before deciding whether to keep telemetry enabled. For example:
GH_TELEMETRY=log gh skill install github/awesome-copilot git-commit --agent github-copilot --scope project
This prints something like:
Telemetry payload:
{
"events": [
{
"type": "skill_install",
"dimensions": {
"agent": "",
"agent_hosts": "github-copilot",
"architecture": "arm64",
"ci": "false",
"device_id": "1e9a73a6-c8bd-4e1e-be02-78f4b11de4e1",
"github_actions": "false",
"invocation_id": "96d4862f-26c9-4385-961d-d749ae519c81",
"is_tty": "true",
"os": "darwin",
"repo_visibility": "public",
"skill_host_type": "github.com",
"skill_names": "git-commit",
"skill_owner": "github",
"skill_repo": "awesome-copilot",
"timestamp": "2026-04-24T11:54:51.057Z",
"upstream_source": "none",
"version": "2.91.0"
}
},
{
"type": "command_invocation",
"dimensions": {
"agent": "",
"architecture": "arm64",
"ci": "false",
"command": "gh skill install",
"device_id": "1e9a73a6-c8bd-4e1e-be02-78f4b11de4e1",
"flags": "agent,scope",
"github_actions": "false",
"invocation_id": "96d4862f-26c9-4385-961d-d749ae519c81",
"is_tty": "true",
"os": "darwin",
"timestamp": "2026-04-24T11:54:51.057Z",
"version": "2.91.0"
}
}
]
}
Some commands may include additional telemetry dimensions based on the context. In this example, the skill_ fields are included because the repo_visibility is public .
Note
This command can only log telemetry for the exact command and context in which it ran. Changing environment variables or authenticated accounts may change the events and event dimensions included in the payload.
How to opt out
You can opt out of the telemetry you see in the log mode described above using either an environment variable or a configuration option.
Environment variables:
export GH_TELEMETRY=false
Any falsy value works: 0 , false , disabled , or an empty string. You can also use the DO_NOT_TRACK convention:
export DO_NOT_TRACK=true
CLI configuration:
gh config set telemetry disabled
Note
The environment variables take precedence over the configuration value.
Where data is sent
Telemetry events are sent to GitHub's internal analytics infrastructure. For more information about how GitHub handles your data, see GitHub General Privacy Statement .
Additional information
GitHub CLI allows you to add features to the product by installing GitHub-authored and third-party extensions, including agents. These extensions may collect their own usage data and are not controlled by opting out. Consult the specific extension's documentation to learn about its telemetry reporting and whether it can be disabled.
This page describes client-side data collection for GitHub CLI ( gh ). It does not apply to GitHub Copilot or GitHub Copilot CLI, which handle data collection separately. For information on the GitHub Copilot CLI, see About GitHub Copilot CLI and Application card: GitHub Copilot Agents .
Help and support
Did you find what you needed?
Yes No
Privacy policy Help us make these docs great!
All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.
Make a contribution Learn how to contribute
Still need help?
Ask the GitHub community
Contact support
Legal
* © 2026 GitHub, Inc.
* Terms
* Privacy
* Status
* Pricing
* Expert services
* Blog
Links found on this page
- Skip to main content [direct]
- GitHub Docs [direct]
- GitHub CLI [direct]
- GitHub CLI [direct]
- About GitHub CLI [direct]
- Quickstart [direct]
- Attaching files with GitHub CLI [direct]
- Accounts across platforms [direct]
- Creating GitHub CLI extensions [direct]
- Using GitHub CLI extensions [direct]
- GitHub CLI reference [direct]
- cli/cli [direct]
- GitHub General Privacy Statement [direct]
- About GitHub Copilot CLI [direct]
- Application card: GitHub Copilot Agents [direct]
- Privacy policy [direct]
- Make a contribution [direct]
- Learn how to contribute [direct]
- Ask the GitHub community [direct]
- Contact support [direct]
- Terms [direct]
- Status [direct]
- Pricing [direct]
- Expert services [direct]
- Blog [direct]