Skip to content

Backends

Microagent has one backend per host OS. The --backend flag exists for lower-level request compatibility and backend smoke tests, not as a user-facing backend selector.

BackendHost OSImplementationconnectProcess model
firecrackerLinuxIn-process Gonot supported (use logs)Microagent records VM PID; stop sends SIGTERM, kill sends SIGKILL
apple-vfmacOSSwift supervisor (microagent-applevf-supervisor)supportedOne supervisor invocation per request

Both backends expose the same lifecycle surface: run, create, start, status, stop, kill, delete. Both record state files and emit lifecycle events.

  • Requires /dev/kvm and the firecracker binary on PATH (or under <prefix>/libexec/firecracker, or MICROAGENT_FIRECRACKER).
  • delete refuses to remove state while the recorded VM process is still running. Use stop or kill first.
  • Does not support interactive connect. Use logs for serial output.
  • Default kernel SHA is pinned. See Smoke tests.
  • Uses Apple Virtualization.framework via the Swift supervisor.
  • Supports interactive connect and connect --send.
  • The supervisor is packaged as microagent-applevf-supervisor. Override with --supervisor or MICROAGENT_APPLEVF_SUPERVISOR.
  • Default kernel for arm64 lives at ~/.microagent/kernels/apple-vf/arm64/Image.

microagent doctor reports the active backend, the binary it found, KVM/VF availability, and the default kernel status.