Five Common launchd Pitfalls When Running macOS Automation Jobs Around the Clock
A developer running 20 nightly launchd automation jobs on macOS documented five recurring configuration traps encountered while scheduling Claude Code tasks. On modern macOS Sequoia and later, the cron daemon no longer runs reliably, silently skipping all scheduled jobs without any error output, making migration to launchd necessary. The StartCalendarInterval directive in launchd does not support cron-style wildcard syntax like */5, requiring developers to use StartInterval in seconds for periodic tasks instead. GUI-launched processes inherit only a minimal system PATH, causing tools installed via Homebrew or nvm to go undetected unless a full PATH is explicitly set in the application's environment configuration. Additional smaller pitfalls include job labels requiring dot-separated formatting, ProgramArguments needing to be defined as an array, and log output silently discarded unless absolute file paths are specified for stdout and stderr.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in