abiosoft/colima · error

krunkit not found in $PATH\nInstall with: brew tap slp/krunk

Error message

krunkit not found in $PATH\nInstall with: brew tap slp/krunkit && brew install krunkit

What it means

AssertKrunkit (util/qemu.go:19) uses exec.LookPath("krunkit") to verify that the krunkit binary is reachable before colima starts a QEMU-type VM; it is called from model/runner.go:111 and config/configmanager/configmanager.go:80. krunkit is colima's macOS virtualization frontend for the 'qemu' VM type (Apple Silicon), distributed via the slp/krunkit Homebrew tap, not bundled with colima. The error means the binary is neither on $PATH nor installed.

Source

Thrown at util/qemu.go:21

import (
	"fmt"
	"os/exec"
)

// AssertQemuImg checks if qemu-img is available.
func AssertQemuImg() error {
	cmd := "qemu-img"
	if _, err := exec.LookPath(cmd); err != nil {
		return fmt.Errorf("%s not found, run 'brew install %s' to install", cmd, "qemu")
	}

	return nil
}

// AssertKrunkit checks if krunkit is available.
func AssertKrunkit() error {
	if _, err := exec.LookPath("krunkit"); err != nil {
		return fmt.Errorf("krunkit not found in $PATH\nInstall with: brew tap slp/krunkit && brew install krunkit")
	}

	return nil
}

View on GitHub (pinned to c3a5f9184d)

Solutions

  1. Install krunkit: `brew tap slp/krunkit && brew install krunkit`
  2. Verify visibility: `which krunkit` (should print e.g. /opt/homebrew/bin/krunkit); open a new shell or `hash -r` if empty
  3. If HOMEBREW_PREFIX is non-default, add `<prefix>/bin` to PATH
  4. Alternatively start with `colima start --vm-type vz` (macOS 13+) or `--vm-type qemu` only after krunkit is present

Example fix

# before
$ colima start --vm-type qemu
Error: krunkit not found in $PATH

# after
$ brew tap slp/krunkit && brew install krunkit
$ hash -r && which krunkit
/opt/homebrew/bin/krunkit
$ colima start --vm-type qemu
Defensive patterns

Strategy: validation

Validate before calling

// run before colima start with a qemu VM type
if _, err := exec.LookPath("krunkit"); err != nil {
    log.Fatal("krunkit missing — install: brew tap slp/krunkit && brew install krunkit")
}

Try / catch

if err := util.AssertKrunkit(); err != nil {
    // fail fast with the install hint; nothing to retry — the binary must exist
    return fmt.Errorf("pre-flight failed: %w", err)
}

Prevention

When it happens

Trigger: Running `colima start --vm-type qemu` (or resuming a saved qemu-type profile) on a host where `brew install krunkit` was never run, where krunkit was uninstalled, or where the shell's $PATH does not yet include the Homebrew prefix after a fresh install.

Common situations: New Apple Silicon machines; switching from vz back to qemu VM type; PATH not refreshed in the current shell after brew install; installing to a non-default HOMEBREW_PREFIX whose bin dir is not on PATH; CI runners without the slp/krunkit tap.

Related errors


AI-assisted analysis of abiosoft/colima@c3a5f9184d (2026-08-15). Data as JSON: /api/errors/d152e0b02a71943c. Report an issue: GitHub.