Claude Desktop can't find npx · Windows path-spaces bug · 5-minute fix
You open Claude Desktop. Your MCP tools show as disconnected. The log says:
'C:\Program' is not recognized as an internal or external command, operable program or batch file. ... [filesystem] [error] Server disconnected.
Your filesystem, memory, puppeteer, and fetch servers all fail to start.
This is a Windows path-spaces bug. When Claude Desktop resolves npx to its full path, it expands to:
C:\Program Files\nodejs\npx.cmd ← space in path, unquoted
Windows splits the command at the space and tries to execute C:\Program as the executable. It fails immediately. Your config is fine — Claude Desktop's path resolver is the problem.
This is exactly the kind of invisible friction I built this course around. You did nothing wrong. The tool has a bug. Windows has had this exact problem since the 1990s. Knowing it exists — and knowing the workaround — is the difference between someone who controls their machine and someone who gives up and thinks "AI tools don't work."
Replace every "command": "npx" entry with the Windows 8.3 short path — a space-free alias that Windows has supported since forever:
C:\PROGRA~1\nodejs\npx.cmd is the short-path equivalent of C:\Program Files\nodejs\npx.cmd. No spaces. No quoting problem. Always works.
Open this file and replace its entire contents:
{ "mcpServers": { "filesystem": { "command": "C:\\PROGRA~1\\nodejs\\npx.cmd", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "C:\\Users\\fkurk\\Documents", "C:\\Users\\fkurk\\Desktop", "G:\\My Drive", "G:\\My Drive\\TQL" ] }, "memory": { "command": "C:\\PROGRA~1\\nodejs\\npx.cmd", "args": [ "-y", "@modelcontextprotocol/server-memory" ] }, "brave-search": { "command": "C:\\PROGRA~1\\nodejs\\npx.cmd", "args": [ "-y", "@modelcontextprotocol/server-brave-search" ], "env": { "BRAVE_API_KEY": "YOUR_BRAVE_API_KEY" } }, "fetch": { "command": "C:\\PROGRA~1\\nodejs\\npx.cmd", "args": [ "-y", "@modelcontextprotocol/server-fetch" ] }, "puppeteer": { "command": "C:\\PROGRA~1\\nodejs\\npx.cmd", "args": [ "-y", "@modelcontextprotocol/server-puppeteer" ] } }, "preferences": { "coworkWebSearchEnabled": true, "coworkScheduledTasksEnabled": true, "ccdScheduledTasksEnabled": true, "sidebarMode": "chat" } }
Win + R, type %APPDATA%\Claude, hit Enterclaude_desktop_config.json in Notepad or VS CodeOnce Claude restarts, test with a simple prompt:
// Type this in Claude Desktop chat: List the files in my Documents folder.
If Claude returns a file listing, your filesystem MCP is working. If you see an error, check that your username in the paths matches your actual Windows username.
Want more like this?
I write about AI, Windows, and taking control of your computing environment. Free lessons, tools, and guides — built for people who want to actually understand what's happening inside their machines.
Subscribe on Substack →