{"record":{"id":"0fe4a9f08aed1f0f","repo":"abiosoft/colima","slug":"minimum-lima-version-supported-is-s-current-vers","errorCode":null,"errorMessage":"minimum Lima version supported is %s, current version is %s","messagePattern":"minimum Lima version supported is (.+?), current version is (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"core/core.go","lineNumber":79,"sourceCode":"\t// remove pre-release hyphen\n\tparts := strings.SplitN(values.Version, \"-\", 2)\n\tif len(parts) > 0 {\n\t\tvalues.Version = parts[0]\n\t}\n\n\tif parts[0] == \"HEAD\" {\n\t\tlogrus.Warnf(\"to avoid compatibility issues, ensure lima development version (%s) in use is not lower than %s\", values.Version, limaVersion)\n\t\treturn nil\n\t}\n\n\tmin := semver.New(strings.TrimPrefix(limaVersion, \"v\"))\n\tcurrent, err := semver.NewVersion(strings.TrimPrefix(values.Version, \"v\"))\n\tif err != nil {\n\t\treturn fmt.Errorf(\"invalid semver version for Lima: %w\", err)\n\t}\n\n\tif min.Compare(*current) > 0 {\n\t\treturn fmt.Errorf(\"minimum Lima version supported is %s, current version is %s\", limaVersion, values.Version)\n\t}\n\n\treturn nil\n}\n","sourceCodeStart":61,"sourceCodeEnd":84,"githubUrl":"https://github.com/abiosoft/colima/blob/c3a5f9184d83a197184f897a9f07eb3c01b3bc88/core/core.go#L61-L84","documentation":"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.","triggerScenarios":"`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.","commonSituations":"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.","solutions":["brew upgrade lima (or brew reinstall lima) so `limactl info` reports >= v0.18.0","run `which -a limactl` and remove or re-order stale limactl binaries in PATH","reinstall colima itself (brew reinstall colima) so the bundled lima matches its expectations","verify with `limactl info` that the version field satisfies the minimum before re-running colima start"],"exampleFix":"// before\n$ limactl info | grep '\"version\"'\n  \"version\": \"0.17.2\"\n$ colima start\nerror: minimum Lima version supported is v0.18.0, current version is 0.17.2\n\n// after\n$ brew upgrade lima\n$ limactl info | grep '\"version\"'\n  \"version\": \"1.2.0\"\n$ colima start   # succeeds","handlingStrategy":"validation","validationCode":"out, err := exec.Command(\"limactl\", \"info\").Output()\nif err != nil { /* limactl missing — different failure mode */ }\nvar info struct{ Version string `json:\"version\"` }\n_ = json.Unmarshal(out, &info)\nv := strings.TrimPrefix(strings.SplitN(info.Version, \"-\", 2)[0], \"v\")\nif info.Version == \"HEAD\" || strings.SplitN(info.Version, \"-\", 2)[0] == \"HEAD\" {\n    return // dev build: only warned, allowed\n}\nif semver.New(v) == nil || semver.New(\"0.18.0\").Compare(*semver.New(v)) > 0 {\n    return fmt.Errorf(\"upgrade lima first: brew upgrade lima (need >= v0.18.0, have %s)\", info.Version)\n}","typeGuard":"func isMinLimaVersionErr(err error) bool {\n\treturn err != nil && strings.Contains(err.Error(), \"minimum Lima version supported is\")\n}","tryCatchPattern":"if err := core.LimaVersionSupported(); err != nil {\n    switch {\n    case strings.Contains(err.Error(), \"error checking Lima version\"):\n        // limactl not found / not executable — fix PATH or install lima\n    case strings.Contains(err.Error(), \"minimum Lima version supported\"):\n        // version too old — upgrade lima, do not retry with same binary\n    default:\n        // decode error or invalid semver — inspect limactl info output manually\n    }\n}","preventionTips":["upgrade colima and lima together (brew upgrade colima lima) so the pair stays matched","keep exactly one limactl on PATH; check `which -a limactl` after installing tools that bundle lima","pin CI images to a colima+lima version pair known to work","run `limactl info` in health checks to catch drift before colima start"],"tags":["lima","version-check","dependencies","startup"],"backgroundTag":null,"analyzedSha":"c3a5f9184d83a197184f897a9f07eb3c01b3bc88","analyzedAt":"2026-08-15T18:58:08.334Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}