A macOS solution to fix the recurrent disconnection issue with Leap Motion Controller V1, eliminating the need for full system reboots.
Created by noise science
The Leap Motion V1 controller sometimes becomes unresponsive and disconnects, requiring a complete system reboot to restore functionality. This script provides a quick recovery solution by:
- Forcefully terminating stuck processes (UVCAssistant on macOS)
- Restarting the Leap Motion daemon/service
- Reinitializing the device connection
Result: Device recovery in seconds instead of minutes of downtime from rebooting.
Before using this script, you need to install the Leap Motion V1 SDK:
Download Links:
- TechSpot Mirror - Leap Motion SDK v2.3.1 (Recommended - Mac)
- Leap Motion Legacy Downloads (Official - Currently unavailable)
- Ultraleap Archive (Official - Currently unavailable)
Recommended Version: Leap Motion SDK v2.3.1 (Last stable V1 release)
Note: Official Ultraleap download links are currently non-functional. The TechSpot mirror provides the v2.3.1 installer that's required for V1 controller compatibility.
Option 1: Double-Click Method (Easiest)
- Download
leap-recovery.command - Double-click the file
- Enter your password when prompted
- Wait for recovery to complete
Option 2: Terminal Method
chmod +x leap-recovery.sh
sudo ./leap-recovery.shChoose the appropriate file(s) for your platform:
| Platform | File | Description |
|---|---|---|
| macOS | leap-recovery.command |
Double-clickable (easiest) |
| macOS | leap-recovery.sh |
Terminal version |
chmod +x leap-recovery.command
chmod +x leap-recovery.shUse this script when you experience:
- ❌ Leap Motion device not detected
- ❌ "Device disconnected" errors
- ❌ Control panel shows no device
- ❌ Applications cannot connect to Leap Motion
- ❌ Device was working but suddenly stopped
- Leap Motion V1 SDK installed
- Administrator/root privileges
-
Kill UVCAssistant (5 iterations to ensure termination)
- This process sometimes gets stuck in newer macOS versions
-
Stop leapd daemon
- Gracefully terminates the Leap Motion daemon
-
Unload/Reload Service
- Uses launchctl to restart the daemon cleanly
macOS:
# Make sure it's executable
chmod +x leap-recovery.command
# Or run with bash explicitly
bash leap-recovery.command- macOS: Always run with
sudo
MIT License
Copyright (c) 2025 noise science
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Found a bug or have a suggestion? Feel free to:
- Open an issue on GitHub
- Submit a pull request
- Contact noise science
This is an unofficial community-created tool. It is not affiliated with or endorsed by Leap Motion or Ultraleap. Use at your own risk.
Important Notes:
- Always save your work before running system-level scripts
- This script requires administrator privileges
- Test in a safe environment first
- Keep backups of important data
| Platform | Version | Status |
|---|---|---|
| macOS Ventura | 13.x | ✅ Verified |
- Created by noise science to solve persistent Leap Motion V1 disconnection issues
- Urged by the need for a quick recovery solution without system reboots for live performances
Made with ❤️ by noise science