| name | winuse-client |
| description | Python CLI client for remote Windows desktop automation via the WinUse API. Use when working with WinUse to control Windows machines remotely - listing windows, focusing windows, sending keyboard/mouse input, taking screenshots, and automating GUI interactions. |
WinUse Client
Python CLI client for remote Windows desktop automation via the WinUse API.
Quick Start
Install the client:
cd ~/dev/winuse-client
pip install -e . --break-system-packages
Set the WinUse server URL:
export WINUSE_URL=lab
export WINUSE_URL=lab:8080
export WINUSE_URL=192.168.1.100:8080
Or use --url with any command.
Common Operations
List Windows
winuse list
winuse list --filter "Terminal"
Focus Windows
winuse focus --hwnd 329166
winuse focus --title "kimi"
Send Input
winuse type "Hello World" --title "notepad"
winuse key ctrl,n --title "kimi"
winuse key ctrl,shift,r
winuse key alt,f4
winuse paste --title "kimi"
Mouse Control
winuse mouse_click 500 300
winuse mouse_click 500 300 --double
winuse move 500 300
Screenshots
winuse screenshot
winuse screenshot -o ./capture.png
Window Management
winuse minimize --hwnd 329166
winuse maximize --title "kimi"
winuse restore --hwnd 329166
winuse close --title "notepad"
Chaining Operations
Use send for multiple operations on one window:
winuse send --title "kimi" --keys "ctrl,n" --text "docker" --keys "enter"
URL Format
The --url flag and WINUSE_URL env var accept:
- Hostname:
lab
- Hostname:port:
lab:9000
- IP:
192.168.1.100
- IP:port:
192.168.1.100:8080
- Full URL:
http://lab:8080, https://winuse.example.com
Default port is 8080 if not specified.
Reference
See references/api.md for complete API endpoint documentation.