com.apple.launchd.peruser.xxx

Fix com.apple.launchd peruser error crash loop on macOS

macOS Errors Intermediate 👁 28 views 📅 May 25, 2026

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: 1 or Signal: 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

  1. Open Console.app (from /Applications/Utilities/)
  2. In the search bar, type launchd and filter by peruser
  3. Look for lines showing com.apple.launchd.peruser.UID with errors like Exited with code: 1
  4. 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

  1. Open Terminal
  2. Run launchctl list | grep <UID> to list user agents (replace UID with the number)
  3. Identify the faulty agent from Console logs
  4. Disable it temporarily: launchctl unload -w ~/Library/LaunchAgents/com.example.agent.plist
  5. 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

  1. Navigate to /Library/LaunchDaemons/ and /Library/LaunchAgents/
  2. Look for recently modified or suspicious plist files (e.g., from uninstalled software)
  3. Move suspicious plists to a backup folder: sudo mv /Library/LaunchDaemons/suspect.plist ~/Desktop/
  4. Reboot

Step 4: Repair permissions

  1. Run sudo chown root:wheel /Library/LaunchDaemons/*.plist
  2. Run sudo chmod 644 /Library/LaunchDaemons/*.plist
  3. For user agents: chmod 644 ~/Library/LaunchAgents/*.plist

Step 5: Reset launchd (advanced)

  1. Boot into Safe Mode (hold Shift during startup) to prevent launchd from loading user agents
  2. In Safe Mode, remove all third-party launch agents from ~/Library/LaunchAgents/
  3. 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 -w to 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?