How to Disable Telemetry Collection in Desktop Commander MCP: 3 Methods to Opt Out

Set telemetryEnabled to false in your configuration file—or use the CLI helper or natural-language command—to completely stop Desktop Commander MCP from sending usage data.

Desktop Commander MCP includes a built-in telemetry subsystem that tracks feature usage to inform development. This collection is controlled by a single boolean flag stored in the application configuration. According to the wonderwhy-er/DesktopCommanderMCP source code, users can disable telemetry collection through multiple interfaces without impacting core functionality.

Understanding the telemetryEnabled Configuration Flag

The telemetryEnabled entry governs all telemetry behavior in Desktop Commander MCP. By default, this value is true, meaning usage data flows to remote endpoints including https://telemetry.desktopcommander.app/mp/collect.

The flag is formally defined in [src/config-field-definitions.ts](https://github.com/wonderwhy-er/DesktopCommanderMCP/blob/main/src/config-field-definitions.ts) and persisted through the configuration manager. When disabled, telemetry functions exit early—before any network request is attempted—at multiple checkpoints in the codebase.

Method 1: Edit config.json Directly

The most straightforward approach is manual configuration file editing.

Locate your config.json file, typically in the project root or your user-specific configuration directory. Modify or add the telemetryEnabled field:

{
  "telemetryEnabled": false,
  "otherSettings": "..."
}

Save the file and restart any running Desktop Commander MCP processes. The change takes effect immediately on next launch.

Method 2: Use the CLI Helper

Desktop Commander MCP provides a command-line interface for configuration management without requiring manual file edits.

Run the following from your project directory:

node dist/cli.js set_config_value telemetryEnabled false

This command invokes configManager.setValue('telemetryEnabled', false) defined in [src/config-manager.ts](https://github.com/wonderwhy-er/DesktopCommanderMCP/blob/main/src/config-manager.ts), ensuring proper validation and persistence. The CLI wrapper handles path resolution and JSON formatting automatically.

Method 3: Natural-Language Command

If interacting with the Claude assistant integrated with Desktop Commander MCP, you can request the change conversationally:

"Please disable Desktop Commander telemetry."

The assistant translates this into the same configuration update performed by Method 2, executing set_config_value telemetryEnabled false through the MCP protocol.

How Telemetry Disabling Works Under the Hood

Multiple code paths respect the telemetryEnabled flag through early-return guards:

  • src/utils/capture.ts — The core telemetry capture utility checks this flag before transmitting any event data
  • uninstall-claude-server.js — The uninstall script verifies the flag around lines 219-220 before sending final telemetry

These guards ensure zero network activity occurs when telemetry is disabled, not merely suppressed logging.

Programmatic Control for Extensions

Developers building on Desktop Commander MCP can toggle telemetry programmatically through the exported configuration manager:

import { configManager } from './src/config-manager.js';

// Disable telemetry at runtime
await configManager.setValue('telemetryEnabled', false);

// Verify current state
const isEnabled = await configManager.getValue('telemetryEnabled');
console.log(`Telemetry enabled: ${isEnabled}`);

Summary

  • Manual edit: Modify telemetryEnabled to false in config.json
  • CLI approach: Execute node dist/cli.js set_config_value telemetryEnabled false
  • Voice command: Ask Claude to "disable Desktop Commander telemetry"
  • Code integration: Use configManager.setValue('telemetryEnabled', false) programmatically

All methods achieve identical results: telemetry guards in src/utils/capture.ts and uninstall-claude-server.js block data transmission, and no usage information reaches remote endpoints.

Frequently Asked Questions

Where is the config.json file located?

The configuration file resides in your Desktop Commander MCP installation directory by default, or in your platform-specific user configuration folder. Run node dist/cli.js get_config_value telemetryEnabled to identify the active config path if uncertain.

Does disabling telemetry affect application functionality?

No. Desktop Commander MCP operates identically with telemetry disabled. All core features—command execution, file operations, and Claude integration—remain fully available. Only anonymous usage analytics cease transmission.

Can I re-enable telemetry after disabling it?

Yes. Reverse any method: set telemetryEnabled to true in config.json, run node dist/cli.js set_config_value telemetryEnabled true, or request "enable Desktop Commander telemetry" through Claude. The change applies on next process start or immediately for runtime API calls.

What data does Desktop Commander MCP collect when telemetry is enabled?

Per [PRIVACY.md](https://github.com/wonderwhy-er/DesktopCommanderMCP/blob/main/PRIVACY.md), enabled telemetry transmits feature usage counts, error occurrences, and installation/uninstall events to telemetry.desktopcommander.app. No file contents, command outputs, or conversational data with Claude is included in these analytics.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →