Swiftpack.co - Package - ryangball/launchd-package-creator

launchd Package Creator Icon

A utility that allows you to easily create a .pkg containing a LaunchDaemon or LaunchAgent, and a target script of your choosing. The target script can also be packaged, so nothing else is required on the Mac the package is installed on.

Alternatively, you can create a .pkg with only the launchd files included, which can be installed on a Mac where the target script/app already exists.

You may also export a configured launchd plist which you can use in any way you see fit.

Main Window


  1. Install the latest release
  2. Select the launchd type (daemon/agent)
  3. Input an indentifier (reverse domain name notation is typical)
  4. Input a version
  5. Select a Target script/app
  6. Choose to package the Target (or not)
  7. Select your options (more to come)
  8. Click the "Create PKG" button to create a package of the launchd item and target script/app
  9. TEST


  • When creating a LaunchAgent (which runs as the user) and selecting the StandardOutPath and StandardErrorPath options, you should be mindful as to whether or not the user has access to write to the chosen path/file. Daemons might not have this limitation, as they are run as root (when using this utility).
  • When targeting a GUI application (.app) it is recommended to use a LaunchAgent with LimitLoadToSessionType: Aqua. This will run as the user once they are logged in.

Issues and Feature Requests

Please create an issue for both issues encountered and for feature requests (like additional options that might be useful) or create a PR.


Stars: 13
Help us keep the lights on


Used By

Total: 0


0.3.0 - Jun 17, 2019

Additional Features

  • Added the ability to package the Target where it exists (user specified path)
  • Added the ability not to package the Target. This results in the user specified path being inserted into the ProgramArguments

0.2.0 - May 29, 2019

Re-issue of Pre-Release PKG due to fixing of bug from last build

  • Added launchd option: LimitLoadToSessionType
  • Added a Component Property List used during the package build to ensure that all items in the PKG are always deployed despite version
  • Added option to export the launchd plist only, this allows you to inspect or re-purpose the plist if necessary

0.1.0 - May 21, 2019

First release. Probably some bugs.