lima-vm/lima · error
unknown or unsupported VM type: %s
Error message
unknown or unsupported VM type: %s
What it means
InspectStatus found a non-nil VMType but the driver registry has no entry for it — neither an external driver binary nor a built-in implementation. This is the runtime counterpart of the ResolveVMType validation error: the config resolved earlier (or was written directly) with a type no driver serves in this build.
Source
Thrown at pkg/driverutil/vm.go:53
}
// Also accept external drivers discovered in the registry.
_, _, exists := registry.Get(*y.VMType)
if !exists {
return fmt.Errorf("vmType %#q is not a registered driver", *y.VMType)
}
return nil
}
func InspectStatus(ctx context.Context, inst *limatype.Instance) (string, error) {
if inst == nil || inst.Config == nil || inst.Config.VMType == nil {
return "", errors.New("instance or its configuration is not properly initialized")
}
extDriver, intDriver, exists := registry.Get(*inst.Config.VMType)
if !exists {
return "", fmt.Errorf("unknown or unsupported VM type: %s", *inst.Config.VMType)
}
if extDriver != nil {
status, err := handleInspectStatusAction(ctx, inst, extDriver.Path)
if err != nil {
extDriver.Logger.Errorf("Failed to inspect status for instance %#q: %v", inst.Name, err)
return "", err
}
extDriver.Logger.Debugf("Instance %#q inspected successfully with status: %s", inst.Name, inst.Status)
return status, nil
}
return intDriver.InspectStatus(ctx, inst), nil
}
func handleInspectStatusAction(ctx context.Context, inst *limatype.Instance, extDriverPath string) (string, error) {
cmd := exec.CommandContext(ctx, extDriverPath, "--inspect-status")
View on GitHub (pinned to dd909d0973)
Solutions
- Reinstall the external driver that used to provide this vmType, then retry `limactl inspect-status`/list
- Edit ~/.lima/<instance>/lima.yaml and change vmType to a driver available in the current build (only if the disk format is compatible)
- Use the same Lima version that created the instance
- Delete and recreate the instance with a supported vmType
Example fix
// before: vmType: "vz" on a Linux build without VZ // after vmType: "qemu"
Defensive patterns
Strategy: validation
Validate before calling
if inst != nil && inst.Config != nil && inst.Config.VMType != nil {
if _, _, ok := registry.Get(*inst.Config.VMType); !ok {
return fmt.Errorf("driver %q not installed; install it or recreate the instance", *inst.Config.VMType)
}
} Type guard
func hasDriverFor(inst *limatype.Instance) bool {
if inst == nil || inst.Config == nil || inst.Config.VMType == nil {
return false
}
_, _, ok := registry.Get(*inst.Config.VMType)
return ok
} Try / catch
status, err := driverutil.InspectStatus(ctx, inst)
if err != nil {
if strings.Contains(err.Error(), "unknown or unsupported VM type") {
// treat as "uninspectable" and prompt to reinstall driver
}
return err
} Prevention
- Use the same Lima build/plugins that created an instance
- Don't remove external drivers while instances using them exist
- Pin tool versions in environments where plugins are managed separately
When it happens
Trigger: Calling InspectStatus on an instance whose stored lima.yaml contains a vmType absent from limatype.VMTypes and registry.Get — e.g. instance created by a Lima build with an external driver that is no longer installed, or a typo introduced via limactl edit.
Common situations: External driver uninstalled/upgraded after instance creation; switching between Lima builds (one with a plugin, one without); editing lima.yaml by hand to an unsupported value; downgrading Lima.
Related errors
- unknown or unsupported VM type: %s
- instance %#q is stopped, run `limactl start %s` to start the
- vmType %#q is not a registered driver
- instance or its configuration is not properly initialized
- failed to create driver instance: %w
AI-assisted analysis of lima-vm/lima@dd909d0973 (2026-09-01).
Data as JSON: /api/errors/a9c981c5dbc4a3e5.
Report an issue: GitHub.