lima-vm/lima · warning

degraded, status=%+v

Error message

degraded, status=%+v

What it means

The hostagent reported the VM as Running but with Degraded=true, meaning core VM operation works but auxiliary features (file sharing, port forwarding) failed. limactl logs a prominent DEGRADED warning with a hint at ha.stderr.log and returns this error so `limactl start` exits non-zero even though the instance is technically up.

Source

Thrown at pkg/instance/start.go:409

				logrus.Infof("[cloud-init] %s", progress.LogLine)
			}

			if progress.Completed {
				cloudInitCompleted = true
				logrus.Infof("Cloud-init progress monitoring done.")
			}
		}
		if len(ev.Status.Errors) > 0 {
			logrus.Errorf("%+v", ev.Status.Errors)
		}
		if ev.Status.Exiting {
			err = fmt.Errorf("exiting, status=%+v (hint: see %#q)", ev.Status, haStderrPath)
			return true
		} else if ev.Status.Running {
			receivedRunningEvent = true
			if ev.Status.Degraded {
				logrus.Warnf("DEGRADED. The VM seems running, but file sharing and port forwarding may not work. (hint: see %#q)", haStderrPath)
				err = fmt.Errorf("degraded, status=%+v", ev.Status)
				return true
			}

			if xerr := runAnsibleProvision(ctx, inst); xerr != nil {
				err = xerr
				return true
			}

			if showProgress && !cloudInitCompleted {
				return false
			}

			if !isLaunchingShell(ctx) {
				if *inst.Config.Plain {
					logrus.Infof("READY. Run `ssh -F %#q %s` to open the shell.", inst.SSHConfigFile, inst.Hostname)
				} else {
					logrus.Infof("READY. Run `%s` to open the shell.", LimactlShellCmd(inst.Name))
				}

View on GitHub (pinned to dd909d0973)

Solutions

  1. Read ha.stderr.log for the degraded reason (usually mount or port-forward failure)
  2. Fix guest prerequisites (install/reinstall virtiofs or sshfs support, fix sudoers)
  3. Adjust lima.yaml to disable the failing feature (e.g. change mountType) and restart
  4. The instance may still be usable: check `limactl list` and continue, or `limactl stop -f` and retry

Example fix

// after degraded error
if strings.Contains(err.Error(), "degraded, status=") {
    logrus.Warn("instance running without file sharing/port forwarding")
    // inspect: limactl shell <inst> -- ls /tmp/lima
}
Defensive patterns

Strategy: try-catch

Validate before calling

// nothing to pre-validate; detect degraded outcome after start
if err != nil && strings.Contains(err.Error(), "degraded, status=") { /* instance is up but limited */ }

Try / catch

if err != nil && strings.Contains(err.Error(), "degraded") {
    logrus.Warn("VM running but degraded: file sharing/port forwarding may not work")
    return nil // or stop and retry depending on your needs
}

Prevention

When it happens

Trigger: watchHostAgentEvents receives a Running event with Degraded=true — typically guestagent tools like sshfs/reverse-sshfs, sudo-less mount setup, or port-forwarding helper failing inside the guest.

Common situations: macOS hosts without the virtiofs/sshfs prerequisites, guests missing required packages, restricted sudo policies preventing mounting, or firewall blocking the port-forwarding channel.

Related errors


AI-assisted analysis of lima-vm/lima@dd909d0973 (2026-09-01). Data as JSON: /api/errors/b107bd7f1d4d8cdc. Report an issue: GitHub.