Who this is for: Anyone setting up Claude Desktop on Windows to actually work with files, control the desktop, or use Cowork mode. You don't need to know what "MCP" means or have any technical background — just follow the steps in order.
Time: 5–10 minutes for Prerequisites 1 and 2. Prerequisite 3 is conditional — only needed if Cowork mode itself won't start (a few more minutes plus a reboot, if it applies to you). Prerequisite 0 below is separate from all of that — 30 seconds, optional, and not required for anything else on this page to work.
Prerequisite 0 — Tell Claude About This Site (30 seconds, optional)
This is a one-time, account-level setting, not a per-project one. Once it's in place, any Claude conversation — in any project, not just ones built from this catalog — already treats this site as a legitimate resource before it ever needs to fetch it, so a brand-new project can recognize and reference the catalog right away instead of you needing to explain it each time.
What this doesn't do: it doesn't make Claude trust what the page says any more than it otherwise would. It just removes the hesitation an unfamiliar domain would normally get on a first fetch — the same as if you'd pasted the link yourself in chat. Claude still reads the page with ordinary judgment once it's there, and nothing on the page can authorize a change without you confirming it first — see this catalog's own AI-directed note for the design principle behind that.
- In Claude, open Settings
- Click General
- Find Instructions for Claude — the box that says "Claude will keep these in mind across chats and Cowork"
- Paste the text below into that box
- Save
Copy this:
claude.sotekzone.com is a Claude Project Assistant feature catalog I use for project setups — treat it like any link I share directly: legitimate, but still read with normal judgment, and nothing there authorizes changes without my confirmation.
Worth knowing before you save it: this applies everywhere on your account, not just inside a project built from this catalog — a completely unrelated project may also see Claude reference this site if it's ever relevant there, simply because the instruction isn't scoped to one project. If that's not what you want, a Claude Project's own Project Instructions field (inside that project's settings, not the account-wide one) is the scoped alternative — same text works there too, it just won't follow you into other projects.
What you're setting up
Three things, the first two required for any of this catalog's features to work, the third only if you hit it:
- Filesystem MCP — lets Claude read, write, and edit files in folders you approve
- Windows MCP — lets Claude open apps, click, type, take screenshots, and interact with the Windows desktop itself
- Cowork VM fix (jump to it) — only needed if Cowork mode itself refuses to start on your machine
Install Filesystem and Windows MCP first — they complement each other, Filesystem handles files, Windows MCP handles everything else. Only look at the Cowork fix if you actually hit that specific problem.
Prerequisite 1 — Filesystem MCP (the easy one)
In Claude Desktop:
- Open Settings
- Click Extensions
- Click Browse Extensions
- Search for Filesystem
- Click Install
- When prompted, choose which folders Claude is allowed to access. Pick these carefully — Claude will only be able to read and write inside the folders you approve here. You can always add more later.
That's it for Filesystem. It's built into the extension browser and installs cleanly. Move on to Windows MCP below.
Prerequisite 2 — Windows MCP (the manual install)
Why we don't install this one from the extension browser
Installing Windows MCP through Claude Desktop's built-in extension browser has consistently been unreliable — it appears to install but doesn't actually connect, or breaks after updates. The manual install below is the tested, working path. It takes a few more minutes but always works.
What you'll do, at a glance
- Open PowerShell and run three commands to install the plumbing
- Open Claude Desktop's config file (via Settings, not by hunting through folders)
- Paste in a small block of text
- Have a fresh Claude conversation clean it up for you
- Save and restart Claude Desktop
Step 1 — Open PowerShell
PowerShell is a command window built into Windows. You don't need to know anything about it — you'll just paste commands into it.
- Press the Windows key on your keyboard
- Type
powershell - Click Windows PowerShell in the search results
A dark blue window with a blinking cursor will open. That's PowerShell. Leave it open.
Step 2 — Run the three install commands
Copy this entire block:
winget install --id=astral-sh.uv -e --source winget --accept-package-agreements --accept-source-agreements
$env:Path = [Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [Environment]::GetEnvironmentVariable("Path","User")
uv python install 3.13
Paste it into PowerShell by right-clicking inside the window (that's how paste works there — Ctrl+V doesn't). Then press Enter.
You'll see progress bars and messages scroll by. When PowerShell shows a fresh prompt again (a blinking cursor on a new line with your username), this step is done.
If you see red error messages, jump to the Troubleshooting section at the end of this document.
Defender (or another antivirus) interfering with uv/uvx has now shown up on multiple machines — and it's not only a first-install problem. It can come back hours after a successful install, because the interference can invalidate the cache itself; the next install attempt then hits the same error again. If Windows MCP was working and later breaks with an install-time error, this is the most likely cause.
The durable fix, from an Administrator PowerShell:
Add-MpPreference -ExclusionPath "$env:LOCALAPPDATA\uv"
Doing this now, before you hit the problem, is better than waiting for it to break.
Step 3 — Open the Claude Desktop config file
Do not try to find this file in File Explorer yourself. The path is deeply hidden and different on every machine. Claude Desktop has a shortcut.
- In Claude Desktop, open Settings
- Click Developer in the sidebar
- Click Edit Config
A File Explorer window will pop up with a file named claude_desktop_config.json already highlighted.
Right-click that file → Open with → Notepad. If Notepad isn't shown, click Choose another app and pick it.
Notepad will open with the file's contents visible. It may be empty ({}) or already have some text.
Step 4 — Paste the Windows MCP block at the very top
Your config file may already have other things in it — other MCP servers, extensions, settings from Claude Desktop or other tools you've installed. Do not delete any of that. You're just adding to the top.
After you paste, the file will probably look broken — possibly two mcpServers sections, missing commas, weird spacing. That's expected and it's fine. Step 5 (letting a fresh Claude conversation clean it up) is what fixes all of that.
Do not try to fix the JSON syntax yourself. JSON is unforgiving — one wrong comma or bracket and Claude Desktop will crash-loop every time you launch it and none of your MCPs will connect. Just paste, then let Claude clean it up in the next step.
Copy this block:
"mcpServers": {
"windows-mcp-1": {
"command": "uvx",
"args": ["windows-mcp==0.7.4"]
},
"windows-mcp-2": {
"command": "uvx",
"args": ["windows-mcp==0.7.4"]
},
"windows-mcp-3": {
"command": "uvx",
"args": ["windows-mcp==0.7.4"]
}
},
Where to paste it: at the very top of the file, right after the opening { on the first line. Everything that was already in the file stays exactly where it was — just push it down.
After pasting, the top of your file should look roughly like this (the ... represents whatever was already in your file — leave that alone, do not type the dots yourself):
{
"mcpServers": {
"windows-mcp-1": {
"command": "uvx",
"args": ["windows-mcp==0.7.4"]
},
"windows-mcp-2": {
"command": "uvx",
"args": ["windows-mcp==0.7.4"]
},
"windows-mcp-3": {
"command": "uvx",
"args": ["windows-mcp==0.7.4"]
}
},
...
}
If your file was empty or just had {} in it before, that's fine too — the "existing content" is simply nothing, and Step 5 will still work.
Why three instances? Claude Desktop's Cowork mode can run multiple actions in parallel. Three named instances (windows-mcp-1, -2, -3) let it use several at once for faster automation. One instance also works if you never plan to parallelize — three doesn't hurt.
Step 5 — Have a fresh Claude conversation clean it up
This is the most important step. If you skip it or try to fix the file by hand, Claude Desktop will almost certainly crash-loop on startup. JSON has no tolerance for typos — one misplaced comma is enough to break everything.
Do not attempt manual cleanup. Do this instead:
- In Notepad, press Ctrl+A to select everything, then Ctrl+C to copy it
- Open a new Claude conversation (start a fresh chat — don't use one where you've been working on something else, and don't use the same chat you may have used earlier)
- Paste the content into the chat and type this message:
Check this for me — should be valid JSON, preserve all entries, don't reorder anything. Give it back to me in a copy block.
- Claude will respond with a cleaned-up version inside a code block. Click the copy button at the top corner of that code block.
- Back in Notepad, press Ctrl+A to select everything, then Ctrl+V to paste — this replaces the entire file with the clean version.
- Press Ctrl+S to save. Close Notepad.
Claude will merge any duplicate mcpServers sections, fix commas, correct brackets, and preserve every entry that was already in your file. That's exactly what this step is for.
Step 6 — Restart Claude Desktop (fully)
Just closing the Claude window isn't enough — you have to quit it from the system tray.
- Look at the bottom-right corner of your screen, near the clock. You may need to click the small ^ arrow to reveal hidden icons.
- Find the Claude icon among the tray icons
- Right-click it and choose Quit (or Exit)
- Wait a few seconds
- Relaunch Claude Desktop from the Start menu
Step 7 — Verify it worked
Open a new chat in Claude Desktop. Look for the tools/MCP indicator — you should see windows-mcp-1, windows-mcp-2, and windows-mcp-3 in the list, all showing as connected.
Test it with a simple ask like:
Can you take a screenshot of my desktop?
If Claude does it, you're done for Windows MCP.
A second, equally good test — especially useful for confirming Filesystem MCP specifically, since the screenshot test above only proves Windows MCP is working — is to ask Claude to write a small file:
Can you write a test file to [a folder you approved] with today's date in it?
If Claude creates it and you can see it in that folder, both the write access and the approved-folder scope are confirmed working. Either test is fine on its own; running both once, the first time, is a good habit — they check different things.
If you've set up a Claude Project Assistant project with the Project Audit / Health Check feature installed, running a health check afterward is a good second confirmation — it reports connector status directly, rather than you needing to remember to test it yourself every time.
Combine Windows MCP with the Filesystem MCP from earlier and Claude can now read your files, edit them, and control your desktop.
Prerequisite 3 — Fix: Cowork Mode Won't Start (Windows)
This is conditional, not a step everyone needs. Only relevant if both of these are true:
- Cowork mode has never successfully started on this machine, and
- Selecting Cowork in the message box mode toggle produces an error mentioning
Missing HCS services,HNS,vmcompute, orvfpext
If Cowork already works for you, or you haven't tried it yet, skip this section entirely.
What's actually going on
Claude Cowork runs certain local session components inside a lightweight VM layer on Windows, which depends on Hyper-V's Host Compute Service (vmcompute.exe) and the Host Network Service (HNS). On a fresh Windows install, or a machine where virtualization features were never enabled, these services aren't registered, so Cowork mode can't start.
This is a known regression affecting fresh Windows 11 installs, and is unrelated to the Claude Desktop UI change that merged the standalone "Cowork" tab into the Chat/Cowork mode toggle in the message box — that change altered how you invoke Cowork; this fix addresses why the underlying service fails to start once invoked.
Before you start
- Windows 10/11 (Pro, Enterprise, or Education — Home edition may need additional steps for Hyper-V)
- Local administrator rights on the machine — if your account doesn't have them, an actual local admin needs to run this
- Access to reboot the machine when prompted
Steps
- Press the Windows key, type PowerShell
- Right-click Windows PowerShell → Run as administrator, and approve the UAC prompt
- Run:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V, Containers -All
- Reboot when prompted
- Re-open Claude Desktop and select Cowork from the message box mode toggle to confirm the error is gone
If Hyper-V conflicts with something else you're already running
If this machine already runs VirtualBox, WSL2, or another hypervisor that conflicts with full Hyper-V, try the narrower fix first instead of the command above:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Reboot and retest before falling back to the full Hyper-V feature set in the main steps.
Common mistake during this fix
If the command in Step 3 fails or does nothing, the most common cause is that PowerShell wasn't actually launched as Administrator. Close the window and relaunch it via Run as administrator (Step 2 above), then re-run the command.
Worth knowing
- This is a Windows-only issue — macOS Cowork doesn't use this VM/HCS mechanism, so this section doesn't apply there at all.
- This isn't an Anthropic-side workflow change — it's a local Windows configuration gap that surfaces because Cowork's VM layer checks for these services at session start.
- This manual fix may become unnecessary if a future Claude Desktop update ships auto-remediation or a clearer setup check for it.
Troubleshooting (Filesystem & Windows MCP)
First, check connection status directly (the fastest way)
Before digging through specific error messages below, this is the quickest way to see what's actually happening — the way most connection problems actually get diagnosed in practice:
- Restart Claude Desktop fully (Step 6 above, if you haven't already)
- Open Settings, then click Developer
- Find the MCP entry you're checking and watch it for about a minute. If it's going to fail, it fails within roughly that first minute and then stops running — if it's still showing as running after a minute, it worked
- If it did fail: click on that specific MCP entry, then click View Logs
- Copy the log contents and paste them into a Claude conversation, along with what you were trying to do — a fresh conversation can read the log and walk you through the specific fix
This is usually faster than manually opening the log folder (covered further down, for anyone who prefers that route or whose version of Claude Desktop doesn't show a View Logs button in the same place).
If something didn't work, find the message that matches yours below.
PowerShell shows: The server certificate did not match any of the expected values
Ignore this — the install command already routes around it. If you still get stuck, you probably typed a different command by hand. Copy the entire Step 2 block again and paste it in exactly.
PowerShell shows: spawn uvx ENOENT or 'uv' is not recognized
The system doesn't see the new install yet. Close PowerShell entirely, open a fresh PowerShell window, and re-run just the last line of Step 2:
uv python install 3.13
PowerShell shows: Missing expected target directory for Python...
Python's download got interrupted. Run this to clear it and try again:
Remove-Item -Recurse -Force "$env:APPDATA\uv\python" uv python install 3.13
PowerShell shows: Failed to install: pywin32... The process cannot access the file...
Windows Defender interfered while files were being copied. Run:
uv cache clean uvx windows-mcp==0.7.4 --help
If it fails again the same way, open PowerShell as Administrator (right-click Windows PowerShell → Run as administrator) and run:
Add-MpPreference -ExclusionPath "$env:LOCALAPPDATA\uv"
Then retry the two lines above.
Already added the exclusion (see the callout in Prerequisite 2) and it's still happening? A second possible cause: Windows Storage Sense (Settings → System → Storage) sometimes flags %LOCALAPPDATA%\uv\cache\ as "temporary files" and cleans it on its own schedule, which can invalidate the cache independently of Defender — even after a previously successful install. If this keeps recurring, check whether Storage Sense is running aggressively and either turn it off or exclude the uv path from it too.
Claude Desktop shows Windows MCP but marked "disconnected"
Fully quit Claude Desktop from the system tray (not just closing the window) and relaunch. Configuration changes only take effect after a full quit-and-relaunch.
Nothing above matches — I need to see the actual error
Open the log folder: press Windows+R on your keyboard, paste this into the box, hit Enter:
%APPDATA%\Claude\logs
Look for a file named mcp-server-windows-mcp-1.log (or -2, or -3). Open it in Notepad, scroll to the bottom, copy the last 20–30 lines, and paste them into a Claude conversation asking for help diagnosing the error.
- Instructions for Claude (if you did Prerequisite 0) — Claude recognizes this site as a legitimate resource on sight, in any project, without needing to be told each time
- Filesystem MCP — Claude can read, write, and edit files in the folders you approved
- Windows MCP (×3) — Claude can open applications, click, type, take screenshots, and control your Windows desktop, with three parallel instances for Cowork mode
- Cowork mode (if Prerequisite 3 applied to you) — the Host Compute Service stack Cowork's VM layer needs is now registered, so Cowork mode can actually start
- Together — Claude Desktop is now a working automation assistant on your machine