jdx/mise · error
bootstrap system services are only supported on Linux
Error message
bootstrap system services are only supported on Linux
What it means
The privileged apply entry point for bootstrap system services is only implemented on Linux. On macOS, Windows, or other non-Linux platforms the function unconditionally fails, because systemd is not available there.
Solutions
- Run this command on a Linux host with systemd
- Gate the bootstrap-service step behind an OS check in your task script
- Use `scope = "user"` alternatives or launchd/other platform mechanisms on non-Linux systems
Example fix
# before cmd = "mise bootstrap apply-privileged" # after cmd = "[[ $(uname -s) == Linux ]] && mise bootstrap apply-privileged || echo 'skipped: Linux only'"
Defensive patterns
Strategy: fallback
Validate before calling
[[ "$(uname -s)" == "Linux" ]] && systemctl is-system-running >/dev/null
Type guard
const isLinux = process.platform === "linux";
Try / catch
match apply_privileged_plan() { Err(e) if e.contains("only supported on Linux") => skip_on_non_linux(), other => other } Prevention
- Guard bootstrap-service steps with an OS check in task scripts
- Exclude non-Linux runners from jobs that apply system services
- Document that system bootstrap services require Linux + systemd
When it happens
Trigger: Calling `apply_privileged_plan_from_stdin` (the `mise run bootstrap --apply-privileged` style path) on a non-Linux platform.
Common situations: Running the same mise task script on a macOS developer machine; CI matrix jobs that include non-Linux runners executing bootstrap-service commands; porting configs between Linux servers and Mac laptops.
Understand the failure class
Background: "unsupported platform" / "not supported on this platform" errors: what they mean and how to fix them — this error's family across 47 libraries.
Related errors
- cannot remove user service
- bootstrap firewall management is only supported on Linux
- bootstrap service ' ' sets , which only applies to `scope =…
- bootstrap users and groups are only supported on Linux
- brew-cask: pkgutil receipt check for
AI-assisted analysis of jdx/mise@533346cc37 (2026-09-17).
Data as JSON: /api/errors/2b3c01c67bb21423.
Report an issue: GitHub.
Appendix: source
Thrown at src/system/services_non_linux.rs:51
) -> Vec<ResourcePlan> {
vec![]
}
pub(crate) fn apply(_requests: &[ServiceRequest], _dry_run: bool, _yes: bool) -> Result<()> {
Ok(())
}
pub(crate) fn apply_with_notifications(
_requests: &[ServiceRequest],
_notifications: &ServiceNotifications,
_dry_run: bool,
_yes: bool,
) -> Result<()> {
Ok(())
}
pub(crate) fn apply_privileged_plan_from_stdin() -> Result<()> {
bail!("bootstrap system services are only supported on Linux")
}
fn reject_configured(config: &Config) -> Result<Vec<ServiceRequest>> {
// validated like on Linux first, so a forgotten `scope = "user"` is
// reported as such rather than as a platform limitation
let configured = !compose_system_declarations(config)?.is_empty();
if configured {
bail!("bootstrap system services are only supported on Linux");
}
Ok(vec![])
}
View on GitHub (pinned to 533346cc37)