abiosoft/colima · error
error starting %s: %w
Error message
error starting %s: %w
What it means
The container runtime was provisioned but failed to actually start inside the guest; cont.Start's error is wrapped with the runtime's name (docker/containerd/incus). The VM is up at this point, so the daemon itself refused to start: config errors, socket conflicts, or disk issues in the guest are typical.
Source
Thrown at app/app.go:139
// 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))
}
log.Println("done")
View on GitHub (pinned to c3a5f9184d)
Solutions
- Inspect the daemon inside the guest: `colima ssh`, then check the runtime's service log under /var/log or dockerd output
- Restart cleanly: `colima stop && colima start --verbose`
- Free guest disk space if the volume is full (`docker system prune` inside `colima ssh`)
- Recreate the VM to clear stale runtime state: `colima delete && colima start`
Defensive patterns
Strategy: retry
Try / catch
if err := a.Start(ctx, conf); err != nil {
if strings.Contains(err.Error(), "error starting docker") || strings.Contains(err.Error(), "error starting containerd") {
// restart once via stop/start; recreate the instance if it persists
_ = a.Stop(false)
err = a.Start(ctx, conf)
}
if err != nil {
return err
}
}
// verify the daemon actually answers
if err := a.SSH("docker", "version", "--format", "{{.Server.Version}}"); err != nil {
return err
} Prevention
- Recreate the VM after colima upgrades (`colima delete && colima start`)
- Keep daemon customizations minimal and version-compatible
- Prune images when the guest disk nears capacity
When it happens
Trigger: colima start when the docker/containerd daemon inside the VM fails: invalid daemon flags carried over in the instance config, leftover socket files from an unclean shutdown, guest disk full, or a runtime binary mismatched with the guest after an upgrade.
Common situations: Custom docker daemon settings incompatible with the upgraded docker version; upgrading colima over an old VM whose runtime state is stale; guest filesystem full from pulled images.
Related errors
- error initiating container runtime: %w
- runtime disk provisioned for %s runtime. Delete container da
- 'colima model' requires docker runtime, current runtime is %
- error starting vm: %w
- error stopping %s: %w
AI-assisted analysis of abiosoft/colima@c3a5f9184d (2026-08-15).
Data as JSON: /api/errors/cd48112ccc77cd88.
Report an issue: GitHub.