{"record":{"id":"62bc9d49f09bc94b","repo":"abiosoft/colima","slug":"lima-compatibility-error-w","errorCode":null,"errorMessage":"lima compatibility error: %w","messagePattern":"lima compatibility error: %w","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/start.go","lineNumber":92,"sourceCode":"\t\t}\n\n\t\tif app.Active() {\n\t\t\tif !cli.Prompt(\"colima is currently running, restart to apply changes\") {\n\t\t\t\treturn nil\n\t\t\t}\n\t\t\tif err := app.Stop(false); err != nil {\n\t\t\t\treturn fmt.Errorf(\"error stopping :%w\", err)\n\t\t\t}\n\t\t\t// pause before startup to prevent race condition\n\t\t\ttime.Sleep(time.Second * 3)\n\t\t}\n\n\t\treturn start(app, conf)\n\t},\n\tPreRunE: func(cmd *cobra.Command, args []string) error {\n\t\t// validate Lima version\n\t\tif err := core.LimaVersionSupported(); err != nil {\n\t\t\treturn fmt.Errorf(\"lima compatibility error: %w\", err)\n\t\t}\n\n\t\t// combine args and current config file(if any)\n\t\tprepareConfig(cmd)\n\n\t\t// validate config\n\t\tif err := configmanager.ValidateConfig(startCmdArgs.Config); err != nil {\n\t\t\treturn fmt.Errorf(\"error in config: %w\", err)\n\t\t}\n\n\t\t// persist in preparation for application start\n\t\tif startCmdArgs.Flags.SaveConfig {\n\t\t\tif err := configmanager.Save(startCmdArgs.Config); err != nil {\n\t\t\t\treturn fmt.Errorf(\"error preparing config file: %w\", err)\n\t\t\t}\n\t\t}\n\n\t\t// validate and set downloader if flag is specified (takes precedence over env var)","sourceCodeStart":74,"sourceCodeEnd":110,"githubUrl":"https://github.com/abiosoft/colima/blob/c3a5f9184d83a197184f897a9f07eb3c01b3bc88/cmd/start.go#L74-L110","documentation":"PreRunE gate of `colima start`: core.LimaVersionSupported() shells out to `limactl info`, decodes its JSON, and compares the version against colima's minimum supported Lima release. The wrapped error is one of: limactl missing/not executable ('error checking Lima version'), unparseable output ('error decoding limactl info json'), or an unsupported (too old) Lima version.","triggerScenarios":"`colima start` on a machine where limactl is not in PATH; lima installed but older than the version colima was built against; limactl printing unexpected output (broken install); colima upgraded via brew without its lima dependency.","commonSituations":"Fresh machine with colima but no lima; partial brew upgrade where colima moved ahead of lima; Nix/manual installs with stale limactl on PATH; development lima builds (HEAD) are allowed through with only a warning.","solutions":["Check what happened: `limactl info` — if 'command not found', install lima","Upgrade lima to colima's minimum: `brew upgrade lima` (colima's brew formula pins a matching lima)","If installed outside brew, ensure the limactl binary dir is on PATH and its version >= the version referenced in core.LimaVersionSupported","Reinstall colima so its lima dependency resolves: `brew reinstall colima`"],"exampleFix":"# before\n$ colima start\nError: lima compatibility error: error checking Lima version: exec: \"limactl\": executable file not found in $PATH\n\n# after\n$ brew install lima   # or: brew upgrade lima\n$ colima start","handlingStrategy":"validation","validationCode":"// Pre-flight the exact check colima performs in PreRunE\nif _, err := exec.LookPath(\"limactl\"); err != nil {\n    log.Fatal(\"limactl not found in PATH; install/upgrade lima first\")\n}\nout, err := exec.Command(\"limactl\", \"info\").Output()\nif err != nil {\n    log.Fatalf(\"limactl info failed: %v\", err)\n}\nvar info struct{ Version string `json:\"version\"` }\nif err := json.Unmarshal(out, &info); err != nil {\n    log.Fatalf(\"unexpected limactl output: %v\", err)\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Install colima via brew so its lima dependency is upgraded atomically","Pin both packages together in Nix/devshell configs","After any upgrade, smoke-test with `limactl info` before starting workflows"],"tags":["version-check","lima","dependency","pre-run"],"backgroundTag":null,"analyzedSha":"c3a5f9184d83a197184f897a9f07eb3c01b3bc88","analyzedAt":"2026-08-15T18:58:08.334Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}