{"record":{"id":"e98257a225ccd9b4","repo":"lima-vm/lima","slug":"invalid-network-spec-v","errorCode":null,"errorMessage":"invalid network spec %+v","messagePattern":"invalid network spec %\\+v","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/driver/krunkit/krunkit_darwin_arm64.go","lineNumber":162,"sourceCode":"\t\t\t\tif err != nil {\n\t\t\t\t\treturn nil, err\n\t\t\t\t}\n\t\t\t\tmac = limayaml.MACAddress(inst.Dir)\n\t\t\tcase networks.ModeShared, networks.ModeBridged:\n\t\t\t\tsocketVMNetInstalled, err := nwCfg.IsDaemonInstalled(networks.SocketVMNet)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn nil, err\n\t\t\t\t}\n\t\t\t\tif !socketVMNetInstalled {\n\t\t\t\t\treturn nil, errors.New(\"socket_vmnet is not installed\")\n\t\t\t\t}\n\t\t\t\tsock, err = networks.Sock(nw.Lima)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn nil, err\n\t\t\t\t}\n\t\t\t\tmac = nw.MACAddress\n\t\t\tdefault:\n\t\t\t\treturn nil, fmt.Errorf(\"invalid network spec %+v\", nw)\n\t\t\t}\n\t\t} else if nw.Socket != \"\" {\n\t\t\tsock = nw.Socket\n\t\t\tmac = nw.MACAddress\n\t\t} else {\n\t\t\treturn nil, fmt.Errorf(\"invalid network spec %+v\", nw)\n\t\t}\n\n\t\tdevice := fmt.Sprintf(\"virtio-net,type=unixstream,path=%s,mac=%s\", sock, mac)\n\t\targs = append(args, \"--device\", device)\n\t}\n\n\tif len(args) == 0 {\n\t\treturn args, errors.New(\"no socket_vmnet networks defined\")\n\t}\n\n\treturn args, nil\n}","sourceCodeStart":144,"sourceCodeEnd":180,"githubUrl":"https://github.com/lima-vm/lima/blob/dd909d0973cd84fa35f9e1693181b4585ea616c1/pkg/driver/krunkit/krunkit_darwin_arm64.go#L144-L180","documentation":"When a networks entry has a non-empty `lima:` name, buildNetworkArgs only accepts the modes `user-v2`, `shared`, or `bridged`. Any other value (e.g. a custom network name from networks.yaml or a typo like `host`) hits the switch's default case and returns `invalid network spec {nw}`. krunkit does not support qemu-style named socket_vmnet networks beyond those modes.","triggerScenarios":"Instance config contains `networks: [{lima: <something-other-than user-v2/shared/bridged>}]` — e.g. a custom named network defined in networks.yaml, or a misspelled mode — while starting with the krunkit driver.","commonSituations":"Porting an instance config that worked under the qemu driver (which supports arbitrary named networks) to krunkit; typos like `lima: Share` or `lima: bridged-v2`; config generators emitting network group names.","solutions":["Change the entry to a supported mode: `lima: shared`, `lima: bridged`, or `lima: user-v2`.","If you need a custom named network, remove it for krunkit instances or use vz/qemu driver instead.","Fix typos in the `lima:` value in lima.yaml.","If a socket is available, replace with `socket: /path/to/sock` form, which krunkit accepts."],"exampleFix":"# before\nnetworks:\n  - lima: mycustomnet\n# after\nnetworks:\n  - lima: user-v2\n# or\nnetworks:\n  - socket: /Users/me/net.sock","handlingStrategy":"validation","validationCode":"// Go: validate lima mode before writing config\nvar allowed = map[string]bool{\"user-v2\": true, \"shared\": true, \"bridged\": true}\nif !allowed[nw.Lima] && nw.Socket == \"\" {\n    return fmt.Errorf(\"mode %q unsupported by krunkit driver\", nw.Lima)\n}","typeGuard":"func isKrunkitCompatibleNetwork(nw Network) bool {\n    switch nw.Lima {\n    case \"user-v2\", \"shared\", \"bridged\":\n        return true\n    case \"\":\n        return nw.Socket != \"\"\n    default:\n        return false\n    }\n}","tryCatchPattern":"if err := inst.Start(ctx); err != nil {\n    if strings.Contains(err.Error(), \"invalid network spec\") {\n        log.Error(\"fix networks entry in lima.yaml: use user-v2/shared/bridged or socket\")\n    }\n    return err\n}","preventionTips":["Restrict krunkit instance configs to user-v2/shared/bridged modes","Do not reuse qemu-oriented named-network configs with krunkit","Lint lima.yaml network modes in CI","Use socket entries only with valid unix socket paths"],"tags":["krunkit","network","config-validation","macos"],"backgroundTag":"invalid-network-spec","analyzedSha":"dd909d0973cd84fa35f9e1693181b4585ea616c1","analyzedAt":"2026-09-01T14:24:59.842Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T15:18:49.778Z"}