abiosoft/colima · error

minimum Lima version supported is %s, current version is %s

Error message

minimum Lima version supported is %s, current version is %s

What it means

Thrown by core.LimaVersionSupported when the installed limactl is older than the hard minimum baked into core/core.go (const limaVersion = "v0.18.0"). The function runs `limactl info`, decodes the version field, strips any pre-release suffix (versions like 0.22.0-dev, and literal HEAD builds, only get a warning and pass), then does a semver compare. If min > current, startup aborts with this error.

Source

Thrown at core/core.go:79

	// remove pre-release hyphen
	parts := strings.SplitN(values.Version, "-", 2)
	if len(parts) > 0 {
		values.Version = parts[0]
	}

	if parts[0] == "HEAD" {
		logrus.Warnf("to avoid compatibility issues, ensure lima development version (%s) in use is not lower than %s", values.Version, limaVersion)
		return nil
	}

	min := semver.New(strings.TrimPrefix(limaVersion, "v"))
	current, err := semver.NewVersion(strings.TrimPrefix(values.Version, "v"))
	if err != nil {
		return fmt.Errorf("invalid semver version for Lima: %w", err)
	}

	if min.Compare(*current) > 0 {
		return fmt.Errorf("minimum Lima version supported is %s, current version is %s", limaVersion, values.Version)
	}

	return nil
}

View on GitHub (pinned to c3a5f9184d)

Solutions

  1. brew upgrade lima (or brew reinstall lima) so `limactl info` reports >= v0.18.0
  2. run `which -a limactl` and remove or re-order stale limactl binaries in PATH
  3. reinstall colima itself (brew reinstall colima) so the bundled lima matches its expectations
  4. verify with `limactl info` that the version field satisfies the minimum before re-running colima start

Example fix

// before
$ limactl info | grep '"version"'
  "version": "0.17.2"
$ colima start
error: minimum Lima version supported is v0.18.0, current version is 0.17.2

// after
$ brew upgrade lima
$ limactl info | grep '"version"'
  "version": "1.2.0"
$ colima start   # succeeds
Defensive patterns

Strategy: validation

Validate before calling

out, err := exec.Command("limactl", "info").Output()
if err != nil { /* limactl missing — different failure mode */ }
var info struct{ Version string `json:"version"` }
_ = json.Unmarshal(out, &info)
v := strings.TrimPrefix(strings.SplitN(info.Version, "-", 2)[0], "v")
if info.Version == "HEAD" || strings.SplitN(info.Version, "-", 2)[0] == "HEAD" {
    return // dev build: only warned, allowed
}
if semver.New(v) == nil || semver.New("0.18.0").Compare(*semver.New(v)) > 0 {
    return fmt.Errorf("upgrade lima first: brew upgrade lima (need >= v0.18.0, have %s)", info.Version)
}

Type guard

func isMinLimaVersionErr(err error) bool {
	return err != nil && strings.Contains(err.Error(), "minimum Lima version supported is")
}

Try / catch

if err := core.LimaVersionSupported(); err != nil {
    switch {
    case strings.Contains(err.Error(), "error checking Lima version"):
        // limactl not found / not executable — fix PATH or install lima
    case strings.Contains(err.Error(), "minimum Lima version supported"):
        // version too old — upgrade lima, do not retry with same binary
    default:
        // decode error or invalid semver — inspect limactl info output manually
    }
}

Prevention

When it happens

Trigger: `limactl info` reports a version strictly below 0.18.0 (e.g. 0.17.2); an old limactl earlier in $PATH shadows a newer one; colima was upgraded to a build requiring newer lima but the lima formula/binary was not.

Common situations: brew upgrade colima outpacing a pinned/old `lima` formula; multiple lima installs (homebrew limactl vs /Applications/lima vs colima-bundled lima) fighting over PATH; CI images caching an outdated lima; deliberate downgrades of lima.

Related errors


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