Stop juggling eight terminal tabs. Import a repo, click a script, and ServicePilot runs it — with live logs, split panes, level filters and a real terminal, all under native macOS glass.
Universal · Intel + Apple Silicon · MIT licensed
A web app, an API, a worker, maybe a tunnel. ServicePilot reads the scripts you already have in package.json — no Procfile, no compose file, no new config to learn.
ServicePilot scans package.json and lists every script. Click to start, click to stop. Rename them with aliases and star the ones you reach for daily.
⌘\ tiles another log pane, so you can watch the API and the frontend fail at each other in real time. Each pane picks its own service.
Log lines are level-detected and edge-lit — red for errors, amber for warnings — with filter pills to hide the noise. Full ANSI colour throughout.
⌘` drops a proper PTY terminal into the drawer, running your login shell in the repo you're looking at. No context switch to iTerm.
Close the window and ServicePilot keeps flying. The tray popover shows a live status dot per service with start, stop and restart in reach.
It spots node, bun and deno dev servers you started elsewhere and left running — with their port, path and uptime. Kill them, or adopt them into ServicePilot.
Group the services that always come up together and launch the whole set in one click.
Real macOS vibrancy, hidden title bar, small binary. Built with Tauri — no Electron, no bundled Chromium.


It's deliberately narrow: the fastest way to get a handful of local dev servers up, and to see which one broke. If you're orchestrating containers, or you need Linux and Windows, Docker Compose and Overmind are better fits.
| ServicePilot | Terminal tabs | concurrently | Docker Compose | Overmind | |
|---|---|---|---|---|---|
| Nothing to configure | ✓ | ✓ | ✗ script | ✗ compose.yml | ✗ Procfile |
| Per-service logs, filterable | ✓ | partial | ✗ interleaved | partial | partial |
| Status of everything at a glance | ✓ | ✗ | ✗ | ✗ | partial |
| Menu bar control | ✓ | ✗ | ✗ | ✗ | ✗ |
| Finds strays started elsewhere | ✓ | ✗ | ✗ | ✗ | ✗ |
| Runs your existing npm scripts | ✓ | ✓ | ✓ | ✗ | ✓ |
ServicePilot isn't code-signed with an Apple Developer ID yet, so the first launch needs one quick command. You only ever do it once.
.dmg, open it, and drag ServicePilot into Applications.xattr -cr /Applications/ServicePilot.app
Then just double-click ServicePilot. Prefer no Terminal? Double-click, then System Settings → Privacy & Security → Open Anyway. The full source is on GitHub if you'd like to read or build it yourself.