Windows: visible cmd.exe windows flash on screen when spawning MCP servers and subprocesses

Resolved 💬 2 comments Opened Apr 6, 2026 by Taejin321 Closed May 16, 2026

Summary

On Windows, the Claude desktop app spawns several background processes through cmd.exe wrappers without the CREATE_NO_WINDOW flag (or equivalent windowsHide: true in Node.js spawn options). This causes cmd.exe console windows to briefly flash on screen every time these processes start.

Affected Processes

Three processes spawn visible console windows:

| Process | What it is |
|---|---|
| cmd.exe /d /s /c chrome-native-host.exe | Chrome extension native messaging bridge |
| cmd.exe /c uvx chroma-mcp | Built-in Chroma vector DB MCP server (spawned by ccdScheduledTasksEnabled feature) |
| cmd.exe /d /c claude.cmd | Claude Code CLI subprocess spawned by the desktop app |

Root Cause

The Claude desktop Electron app spawns these processes without windowsHide: true in the Node.js child_process.spawn() options. On Windows, this causes a visible console window to appear briefly for every subprocess launch.

Expected Behavior

All background processes should spawn silently with no visible console window.

Fix

Add windowsHide: true to child_process.spawn() / child_process.exec() calls for these background processes in the Electron app. This is a one-line fix per spawn call.

For user-configured MCP servers in claude_desktop_config.json, "windowsHide": true can be added to each mcpServers entry:

{
  "mcpServers": {
    "my-server": {
      "command": "uvx",
      "args": ["some-mcp"],
      "windowsHide": true
    }
  }
}

The built-in spawns (chroma-mcp, claude.cmd) need to be fixed in the app's source code directly.

Environment

  • OS: Windows 11 Pro 10.0.26200
  • Claude desktop app with Claude Code integration
  • Claude Code v2.1.87

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗