Repository navigation
launchd auto start support missing? #74
Description
Activity
Yeah, auto-startup has not been added to the project.
Thanks. In the short term, simply making an option that leaves the colima application running in the foreground might be enough to give people a way to wrap it up in launchd. Anyway... Thanks for this project!
see also #96
Reacted by Aldo D'AquinoFYI — upstream Lima can do this natively now, which should make it straightforward for Colima to adopt.
limactl autostart enable --condition=boot <instance>installs a system LaunchDaemon w/ KeepAlive, so it starts at boot rather than at login — no GUI session needed.The blocker for Colima was that the generated plist carried no LIMA_HOME, so at boot it resolved the default
~/.limaand never found an instance under~/.colima/_lima. Fixed in lima-vm/lima#5489 (merged, slated for Lima v2.3.0):LIMA_HOME=~/.colima/_lima limactl autostart enable --condition=boot colimaIt'd seem to be worthwhile to expose this as an option rather than having users hand-roll plists — #1490 shows how that goes wrong, and #262 / #1265 are after the same thing from different angles.
A macOS limitation (by design) that'd represent a caveat to document though:
/Library/LaunchDaemonsis root-owned so the invoking account needs sudo, andlimactlwon't run as root — sosudo limactlisn't a way around it.I'll follow up w/ a PR for consideration.
- added a commit that references this issue
on Sep 12, 2026 Following up on the above — draft PR is #1636 (there are some open questions whether this is approach is desired by the Colima project though)
- added a commit that references this issue
on Sep 12, 2026
The colima stuff is working great as a Docker Desktop replacement with one minor exception for me. I've been unable to get it to autostart via launchd. I think that it is likely because the "start" command forks the hypervisor and then eventually exits. My understanding is that launchd expects the command to run indefinitely. I took a look at the code, but not conversant enough in Go to figure out how to "fix" this. Is this something that is on the roadmap?