launchd Error State Analysis

Investigated June 13, 2026 — 7 jobs reported in error state
2
Real problems
need your decision
5
False alarms
all running healthy
The dashboard flagged exit -15 as errors, but for KeepAlive daemons that exit code just means launchd restarted the process normally via SIGTERM. Five of these seven jobs are healthy and active.

Real Problems — Action Required (2)

exit 1 / NOT RUNNING

com.anthonylim.codex-chrome-login

Type
One-shot RunAtLoad — fires at login, not a recurring cron
What it does
open -ga "Google Chrome"; open -ga "Codex"
Root cause
Codex.app is NOT installed on this Mac. The open command fails.
Risk
Low. One-shot only. No retry loop. Fails silently at each login.
Last ran
At last login — empty logs, no output captured
exit 1 / RETIRED SKILL

com.claude.basecamp-leaderboard-aggregator

Schedule
Every Tuesday at 10:00 AM PT
Last ran
June 9, 2026 (Tuesday) — failed
Root cause
Skill was RETIRED on 2026-05-29 (service-account auth removed for security)
Script note
aggregator.py itself says "Skill RETIRED — revive via GAS web app, not service-account JSON"
ModuleNotFoundError: No module named 'generate_leaderboard'
File: ~/Documents/Claude/Skills/basecamp-leaderboard/aggregator.py, line 58
Tries to import from /tmp/claude/weekly-leaderboard-skill — that path does not exist.

False Alarms — Healthy and Running (5)

Why exit -15 is not an error: These are all KeepAlive daemons. When launchd needs to restart one (after a crash or normal turnover), it sends SIGTERM first — that registers as exit code -15. The process is then immediately relaunched. A non-zero PID in launchctl list confirms all five are currently running.
RUNNING — PID 57464

cst-pam-feedback-listener

What it does
Slack socket mode listener — captures CST team thumbs up/down feedback
Last activity
Jun 12 — Joan, Ardie, Anthony all active
Exit -15
Normal launchd restart via SIGTERM (KeepAlive)
RUNNING — PID 42865 (frequent restarts)

digest-action-server

What it does
Python HTTP server on 127.0.0.1:8765 — handles digest action callbacks
Concern
Log shows 23 restarts ("listening on :8765" printed 23x). May be port conflict or startup crash.
Exit -15
Normal KeepAlive restart, but high restart count warrants a look
RUNNING — PID 48069

hub-writer

What it does
HTTP server on 127.0.0.1:8770 — family hub, CST dashboard, playbook proposals
Last activity
Today Jun 13 — very active (family-hub, cst-dashboard endpoints all firing)
Exit -15
Normal launchd restart (KeepAlive)
RUNNING — PID 9620

scheduling-dashboard

What it does
The scheduling dashboard server — the very tool that surfaced this insight
Last activity
Right now — actively serving this session's requests
Exit -15
Normal launchd restart. Somewhat ironic that it flagged itself as an error.
RUNNING — PID 41819

sync-cron-files

What it does
Provenance sync daemon — copies templates/ to scripts/ every 30 seconds (strips Claude Code tagging)
Last activity
Running continuously. Logs go to ~/cron-launchers/sync.log.
Exit -15
Normal launchd restart (KeepAlive)