lima-vm/lima · error
vmOpts.vz.diskImageFormat=%#q requires macOS 26 or higher to
Error message
vmOpts.vz.diskImageFormat=%#q requires macOS 26 or higher to run, got %#q
What it means
The ASIF (Apple Sparse Image Format) disk image format is only supported by Virtualization.framework on macOS 26 (Tahoe) or later. validateConfig checks the running macOS product version and refuses a `vmOpts.vz.diskImageFormat: asif` configuration on older macOS releases.
Source
Thrown at pkg/driver/vz/vz_driver_darwin.go:353
case "vz", "default", "none":
default:
logrus.Warnf("field `audio.device` must be `vz`, `default`, or `none` for VZ driver, got %#q", audioDevice)
}
switch videoDisplay := *cfg.Video.Display; videoDisplay {
case "vz", "default", "none":
default:
logrus.Warnf("field `video.display` must be `vz`, `default`, or `none` for VZ driver , got %#q", videoDisplay)
}
var vzOpts limatype.VZOpts
if err := limayaml.Convert(cfg.VMOpts[limatype.VZ], &vzOpts, "vmOpts.vz"); err != nil {
logrus.WithError(err).Warnf("Couldn't convert %#q", cfg.VMOpts[limatype.VZ])
}
switch *vzOpts.DiskImageFormat {
case raw.Type:
case asif.Type:
if macOSProductVersion.LessThan(*semver.New("26.0.0")) {
return fmt.Errorf("vmOpts.vz.diskImageFormat=%#q requires macOS 26 or higher to run, got %#q", asif.Type, macOSProductVersion)
}
default:
return fmt.Errorf("field `vmOpts.vz.diskImageFormat` must be %#q or %#q, got %#q", raw.Type, asif.Type, *vzOpts.DiskImageFormat)
}
return nil
}
func (l *LimaVzDriver) Create(_ context.Context) error {
identifierFile := filepath.Join(l.Instance.Dir, filenames.VzIdentifier)
if *l.Instance.Config.OS == limatype.DARWIN {
_, err := getMacMachineIdentifier(identifierFile)
return err
}
_, err := getGenericMachineIdentifier(identifierFile)
return err
}
func (l *LimaVzDriver) CreateDisk(ctx context.Context) error {View on GitHub (pinned to dd909d0973)
Solutions
- Upgrade the host to macOS 26 or later
- Remove the diskImageFormat option (defaults to raw)
- Set `vmOpts.vz.diskImageFormat: raw`
Example fix
# before
vmOpts:
vz:
diskImageFormat: asif
# after
vmOpts:
vz:
diskImageFormat: raw Defensive patterns
Strategy: validation
Validate before calling
v, err := osutil.ProductVersion() // or sw_vers on the host
if err == nil && v.LessThan(*semver.New("26.0.0")) {
// ensure vmOpts.vz.diskImageFormat != "asif" before starting
} Type guard
func asifSupported(macVer string) bool {
v := semver.MustParse(macVer)
return !v.LessThan(semver.MustParse("26.0.0"))
} Prevention
- Use asif only on macOS 26+ hosts
- Omit diskImageFormat to accept the raw default
- Gate asif in shared templates with a macOS version condition
When it happens
Trigger: Setting `vmOpts: vz: diskImageFormat: asif` in the instance config and running `limactl start` (or validate) on macOS < 26, where `osutil.ProductVersion()` is less than 26.0.0.
Common situations: Adopting the new asif format recommended for newer Limas while still running macOS 13-15; sharing a lima.yaml from a macOS 26 machine to an older Mac.
Related errors
- field `vmOpts.vz.diskImageFormat` must be %#q or %#q, got %#
- unsupported disk format for macOS guest: %s
- vz driver requires macOS 13 or higher to run: %w
- nested virtualization requires macOS 15 or newer
- failed to create virtio sound device configuration: %w
AI-assisted analysis of lima-vm/lima@dd909d0973 (2026-09-01).
Data as JSON: /api/errors/f12ec41bd51de317.
Report an issue: GitHub.