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 datauninstall-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}`);
Related Documentation
- [
src/config-field-definitions.ts](https://github.com/wonderwhy-er/DesktopCommanderMCP/blob/main/src/config-field-definitions.ts) — Schema definingtelemetryEnabledwith default valuetrue - [
src/config-manager.ts](https://github.com/wonderwhy-er/DesktopCommanderMCP/blob/main/src/config-manager.ts) — Read/write API for configuration persistence - [
src/utils/capture.ts](https://github.com/wonderwhy-er/DesktopCommanderMCP/blob/main/src/utils/capture.ts) — Telemetry emission logic with early-exit checks - [
uninstall-claude-server.js](https://github.com/wonderwhy-er/DesktopCommanderMCP/blob/main/uninstall-claude-server.js) — Uninstall routine respecting telemetry preferences - [
PRIVACY.md](https://github.com/wonderwhy-er/DesktopCommanderMCP/blob/main/PRIVACY.md) — Official privacy policy covering data collection practices - [
README.md](https://github.com/wonderwhy-er/DesktopCommanderMCP/blob/main/README.md) — User-facing configuration documentation
Summary
- Manual edit: Modify
telemetryEnabledtofalseinconfig.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:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →