How to Uninstall Vorssaint-Utils from macOS: Complete Removal Guide
Run the bundled Tools/uninstall.sh script to terminate processes, remove the app bundle, reset permissions, and clean all user data, or use brew uninstall --cask vorssaint for basic removal.
The vorssaint-utils repository provides a comprehensive macOS utility suite for fan control and power management. When you need to remove this software, the project includes a purpose-built uninstaller that ensures complete cleanup of daemons, permissions, and user preferences. This guide walks through both the full script-based removal and alternative Homebrew methods based on the actual implementation in the source code.
Using the Official Uninstaller Script
The primary method for completely removing vorssaint-utils involves executing the shell script located at Tools/uninstall.sh. This script performs an idempotent cleanup sequence that safely removes every component even if run multiple times.
Terminating Active Processes
Before file removal begins, the script ensures the application is not running by sending termination signals to active processes. According to lines 16-19 of Tools/uninstall.sh, it dispatches SIGTERM to both Vorssaint and VorssaintUtils processes to prevent file-in-use errors during uninstallation.
# The script handles this automatically, but you can manually check:
pgrep -i vorssaint
Removing the Fan-Helper Daemon
The uninstaller invokes the binary inside the app bundle with the --uninstall flag to deregister the launch agent. As implemented in lines 26-33, this step detaches the fan-helper daemon and restores normal sleep behavior. The script then verifies removal using launchctl print (lines 39-44) to confirm the service com.vorssaint.utils.fan-control no longer exists.
# Verify the daemon is removed (should return exit code 113):
launchctl print system/com.vorssaint.utils.fan-control
Resetting System Permissions
The script revokes macOS privacy permissions granted during installation. Line 55 executes tccutil reset All com.vorssaint.utils, which removes Accessibility and Screen Recording permissions from the bundle identifier. This ensures no phantom permissions remain after deletion.
Deleting Application Files and Data
The uninstaller removes both current and legacy application bundles along with all user data. Line 58 deletes /Applications/Vorssaint.app and /Applications/Vorssaint Utils.app, while lines 59-70 clear the defaults domain, preference plist, saved application state, and support directories under ~/Library.
# Manual cleanup paths if needed:
rm -rf ~/Library/Preferences/com.vorssaint.utils.plist
rm -rf ~/Library/Application\ Support/Vorssaint
rm -rf ~/Library/Saved\ Application\ State/com.vorssaint.utils.savedState
Cleaning Sudoers Rules
If the app configured password-free sudo access for closed-lid operations, lines 78-82 use osascript with administrator privileges to remove files under /etc/sudoers.d/. This prevents security vulnerabilities from persisted sudo rules after the app is gone.
Alternative: Homebrew Uninstallation
If you installed vorssaint-utils via Homebrew, you can remove the application bundle using the package manager. Note that this method removes only the cask itself and does not delete user data, reset permissions, or clean sudoers rules—those require the full uninstaller script.
brew uninstall --cask vorssaint
After running the Homebrew command, execute Tools/uninstall.sh to complete the cleanup of remaining system configurations.
Post-Uninstallation Verification
After running the uninstaller, verify that sleep settings have been restored to system defaults. The script checks lines 51-53 for the vorssDisabledSleep preference; if sleep remains disabled, manually re-enable it:
sudo pmset disablesleep 0
Additionally, confirm the fan-control service is fully deregistered by checking for exit code 113 (no such service) when querying the launch daemon.
Summary
- Use
Tools/uninstall.shfor complete removal including daemons, permissions, and user data. - The script is idempotent—running it multiple times is safe and it skips already-removed components.
- Homebrew users must run both
brew uninstall --cask vorssaintand the uninstaller script to achieve full cleanup. - System permissions are reset via
tccutiltargeting thecom.vorssaint.utilsbundle identifier. - Sudoers rules under
/etc/sudoers.d/are automatically removed if they exist. - Manual verification requires checking that
pmset disablesleepreturns to0and the fan-control service is absent fromlaunchctl.
Frequently Asked Questions
Does the uninstaller remove all user data created by vorssaint-utils?
Yes, the script in Tools/uninstall.sh (lines 59-70) removes the defaults domain, preference plist, saved application state, and Application Support directories from ~/Library. However, if you only used Homebrew uninstallation, you must run the script separately to delete this data.
Why does the uninstaller ask for administrator privileges?
The script requires elevated permissions to execute osascript for removing files from /etc/sudoers.d/ (lines 78-82), reset system-wide TCC permissions using tccutil (line 55), and modify sleep settings via pmset. These operations affect system-level configurations beyond standard user directories.
How do I know if the fan-control daemon was successfully removed?
The uninstaller automatically verifies this using launchctl print (lines 39-44). You can manually confirm success by running launchctl print system/com.vorssaint.utils.fan-control—if the service is absent, the command returns exit code 113 with a "no such service" message.
What should I do if my Mac still won't sleep after uninstallation?
If the script detected that vorssDisabledSleep was set (lines 51-53) but manual restoration failed, execute sudo pmset disablesleep 0 in Terminal. This restores the default sleep behavior that vorssaint-utils may have disabled for closed-lid operation.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →