{"record":{"id":"d5ddd09bbae53c90","repo":"abiosoft/colima","slug":"s-cannot-be-updated-after-initial-setup-disca","errorCode":null,"errorMessage":"' %s' cannot be updated after initial setup, discarded","messagePattern":"' (.+?)' cannot be updated after initial setup, discarded","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"cmd/start.go","lineNumber":432,"sourceCode":"\n\tif conf.Hostname == \"\" {\n\t\tconf.Hostname = config.CurrentProfile().ID\n\t}\n\n\tif conf.PortForwarder == \"\" {\n\t\tconf.PortForwarder = \"ssh\"\n\t}\n}\n\nfunc setFixedConfigs(conf *config.Config) {\n\tfixedConf, err := configmanager.LoadFrom(config.CurrentProfile().StateFile())\n\tif err != nil {\n\t\treturn\n\t}\n\n\twarnIfNotEqual := func(name, newVal, fixedVal string) {\n\t\tif newVal != fixedVal {\n\t\t\tlog.Warnln(fmt.Errorf(\"'%s' cannot be updated after initial setup, discarded\", name))\n\t\t}\n\t}\n\n\t// override the fixed configs\n\t// arch, vmType, mountType, runtime are fixed and cannot be changed\n\tif fixedConf.Arch != \"\" {\n\t\twarnIfNotEqual(\"architecture\", conf.Arch, fixedConf.Arch)\n\t\tconf.Arch = fixedConf.Arch\n\t}\n\tif fixedConf.VMType != \"\" {\n\t\twarnIfNotEqual(\"virtual machine type\", conf.VMType, fixedConf.VMType)\n\t\tconf.VMType = fixedConf.VMType\n\t}\n\tif fixedConf.Runtime != \"\" {\n\t\twarnIfNotEqual(\"runtime\", conf.Runtime, fixedConf.Runtime)\n\t\tconf.Runtime = fixedConf.Runtime\n\t}\n\tif fixedConf.MountType != \"\" {","sourceCodeStart":414,"sourceCodeEnd":450,"githubUrl":"https://github.com/abiosoft/colima/blob/c3a5f9184d83a197184f897a9f07eb3c01b3bc88/cmd/start.go#L414-L450","documentation":"A warning (log.Warnln, not a failure) emitted by setFixedConfigs during `colima start`: settings fixed at instance creation — architecture, vmType, mountType, runtime, and network mode/address — are read back from the profile's state file and any new value is discarded in favor of the original. The format string has a cosmetic bug: a stray space inside the quotes ('%s ...') and it interpolates only the setting name, not the old/new values.","triggerScenarios":"`colima start --arch aarch64` on an instance created as x86_64; `--vm-type vz` on a qemu instance; `--runtime docker` on a containerd instance; `--network-driver`/mode changes on an existing instance — each after initial creation.","commonSituations":"Trying to switch virtualization (qemu->vz) or architecture without recreating; scripted starts that always pass the full flag set after a config drift; users confused because the warning shows no values due to the message bug.","solutions":["Accept the warning if the original value is fine — startup proceeds with the fixed values","To actually change a fixed setting, recreate the instance: `colima delete` (or `colima delete --force`) then `colima start` with the new flags","Check what the instance was created with: `colima status` or inspect the state file under the profile's config dir","If scripting, stop passing flags that conflict with the instance's fixed settings to keep logs clean"],"exampleFix":"# before\n$ colima start --vm-type vz      # instance created as qemu\nWARN[0000] 'virtual machine type' cannot be updated after initial setup, discarded\n\n# after\n$ colima delete\n$ colima start --vm-type vz","handlingStrategy":"validation","validationCode":"// Before start, detect fixed-setting drift the way setFixedConfigs does\nfixed, err := configmanager.LoadFrom(config.CurrentProfile().StateFile())\nif err == nil && fixed.VMType != \"\" && fixed.VMType != desired.VMType {\n    log.Warnf(\"vmType is fixed to %s; recreate with `colima delete` to change it\", fixed.VMType)\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Treat architecture/vmType/mountType/runtime/network-mode as create-time only — script them once at instance creation","Inspect `colima status` before passing conflicting flags in CI","Recreate (delete + start) instead of fighting the discard warning"],"tags":["config","fixed-settings","lifecycle","warning"],"backgroundTag":null,"analyzedSha":"c3a5f9184d83a197184f897a9f07eb3c01b3bc88","analyzedAt":"2026-08-15T18:58:08.334Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}