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
Summary
On Windows, the Claude desktop app spawns several background processes through
cmd.exewrappers without theCREATE_NO_WINDOWflag (or equivalentwindowsHide: truein 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:
cmd.exe /d /s /c chrome-native-host.execmd.exe /c uvx chroma-mcpccdScheduledTasksEnabledfeature)cmd.exe /d /c claude.cmdRoot Cause
The Claude desktop Electron app spawns these processes without
windowsHide: truein the Node.jschild_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: truetochild_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": truecan be added to eachmcpServersentry:{ "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