Windows Remote Desktop Connection Doctor
Diagnoses and fixes slow or stuck Windows App (Remote Desktop / AVD / W365 / direct PC) connections on macOS using network evidence and client log forensics.
UtilitiesIntermediate★ 1,323⑂ 212AI score 8/10Last updated: Aug 8, 2026
What it does
- Explains and fixes why a session fell back from UDP Shortpath to WebSocket/TCP (a big latency penalty).
- Collects evidence in parallel with
ifconfig,netstat -rn,lsof,scutil --proxy, andtailscale netcheckto spot VPN/proxy interference (e.g. source IP198.18.0.x). - Parses macOS Windows App logs for decisive signatures:
FetchClientOptions exception, certificate validation failures,OneAuthError_InteractionRequired,UserCancelled(8),CMSTATE_DROPPED. - Buckets root causes into six categories (VPN/proxy, ISP UDP restriction, client health-check failure, Shortpath disabled server-side, stale Microsoft account poisoning auth, server reboot from Windows Update) with fixes and verification steps.
- Ships a standalone
scripts/probe_rdp_server.pyRDP+TLS probe that proves server health without credentials.
Who it's for
- macOS users on Azure Virtual Desktop, Windows 365, or a corporate VDI.
- Anyone RDP-ing directly into a home workstation that hangs at "Configuring remote PC...".
- Proxy/VPN users (Clash, ShadowRocket, Tailscale) seeing laggy remote sessions.
Example uses
- "RTT is 165ms and transport shows WebSocket" → traffic traced to a proxy TUN, add DIRECT rules for
wvd.microsoft.com, reconnect and confirm UDP with 40–60ms RTT. - "Direct PC stuck at Configuring remote PC" → probe proves the server is healthy, log shows the OneAuth cancel chain, remove the expired work account in Windows App → Settings → Accounts and retry.
- "A working session dropped and won't reconnect" → correlate UTC log
CMSTATE_DROPPEDwithLastBootUpTimeand Event ID 1074 to confirm a Windows Update restart, then set active hours.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/daymade/claude-code-skills/HEAD/windows-remote-desktop-connection-doctor/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the windows-remote-desktop-connection-doctor folder from the GitHub repo daymade/claude-code-skills into my ~/.claude/skills/windows-remote-desktop-connection-doctor/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/daymade/claude-code-skills.git && cp -r claude-code-skills/windows-remote-desktop-connection-doctor ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open Terminal on your Mac.
- Clone the repository:
git clone https://github.com/daymade/claude-code-skills.git - Install the skill:
mkdir -p ~/.claude/skills && cp -r claude-code-skills/windows-remote-desktop-connection-doctor ~/.claude/skills/ - Verify that the
references/folder andscripts/probe_rdp_server.pycame along — the workflow depends on them. - Confirm Python 3 is available with
python3 --version(preinstalled on macOS) for the RDP probe. - Restart Claude Code and ask something like "My Remote Desktop connection is using WebSocket instead of UDP — diagnose it."
View source on GitHub ↗License: MIT