Skip to content
DocsTry Aspire
DocsTry

Microsoft-collected CLI telemetry

The Aspire CLI collects usage telemetry to help Microsoft improve the product. This data helps the Aspire team understand how the CLI is used and identify areas for improvement.

Aspire CLI telemetry is collected when using the CLI to run commands. Telemetry is gathered during normal CLI usage, unless you have opted out of telemetry collection.

When you run aspire agent init, Aspire installs Aspire’s AI skills and a PostToolUse hook into each detected agent client’s user-level configuration (for example, GitHub Copilot CLI and Claude Code). The hook lets Aspire understand which of its AI skills and tools are actually used so the team can invest in the most valuable ones.

After each agent tool use, the hook checks if an Aspire skill, Aspire MCP tool, or Aspire skill reference file was involved. If so, the hook inspects the event and forwards a low-cardinality usage event to the hidden aspire agent telemetry command. The command records the event through the same CLI telemetry pipeline. Tool uses that don’t involve Aspire skills or tools are ignored. See AI agent skill usage data for exactly what’s recorded.

To opt-out of telemetry collection, set the ASPIRE_CLI_TELEMETRY_OPTOUT environment variable to true. This will disable telemetry collection for all CLI commands:

Terminal window
export ASPIRE_CLI_TELEMETRY_OPTOUT=true

The first time you run an Aspire CLI command, you’ll see a disclosure message informing you that telemetry is being collected and how to opt out.

Aspire CLI telemetry doesn’t collect personal data, such as usernames or email addresses. It doesn’t scan your code and doesn’t extract source code, paths containing usernames, or environment-specific information. The data is sent securely to Microsoft.

Protecting your privacy is important to Microsoft. If you suspect that telemetry is collecting sensitive data or the data is being insecurely or inappropriately handled, file an issue in the GitHub microsoft/aspire repository for investigation.

Aspire CLI collects the following data:

Aspire CLI versionsDataNotes
13.2CLI launch.Includes command name and exit code. Option and argument values are not sent to Microsoft.
13.2Ensure .NET SDK install.Includes .NET SDK version installed.
13.2CLI-related unhandled exceptions.
13.5Coding agent detection.When the CLI is invoked from a known coding agent environment (such as GitHub Copilot, Claude, Cursor, or others), the detected agent name is recorded. Only the known agent name is sent — no environment variable values or other identifying data are included. This data point is omitted entirely when no known coding agent is detected.
13.5AI agent skill usage.Recorded only for Aspire’s own skills and tools. See AI agent skill usage data.

The agent telemetry hook installed by aspire agent init reports a single event each time one of Aspire’s own AI skills or tools is used. Three event types are reported:

  • skill_invocation — an Aspire skill was invoked, or its SKILL.md was read.
  • tool_invocation — an Aspire MCP tool was called.
  • reference_file_read — a reference file bundled alongside an Aspire skill was read.

Each event records only a subset of the following low-cardinality, Aspire-owned values (depending on the event type):

FieldDescription
Event typeOne of skill_invocation, tool_invocation, or reference_file_read.
Client nameThe agent client that produced the event, for example copilot-cli, claude-code, or vscode.
Session IDThe agent session identifier (an opaque GUID), used to group events from one session.
Skill nameThe Aspire skill name, matched against the fixed list of skills Aspire ships (for example aspire-deployment).
Tool nameThe Aspire MCP tool name (for example aspire-list_resources).
File referenceThe skill-relative path of a reference file, for example aspire/references/deploy.md.
Event timestampThe UTC time the event occurred.

To protect your privacy, the hook only forwards an event when the skill or tool name matches the fixed set Aspire ships, and a file reference is reported only as the path after the skill folder. Absolute paths, repository names, user names, file contents, and tool arguments are never recorded. Before sending, the aspire agent telemetry command validates each value, discards anything it doesn’t recognize, and honors the same ASPIRE_CLI_TELEMETRY_OPTOUT opt-out.