List Running launchd User Agents on macOS

Use plain `launchctl list` to audit agents running in your user session with their PIDs and last exit statuses.

macOSlaunchctlmacosmonitoringTerminalMedium risk
Run `launchctl list` (add `| head -30` or `| grep <name>` to filter) to see the label, PID and exit status of every agent in your user domain.

01Command

Command
$ launchctl list | head -30

02What it does

launchctl list shows three columns: the service label, its PID (a dash means the job is loaded but not currently running), and the exit code of the last run — an unexpectedly non-zero status is a hint that something keeps crashing. Run without sudo it only lists services in your own GUI/UID domain, which is exactly what user LaunchAgents in ~/Library/LaunchAgents should be. Pair it with `launchctl print gui/$(id -u)/<label>` when you need full details of one entry.

03Risk

RiskMedium risk

04Undo

✓No undo needed — this command does not change persistent state.

05Sources

  • launchctl - Interfaces with launchd to manage services
    SS64 · technical · 2026-09-17
    Evidence: Documents `launchctl list`: 'List all of the jobs loaded in their own domain' with PID, status and label columns; run without sudo it lists your user domain.
  • launchctl(1) man page
    Xcode Man Pages (keith.github.io) · technical · 2026-09-17
    Evidence: Man page for launchctl: the `list` subcommand prints the label, PID (or '-' if not running) and last exit status of each service in the caller's domain.

Last verified: 2026-09-19 · Category: System & Settings

06Related solutions