Fix com.apple.launchd.peruser Crash Loop on macOS
The com.apple.launchd.peruser process crash loop causes high CPU usage and repeated error logs. This guide explains symptoms, root causes, and step-by-step fixes to resolve the issue.
Symptoms
Users experiencing the com.apple.launchd.peruser crash loop on macOS may notice the following:
- High CPU usage caused by repeated launchd process crashes and restarts.
- System sluggishness, fan noise, and reduced battery life.
- Repeated error messages in Console.app such as:
com.apple.launchd.peruser.501: (com.apple.launchd.peruser.501) Exited with code: 1orcom.apple.launchd: (com.apple.launchd.peruser.501) Throttling respawn: Will start in 10 seconds. - Some user-level services or agents may fail to start properly.
Root Causes
The crash loop typically originates from one or more of the following:
- Corrupted or misconfigured user launchd plist files in
~/Library/LaunchAgents/or/Library/LaunchAgents/. - Third-party software that installs unstable launch agents or daemons.
- Incorrect file permissions on launchd plist files or the launchd database.
- System-level launchd issues after macOS updates or partial upgrades.
- Malware or adware that injects persistent launchd entries.
Step-by-Step Fix
1. Identify the Problematic Plist
- Open Console.app (from /Applications/Utilities/).
- In the search bar, type
launchd.peruser. - Look for recent error messages. Note the process name or plist path mentioned (e.g.,
com.example.agent.plist).
2. Disable or Remove the Faulty Agent
- Open Terminal.
- Unload the agent:
Replace with the actual plist name.launchctl unload ~/Library/LaunchAgents/com.example.agent.plist - Move the plist to a backup location:
mv ~/Library/LaunchAgents/com.example.agent.plist ~/Desktop/ - If the plist is in
/Library/LaunchAgents/, usesudo.
3. Check and Repair Permissions
- Run:
sudo chown root:wheel /Library/LaunchAgents/*.plist - For user agents:
chmod 644 ~/Library/LaunchAgents/*.plist - Repair disk permissions (macOS Catalina and earlier):
For Big Sur and later, use First Aid in Disk Utility.sudo diskutil repairPermissions /
4. Reset Launchd Database
- Boot into Recovery Mode (restart and hold Command+R).
- Open Terminal from Utilities menu.
- Run:
launchctl reboot userspace - Alternatively, remove the launchd cache:
Then restart.rm -f /var/db/com.apple.launchd.peruser.*
5. Scan for Malware
- Use Malwarebytes or KnockKnock to scan for persistent launchd entries.
- Remove any suspicious agents found.
Alternative Fixes
- Create a new user account to test if the issue is user-specific. If the crash stops, migrate data to the new account.
- Reinstall macOS via Recovery Mode as a last resort if the issue persists system-wide.
- Use EtreCheck to generate a system report and identify problematic launchd items.
Prevention
- Only install software from trusted sources (App Store or reputable developers).
- Regularly review launch agents in
~/Library/LaunchAgents/and/Library/LaunchAgents/. - Keep macOS and all software up to date.
- Use a firewall and anti-malware tool to prevent unwanted persistent processes.
By following these steps, you can resolve the com.apple.launchd.peruser crash loop and restore normal system performance.
Was this solution helpful?