abiosoft/colima · warning

' %s' cannot be updated after initial setup, discarded

Error message

' %s' cannot be updated after initial setup, discarded

What it means

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.

Source

Thrown at cmd/start.go:432

	if conf.Hostname == "" {
		conf.Hostname = config.CurrentProfile().ID
	}

	if conf.PortForwarder == "" {
		conf.PortForwarder = "ssh"
	}
}

func setFixedConfigs(conf *config.Config) {
	fixedConf, err := configmanager.LoadFrom(config.CurrentProfile().StateFile())
	if err != nil {
		return
	}

	warnIfNotEqual := func(name, newVal, fixedVal string) {
		if newVal != fixedVal {
			log.Warnln(fmt.Errorf("'%s' cannot be updated after initial setup, discarded", name))
		}
	}

	// override the fixed configs
	// arch, vmType, mountType, runtime are fixed and cannot be changed
	if fixedConf.Arch != "" {
		warnIfNotEqual("architecture", conf.Arch, fixedConf.Arch)
		conf.Arch = fixedConf.Arch
	}
	if fixedConf.VMType != "" {
		warnIfNotEqual("virtual machine type", conf.VMType, fixedConf.VMType)
		conf.VMType = fixedConf.VMType
	}
	if fixedConf.Runtime != "" {
		warnIfNotEqual("runtime", conf.Runtime, fixedConf.Runtime)
		conf.Runtime = fixedConf.Runtime
	}
	if fixedConf.MountType != "" {

View on GitHub (pinned to c3a5f9184d)

Solutions

  1. Accept the warning if the original value is fine — startup proceeds with the fixed values
  2. To actually change a fixed setting, recreate the instance: `colima delete` (or `colima delete --force`) then `colima start` with the new flags
  3. Check what the instance was created with: `colima status` or inspect the state file under the profile's config dir
  4. If scripting, stop passing flags that conflict with the instance's fixed settings to keep logs clean

Example fix

# before
$ colima start --vm-type vz      # instance created as qemu
WARN[0000] 'virtual machine type' cannot be updated after initial setup, discarded

# after
$ colima delete
$ colima start --vm-type vz
Defensive patterns

Strategy: validation

Validate before calling

// Before start, detect fixed-setting drift the way setFixedConfigs does
fixed, err := configmanager.LoadFrom(config.CurrentProfile().StateFile())
if err == nil && fixed.VMType != "" && fixed.VMType != desired.VMType {
    log.Warnf("vmType is fixed to %s; recreate with `colima delete` to change it", fixed.VMType)
}

Prevention

When it happens

Trigger: `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.

Common situations: 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.

Related errors


AI-assisted analysis of abiosoft/colima@c3a5f9184d (2026-08-15). Data as JSON: /api/errors/d5ddd09bbae53c90. Report an issue: GitHub.