A macOS app for managing launchd LaunchAgents and LaunchDaemons — view, create, edit, and control your system's scheduled tasks from a clean native UI.
- Browse all LaunchAgents and LaunchDaemons across User, System Agent, and System Daemon scopes
- Services — discover host TCP listeners only (Next.js, Redis, Docker containers published on Mac, etc.), group by Docker vs local instance, stop processes or containers safely
- Create & edit plist jobs with a form UI — no manual XML editing required
- Control jobs: load, unload, start, stop
- View logs — both file-based stdout/stderr logs and system log (via
log show) - Handle invalid plists — empty or malformed plist files are shown inline with an option to delete them
- Privilege escalation for system-level operations (prompts for admin password when needed)
- macOS 14 Sonoma or later
- Xcode 16 or later (to build from source)
brew tap Sean10000/tap
brew install --cask launchmanagerDownload the latest LaunchManager.dmg from Releases, drag the app to your Applications folder.
First launch: right-click the app → Open (required because this build is not notarized by Apple).
git clone https://github.com/Sean10000/LaunchManager.git
cd LaunchManager
open LaunchManager.xcodeprojBuild and run with Xcode (⌘R).
- Select a scope from the sidebar: User Agents, System Agents, System Daemons, or Services
- Click + to create a new job, or click the pencil icon to edit an existing one
- Use the row buttons to load / start / stop a job
- Expand a row (chevron) to see details and view logs
- On Services, refresh the list, rename entries, open URLs, or stop local processes / Docker containers
The Services sidebar scans TCP ports listening on your Mac (lsof -iTCP -sTCP:LISTEN). It is a local dev-environment view, not a network-wide service discovery tool.
- TCP services listening on the host (Next.js, Redis, PostgreSQL, etc.)
- Docker / Colima containers whose ports are published on the Mac (resolved via
docker ps)
- Outbound connections only (
ESTABLISHEDwhere your Mac is the client) - Services running inside a VM, NAS, or another machine on the LAN (unless their port is forwarded so the Mac is listening locally)
- UDP listeners (v1 is TCP only)
# Will appear in Services only if the Mac is LISTENing on this port
lsof -iTCP:5666 -sTCP:LISTEN -nP
# Matches any socket involving port 5666 (including remote VM / outbound client)
lsof -i :5666Example: A NAS on a VMware VM at 192.168.95.x:5666 — your Mac may only have an outbound ESTABLISHED connection to that address. The NAS is not listening on the Mac, so it is excluded by design.
| Feature | LaunchManager (Free) | LaunchControl | Lingon Pro 10 | LaunchD Task Scheduler |
|---|---|---|---|---|
| Price | Free & Open Source | ~$33 | $23.99 | $5.00 |
| Distribution | GitHub Direct | Direct / Homebrew | App Store / Direct | App Store |
| Browse Agents & Daemons | ✅ | ✅ | ✅ | ✅ |
| Create & Edit jobs (GUI) | ✅ | ✅ | ✅ | ✅ |
| Load / Unload / Start / Stop | ✅ | ✅ | ✅ | ✅ |
| Log viewer | ✅ File + System log | ✅ Advanced | ✅ | ✅ |
| System Agent / Daemon support | ✅ | ✅ | ✅ (Pro) | Limited |
| Privilege escalation | ✅ | ✅ | ✅ | — |
| Invalid plist detection | ✅ Inline with delete | ❌ | ❌ | ❌ |
| App must stay running | ❌ Not required | ❌ Not required | ❌ Not required | |
| AI assistant | ❌ | ✅ (7 LLM providers) | ❌ | ❌ |
| XML / Expert editor | ❌ | ✅ | ❌ | ❌ |
| Open Source | ✅ MIT | ❌ | ❌ | ❌ |
| macOS requirement | 14 Sonoma+ | 11 Big Sur+ | 14 Sonoma+ | — |
LaunchManager is ideal if you want a free, native, open-source tool for everyday launchd management. For power users needing an AI assistant or expert XML editor, LaunchControl is the most feature-complete paid option.
LaunchManager/
├── Models/ # LaunchItem, InvalidPlist, Service, ListeningProcess
├── Services/ # PlistService, LaunchctlService, ProcessDiscovery, Docker/, resolvers
├── Store/ # AgentStore, ServiceStore, ServiceNameStore
└── Views/ # SwiftUI views (AgentList, ServicesList, …)
MIT — see LICENSE.
If LaunchManager saved you some time, feel free to buy me a coffee ☕ Americano is better.
Built with Claude (Anthropic) — AI pair programmer for design, implementation, and code review.
