Skip to content

Mouse Without Borders: UseService mode spawns duplicate main processes causing connection drops #44177

@ctomford-godaddy

Description

@ctomford-godaddy

Microsoft PowerToys version

0.96.1.0

Installation method

PowerToys auto-update

Area(s) with issue?

Mouse Without Borders

Steps to reproduce

Steps to reproduce

Enable Mouse Without Borders with UseService: true in settings
Start PowerToys (or reboot)
Check running processes with:

powershell Get-CimInstance Win32_Process | Where-Object {$_.Name -like "MouseWithoutBorders"} | Select-Object Name, ProcessId, ParentProcessId, CreationDate
✔️ Expected Behavior

❌ Actual Behavior
.
Symptoms caused by duplicate processes:

Intermittent connection drops between machines (disconnects for a few seconds, then reconnects)
File locking errors on settings.json (both processes fighting for access)
Disconnections especially noticeable when switching between applications

Additional observations:

The duplicate processes are protected and cannot be terminated with Stop-Process -Force or taskkill /F
Only way to resolve is to fully exit PowerToys from system tray and restart
Issue does NOT occur when UseService: false (but then admin app control is lost)
Both processes were spawned from the same parent within 1 second, indicating a race condition or duplicate launch in the service startup logic

Settings configuration
json{
"properties": {
"UseService": { "value": true },
"Enabled": { "value": true }
}
}
PowerToys General Settings:

run_elevated: false
startup: true

Workaround

Exit PowerToys completely from system tray
Restart PowerToys
Verify only one MWB process is running (sometimes requires multiple restart attempts)

Alternative: Set UseService: false, but this disables mouse/keyboard control for elevated/admin applications.
Other Software
Windows 11

✔️ Expected Behavior

One instance of PowerToys.MouseWithoutBorders.exe should be spawned by the service.

❌ Actual Behavior

Two instances of PowerToys.MouseWithoutBorders.exe are spawned by the MWB Service within 1 second of each other:
Name ProcessId ParentProcessId CreationDate


PowerToys.MouseWithoutBorders.exe 22292 28760 12/8/2025 10:25:38 AM
PowerToys.MouseWithoutBorders.exe 28600 28760 12/8/2025 10:25:39 AM
PowerToys.MouseWithoutBordersHelper.exe 40368 28600 12/9/2025 12:22:09 PM
Both main processes share the same parent PID (the MWB Service), confirming the service itself is double-launching

Additional Information

Symptoms caused by duplicate processes:

Intermittent connection drops between machines (disconnects for a few seconds, then reconnects)
File locking errors on settings.json (both processes fighting for access)
Disconnections especially noticeable when switching between applications

Additional observations:

The duplicate processes are protected and cannot be terminated with Stop-Process -Force or taskkill /F
Only way to resolve is to fully exit PowerToys from system tray and restart
Issue does NOT occur when UseService: false (but then admin app control is lost)
Both processes were spawned from the same parent within 1 second, indicating a race condition or duplicate launch in the service startup logic

Settings configuration
json{
"properties": {
"UseService": { "value": true },
"Enabled": { "value": true }
}
}
PowerToys General Settings:

run_elevated: false
startup: true

Workaround

Exit PowerToys completely from system tray
Restart PowerToys
Verify only one MWB process is running (sometimes requires multiple restart attempts)

Alternative: Set UseService: false, but this disables mouse/keyboard control for elevated/admin applications

Other Software

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Issue-BugSomething isn't workingNeeds-TriageFor issues raised to be triaged and prioritized by internal Microsoft teamsduplicateThis label was added by a GitHub action and this issue may be a potential duplicate

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions