preloader
post-thumb

Last Update: April 14, 2026


BYauthor-thumberic

|Loading...

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 client
  • cygrunsrv — 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:

bash
git clone https://github.com/e-tang/installcygwinsshd
cd installcygwinsshd

The repo contains two scripts:

  • installsshd.ps1 — installs and configures the Cygwin SSHD service
  • verify.ps1 — verifies the installation is working correctly

Basically, to install / enable the sshd service:

bash
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:

powershell
cd C:\path\to\installcygwinsshd
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\installsshd.ps1

What the script does:

  • Runs ssh-host-config inside Cygwin to generate host keys and create a cyg_server service account
  • Sets the CYGWIN=ntsec environment variable (required for proper permissions)
  • Opens port 22 in Windows Firewall
  • Sets the sshd service to start automatically and starts it immediately

Step 4: Verify the Setup

Still in the Administrator PowerShell, run:

powershell
.\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:

bash
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:

bash
# 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:

bash
ssh-keyscan a-win-machine >> ~/.ssh/known_hosts

Once this is done, you can SSH in silently:

bash
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:

bash
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:

bash
ssh a-win-machine "tasklist.exe | grep -i riot"
# (nothing running — safe to proceed)

3. Delete the directories:

bash
ssh a-win-machine "rm -rf '/cygdrive/c/Riot Games' '/cygdrive/c/ProgramData/Riot Games'"

4. Search the registry for leftover keys:

bash
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:

bash
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:

bash
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:

bash
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"
bash
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"
bash
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?"
bash
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"
bash
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?"
bash
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"
bash
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"
bash
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

Capability
Browser AI (Claude Cowork)
Claude Code + Cygwin SSH
Read files on your PC
Yes
Yes
Delete files or programs
Yes
Yes
Edit the registry
No
Yes
Manage Windows services
No
Yes
Run PowerShell commands
No
Yes
Set up scheduled tasks
No
Yes
Monitor processes
No
Yes
Install software
No
Yes (via winget/choco)
Fix startup items
No
Yes
Works without GUI
No
Yes

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
Your email won't be published. We'll only use it to notify you of replies to your comment.
Loading comments...
Previous Article
post-thumb

Oct 03, 2021

Setting up Ingress for a Web Service in a Kubernetes Cluster with NGINX Ingress Controller

A simple tutorial that helps configure ingress for a web service inside a kubernetes cluster using NGINX Ingress Controller

Next Article
post-thumb

Apr 12, 2026

My Thoughts on Using Claude CoWork: The GUI Frontier

A first-hand look at Claude CoWork — Anthropic's GUI-based AI agent — exploring its browser-only scope, how it compares to Claude Code, and what the road ahead might look like for AI-driven desktop automation.

agico

We transform visions into reality. We specializes in crafting digital experiences that captivate, engage, and innovate. With a fusion of creativity and expertise, we bring your ideas to life, one pixel at a time. Let's build the future together.

Copyright ©  2026  TYO Lab