Skip to main content
If Cyberdriver ever gets into a bad state, for example it says it is “already running”, fails to start, or a self-update or reinstall leaves broken remnants behind, the fastest fix is to wipe every trace of it and then run the install script again. The one-liner below stops any running Cyberdriver processes and services, removes both the legacy Python folders (.cyberdriver) and the Cyberdriver 1.x beta install (Program Files, services, registry, shortcuts, scheduled tasks), cleans up the user PATH, and drops the Windows Defender exclusion. It is safe to run whether you installed legacy Cyberdriver, the 1.x beta, or both.
1

Run the cleanup one-liner in PowerShell

Open PowerShell as Administrator (Administrator is needed to remove the 1.x beta service and machine-wide entries) and paste this single command:
Get-Process -Name "Cyberdriver","cyberdriver" -EA SilentlyContinue | Stop-Process -Force -EA SilentlyContinue; Get-Service -Name "Cyberdriver","Cyberdriver Service" -EA SilentlyContinue | ForEach-Object { Stop-Service $_.Name -Force -EA SilentlyContinue; sc.exe delete $_.Name }; @("$env:USERPROFILE\.cyberdriver","$env:LOCALAPPDATA\.cyberdriver","$env:APPDATA\.cyberdriver","$env:ProgramFiles\Cyberdriver","${env:ProgramFiles(x86)}\Cyberdriver","$env:APPDATA\Cyberdriver","$env:APPDATA\Cyberdesk","$env:LOCALAPPDATA\Cyberdriver","$env:LOCALAPPDATA\Cyberdesk","$env:ProgramData\Cyberdriver","$env:ProgramData\Cyberdesk","C:\Windows\System32\config\systemprofile\AppData\Roaming\Cyberdriver","C:\Windows\System32\config\systemprofile\AppData\Roaming\Cyberdesk","C:\Windows\System32\config\systemprofile\AppData\Local\Cyberdriver","C:\Windows\System32\config\systemprofile\AppData\Local\Cyberdesk") | Where-Object { Test-Path $_ } | ForEach-Object { Remove-Item -LiteralPath $_ -Recurse -Force -EA SilentlyContinue }; foreach ($scope in 'User','Machine') { try { $p=[Environment]::GetEnvironmentVariable('Path',$scope); if($p){ [Environment]::SetEnvironmentVariable('Path', (($p -split ';' | Where-Object { $_ -and $_ -inotmatch '\\\.?cyberd(river|esk)' }) -join ';'), $scope) } } catch {} }; Remove-MpPreference -ExclusionPath "$env:LOCALAPPDATA\.cyberdriver\_pyinstaller" -EA SilentlyContinue; @("HKCU:\Software\Cyberdriver","HKCU:\Software\Cyberdesk","HKLM:\Software\Cyberdriver","HKLM:\Software\Cyberdesk","HKLM:\Software\WOW6432Node\Cyberdriver","HKLM:\Software\WOW6432Node\Cyberdesk","HKCU:\Software\Classes\cyberdriver","HKLM:\Software\Classes\cyberdriver") | Where-Object { Test-Path $_ } | ForEach-Object { Remove-Item $_ -Recurse -Force -EA SilentlyContinue }; Get-ChildItem "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*","HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*" -EA SilentlyContinue | Where-Object { $_.GetValue("DisplayName") -like "*Cyberdriver*" -or $_.GetValue("DisplayName") -like "*Cyberdesk*" } | ForEach-Object { Remove-Item $_.PSPath -Recurse -Force -EA SilentlyContinue }; Get-ChildItem "$env:APPDATA\Microsoft\Windows\Start Menu\Programs","$env:ProgramData\Microsoft\Windows\Start Menu\Programs" -Filter "*Cyberdriver*" -Recurse -EA SilentlyContinue | Remove-Item -Force -EA SilentlyContinue; Get-ChildItem "$env:APPDATA\Microsoft\Windows\Start Menu\Programs","$env:ProgramData\Microsoft\Windows\Start Menu\Programs" -Filter "*Cyberdesk*" -Recurse -EA SilentlyContinue | Remove-Item -Force -EA SilentlyContinue; Get-ChildItem "$env:USERPROFILE\Desktop","$env:PUBLIC\Desktop" -Filter "*Cyberdriver*.lnk" -EA SilentlyContinue | Remove-Item -Force -EA SilentlyContinue; Get-ChildItem "$env:USERPROFILE\Desktop","$env:PUBLIC\Desktop" -Filter "*Cyberdesk*.lnk" -EA SilentlyContinue | Remove-Item -Force -EA SilentlyContinue; Get-ScheduledTask -TaskName "*Cyberdriver*" -EA SilentlyContinue | Unregister-ScheduledTask -Confirm:$false; Get-ScheduledTask -TaskName "*Cyberdesk*" -EA SilentlyContinue | Unregister-ScheduledTask -Confirm:$false; Write-Host "Cyberdriver cleanup complete! Restart if an 'already running' message persists, then run the install script again." -ForegroundColor Green
2

Reboot if prompted

If the cleanup finishes but you still see an “already running” message, reboot the machine to release any lingering handles.
3

Reinstall Cyberdriver

Run the install script again from the Cyberdriver Quickstart. Use the Legacy Cyberdriver installer for the stable Python client, or the 1.x beta installer if you need the Windows service path.
This is a full uninstall. It removes saved configuration, including the machine fingerprint, so the machine will re-register in the Cyberdesk dashboard as a new desktop after you reinstall and rejoin.

What the one-liner removes

  • Running cyberdriver / Cyberdriver processes.
  • The Cyberdriver 1.x beta Windows service (Cyberdriver, Cyberdriver Service).
  • Legacy Python folders: %USERPROFILE%\.cyberdriver, %LOCALAPPDATA%\.cyberdriver, %APPDATA%\.cyberdriver.
  • 1.x beta install and data folders under Program Files, AppData, ProgramData, and the system profile.
  • Cyberdriver entries from both the user and machine PATH (the legacy .cyberdriver folder and the 1.x beta Program Files\Cyberdriver install directory).
  • The Windows Defender exclusion for the legacy PyInstaller directory.
  • Registry keys under HKCU/HKLM for Cyberdriver and Cyberdesk, plus uninstall entries.
  • Start menu and desktop shortcuts.
  • Scheduled tasks created by Cyberdriver (including self-update restart tasks).