
Last Update: April 14, 2026
BY
eric
Keywords
The Problem with Browser-Based AI Assistants
If you've ever tried to get an AI assistant to help you actually do something on your Windows computer — not just tell you how to do it — you've probably hit a wall like this:
"I don't have direct access to your Windows system settings, so I can't check or change remote connection settings on your behalf."
"I appreciate you asking, but there are a couple of important limitations here: I can't install software on your Windows computer. I have access to a sandboxed Linux environment for running code, but that's separate from your actual Windows system. I have no way to download or install applications like Cygwin or Python onto your PC directly."
These are real responses from browser-based AI tools like "Claude Cowork" (Claude.ai in a chat window). They're not wrong in this context, but the limitation is narrower than "can only give advice": Claude Cowork can work with local files you expose to it and automate tasks that live inside the Chrome browser. What it still can't do is directly administer your Windows machine end-to-end the way an SSH-connected agent can.
But what if Claude could actually do it?
That's exactly what Claude Code, Codex, Gemini, or any smart agent with SSH access enables. Once your Windows machine is reachable over SSH, the agent — running on another machine on your network — can log in, run commands, read files, edit the registry, and manage your system end-to-end. No GUI required. No copy-pasting commands. You just ask.
Part 1: The Hard Part — Making Windows SSH-Accessible
The one-time setup requires physical or RDP access to the Windows machine. After that, you'll never need it again.
Step 1: Install Cygwin with OpenSSH
Download the Cygwin installer from cygwin.com and install it. During package selection, make sure to include:
openssh— the SSH server and clientcygrunsrv— used to register Cygwin services as Windows services (will be included in standard installation)bash,coreutils,grep,sed,awk,findutils— standard Unix tools (often included in standard installation)git— useful for cloning repositories and working with source code


The default install path is C:\cygwin64.
Step 2: Clone the Setup Scripts
The scripts are available on GitHub. Open a Cygwin terminal (not PowerShell yet) and clone the repo:
git clone https://github.com/e-tang/installcygwinsshd
cd installcygwinsshd
The repo contains two scripts:
installsshd.ps1— installs and configures the Cygwin SSHD serviceverify.ps1— verifies the installation is working correctly
Basically, to install / enable the sshd service:
ssh-host-config --yes --cygwin 'ntsec' --name 'sshd' --port 22 --user 'cyg_server'
Step 3: Run the Install Script
Open PowerShell as Administrator and run:
cd C:\path\to\installcygwinsshd
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\installsshd.ps1
What the script does:
- Runs
ssh-host-configinside Cygwin to generate host keys and create acyg_serverservice account - Sets the
CYGWIN=ntsecenvironment variable (required for proper permissions) - Opens port 22 in Windows Firewall
- Sets the
sshdservice to start automatically and starts it immediately
Step 4: Verify the Setup
Still in the Administrator PowerShell, run:
.\verify.ps1
Step 4: Set Up SSH Key Authentication
From your Linux/Mac machine (or another machine running a smart agent: e.g. Claude Code), copy your SSH public key to the Windows machine so you don't need a password every time:
ssh-copy-id username@a-win-machine
You'll be prompted for the Windows user password once. After that, all SSH connections use your key. If ssh-copy-id isn't available, do it manually:
# On the client machine, copy your public key
cat ~/.ssh/id_ed25519.pub
# Then on the Windows machine (via password SSH), paste it into:
# C:\cygwin64\home\username\.ssh\authorized_keys
Also add the host to your known_hosts to avoid interactive prompts:
ssh-keyscan a-win-machine >> ~/.ssh/known_hosts
Once this is done, you can SSH in silently:
ssh a-win-machine "uname -a"
# CYGWIN_NT-10.0-19045 a-win-machine 3.6.7-1.x86_64 ...
That's it. The hard part is over. From this point on, you manage the machine through Claude Code — just by asking in plain English.
Part 2: The Easy Part — Let Claude Do the Work
Real Example: Removing Riot Games Completely
Here's a real session. I simply told Claude Code:
"I need you to remove / delete 'Riot Games' for me"
Claude SSHed in, found the installation, confirmed before deleting, removed the directories, then I asked it to clean the registry too. Here's exactly what it did — autonomously:
1. Locate the installation:
ssh a-win-machine "find /cygdrive/c -maxdepth 2 -iname '*riot*' -type d 2>/dev/null"
# /cygdrive/c/ProgramData/Riot Games
# /cygdrive/c/Riot Games
# /cygdrive/c/Riot Games/Riot Client
2. Check for running processes before deleting:
ssh a-win-machine "tasklist.exe | grep -i riot"
# (nothing running — safe to proceed)
3. Delete the directories:
ssh a-win-machine "rm -rf '/cygdrive/c/Riot Games' '/cygdrive/c/ProgramData/Riot Games'"
4. Search the registry for leftover keys:
ssh a-win-machine "reg.exe query 'HKLM\\SOFTWARE' /f 'Riot' /k"
ssh a-win-machine "reg.exe query 'HKCU\\SOFTWARE' /f 'Riot' /k"
5. When I mentioned "but it started when the computer starts", Claude found it immediately:
ssh a-win-machine "reg.exe query 'HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run'"
# RiotClient REG_SZ C:\Riot Games\Riot Client\RiotClientServices.exe --launch-background-mode
6. Deleted the startup entry:
ssh a-win-machine "reg.exe delete 'HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run' /v RiotClient /f"
Total time: a few minutes of conversation. No GUI. No digging through Add/Remove Programs. No regedit hunting. Just asking.
Part 3: What Else Can You Do?
Once Claude Code has SSH access to your Windows machine, the possibilities are broad. Here are examples of tasks you can just ask for:
Software Management
"Install Python 3.12 silently"
"Check what version of Node.js is installed"
"Uninstall all Adobe products"
"List all installed programs and their versions"
Claude can use winget, choco, or direct installers:
ssh a-win-machine "winget.exe install Python.Python.3.12 --silent"
ssh a-win-machine "winget.exe list | grep -i node"
Windows Services
"Stop and disable the Windows Search indexing service — it's slowing down the disk"
"Restart the print spooler"
"Show me all services that are set to auto-start but are currently stopped"
ssh a-win-machine "sc.exe stop WSearch && sc.exe config WSearch start= disabled"
ssh a-win-machine "sc.exe query type= all state= all | grep -B1 'STOPPED' | grep 'SERVICE_NAME'"
Startup and Scheduled Tasks
"Show me everything that runs at startup"
"Remove that suspicious MLWapp startup entry"
"Create a scheduled task to run a backup every night at 2am"
ssh a-win-machine "reg.exe query 'HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run'"
ssh a-win-machine "schtasks.exe /create /tn 'NightlyBackup' /tr 'C:\\backup.bat' /sc daily /st 02:00"
Disk and File Management
"Find the 20 largest files on C: drive"
"Delete all .tmp files in AppData"
"How much space is left on each drive?"
ssh a-win-machine "df -h /cygdrive/c /cygdrive/d"
ssh a-win-machine "find /cygdrive/c/Users/dev/AppData -name '*.tmp' -delete"
ssh a-win-machine "du -sh /cygdrive/c/* 2>/dev/null | sort -rh | head -20"
Registry Management
"Disable Cortana telemetry in the registry"
"Find all registry keys pointing to a deleted program path"
"Back up the HKCU Software hive before I make changes"
ssh a-win-machine "reg.exe export HKCU\\SOFTWARE C:\\backup\\hkcu_software.reg"
ssh a-win-machine "reg.exe add 'HKLM\\SOFTWARE\\Policies\\Microsoft\\Windows\\Windows Search' /v AllowCortana /t REG_DWORD /d 0 /f"
Network and Firewall
"Show me all open ports and what's listening on them"
"Block port 8080 in the firewall"
"What's my current IP address and DNS servers?"
ssh a-win-machine "netstat.exe -ano | grep LISTENING"
ssh a-win-machine "New-NetFirewallRule -DisplayName 'Block 8080' -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Block"
ssh a-win-machine "ipconfig.exe /all"
System Health and Monitoring
"What processes are using the most CPU right now?"
"How long has this machine been running?"
"Show me the last 20 error events from the System event log"
ssh a-win-machine "tasklist.exe /fo csv | sort -t',' -k5 -rn | head -10"
ssh a-win-machine "wmic.exe os get LastBootUpTime"
ssh a-win-machine "powershell.exe -Command \"Get-EventLog -LogName System -EntryType Error -Newest 20 | Format-List TimeGenerated,Message\""
Windows Updates
"Check if there are pending Windows updates"
"Install all available updates and tell me when it's done"
ssh a-win-machine "powershell.exe -Command \"Get-WindowsUpdate\""
ssh a-win-machine "powershell.exe -Command \"Install-WindowsUpdate -AcceptAll -AutoReboot\""
Why This Beats Browser-Based AI
The browser-based assistant can mostly advise. Claude Code with SSH access can act. The gap is enormous.
Tips for Day-to-Day Use
Give your Windows machine a stable local hostname. Whether via your router's DHCP reservation or C:\Windows\System32\drivers\etc\hosts on the client, ssh a-win-machine is much nicer than an IP address ssh 192.168.X.X.
Keep SSH keys, not passwords. Run ssh-copy-id once. After that, Claude Code can SSH in without any credential prompts — fully automated.
Cygwin gives you Unix tools on Windows. grep, find, awk, sed, curl all work inside your SSH session. You're not limited to cmd.exe syntax. Mix PowerShell (powershell.exe -Command "...") with Unix tools freely.
Combine with Claude Code's file editing. Claude Code can read and edit config files directly over SSH, not just run commands. Got a broken sshd_config? Claude can fix it in place.
It's auditable. Every command Claude runs goes through the SSH session you can see. Unlike opaque agent frameworks, you can watch exactly what's happening.
Conclusion
The one-time setup — installing Cygwin, running two PowerShell scripts, copying your SSH key — unlocks something genuinely powerful: a Windows machine you can manage entirely through conversation.
No more digging through nested menus. No more manually hunting for registry keys. No more wondering which startup entry belongs to which program. You describe what you want, Claude figures out how to do it, and it's done.
Browser-based AI tools will tell you to "open regedit and navigate to...". Claude Code with SSH will just do it.





Comments (0)
Leave a Comment