abiosoft/colima · info

%s is not running

Error message

%s is not running

What it means

colima's status pipeline (getStatus) returns this when the guest VM is not running; the profile display name is included. It represents a normal steady-state answer (VM down), phrased as an error because Status() propagates it to the caller/CLI.

Source

Thrown at app/app.go:372

	Driver           string `json:"driver"`
	Arch             string `json:"arch"`
	Runtime          string `json:"runtime"`
	MountType        string `json:"mount_type"`
	IPAddress        string `json:"ip_address,omitempty"`
	DockerSocket     string `json:"docker_socket,omitempty"`
	ContainerdSocket string `json:"containerd_socket,omitempty"`
	BuildkitdSocket  string `json:"buildkitd_socket,omitempty"`
	IncusSocket      string `json:"incus_socket,omitempty"`
	Kubernetes       bool   `json:"kubernetes"`
	CPU              int    `json:"cpu"`
	Memory           int64  `json:"memory"`
	Disk             int64  `json:"disk"`
}

func (c colimaApp) getStatus() (status statusInfo, err error) {
	ctx := context.Background()
	if !c.guest.Running(ctx) {
		return status, fmt.Errorf("%s is not running", config.CurrentProfile().DisplayName)
	}

	currentRuntime, err := c.currentRuntime(ctx)
	if err != nil {
		return status, err
	}

	status.DisplayName = config.CurrentProfile().DisplayName
	status.Driver = "QEMU"
	conf, _ := configmanager.LoadInstance()
	if !conf.Empty() {
		status.Driver = conf.DriverLabel()
	}
	status.Arch = string(c.guest.Arch())
	status.Runtime = currentRuntime
	status.MountType = conf.MountType
	ipAddress := limautil.IPAddress(config.CurrentProfile().ID)
	if ipAddress != "127.0.0.1" {

View on GitHub (pinned to c3a5f9184d)

Solutions

  1. Start the VM if it should be up: `colima start`
  2. Treat this exact message as the 'stopped' answer in monitoring rather than a failure
  3. Use `colima list` to see all profiles' states at once
  4. Automate startup at login (brew services, launchd, or a shell hook)

Example fix

# monitoring treats stopped as a state, not an alert
colima status 2>&1 | grep -q 'is not running' && echo 'stopped' || echo 'running'
Defensive patterns

Strategy: validation

Validate before calling

// readiness probe that treats 'not running' as a state, not a failure
out, err := exec.Command("colima", "status").CombinedOutput()
stopped := err != nil && strings.Contains(string(out), "not running")
if stopped {
    // start it, or report 'stopped' and exit cleanly
}

Type guard

func isVMNotRunning(err error) bool {
    return err != nil && strings.Contains(err.Error(), "is not running")
}

Try / catch

if err := a.Status(false, true); err != nil {
    if isVMNotRunning(err) {
        // normal state: VM down -> start it or report 'stopped' without failing the pipeline
    }
    return err
}

Prevention

When it happens

Trigger: `colima status` (plain or --json) while the VM is stopped, or any caller invoking App.Status/getStatus before `colima start`.

Common situations: Status checks right after boot/login before starting colima; CI probes using colima status as a readiness gate; checks after a host reboot.

Related errors


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