A free, open-source macOS app for browsing and controlling launchd services, the daemons and agents that launchctl manages from the command line.
Early development. The current milestone (M0) is a read-only browser: every launchd domain (system daemons, global agents, your user agents) is listed, searchable, and inspectable, including live state (running, loaded, not loaded), persistent enable/disable overrides, and the underlying plist rendered as a tree. Control operations (start, stop, enable, disable, edit, create) are on the roadmap and arrive in later milestones.
- macOS 14 (Sonoma) or later
- Swift 6 toolchain to build from source
make app # build and assemble dist/launchman.app
make run # build, assemble, and open the app
make test # run the test suite
The project is a plain Swift package. There is no Xcode project; the app bundle is assembled by scripts/make-app.sh.
There is no public API for enumerating launchd jobs, so launchman does what every tool in this space does: it runs launchctl and parses the output. That output is explicitly not a stable interface, so the parsers live in their own module (LaunchdKit) with tests pinned against captured real-world fixtures, and they degrade gracefully when the format shifts.
MPL-2.0. See LICENSE.
Developed with the moral support of Finnegan the dog.