{"record":{"id":"c4aaebf10f356542","repo":"jdx/mise","slug":"managed-path-notifies-unconfigured-bootstrap-c4aaeb","errorCode":null,"errorMessage":"managed path '{}' notifies unconfigured bootstrap service '{}'","messagePattern":"managed path '(.+?)' notifies unconfigured bootstrap service '(.+?)'","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/system/services_common.rs","lineNumber":311,"sourceCode":"                .iter()\n                .map(move |notification| (file.path.as_path(), notification))\n        })\n        .chain(directories.iter().flat_map(|directory| {\n            directory\n                .notify\n                .iter()\n                .map(move |notification| (directory.path.as_path(), notification))\n        }))\n    {\n        if user_services.iter().any(|name| name == notification) {\n            bail!(\n                \"managed path '{}' notifies user-scope bootstrap service '{}'; notifications apply to system services only\",\n                resource.display(),\n                notification\n            );\n        }\n        if !configured.contains(notification.as_str()) {\n            bail!(\n                \"managed path '{}' notifies unconfigured bootstrap service '{}'\",\n                resource.display(),\n                notification\n            );\n        }\n    }\n    Ok(())\n}\n\nfn default_true() -> bool {\n    true\n}\n","sourceCodeStart":293,"sourceCodeEnd":324,"githubUrl":"https://github.com/jdx/mise/blob/afd2eddd3a50c16190efc1c7e94404b48f72af57/src/system/services_common.rs#L293-L324","documentation":"validate_notifications verifies each notify entry names a bootstrap service that actually exists in configuration. If a managed path notifies a service name that is configured nowhere, mise bails with this error, since the notification could never be delivered.","triggerScenarios":"A managed path's `notify` list contains a service name absent from both system and user bootstrap service declarations.","commonSituations":"Typos in the service name; renaming or deleting a service without updating notify lists; copying path config from another project with different service names.","solutions":["Correct the service name in the notify list to match a configured service","Add a `[bootstrap_services.<name>]` declaration for the referenced service","Remove the stale notify entry"],"exampleFix":"// before\nnotify = [\"myap\"]\n\n// after\nnotify = [\"myapp\"]","handlingStrategy":"validation","validationCode":"for svc in notify_list {\n    if !all_configured_services.contains(svc) {\n        eprintln!(\"notify references unknown service: {svc}\");\n    }\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Update notify lists whenever a service is renamed or deleted","Use consistent naming between [bootstrap_services.X] blocks and notify entries","Lint config for dangling references in CI"],"tags":["config","validation","services"],"backgroundTag":"resource-not-found","analyzedSha":"afd2eddd3a50c16190efc1c7e94404b48f72af57","analyzedAt":"2026-09-09T01:38:25.179Z","contentChangedAt":"2026-09-09T01:38:25.179Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}