Skip to main content

What is Cyberdriver?

Cyberdriver is a small, simple executable that connects your desktop to Cyberdesk, enabling AI-powered automation of any desktop task. It provides a secure bridge between Cyberdesk’s cloud infrastructure and your local machine.

Key Features

  • Local HTTP Server - All endpoints for display, keyboard, and mouse control
  • WebSocket Tunnel - Secure connection to Cyberdesk cloud
  • Works on Physical & Virtual Machines - Run on your local Windows computer or any Windows VM
  • Stealth Mode - Runs invisibly in the background, immune to accidental termination (Windows)
  • Keepalive Mode - Prevents idle timeouts and session locks
  • Black Screen Recovery - Automatically recovers from RDP display issues (Windows)
  • Persistent Virtual Display - Can start a virtual display that runs on console session
  • Remote Updates - Update Cyberdriver remotely from the dashboard without manual intervention

No Firewall Configuration Required

Unlike traditional remote desktop solutions, Cyberdriver doesn’t require you to open any inbound firewall ports. It works through a secure reverse tunnel, connecting outbound to Cyberdesk Cloud. This means:
  • ✅ Works behind corporate firewalls
  • ✅ No router configuration needed
  • ✅ No exposed ports on your machine
  • ✅ Secure, encrypted connection

Installation

Windows PowerShell Installation

The easiest way to install Cyberdriver on Windows is using our PowerShell installer.
1

Run the installer in PowerShell

# Create tool directory
$toolDir = "$env:USERPROFILE\.cyberdriver"
New-Item -ItemType Directory -Force -Path $toolDir

# Download cyberdriver
Invoke-WebRequest -Uri "https://github.com/cyberdesk-hq/cyberdriver/releases/download/v0.0.36/cyberdriver.exe" -OutFile "$toolDir\cyberdriver.exe"

# Add to PATH if not already there
$userPath = [Environment]::GetEnvironmentVariable("Path", "User")
if ($userPath -notlike "*$toolDir*") {
    [Environment]::SetEnvironmentVariable("Path", $userPath + ";" + $toolDir, "User")
}

Write-Host "Cyberdriver installed! You may need to restart your terminal for PATH changes to take effect."
2

Restart PowerShell

Close and reopen your PowerShell terminal for the PATH changes to take effect. Once restarted, you’re ready to connect to Cyberdesk Cloud in the next section.
Cyberdriver automatically disables PowerShell’s QuickEdit Mode on startup. This prevents the terminal from freezing when you accidentally click on it while Cyberdriver is running.

Getting Started

Connect to Cyberdesk Cloud

To connect your desktop to Cyberdesk for remote automation:
cyberdriver join --secret YOUR_API_KEY
Replace YOUR_API_KEY with your actual API key from the Cyberdesk Dashboard. On Windows, Cyberdriver runs in Stealth Mode by default—it starts in the background with no visible window. You’ll see a confirmation message, then your PowerShell prompt returns immediately.

Stopping Cyberdriver

To stop Cyberdriver:
cyberdriver stop
Since Cyberdriver runs invisibly in the background, cyberdriver stop is the recommended way to shut it down. You can also end cyberdriver.exe in Task Manager.

Common Issues

Cyberdriver Can’t Click or Interact with Certain Apps

If Cyberdriver appears to be running but can’t click on or interact with specific applications (especially legacy enterprise software or system utilities), this is typically a permissions issue. Solution: Run Cyberdriver from an Administrator PowerShell terminal:
  1. Right-click on PowerShell and select “Run as Administrator”
  2. Navigate to your desired directory
  3. Run cyberdriver join --secret YOUR_API_KEY
Why this happens: Some desktop applications require admin privileges to receive input from other processes. While Cyberdriver doesn’t require administrator privileges by default, automating these admin-level applications requires Cyberdriver to run with elevated permissions.
For regular user-level applications, you can run Cyberdriver normally without admin privileges.

Connection Issues

If Cyberdriver fails to connect or keeps disconnecting:
  1. Verify your API key - Make sure you’re using a valid API key from your dashboard
  2. Check your internet connection - Cyberdriver requires a stable internet connection

Performance Issues

If automation seems slow or unresponsive:
  1. Close unnecessary applications - Free up system resources
  2. Check CPU usage - High CPU usage can affect automation performance
  3. Disable Windows animations - This can speed up window switching

Configuration

Cyberdriver stores its configuration in Windows at:
  • %LOCALAPPDATA%\.cyberdriver\config.json
The configuration file includes:
  • Version: Current Cyberdriver version
  • Fingerprint: Unique machine identifier
  • Connection settings: Host and authentication details

API Endpoints

Cyberdriver always starts a local HTTP server on port 3000. When you use cyberdriver join, it additionally creates a secure reverse tunnel to Cyberdesk Cloud, allowing remote access without opening any inbound ports. The local server exposes these endpoints:

Display

  • GET /computer/display/screenshot - Capture screen
    • Query params: width, height, mode (exact/aspect_fit/aspect_fill)
    • Returns: PNG image
  • GET /computer/display/dimensions - Get screen dimensions

Keyboard

  • POST /computer/input/keyboard/type - Type text
    • Body: {"text": "Hello world"}
  • POST /computer/input/keyboard/key - Send key combinations
    • Body: {"text": "ctrl+c"} (XDO style: ‘ctrl+c’, ‘alt+tab’, ‘cmd+a’)

Mouse

  • GET /computer/input/mouse/position - Get cursor position
  • POST /computer/input/mouse/move - Move cursor instantly
    • Body: {"x": 100, "y": 200}
  • POST /computer/input/mouse/click - Click mouse button
    • Body: {"button": "left", "down": true/false, "x": 100, "y": 200}
  • POST /computer/input/mouse/scroll - Scroll mouse wheel (vertical or horizontal)
    • Body: {"direction": "up|down|left|right", "amount": 3, "x": 100, "y": 200}

File System

  • GET /computer/fs/list - List directory contents
    • Query param: path (defaults to current directory)
  • GET /computer/fs/read - Read file contents
    • Query param: path (required)
    • Returns: Base64 encoded content (100MB limit)
  • POST /computer/fs/write - Write file contents
    • Body: {"path": "/path/to/file", "content": "base64_encoded_data", "mode": "write/append"}

PowerShell

  • POST /computer/shell/powershell/exec - Execute PowerShell commands
    • Body: {"command": "Get-Process", "timeout": 30, "working_directory": "C:\\"}
  • POST /computer/shell/powershell/session - Manage PowerShell sessions
    • Body: {"action": "create/destroy", "session_id": "uuid"}

Security Considerations

Cyberdriver provides remote access to your desktop. Follow these security best practices:
  1. Keep your API key secret - Never share or commit it to version control
  2. Use on trusted networks - Avoid public WiFi when possible
  3. Monitor active connections - Check your dashboard for unexpected activity
  4. Update regularly - Install Cyberdriver updates for security patches

Feature Guides

Explore Cyberdriver’s advanced features:

Next Steps

Now that you have Cyberdriver installed and connected: