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 corrupted user plist files or system launchd issues. This guide provides steps to diagnose and resolve the problem.
Symptoms
- System logs repeatedly show messages like
com.apple.launchd.peruser.501: (com.apple.quicklook) Throttling respawn: Will start in 10 secondsor similar crash reports for per-user launchd jobs. - Mac becomes sluggish, unresponsive, or experiences high CPU usage from launchd processes.
- Applications may fail to launch or crash unexpectedly.
- Console app displays continuous error entries related to launchd per-user instances.
- User unable to log out or restart normally; force shutdown may be required.
Root Causes
- Corrupted user plist files in
~/Library/LaunchAgents/or/Library/LaunchAgents/causing launchd to repeatedly fail. - Damaged system launchd database due to improper shutdown, disk errors, or software conflicts.
- Third-party software (e.g., security tools, cloud sync apps) that installs faulty launch agents.
- User account corruption after migration or incomplete updates.
- Permissions issues on user library folders preventing launchd from reading plists.
Step-by-Step Fix
Step 1: Identify the crashing launchd job
- Open Console app from
/Applications/Utilities/. - In the search bar, type
launchdand filter byProcess: launchd. - Look for repeated messages containing
com.apple.launchd.peruserand note the job label (e.g.,com.apple.quicklook).
Step 2: Disable the problematic launch agent
- Open Terminal.
- Run:
launchctl list | grep -i [joblabel](replace [joblabel] with the label from step 1). - If found, unload it:
launchctl unload ~/Library/LaunchAgents/[plistfile]orsudo launchctl unload /Library/LaunchAgents/[plistfile]. - Move the plist file to a backup location:
mv ~/Library/LaunchAgents/[plistfile] ~/Desktop/.
Step 3: Repair disk permissions (macOS Mojave and earlier)
- Boot into Recovery Mode (restart and hold Cmd+R).
- Open Terminal from Utilities menu.
- Run:
diskutil repairPermissions /(if available) ordiskutil verifyPermissions /. - For macOS Catalina and later, run:
diskutil resetUserPermissions / `id -u`from Recovery Terminal.
Step 4: Reset launchd database
- In Recovery Terminal, run:
launchctl reboot userspaceto restart user launchd. - If that fails, run:
rm -f /var/db/com.apple.launchd.db/peruser/501/com.apple.launchd.peruser.501.plist(replace 501 with your UID). - Reboot normally.
Step 5: Create a new user account
- Go to System Preferences > Users & Groups.
- Click the lock and add a new administrator account.
- Log out of your current account and log into the new one.
- If the error stops, the original user profile is corrupted. Migrate data using Migration Assistant.
Alternative Fixes
- Safe Boot: Restart while holding Shift to load minimal launchd jobs. If the crash stops, a third-party agent is likely the cause.
- Update macOS: Install the latest macOS update via System Preferences > Software Update.
- Remove third-party launch agents: Check
/Library/LaunchAgents/and~/Library/LaunchAgents/for suspicious plists and move them to Desktop. - Use EtreCheck: Download and run EtreCheck to identify problematic launch agents automatically.
Prevention
- Avoid installing untrusted software that adds launch agents.
- Regularly back up your Mac with Time Machine.
- Keep macOS and all apps updated.
- Periodically review launch agents in
~/Library/LaunchAgents/and remove unused ones. - Run First Aid in Disk Utility monthly to prevent disk corruption.
If the issue persists after all steps, consider reinstalling macOS from Recovery Mode or contacting Apple Support.
Was this solution helpful?