{"record":{"id":"73a032104bd0eddf","repo":"abiosoft/colima","slug":"dependency-check-failed-for-vm-w","errorCode":null,"errorMessage":"dependency check failed for VM: %w","messagePattern":"dependency check failed for VM: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"critical","filePath":"app/app.go","lineNumber":50,"sourceCode":"\tActive() bool\n\tStart(config.Config) error\n\tStop(force bool) error\n\tDelete(data, force bool) error\n\tSSH(args ...string) error\n\tStatus(extended bool, json bool) error\n\tVersion() error\n\tRuntime() (string, error)\n\tUpdate() error\n\tKubernetes() (environment.Container, error)\n}\n\nvar _ App = (*colimaApp)(nil)\n\n// New creates a new app.\nfunc New() (App, error) {\n\tguest := lima.New(host.New())\n\tif err := host.IsInstalled(guest); err != nil {\n\t\treturn nil, fmt.Errorf(\"dependency check failed for VM: %w\", err)\n\t}\n\n\treturn &colimaApp{\n\t\tguest: guest,\n\t}, nil\n}\n\ntype colimaApp struct {\n\tguest environment.VM\n}\n\nfunc (c colimaApp) startWithRuntime(conf config.Config) ([]environment.Container, error) {\n\tkubernetesEnabled := conf.Kubernetes.Enabled\n\n\t// Kubernetes can only be enabled for docker and containerd\n\tswitch conf.Runtime {\n\tcase docker.Name, containerd.Name:\n\tdefault:","sourceCodeStart":32,"sourceCodeEnd":68,"githubUrl":"https://github.com/abiosoft/colima/blob/c3a5f9184d83a197184f897a9f07eb3c01b3bc88/app/app.go#L32-L68","documentation":"Thrown by app.New() when the pre-flight dependency check on the Lima guest tooling fails. Before constructing the application, colima calls host.IsInstalled(guest) to verify the Lima/QEMU components the VM driver depends on. The wrapped error identifies exactly which dependency is missing or below the required version.","triggerScenarios":"Any CLI invocation that constructs the app via app.New() (practically every colima command) when the Lima assets are absent, incomplete, or outdated: colima upgraded while lima stayed pinned, an interrupted brew upgrade, or a standalone colima binary running without its bundled lima directory.","commonSituations":"Fresh machine without `brew install lima`; version skew between colima and lima after upgrading only one of them; colima binary extracted from a GitHub release without the lima/ assets; a stale limactl earlier on PATH shadowing the bundled toolchain.","solutions":["Run `brew update && brew upgrade colima lima` so colima and its bundled lima stay version-matched","Verify the toolchain: `limactl --version` and check that `$(brew --prefix)/bin/limactl` resolves to the brew-installed copy","If installed from a GitHub release, re-download the matching release so the lima directory sits next to the colima binary","Remove any stale/older limactl installations that shadow the bundled toolchain on PATH"],"exampleFix":"# before\ncolima start\n# error: dependency check failed for VM: ...\n\n# after\nbrew update && brew upgrade colima lima\ncolima start","handlingStrategy":"validation","validationCode":"// verify the lima toolchain colima depends on before constructing the app\nif _, err := exec.Command(\"limactl\", \"--version\").CombinedOutput(); err != nil {\n    return fmt.Errorf(\"lima toolchain missing; run `brew install lima` first: %w\", err)\n}\n// safe to call app.New() now","typeGuard":null,"tryCatchPattern":"if _, err := app.New(); err != nil {\n    if strings.Contains(err.Error(), \"dependency check failed\") {\n        // reinstall/upgrade colima+lima as a pair before any other action\n    }\n    return err\n}","preventionTips":["Upgrade colima and lima together (`brew upgrade colima lima`) to avoid version skew","Never run a colima binary without its bundled lima assets","Check `limactl --version` resolves to the brew copy before scripting colima"],"tags":["dependencies","installation","lima","vm","go"],"backgroundTag":null,"analyzedSha":"c3a5f9184d83a197184f897a9f07eb3c01b3bc88","analyzedAt":"2026-08-15T18:58:08.334Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}