jdx/mise · error
managed path '{}' notifies user-scope bootstrap service '{}'
Error message
managed path '{}' notifies user-scope bootstrap service '{}'; notifications apply to system services only What it means
validate_notifications checks that every managed path's `notify` list references only configured system-scope services. If a path notifies a service that is configured but has scope = "user", mise bails because file notifications only apply to system services.
Source
Thrown at src/system/services_common.rs:304
.iter()
.map(|service| service.name.as_str())
.collect::<IndexSet<_>>();
for (resource, notification) in files
.iter()
.flat_map(|file| {
file.notify
.iter()
.map(move |notification| (file.path.as_path(), notification))
})
.chain(directories.iter().flat_map(|directory| {
directory
.notify
.iter()
.map(move |notification| (directory.path.as_path(), notification))
}))
{
if user_services.iter().any(|name| name == notification) {
bail!(
"managed path '{}' notifies user-scope bootstrap service '{}'; notifications apply to system services only",
resource.display(),
notification
);
}
if !configured.contains(notification.as_str()) {
bail!(
"managed path '{}' notifies unconfigured bootstrap service '{}'",
resource.display(),
notification
);
}
}
Ok(())
}
fn default_true() -> bool {
trueView on GitHub (pinned to afd2eddd3a)
Solutions
- Remove the user service from the notify list
- Convert the target service to `scope = "system"` if it should react to path changes
- Drop the notify entry and restart the user service manually or via user-level tooling
Example fix
// before notify = ["my-user-service"] // after notify = []
Defensive patterns
Strategy: validation
Validate before calling
for svc in notify_list {
if user_scope_services.contains(svc) {
eprintln!("{svc} is user-scope; notify only supports system services");
}
} Prevention
- Only reference system-scope services in notify lists
- Cross-check notify entries against service scopes whenever editing either
- Document in team config that path notifications are system-only
When it happens
Trigger: A managed directory/file config sets `notify = ["myservice"]` and myservice exists among user-scope bootstrap services; detected while validating notifications after composing declarations.
Common situations: Wiring a watched path to a user service (e.g. a per-user agent) expecting auto-restart; misremembering that notify only works for system services.
Understand the failure class
Background: "Invalid value" and "allowed values are" config errors: what your library rejected and how to fix it — this error's family across 41 libraries.
Related errors
- bootstrap service '{name}' cannot be both masked and running
- bootstrap service '{name}' cannot be both masked and enabled
- bootstrap service '{name}' sets {}, which only applies to `s
- managed path '{}' notifies unconfigured bootstrap service '{
- user service name '{name}' must contain only letters, number
AI-assisted analysis of jdx/mise@afd2eddd3a (2026-09-09).
Data as JSON: /api/errors/5b23a23916af96e3.
Report an issue: GitHub.