Fix com.apple.launchd.peruser Crash Loop on macOS

macOS Errors Intermediate 👁 19 views 📅 May 25, 2026

The com.apple.launchd.peruser process crashing repeatedly indicates a corrupted user launchd plist or permission issue. This guide provides step-by-step fixes to resolve the crash loop and restore system stability.

Symptoms

Users experiencing this issue may notice:

  • Repeated pop-up notifications stating "com.apple.launchd.peruser quit unexpectedly" or similar crash reports.
  • High CPU usage by the launchd process, leading to system slowdowns and overheating.
  • Applications failing to launch or becoming unresponsive.
  • Kernel panics or system freezes, especially during user login or logout.
  • Console logs filled with repeated launchd crash entries.

Root Causes

The com.apple.launchd.peruser process is responsible for managing user-specific launch agents and daemons. The crash loop typically stems from:

  • Corrupted or malformed plist files in ~/Library/LaunchAgents or /Library/LaunchAgents.
  • Incorrect file permissions on user launchd plists or the launchd database.
  • Conflicting third-party launch agents that are incompatible with the current macOS version.
  • Damaged user account configuration or corrupted preferences.
  • System-level launchd database corruption due to improper shutdowns or disk errors.

Step-by-Step Fix

Step 1: Identify the Culprit Plist

  1. Open Console app (from /Applications/Utilities).
  2. In the search bar, type launchd and filter by Process: launchd.
  3. Look for crash logs that mention peruser and note any associated plist file names (e.g., com.example.agent.plist).
  4. Alternatively, run in Terminal:
    log show --predicate 'process == "launchd" AND eventMessage contains "peruser"' --last 1h

Step 2: Temporarily Disable User Launch Agents

  1. Boot into Safe Mode (hold Shift during startup) to prevent launch agents from loading.
  2. Open Terminal and rename the LaunchAgents folder:
    mv ~/Library/LaunchAgents ~/Library/LaunchAgents_old
  3. Reboot normally. If the crash stops, the issue is within the renamed folder.

Step 3: Isolate and Remove Corrupted Plists

  1. Move files back one by one from ~/Library/LaunchAgents_old to ~/Library/LaunchAgents, restarting after each move.
  2. When the crash reappears, the last moved plist is the culprit. Delete or fix it.
  3. Common problematic plists include those from Adobe, Microsoft Office, or outdated third-party utilities.

Step 4: Repair Permissions

  1. Open Terminal and run:
    sudo chmod 644 ~/Library/LaunchAgents/*.plist
  2. Reset home directory permissions:
    sudo chown -R $(whoami) ~
  3. For macOS Catalina and later, use:
    sudo /usr/libexec/repair_packages --repair --standard-pkgs --volume /

Step 5: Reset Launchd Database (Advanced)

  1. Boot into Recovery Mode (Cmd+R at startup).
  2. Open Terminal from Utilities menu.
  3. Delete the launchd database:
    rm /var/db/com.apple.xpc.launchd/disabled.plist
  4. Reboot normally. This resets all launchd overrides.

Alternative Fixes

  • Create a new user account: If the crash only occurs under one user, migrate data to a fresh account.
  • Use EtreCheck: Run this free tool to identify problematic launch agents and system issues.
  • Update macOS: Install the latest macOS update via System Preferences > Software Update.
  • Check for malware: Use Malwarebytes or similar to scan for malicious launch agents.

Prevention

  • Regularly update all third-party software to ensure compatibility with your macOS version.
  • Avoid manually editing plist files unless you fully understand the format.
  • Use Time Machine backups so you can restore a working state if needed.
  • Periodically review your LaunchAgents folders and remove unused or outdated plists.
  • Run First Aid in Disk Utility monthly to check for disk errors that could corrupt system files.

By following these steps, you should be able to resolve the com.apple.launchd.peruser crash loop and restore normal operation to your Mac.

Was this solution helpful?