mrkeyoor.com_
Tue 01 Sept 17:41 UTC
Dev Toolsevaluationupdated 26 Aug 2026

lima review

Lima creates Linux virtual machines with automatic file sharing and port forwarding, mainly for running containers on macOS. It supplies the VM layer used by tools such as Colima, Rancher Desktop, Finch, and Podman Desktop, while remaining useful as a direct command-line tool.

+30stars / 7d
Verdict

Our Lima build succeeded in 62 seconds, but 31 of 89 Go test packages failed in the same sandbox, so contributors should reproduce the suite before treating a checkout as ready. Lima is a strong VM foundation for macOS container tools and for developers who want control over images, drivers, mounts, and provisioning. Choose Colima or Finch when you want the container workflow without owning those VM details.

We ran it

Lab card: what happened when we ran limaScreenshot of lima (lima-vm.io)
Install✓ · 136s252 packages
Build✓ · 62s
Tests✗ · 28s58 passed · 31 failed of 89 (go test)
Repo1272 files~65,626 lines of source · 11.4 MB · 6 CI workflows

Answers from our run

Does lima build from source?

Dependencies installed in 136 seconds (252 packages), and the build succeeded in 62 seconds. We cloned commit d98d51e into a clean Debian container with 3 CPUs and no project-specific setup.

Do lima's tests pass?

Not all of them: 58 of 89 passed and 31 failed when we ran the project's own test command (go test). Some failures need services or credentials a bare container does not have.

Who should not use lima?

Developers who only want Docker on a Mac with minimal choices: Lima's own README points to Colima as the simpler container environment built on top of it.

What are the alternatives to lima?

Colima, Finch, Multipass. Our Lima build succeeded in 62 seconds, but 31 of 89 Go test packages failed in the same sandbox, so contributors should reproduce the suite before treating a checkout as ready.

Setup3/5Homebrew is short, but our 89-package test run had 31 failures
Docs4/5Clear starts and deep site docs, with platform details spread across pages
Community5/521,758 stars, CNCF incubation, current pushes, and active review
Maturity4/5Widely adopted VM layer, with several host and guest paths experimental

Discussed on

  1. hnmacOS Subsystem for Linux53 points
  2. hnLinux on macOS4 points
  3. hnLima v1.0.03 points

Who it’s for

macOS developers who need a configurable Linux VM for containers or shell work.
Tool builders who need a maintained VM layer beneath a desktop container product.
Developers who want containerd, Docker, Podman, or Kubernetes guests selected through templates.
Operators of headless macOS machines who can use the release's LaunchDaemon support.

Who it’s NOT for

Developers who only want Docker on a Mac with minimal choices: Lima's own README points to Colima as the simpler container environment built on top of it.
Teams that need mature Windows guest support: release v2.2.0 labels Windows 11 and Windows Server 2025 guests experimental.
Workflows that require VM suspend and resume: issue #598 remains an open enhancement for the QEMU driver.
Linux users depending on writable virtiofs mounts without verification: issue #2152 reports writes failing even with --mount-writable.
Operators who cannot absorb port-forwarding interruptions: issue #5420 reports guest socket forwards dying with the SSH ControlMaster and not being recreated.

Setup reality

Our sandbox installed 252 packages in 136 seconds and built Lima in 62 seconds. The Go test run then failed after 28 seconds: 58 packages passed and 31 failed out of 89, with the log tail naming failures in pkg/sshutil and pkg/store but showing no cause.

The user path is much shorter than the contributor path. On macOS the README gives brew install lima followed by limactl start; Docker and Kubernetes use separate templates plus host environment variables. VM images, a supported driver, disk space, and guest networking still sit behind those commands.

The repository has 1,272 files, about 65,626 source lines, 6 CI workflows, and no Dockerfile or dedicated tests directory. Platform behavior differs across macOS, Linux, NetBSD, and Windows hosts, while v2.2.0 marks its Windows guest support experimental.

Lima turns macOS into a configurable Linux host

Lima launches Linux virtual machines with automatic file sharing and port forwarding. Its original target was containerd and nerdctl on macOS, but current templates also cover Docker, Podman, and Kubernetes. You can open a Linux shell directly or point familiar host clients at sockets and files copied from the guest. That makes Lima useful both as a daily developer tool and as plumbing beneath another product.

The second role explains much of its reach. Colima, Rancher Desktop, Finch, and the Podman Desktop plugin all use Lima in their macOS stories. Those adopters add their own opinions and interfaces while Lima handles images, virtualization drivers, mounts, networking, and lifecycle. The repository had 21,758 stars and was pushed on 2026-08-26, evidence that this is active infrastructure rather than an abandoned helper.

The 2-command start hides meaningful VM choices

The README's macOS start is brew install lima and limactl start. A default instance then accepts Linux commands through lima. Containerd users can call nerdctl inside that guest, while Docker users start the Docker template and export a generated DOCKER_HOST. Kubernetes follows the same pattern with a template and a guest-provided kubeconfig.

That is a good first-run experience, but the real product is its configuration surface. Templates select an operating-system image and provisioning steps. Drivers differ by host. Mount type, writable behavior, CPU, memory, disks, networking, port forwarding, and container engine choices affect the resulting machine. Teams should keep their Lima YAML beside project code rather than relying on one developer's edited local instance.

Version 2.2.0 also widened the matrix. It experimentally supports Windows 11 and Windows Server 2025 guests, changes the default Windows host driver from WSL2 to QEMU, adds headless macOS LaunchDaemon support, and adds QEMU TPM emulation. The release labels the Windows guest paths experimental, which is a useful boundary for anyone planning repeatable team environments.

What happened when we ran it

Our run at commit d98d51e installed 252 Go packages in 136 seconds, then completed the build in 62 seconds. The checkout contained 1,272 files, about 65,626 lines of source, and occupied 11.4 MB. Six CI workflow files were present, but the repository had no Dockerfile and no dedicated tests directory.

Tests were the weak point. The Go suite exited with status 1 after 28 seconds: 58 packages passed and 31 failed out of 89. The final log lines show successful packages including portfwdserver, registry, strutil, and yqutil, then name pkg/sshutil and pkg/store among the failures before the final FAIL. The supplied tail contains no error explanation, so we cannot assign a cause.

Those results do not say that Lima itself cannot start a VM. Our unprivileged Debian sandbox measured the repository's Go workflow, not a macOS guest launch. They do say that a contributor cloning d98d51e should not assume go test will pass in a plain golang:1.24-bookworm container. Reproduce the 31 failures in your development environment and inspect the complete logs before changing code.

File sharing and forwarding still need workload tests

Automatic mounts and ports are the features that make a VM disappear during ordinary development, so failures there are disproportionately annoying. Open issue #2152 reports writes failing on a Linux-host virtiofs mount even when writable mounting is requested. Issue #5420 reports guest socket forwards dying with the SSH ControlMaster and not returning, silently in the VZ case. Both reports are narrower than a claim that mounting or forwarding is generally broken, but each maps to a real workflow worth testing.

Lifecycle coverage has another visible gap. Issue #598 requests suspend and resume support for QEMU and remains open. Stopping and restarting may be fine for disposable container work, while a developer carrying expensive in-guest state may care much more. The right trial is not uname -a; it is a full day using your actual bind mounts, sockets, sleep cycle, VPN, and network changes.

Lima's flexibility can also be excess work. If the only requirement is a Docker-compatible socket on macOS, Colima wraps Lima with fewer exposed decisions. Finch offers another packaged container workflow. Multipass is a clearer comparison when the target is an Ubuntu VM rather than a container-focused guest with host integration.

Release work and security review are current

Lima v2.2.0 was released on 2026-07-21, and the repository received a push on 2026-08-26. The 530 open GitHub items include issues and pull requests, so the number should not be read as 530 bugs. Recent work includes digest checks for cached images, validation around WSL2 guest addresses, restrictions on remote-template file references, and careful security review labels on networking and block-device changes.

The project is a CNCF incubating project under Apache 2.0. Its main README is brief, while the documentation site carries host, driver, template, network, mount, and configuration detail. That split keeps the front page readable, though anyone operating more than the default instance needs the site open during setup. Contribution rules require signed-off commits through the Developer Certificate of Origin.

Lima is the right layer when you need to shape the Linux VM instead of merely asking for containers. Our build result was clean, but the 58-to-31 test split at d98d51e prevents an unqualified contributor recommendation. Application developers should start with Colima or Finch, then drop down to Lima when a template, driver, mount, or provisioning requirement gives them a reason.

Alternatives

ProjectWhat it isPick it when
ColimaA smaller macOS container runtime experience built on Lima.pick this instead when you want Docker or Kubernetes locally and do not need to manage Lima templates directly.
FinchA command-line container development tool that also uses Lima on macOS.pick this instead when you want a packaged container workflow with fewer VM-level decisions.
MultipassA cross-platform tool for launching Ubuntu virtual machines from a concise CLI.pick this instead when general Ubuntu VMs matter more than Lima's container templates and file-sharing model.

What people are saying

  1. [velocity-scout] lima-vm/lima

Sources

  1. Lima repository README
  2. Lima repository facts
  3. Lima v2.2.0 release
  4. Guest socket forwarding issue
  5. Writable virtiofs issue
  6. Suspend and resume issue

More dev tools reviews

workmux · v2rayNG · SecLists · hashcat · eslint · fastfetch · the whole board →