abiosoft/colima · error

error provisioning %s: %w

Error message

error provisioning %s: %w

What it means

After the VM boots, Start iterates the selected container runtimes and calls cont.Provision; this error wraps a provisioning failure of the named runtime (docker, containerd, incus). Provisioning copies binaries and configuration into the guest, so failures are almost always guest-side: download, DNS, or disk problems inside the VM.

Source

Thrown at app/app.go:135

	}

	// the order for start is:
	//   vm start -> container runtime provision -> container runtime start

	// start vm
	if err := c.guest.Start(ctx, conf); err != nil {
		return fmt.Errorf("error starting vm: %w", err)
	}

	// run after-boot provision scripts
	c.runProvisionScripts(conf, config.ProvisionModeAfterBoot)

	// provision and start container runtimes
	for _, cont := range containers {
		log := log.WithField("context", cont.Name())
		log.Println("provisioning ...")
		if err := cont.Provision(ctx); err != nil {
			return fmt.Errorf("error provisioning %s: %w", cont.Name(), err)
		}
		log.Println("starting ...")
		if err := cont.Start(ctx); err != nil {
			return fmt.Errorf("error starting %s: %w", cont.Name(), err)
		}
	}

	// run ready provision scripts
	c.runProvisionScripts(conf, config.ProvisionModeReady)

	// persist the current runtime
	if err := c.setRuntime(conf.Runtime); err != nil {
		log.Error(fmt.Errorf("error persisting runtime settings: %w", err))
	}

	// persist the kubernetes config
	if err := c.setKubernetes(conf.Kubernetes); err != nil {
		log.Error(fmt.Errorf("error persisting kubernetes settings: %w", err))

View on GitHub (pinned to c3a5f9184d)

Solutions

  1. Retry `colima start --verbose` and read the wrapped provisioning error for the named runtime
  2. Check guest networking: `colima ssh -- curl -sI https://github.com` and inspect /etc/resolv.conf; fix with `colima stop && colima start --dns 1.1.1.1` or proxy env vars
  3. Free guest disk or recreate with more: `colima delete && colima start --disk 100`
  4. Recreate the VM if the guest state is corrupted: `colima delete && colima start`
Defensive patterns

Strategy: retry

Validate before calling

// probe guest networking before relying on provisioning
if err := a.SSH("curl", "-fsI", "--max-time", "5", "https://github.com"); err != nil {
    // fix DNS/proxy first: colima stop && colima start --dns 1.1.1.1 (or proxy env)
    return fmt.Errorf("guest has no egress; provisioning will fail: %w", err)
}

Try / catch

if err := a.Start(ctx, conf); err != nil && strings.Contains(err.Error(), "error provisioning") {
    // guest-side download failure is often transient: stop, verify network, start again
    _ = a.Stop(false)
    err = a.Start(ctx, conf)
}

Prevention

When it happens

Trigger: colima start when the guest cannot reach the internet to fetch runtime assets (broken DNS in the VM, a corporate proxy not passed via --env HTTP_PROXY/HTTPS_PROXY); guest disk full; runtime packages unavailable for the guest architecture.

Common situations: Corporate network with TLS-intercepting proxy the VM was never told about; VM created before a network change so /etc/resolv.conf points at a dead resolver; default disk size exhausted by images; VPN routes not reaching the VM.

Related errors


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