{"record":{"id":"5e1a1134aae2dd81","repo":"abiosoft/colima","slug":"cannot-use-diskimage-remote-urls-not-supported-o","errorCode":null,"errorMessage":"cannot use diskImage: remote URLs not supported, only local files can be specified","messagePattern":"cannot use diskImage: remote URLs not supported, only local files can be specified","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"config/configmanager/configmanager.go","lineNumber":87,"sourceCode":"\t\treturn fmt.Errorf(\"vmType 'krunkit' is only available on macOS with Apple Silicon\")\n\t}\n\tif _, ok := validVMTypes[c.VMType]; !ok {\n\t\treturn fmt.Errorf(\"invalid vmType: '%s'\", c.VMType)\n\t}\n\tif c.VMType == \"qemu\" {\n\t\tif err := util.AssertQemuImg(); err != nil {\n\t\t\treturn fmt.Errorf(\"cannot use vmType: '%s', error: %w\", c.VMType, err)\n\t\t}\n\t}\n\tif c.VMType == \"krunkit\" {\n\t\tif err := util.AssertKrunkit(); err != nil {\n\t\t\treturn fmt.Errorf(\"cannot use vmType: '%s', error: %w\", c.VMType, err)\n\t\t}\n\t}\n\n\tif c.DiskImage != \"\" {\n\t\tif strings.HasPrefix(c.DiskImage, \"http://\") || strings.HasPrefix(c.DiskImage, \"https://\") {\n\t\t\treturn fmt.Errorf(\"cannot use diskImage: remote URLs not supported, only local files can be specified\")\n\t\t}\n\t}\n\n\tif _, ok := validPortForwarders[c.PortForwarder]; !ok {\n\t\treturn fmt.Errorf(\"invalid port forwarder: '%s'\", c.PortForwarder)\n\t}\n\n\tif c.Network.GatewayAddress != nil {\n\t\tif err := validateGatewayAddress(c.Network.GatewayAddress); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\tif err := validateMounts(c.Mounts); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil","sourceCodeStart":69,"sourceCodeEnd":105,"githubUrl":"https://github.com/abiosoft/colima/blob/c3a5f9184d83a197184f897a9f07eb3c01b3bc88/config/configmanager/configmanager.go#L69-L105","documentation":"ValidateConfig rejects a diskImage value that starts with http:// or https://. The check is a plain strings.HasPrefix test; colima's image pipeline only handles local files, so remote URLs must be downloaded by the user before being referenced.","triggerScenarios":"Setting diskImage to a remote URL in colima.yaml or passing 'colima start --disk-image=https://...' with any http/https prefixed string.","commonSituations":"Pointing at a cloud image (e.g. an Ubuntu cloud img URL) expecting colima to fetch it; migrating from tooling that accepts URLs for base images; pasting a URL where a local path was intended.","solutions":["Download the image first (curl -LO <url>) and set diskImage to the absolute local path","Prefer omitting diskImage entirely to use colima's default image workflow","Confirm the local path exists and is readable before starting"],"exampleFix":"# before\ndiskImage: https://cloud-images.ubuntu.com/jammy/jammy-server-cloudimg-arm64.img\n\n# after\ncurl -LO https://cloud-images.ubuntu.com/jammy/jammy-server-cloudimg-arm64.img\ndiskImage: /Users/me/Downloads/jammy-server-cloudimg-arm64.img","handlingStrategy":"validation","validationCode":"if strings.HasPrefix(c.DiskImage, \"http://\") || strings.HasPrefix(c.DiskImage, \"https://\") {\n    // download to a local path first, e.g. curl -LO, then set c.DiskImage to the file\n}","typeGuard":null,"tryCatchPattern":"if err := configmanager.ValidateConfig(c); err != nil {\n    if strings.Contains(err.Error(), \"remote URLs not supported\") {\n        // fetch the image locally and point diskImage at the file\n    }\n}","preventionTips":["Pre-download images into a stable local directory referenced by config","Prefer omitting diskImage unless a custom local image is truly needed","Automate image fetches in provisioning scripts, not in colima config"],"tags":["config","validation","disk-image","urls"],"backgroundTag":null,"analyzedSha":"c3a5f9184d83a197184f897a9f07eb3c01b3bc88","analyzedAt":"2026-08-15T18:58:08.334Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}