lima-vm/lima · error
field `tpm` is not supported in krunkit driver
Error message
field `tpm` is not supported in krunkit driver
What it means
Returned when the instance YAML enables the TPM device, which the krunkit driver does not support.
Source
Thrown at pkg/driver/krunkit/krunkit_driver_darwin_arm64.go:239
return errors.New("krunkit driver requires macOS 13 or higher to run")
}
if cfg.Arch != nil && !limatype.IsNativeArch(*cfg.Arch) {
return fmt.Errorf("unsupported arch: %#q (krunkit requires native arch)", *cfg.Arch)
}
if _, err := exec.LookPath(vmType); err != nil {
return errors.New("krunkit CLI not found in PATH. Install it via:\nbrew tap slp/krun\nbrew install krunkit")
}
// Also check if krunkit version >= 1.2.1 because of the vsock forwarder feature
if err := checkKrunkitVersion(); err != nil {
return err
}
if cfg.MountType != nil && (*cfg.MountType != limatype.VIRTIOFS && *cfg.MountType != limatype.REVSSHFS) {
return fmt.Errorf("field `mountType` must be %#q or %#q for krunkit driver, got %#q", limatype.VIRTIOFS, limatype.REVSSHFS, *cfg.MountType)
}
if cfg.TPM != nil && *cfg.TPM {
return errors.New("field `tpm` is not supported in krunkit driver")
}
if cfg.NestedVirtualization != nil && *cfg.NestedVirtualization {
if macOSProductVersion.LessThan(*semver.New("15.0.0")) {
return errors.New("nested virtualization requires macOS 15 or newer")
}
}
if cfg.OS != nil && *cfg.OS == limatype.WINDOWS {
return errors.New("currently Windows guest OS is only supported on QEMU")
}
return nil
}
func isFedoraConfigured(cfg *limatype.LimaYAML) bool {
for _, b := range cfg.Base {
if strings.Contains(strings.ToLower(b.URL), "fedora") {View on GitHub (pinned to dd909d0973)
Solutions
- Disable the `tpm` field in the instance config
- Switch to the QEMU driver if TPM is required
Example fix
// before (lima.yaml) tp: true // after tp: false
Defensive patterns
Strategy: validation
Validate before calling
if cfg["tpm"] == true && cfg["vmType"] == "krunkit" {
return errors.New("tpm is unsupported on krunkit; use vmType vz")
} Prevention
- Leave `tpm` unset/false for krunkit instances
- Use vz driver when TPM features are required
- Validate configs before start
When it happens
Trigger: Setting `tpm: true` in lima.yaml while vmType is krunkit, then validating or starting the instance.
Common situations: Configs written for the vz driver (which supports TPM) reused with krunkit; enabling TPM for Windows guests that krunkit cannot host anyway.
Related errors
- invalid network spec %+v
- field `mountType` must be %#q or %#q for krunkit driver, got
- currently Windows guest OS is only supported on QEMU
- field `tpm` is not supported on VZ driver
- field `tpm` is not supported on WSL2 driver
AI-assisted analysis of lima-vm/lima@dd909d0973 (2026-09-01).
Data as JSON: /api/errors/a922ea8037de2324.
Report an issue: GitHub.