Overview
For production automation workflows, you’ll want Cyberdriver to start automatically when the Windows machine boots up. This ensures your machines are always ready for automation without manual intervention. This guide walks you through setting up Windows Task Scheduler to automatically runcyberdriver join when a user logs in.
Why “On Logon” and Not “On Startup”?
Windows runs startup tasks and background tasks in Session 0, which has no access to the interactive desktop. UI automation tools like Cyberdriver must run in a logged-in user session to interact with windows, send input, and capture screenshots. Tasks triggered “At startup” or configured with “Run whether user is logged on or not” run in Session 0—meaning Cyberdriver would start but have no desktop to automate. You have two options:- Configure Windows auto-login - Bypass the login screen entirely so the machine boots directly to the desktop
- Manual login - Ensure someone logs in to each machine before automations need to run
Creating a Scheduled Task
Open Task Scheduler
Press
Win + S and search for “Task Scheduler”, then open it. Alternatively, press Win + R, type taskschd.msc, and press Enter.Create a new task
In the right panel, click “Create Task…” (not “Create Basic Task” — we need the full options).
Configure the General tab
In the General tab:
- Name: Enter a descriptive name like
Cyberdriver Autostart - Description: Optional, e.g., “Starts Cyberdriver and connects to Cyberdesk Cloud”
- Security options:
- Select “Run only when user is logged on” (required)
- Leave “Run with highest privileges” unchecked unless you specifically need admin access
Configure the Triggers tab
Click the Triggers tab, then click “New…” to create a trigger.
- Begin the task: Select “At log on”
- Settings: Choose “Specific user” and select the user account that will be logged in, OR select “Any user” if multiple accounts might be used
- Delay task for: Set to 30 seconds (recommended)
- Click OK to save the trigger
Configure the Actions tab
Click the Actions tab, then click “New…” to create an action.
- Action: Select “Start a program”
-
Program/script: Enter the full path to cyberdriver:
Replace
YOUR_USERNAMEwith your actual Windows username. -
Add arguments: Enter your join command arguments:
Replace
YOUR_API_KEYwith your actual API key from the Cyberdesk Dashboard. -
Start in (recommended): Set to:
Without this, Windows defaults the working directory to
C:\Windows\System32, which can cause unexpected failures with config files, logs, and relative paths. - Click OK to save the action
Adding Additional FlagsYou can add any Cyberdriver flags to the arguments field. Common additions:
join --secret YOUR_API_KEY --keepalive— Prevents idle timeoutsjoin --secret YOUR_API_KEY --stealth— Explicitly enables stealth mode (default on Windows)join --secret YOUR_API_KEY --experimental-space— For apps with space key issues
Configure the Conditions tab (optional)
Click the Conditions tab and adjust settings as needed:
- Power: Uncheck “Start the task only if the computer is on AC power” if you want the task to run on laptops even when on battery
- Network: You can optionally check “Start only if the following network connection is available” and select your network to ensure internet connectivity
Configure the Settings tab
Click the Settings tab and configure:
- Allow task to be run on demand: ✅ Check this (useful for testing)
- Run task as soon as possible after a scheduled start is missed: ✅ Check this
- If the task fails, restart every: Consider setting this to restart after 1 minute, up to 3 attempts
- Stop the task if it runs longer than: ❌ Uncheck this or set to a very long duration — Cyberdriver runs continuously
- If the running task does not end when requested, force it to stop: Leave unchecked
Save and test the task
- Click OK to save the task
- If prompted for credentials, enter the password for the user account
- Find your task in the Task Scheduler Library
- Right-click the task and select “Run” to test it immediately
- Verify Cyberdriver started by checking:
- Your machine appears online in the Cyberdesk Dashboard
- Or run
cyberdriver statusin PowerShell
Verifying the Setup
After creating the task, test the full flow:- Restart your computer or log out and log back in
- Wait 30 seconds for the task to execute
- Check the dashboard — your machine should appear online
- Run a test automation to confirm everything works
Alternative: Using a Batch File
If you prefer more control or want to add custom logic, you can create a batch file that Task Scheduler runs:Create the batch file
Create a file named
start-cyberdriver.bat in a convenient location (e.g., C:\Users\YOUR_USERNAME\.cyberdriver\start-cyberdriver.bat):Cyberdriver enforces single-instance behavior, so the retry loop won’t accidentally spawn multiple instances. If Cyberdriver is already running, subsequent start attempts will exit gracefully.
Configuring Windows Auto-Login
For fully unattended automation, you’ll want Windows to log in automatically without requiring a password at the login screen.Using netplwiz (GUI method)
- Press
Win + R, typenetplwiz, and press Enter - Select your user account
- Uncheck “Users must enter a user name and password to use this computer”
- Click Apply
- Enter the account password when prompted (twice)
- Click OK
Windows 11 users: On some Windows 11 systems, the “Users must enter a user name and password” checkbox is hidden when Windows Hello sign-in is enabled. You may need to disable Windows Hello first (Settings → Accounts → Sign-in options) or use the registry method below.
Using Registry (alternative method)
For automated deployments, you can set auto-login via registry. Run these commands in an elevated PowerShell (Run as Administrator):After configuring auto-login, restart the machine to verify it boots directly to the desktop without stopping at the login screen.
Common Issues
Task runs but Cyberdriver doesn't start
Task runs but Cyberdriver doesn't start
Possible causes:
- Incorrect path to
cyberdriver.exe - Missing or invalid API key
- Network not ready at login time
- Verify the path in the action matches where Cyberdriver is installed. Open PowerShell and run:
- Check the API key is correct and active in your dashboard
- Add a startup delay: In the Triggers tab, edit the trigger and set “Delay task for” to 30 seconds
- Use the batch file approach with a
timeoutcommand for network readiness
Task shows 'Running' but machine is offline in dashboard
Task shows 'Running' but machine is offline in dashboard
Possible causes:
- Firewall blocking outbound connections
- Network connectivity issues at startup
- Cyberdriver crashed after starting
- Check if Cyberdriver is actually running in Task Manager
- Look for errors in Cyberdriver’s log file:
%LOCALAPPDATA%\.cyberdriver\logs\ - Test manually by running
cyberdriver join --secret YOUR_API_KEYin PowerShell - Ensure your firewall allows outbound connections to
*.cyberdesk.io
Task doesn't run on logon
Task doesn't run on logon
Possible causes:
- Task is disabled
- Wrong user account selected
- Trigger misconfigured
- In Task Scheduler, ensure the task status shows “Ready” not “Disabled”
- Check the task’s History tab for error messages
- Verify the trigger is set to “At log on” for the correct user
- Try setting the trigger to “Any user” to rule out user-specific issues
- Ensure “Run only when user is logged on” is selected (not “Run whether user is logged on or not”)
'Run with highest privileges' causes the task to fail
'Run with highest privileges' causes the task to fail
Possible causes:
- UAC (User Account Control) settings interfering
- User account doesn’t have admin privileges
- Try unchecking “Run with highest privileges” — Cyberdriver works without it for most applications
- Ensure the user account is a member of the Administrators group
- If you need admin access, try running Task Scheduler as Administrator when creating the task
Cyberdriver starts but exits after a few seconds
Cyberdriver starts but exits after a few seconds
Possible causes:
- Invalid API key
- Another instance already running
- Cyberdriver update required
- Check Cyberdriver’s log file for error messages:
%LOCALAPPDATA%\.cyberdriver\logs\ - Run
cyberdriver stopto ensure no other instance is running, then try again - Update Cyberdriver to the latest version:
Machine goes offline after screen lock or idle timeout
Machine goes offline after screen lock or idle timeout
Possible causes:
- Windows is entering sleep or hibernation
- Screen saver or lock screen interfering
- RDP session disconnecting
- Add the
--keepaliveflag to your Cyberdriver command to prevent idle timeouts - Configure Windows power settings to never sleep (run in elevated PowerShell):
- Disable screen lock: Group Policy → Computer Configuration → Windows Settings → Security Settings → Local Policies → Security Options → “Interactive logon: Machine inactivity limit” → Set to 0
- For RDP sessions, use Cyberdriver’s Virtual Display feature
Windows login screen blocks Cyberdriver
Windows login screen blocks Cyberdriver
Cause:
The scheduled task is set to run “At startup” instead of “At log on”, or Windows auto-login isn’t configured.Solution:
Windows doesn’t allow automation software to interact with the login screen for security reasons. You must:
- Configure the task to trigger “At log on” (not “At startup”)
- Set up Windows auto-login so the machine boots directly to the desktop
- Or ensure someone manually logs in before automations need to run