Symptoms
Users experiencing the com.apple.launchd.peruser error crash loop may notice the following:
- Repeated system alerts indicating that a user launchd process has unexpectedly quit or crashed.
- Console logs filled with entries like
com.apple.launchd.peruser.501(or similar UID) showing crash and restart cycles. - General system sluggishness, unresponsive apps, or high CPU usage from launchd processes.
- Unexpected logouts or inability to launch certain user-level services.
- Persistent error messages even after restarting the Mac.
Root Causes
The crash loop is typically triggered by one or more of the following:
- Corrupt or misconfigured user LaunchAgents plist files: Third-party or system plist files in
~/Library/LaunchAgentsmay be damaged or incompatible. - User preference corruption: Corrupt preferences in
~/Library/Preferencescan cause launchd to crash when loading user environment. - System or user cache corruption: Damaged cache files can interfere with launchd operations.
- Incompatible software or kernel extensions: Some apps or kexts may conflict with user launchd processes.
- File system errors: Underlying disk issues can prevent proper loading of launchd configurations.
Step-by-Step Fix
Follow these steps in order to resolve the crash loop.
Step 1: Boot into Safe Mode
- Shut down your Mac.
- Turn it on and immediately press and hold the Shift key.
- Release when you see the login window (you may need to log in twice).
- Safe Mode loads only essential kernel extensions and disables user LaunchAgents. If the crash stops, the issue is likely a corrupt plist or preference.
- Restart normally after testing.
Step 2: Check Console Logs
- Open Console from Applications > Utilities.
- Search for
launchdorperuserin the search bar. - Identify the UID (e.g., 501) and any associated process names.
- Note the paths mentioned in crash reports (often point to specific plist files).
Step 3: Repair User LaunchAgents
- Open Terminal.
- Navigate to user LaunchAgents:
cd ~/Library/LaunchAgents - List all plist files:
ls -la - Move suspicious or third-party plist files to a backup folder:
mkdir ~/Desktop/plist_backup && mv *.plist ~/Desktop/plist_backup/(if you want to remove all user LaunchAgents temporarily). - Restart your Mac. If the crash stops, reintroduce plist files one by one to identify the culprit.
Step 4: Clear User Caches and Preferences
- In Terminal, run:
rm -rf ~/Library/Caches/* - Then:
rm -rf ~/Library/Preferences/*(this resets all user preferences; you may need to reconfigure some settings). - Restart your Mac.
Step 5: Run First Aid on Disk
- Restart and hold Command+R to enter Recovery Mode.
- Open Disk Utility.
- Select your startup disk and click First Aid > Run.
- Let it complete and then restart.
Step 6: Create a New User Account
- Go to System Settings > Users & Groups.
- Add a new administrator account.
- Log out of your current account and log into the new one.
- If the crash loop is gone, the issue is specific to your original user account. Migrate data carefully.
Alternative Fixes
- Reset NVRAM/PRAM: On Intel Macs, restart and hold Option+Command+P+R for 20 seconds. On Apple Silicon, this is automatic but you can reset via Terminal:
sudo nvram -c(requires SIP disabled). - Reinstall macOS: As a last resort, reinstall macOS from Recovery Mode without erasing your data (this preserves user files but replaces system files).
- Disable specific LaunchAgents: Use
launchctl unload -w ~/Library/LaunchAgents/plistname.plistto disable a specific agent.
Prevention
- Regularly update macOS and all third-party software to avoid compatibility issues.
- Be cautious when installing apps that add LaunchAgents; use reputable sources.
- Periodically clean up
~/Library/LaunchAgentsand remove unused plist files. - Maintain regular backups with Time Machine to recover from corruption quickly.
- Monitor system logs weekly for early signs of launchd instability.
By following these steps, most users can resolve the com.apple.launchd.peruser error crash loop and restore normal operation to their Mac.