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

macOS Errors Intermediate 👁 16 views 📅 May 25, 2026

The com.apple.launchd.peruser error causes repeated crash logs and high CPU usage. This guide explains symptoms, root causes, and step-by-step fixes to stop the crash loop on macOS.

Symptoms

  • Repeated crash reports for com.apple.launchd.peruser in Console.app
  • High CPU usage by launchd or kernel_task
  • System sluggishness or beachball cursor
  • Crash logs filling up ~/Library/Logs/DiagnosticReports
  • User session may fail to start properly after login

Root Causes

The com.apple.launchd.peruser process manages user-specific launch agents (plist files in ~/Library/LaunchAgents). A crash loop occurs when:

  • A corrupted or misconfigured third-party launch agent plist causes launchd to crash repeatedly
  • Damaged user preferences or cache files
  • Permissions issues on user Library folders
  • Incompatible software installed via Homebrew or other package managers
  • macOS system corruption after an update or upgrade

Step-by-Step Fix

1. Boot into Safe Mode

  1. Restart your Mac and hold the Shift key during startup
  2. Release when the login window appears (may take longer)
  3. Safe Mode disables all third-party launch agents and kernel extensions
  4. If the crash stops, a third-party agent is the culprit

2. Identify Problematic Launch Agents

  1. Open Terminal
  2. List all user launch agents: ls ~/Library/LaunchAgents/
  3. Check system-wide agents: ls /Library/LaunchAgents/ and ls /Library/LaunchDaemons/
  4. Look for recently added or suspicious plist files (e.g., from uninstalled apps)

3. Remove or Disable Suspect Plists

  1. Move suspect plists to a backup folder: mkdir ~/Desktop/backup_launchagents && mv ~/Library/LaunchAgents/suspect.plist ~/Desktop/backup_launchagents/
  2. Repeat for any other suspicious files
  3. Restart normally and check if the crash loop stops

4. Repair Permissions (macOS Catalina and earlier)

  1. Boot into Recovery Mode (Cmd+R at startup)
  2. Open Terminal from Utilities menu
  3. Run: diskutil resetUserPermissions / $(id -u)
  4. For system permissions: diskutil repairPermissions / (if available)

5. Reset User Launch Services Database

  1. In Terminal: sudo launchctl unload -w ~/Library/LaunchAgents/*.plist
  2. Then: sudo launchctl load -w ~/Library/LaunchAgents/*.plist
  3. Alternatively, remove all user agents temporarily: mv ~/Library/LaunchAgents ~/Library/LaunchAgents_backup
  4. Restart and create a new empty LaunchAgents folder: mkdir ~/Library/LaunchAgents

6. Check for Homebrew or MacPorts Conflicts

  1. If using Homebrew, run: brew doctor and brew cleanup
  2. Remove any outdated or broken packages: brew remove --force
  3. For MacPorts: sudo port -f uninstall inactive

Alternative Fixes

  • Create a new user account: If the issue persists only for your user, create a new admin account and migrate data. This isolates user-specific corruption.
  • Reset NVRAM/PRAM: Shut down, then press Option+Cmd+P+R at startup for 20 seconds.
  • Reinstall macOS: Use Recovery Mode to reinstall macOS without erasing data. This replaces system files but preserves user data.

Prevention

  • Only install launch agents from trusted developers
  • Regularly clean up old plist files from uninstalled apps
  • Keep macOS and all software updated
  • Use launchctl list periodically to review running agents
  • Back up your Mac with Time Machine before making system changes

By following these steps, you can resolve the com.apple.launchd.peruser crash loop and restore normal system performance.

Was this solution helpful?