Windows 10 and 11 let you switch between virtual desktops using Ctrl + Win + Arrow, but they don’t offer a built-in shortcut for moving the currently active window between desktops. This lightweight utility fills that gap by letting you send the active window to the next or previous virtual desktop with a single keyboard shortcut. It makes managing multiple workspaces far more efficient and dramatically improves your workflow.
Note: This repository is primarily hosted on Codeberg. Issues, pull requests, and contributions should be directed to the Codeberg repository.
Below is a demo of how a Task Manager is moved across virtual desktops I to VI with Ctrl + Shift + Win + Right Arrow:

Because laptop keyboards include an Fn key between Ctrl and Win keys while desktop keyboards do not, alternative hotkeys were added to maintain consistent finger distance across devices.
| Shortcut | Action |
|---|---|
Ctrl + Shift + Win + → |
Move window to next desktop (Windows style) |
Ctrl + Shift + Win + ← |
Move window to previous desktop (Windows style) |
Ctrl + Shift + Alt + → |
Move window to next desktop (alternative style) |
Ctrl + Shift + Alt + ← |
Move window to previous desktop (alternative style) |
| Shortcut | Action |
|---|---|
Ctrl + Win + → |
Switch to next desktop (native Windows) |
Ctrl + Win + ← |
Switch to previous desktop (native Windows) |
Ctrl + Alt + → |
Switch to next desktop (alternative style) |
Ctrl + Alt + ← |
Switch to previous desktop (alternative style) |
Download the move-window-between-desktops-setup.exe from the releases page, double-click the setup installer and follow the on-screen instructions.
- Automatically configures Task Scheduler to launch the utility at every user login
- Supports automatic updates via WinGet
Run PowerShell and type the following commands:
winget install FAI-Solutions.move-window-between-desktopsDuring installation, you’ll be prompted for elevated privileges. Accept to enable moving elevated apps (Task Manager). After installation, the folder opens—double-click move-window-between-desktops.exe to run. To upgrade, enter the following in PowerShell:
winget update FAI-Solutions.move-window-between-desktopsDownload move-window-between-desktops.exe and setup-autostart.exe (a helper utility that configures Task Scheduler) from the releases page:
- No installation required
- Run directly from any folder
- Requires
VirtualDesktopAccessor.dllin same folder — download the correct version from VirtualDesktopAccessor's release page for your Windows build (Settings → System → About → look for "OS build")
- Download and install AutoHotkey v2 (if not already installed)
- Download (right-click → "Save link as") the following files: move-window-between-desktops.ahk , setup-autostart.ahk
- Find and download the matching
VirtualDesktopAccessor.dllfor your Windows build (Settings → System → About → check "OS build") from VirtualDesktopAccessor's release page - Place all three files together, as shown below:
📁 MoveWindowBetweenDesktops/
├── move-window-between-desktops.ahk (main script)
├── setup-autostart.ahk (autostart configuration)
└── VirtualDesktopAccessor.dll (Windows API bridge)
- Run setup-autostart.ahk as Administrator — this sets up autostart and launches the script
- (Optional) add a custom icon named
app_icon.icoto the same folder — the script will automatically update the tray icon
Open PowerShell as Administrator (pwsh.exe), add the bucket, then install by running:
scoop bucket add fai-solutions https://codeberg.org/FAI-Solutions/scoop-bucket
scoop install move-window-between-desktopsThen double-click setup-autostart.ahk as Administrator to enable autostart and the main script.
If you see a SmartScreen warning (this is normal for new software):
- Click More info
- Click Run anyway
When you download .ahk files from the internet, Windows may flag them as
untrusted. You might see a SmartScreen popup stating “Windows protected your PC”.
- Right-click each downloaded
.ahkfile → select Properties → at the bottom of the General tab, check the Unblock checkbox → click Apply - Do this for both
move-window-between-desktops.ahkandsetup-autostart.ahkbefore running them
- Check if the icon still appears in the system tray
- A Windows update may require a new DLL version — check releases for updates
- Open an issue with your Windows build number
Run the application as Administrator. The installer can configure this automatically via scheduled task.
- Developer: Johannes Faber — fais.udder466@passinbox.com
- Hub-Website: https://fai-solutions.github.io/
- App-Website: https://fai-solutions.codeberg.page/move-window-between-desktops/
- Repository: https://codeberg.org/FAI-Solutions/move-window-between-desktops
- Issues: https://codeberg.org/FAI-Solutions/move-window-between-desktops/issues
- Mirror: https://github.com/FAI-Solutions/move-window-between-desktops
-
AutoHotkey v2 — The scripting language that powers this utility. AutoHotkey is a free, open-source scripting language for Windows that allows users to easily create scripts for automating tasks and customizing hotkeys.
-
VirtualDesktopAccessor by Jari Pennanen — The DLL that provides access to Windows' virtual desktop API (MIT License).
Enjoy a feature Microsoft should have included long ago!