rdp-cli

How to Use a Raspberry Pi as an AI Agent RDP Client for Windows

A Raspberry Pi is small, inexpensive, and efficient enough to run command-line automation. That makes it useful as a dedicated client for an AI agent that needs to control a remote Windows desktop.

The practical setup is:

AI agent → Raspberry Pi → rdp-cli → Windows RDP session

The Raspberry Pi does not replace Windows. It runs the remote desktop client and gives the agent a way to observe and control the Windows screen.

Why use a Raspberry Pi as an RDP client?

A Raspberry Pi can stay online near your local network, run scheduled tasks, and keep remote automation separate from your personal computer. It can connect to Windows over a LAN or VPN and operate applications that have no API or SDK.

This is useful for legacy accounting software, warehouse tools, ERP systems, reporting applications, and internal Windows programs that only work through buttons, forms, menus, and pop-up dialogs.

Raspberry Pi requirements

For the current ARM64 release, use:

  • Raspberry Pi 4
  • 64-bit Raspberry Pi OS or Debian
  • A network route to the Windows computer
  • An enabled RDP service on Windows
  • A user account authorized to connect through RDP

The official platform guide lists Raspberry Pi 4 with 64-bit Debian 13.7 as a tested physical configuration. A 32-bit Raspberry Pi OS installation is not supported. Other Raspberry Pi models should be treated as unverified until tested in your own environment.

Install rdp-cli

Download the Linux ARM64 executable and run:

chmod u+x ./rdp-cli-linux-arm64
./rdp-cli-linux-arm64 --help

The ARM64 build is a static executable, so you do not need to install a large desktop automation stack on the Pi.

For a shorter command:

mkdir -p "$HOME/.local/bin"
cp ./rdp-cli-linux-arm64 "$HOME/.local/bin/rdp-cli"
chmod u+x "$HOME/.local/bin/rdp-cli"

Connect to Windows over RDP

First, make sure Windows accepts RDP connections. From the Raspberry Pi, the agent can call rdp-cli to create a session:

printf '%s' "$RDP_PASSWORD" |
  ./rdp-cli-linux-arm64 connect   --host WINDOWS_IP   --user WINDOWS_USER   --password-stdin

Save the returned session ID. Do not hard-code passwords or print them into logs. Use a protected secret store or secure input method.

Use the observe–act–verify loop

An AI agent should inspect a fresh screenshot before every important action:

./rdp-cli-linux-arm64 screenshot --session SESSION --out before.png

./rdp-cli-linux-arm64 click   --session SESSION --desktop --x X --y Y   --observation OBSERVATION

./rdp-cli-linux-arm64 screenshot --session SESSION --out after.png

The agent should check whether the expected window, message, record, or status appeared. For example, a Windows inventory workflow may open the application, sign in, select a warehouse, enter a SKU, confirm a dialog, save a record, and verify the updated status.

A command being accepted does not prove that the Windows application completed the intended task. The rdp-cli Quick Start guide documents this screenshot-action-screenshot pattern.

Transfer project files from the Pi

With RDP drive redirection enabled, rdp-cli can upload files or complete folders to the session exchange drive and download results afterward. This is useful for spreadsheets, PDFs, test fixtures, reports, and project folders whose directory structure must be preserved.

The file transfer features provide progress, cancellation, explicit overwrite confirmation, and transferred-content verification. This is controlled file exchange, not unrestricted access to every remote disk.

Let a human take over

A person can open the same session in a native viewer or authorized browser, pause the agent, take control, make a correction, and return control to the agent. This is useful for security prompts, destructive actions, unexpected dialogs, and approval steps.

What this setup cannot do

A Raspberry Pi running rdp-cli does not make every Windows application scriptable. It provides the remote screen and input path; it does not replace application APIs, unit tests, backend tests, database validation, or performance profiling.

VNC can provide viewing and control, but it does not provide the same RDP folder-transfer workflow. Use RDP when the agent needs to move project files.

FAQ

Can I use any Raspberry Pi model?

Only Raspberry Pi 4 with a 64-bit ARM64 system is officially tested. Other models are unverified, and 32-bit Raspberry Pi OS is unsupported.

Do I need a desktop environment on the Pi?

No. rdp-cli is a command-line client and can run without a graphical desktop.

Does rdp-cli run the AI agent itself?

No. The AI agent or automation framework calls rdp-cli commands.

Final takeaway

Run rdp-cli on the Raspberry Pi, connect to Windows over RDP, capture the screen, perform one action, capture again, and verify the result. This provides a practical way to automate legacy Windows GUI workflows from a small, dedicated Linux ARM64 device.

Related Guides