Fix com.apple.launchd peruser error crash loop on macOS
The com.apple.launchd peruser error crash loop occurs when per-user launchd processes repeatedly crash, often due to corrupt plist files or misconfigured user agents. This guide explains symptoms, root causes, and step-by-step fixes to stop the loop.
Symptoms
Users experiencing the com.apple.launchd peruser error crash loop typically see repeated crash reports in Console.app with entries like com.apple.launchd.peruser.UID (where UID is the user ID) failing to launch or crashing repeatedly. Symptoms include:
- System slowdowns or freezes
- High CPU usage by launchd processes
- Frequent pop-ups or beachball cursor
- Log entries showing
Exited with code: 1orSignal: 6 - Inability to launch certain user applications
- System may become unresponsive
Root Causes
The crash loop is typically caused by one of the following:
- Corrupt or misconfigured user launchd plist files in
~/Library/LaunchAgents/ - Third-party software that installs faulty launch agents (e.g., Adobe, Dropbox, or antivirus)
- System plist corruption in
/Library/LaunchAgents/or/Library/LaunchDaemons/ - Permissions issues on user or system plist files
- macOS update leftovers causing conflicts
Step-by-step Fix
Step 1: Identify the crashing plist
- Open Console.app (from /Applications/Utilities/)
- In the search bar, type
launchdand filter byperuser - Look for lines showing
com.apple.launchd.peruser.UIDwith errors likeExited with code: 1 - Note the UID (e.g., 501) and any associated process name (e.g.,
com.example.agent)
Step 2: Disable or remove the faulty launch agent
- Open Terminal
- Run
launchctl list | grep <UID>to list user agents (replace UID with the number) - Identify the faulty agent from Console logs
- Disable it temporarily:
launchctl unload -w ~/Library/LaunchAgents/com.example.agent.plist - If the crash stops, the agent is the cause. Remove it permanently:
rm ~/Library/LaunchAgents/com.example.agent.plist
Step 3: Check system launch daemons
- Navigate to
/Library/LaunchDaemons/and/Library/LaunchAgents/ - Look for recently modified or suspicious plist files (e.g., from uninstalled software)
- Move suspicious plists to a backup folder:
sudo mv /Library/LaunchDaemons/suspect.plist ~/Desktop/ - Reboot
Step 4: Repair permissions
- Run
sudo chown root:wheel /Library/LaunchDaemons/*.plist - Run
sudo chmod 644 /Library/LaunchDaemons/*.plist - For user agents:
chmod 644 ~/Library/LaunchAgents/*.plist
Step 5: Reset launchd (advanced)
- Boot into Safe Mode (hold Shift during startup) to prevent launchd from loading user agents
- In Safe Mode, remove all third-party launch agents from
~/Library/LaunchAgents/ - Reboot normally
Alternative Fixes
- Create a new user account – If the crash is user-specific, migrate data to a new account
- Use EtreCheck (free tool) to scan for problematic launch agents
- Reinstall macOS – As a last resort, reinstall without erasing data
Prevention
- Regularly review installed launch agents using
launchctl list - Uninstall software properly using the vendor's uninstaller
- Keep macOS updated to avoid known launchd bugs
- Back up plist files before modifying them
- Use
sudo launchctl unload -wto disable agents permanently
Additional Notes
If the error persists after removing all suspicious plists, check for hardware issues or kernel extensions. Use sudo dmesg | grep -i error to see kernel-level errors. In rare cases, a corrupt NVRAM can cause launchd issues; reset NVRAM by holding Command+Option+P+R during startup until you hear the startup chime twice.
Always test fixes in a non-production environment when possible. For enterprise Macs, consult your IT department before modifying system plists.
Was this solution helpful?