Fixing com.apple.launchd peruser crash loop on macOS

macOS Errors Intermediate 👁 0 views 📅 May 25, 2026

The com.apple.launchd peruser process crash loop occurs when user-level launchd agents repeatedly fail and restart. This guide provides root causes, step-by-step fixes, and prevention methods.

Symptoms

Users experiencing a com.apple.launchd peruser crash loop typically notice:

  • Repeated pop-up notifications stating "com.apple.launchd.peruser.501" quit unexpectedly or crashed multiple times.
  • System sluggishness, high CPU usage by launchd processes, and intermittent freezes.
  • Applications failing to launch or crashing immediately after opening.
  • Console logs showing repeated launchd crash entries with process IDs cycling rapidly.
  • In severe cases, the system may become unresponsive or require a forced restart.

Root Causes

The crash loop is usually triggered by one of the following:

  • Corrupted or misconfigured user LaunchAgent plist files: Third-party applications or system updates can leave invalid plist files in ~/Library/LaunchAgents/ or /Library/LaunchAgents/.
  • Incompatible software: Outdated or buggy applications (e.g., security tools, cloud sync apps) that register faulty agents.
  • System file permissions issues: Incorrect permissions on launchd-related directories or plist files.
  • macOS update glitches: Incomplete or failed updates can corrupt the launchd configuration database.
  • User account corruption: Rarely, the user account itself may have damaged launchd preferences.

Step-by-Step Fix

Step 1: Identify the Culprit Agent

  1. Open Console.app from Applications > Utilities.
  2. In the search bar, type launchd and filter by Process: launchd.
  3. Look for crash logs with entries like com.apple.launchd.peruser.501 and note the associated service name (e.g., com.example.agent).
  4. Alternatively, run in Terminal:
    log show --predicate 'eventMessage contains "com.apple.launchd.peruser"' --last 1h | grep -i "service"

Step 2: Disable Suspicious Agents

  1. Open Terminal.
  2. Unload the problematic agent (replace com.example.agent with the actual name):
    launchctl unload ~/Library/LaunchAgents/com.example.agent.plist
    If the agent is in system-wide directory:
    sudo launchctl unload /Library/LaunchAgents/com.example.agent.plist
  3. Move the plist file to a backup location to prevent reloading on reboot:
    mv ~/Library/LaunchAgents/com.example.agent.plist ~/Desktop/
  4. Restart your Mac.

Step 3: Repair Permissions (macOS Catalina and earlier)

  1. Boot into Recovery Mode (restart and hold Cmd+R).
  2. Open Terminal from Utilities menu.
  3. Run:
    diskutil resetUserPermissions / `id -u`
  4. Restart normally.

For macOS Big Sur and later, use System Integrity Protection (SIP) repair via Recovery Terminal:

csrutil disable

Then reboot and run: sudo /usr/libexec/repair_packages --repair --standard-packages. Re-enable SIP afterward.

Step 4: Reset Launchd Database (Advanced)

  1. Back up your user data.
  2. Boot into Safe Mode (hold Shift during startup).
  3. Open Terminal and run:
    sudo launchctl unload /System/Library/LaunchDaemons/com.apple.launchd.plist
    Warning: This may temporarily break system services. Proceed only if other steps fail.
  4. Reboot normally.

Alternative Fixes

  • Create a new user account: If the issue is user-specific, create a new admin account via System Preferences > Users & Groups. Transfer data and delete the old account.
  • Reinstall macOS: Use Recovery Mode to reinstall macOS without erasing data. This replaces system files while preserving user data.
  • Third-party cleanup tools: Apps like Onyx or EtreCheck can identify and remove problematic launch agents.

Prevention

  • Keep macOS updated: Install the latest system updates to avoid known launchd bugs.
  • Review installed software: Avoid installing untrusted applications that register agents without clear purpose.
  • Regularly audit LaunchAgents: Use ls ~/Library/LaunchAgents/ and ls /Library/LaunchAgents/ to review active agents. Remove any that are not recognized.
  • Backup plist files: Before modifying system agents, create a backup using cp or Time Machine.
  • Use Activity Monitor: Periodically check for high CPU usage by launchd processes and investigate with Console.

By following these steps, most users can resolve the com.apple.launchd peruser crash loop without data loss. If the issue persists, contact Apple Support or visit an Apple Store for hardware diagnostics.

Was this solution helpful?