{"record":{"id":"e86059997f1e3913","repo":"abiosoft/colima","slug":"colima-model-requires-krunkit-vm-type-for-gpu-ac","errorCode":null,"errorMessage":"'colima model' requires krunkit VM type for GPU access, current VM type is %s\nStart colima with: colima start --runtime docker --vm-type krunkit","messagePattern":"'colima model' requires krunkit VM type for GPU access, current VM type is (.+?)\nStart colima with: colima start --runtime docker --vm-type krunkit","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"model/runner.go","lineNumber":106,"sourceCode":"\t}\n\n\t// check runtime is docker\n\tr, err := a.Runtime()\n\tif err != nil {\n\t\treturn err\n\t}\n\tif r != docker.Name {\n\t\treturn fmt.Errorf(\"'colima model' requires docker runtime, current runtime is %s\\n\"+\n\t\t\t\"Start colima with: colima start --runtime docker --vm-type krunkit\", r)\n\t}\n\n\t// check VM type is krunkit (required for GPU access)\n\tconf, err := configmanager.LoadInstance()\n\tif err != nil {\n\t\treturn fmt.Errorf(\"error loading instance config: %w\", err)\n\t}\n\tif conf.VMType != limaconfig.Krunkit {\n\t\treturn fmt.Errorf(\"'colima model' requires krunkit VM type for GPU access, current VM type is %s\\n\"+\n\t\t\t\"Start colima with: colima start --runtime docker --vm-type krunkit\", conf.VMType)\n\t}\n\n\t// check krunkit binary exists on host\n\tif err := util.AssertKrunkit(); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n\n// dockerRunner implements Runner for Docker Model Runner.\ntype dockerRunner struct{}\n\nfunc (d *dockerRunner) Name() RunnerType {\n\treturn RunnerDocker\n}\n","sourceCodeStart":88,"sourceCodeEnd":124,"githubUrl":"https://github.com/abiosoft/colima/blob/c3a5f9184d83a197184f897a9f07eb3c01b3bc88/model/runner.go#L88-L124","documentation":"GPU access for AI models is only wired up for the krunkit VM type; the loaded instance config reported a different VMType (vz, qemu, ...). VM type is fixed when the VM is created/started, so the only remedy is restarting with the command embedded in the message.","triggerScenarios":"A default colima start (vz on macOS, qemu elsewhere) or an explicit --vm-type vz/qemu profile, followed by any colima model command.","commonSituations":"Long-lived profiles created before model support existed; users unaware that model GPU passthrough requires krunkit.","solutions":["Restart as instructed: colima stop && colima start --runtime docker --vm-type krunkit — also make sure the krunkit binary is present, the very next check (util.AssertKrunkit) enforces it","Verify with colima status that the VM type took effect","If krunkit is unavailable on your platform, model commands cannot be used on that machine"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// surface the requirement before user-visible work begins\nconf, err := configmanager.LoadInstance()\nif err == nil && conf.VMType != limaconfig.Krunkit {\n\treturn fmt.Errorf(\"restart required: colima start --runtime docker --vm-type krunkit\")\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Create model-oriented profiles with --runtime docker --vm-type krunkit from day one","Install and verify krunkit before enabling model workflows"],"tags":["vm-type","gpu","configuration","krunkit","go"],"backgroundTag":null,"analyzedSha":"c3a5f9184d83a197184f897a9f07eb3c01b3bc88","analyzedAt":"2026-08-15T18:58:08.334Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}