{"record":{"id":"60163f1d98115e03","repo":"LGUG2Z/komorebi","slug":"could-not-find-masir-please-make-sure-it-is-insta","errorCode":null,"errorMessage":"could not find masir, please make sure it is installed before using the --masir flag","messagePattern":"could not find masir, please make sure it is installed before using the --masir flag","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"komorebic/src/main.rs","lineNumber":2380,"sourceCode":"                );\n            }\n\n            let mut ahk: String = String::from(\"autohotkey.exe\");\n\n            if let Ok(komorebi_ahk_exe) = std::env::var(\"KOMOREBI_AHK_EXE\")\n                && which(&komorebi_ahk_exe).is_ok()\n            {\n                ahk = komorebi_ahk_exe;\n            }\n\n            if args.whkd && which(\"whkd\").is_err() {\n                bail!(\n                    \"could not find whkd, please make sure it is installed before using the --whkd flag\"\n                );\n            }\n\n            if args.masir && which(\"masir\").is_err() {\n                bail!(\n                    \"could not find masir, please make sure it is installed before using the --masir flag\"\n                );\n            }\n\n            if args.ahk && which(&ahk).is_err() {\n                bail!(\n                    \"could not find autohotkey, please make sure it is installed before using the --ahk flag\"\n                );\n            }\n\n            let mut buf: PathBuf;\n\n            // The komorebi.ps1 shim will only exist in the Path if installed by Scoop\n            let exec =\n                if let Ok(output) = Command::new(\"where.exe\").arg(\"komorebi.ps1\").output() {\n                    let stdout = String::from_utf8(output.stdout)?;\n                    match stdout.trim() {\n                        \"\" => None,","sourceCodeStart":2362,"sourceCodeEnd":2398,"githubUrl":"https://github.com/LGUG2Z/komorebi/blob/e0709f02bfae4e503bf4640f58ee75ecbbfdbb97/komorebic/src/main.rs#L2362-L2398","documentation":"Thrown by komorebic's startup prerequisite checks when the user passed --masir but the `which` lookup cannot locate a masir executable on PATH. It is a guard against silently launching a companion process that does not exist; masir (the bar/companion binary) must be installed separately from komorebi.","triggerScenarios":"Thrown at komorebic/src/main.rs:2380 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Install masir (e.g. `winget install LGUG2Z.masir` or via scoop) and ensure it is on PATH","Remove the --masir flag if masir is not needed","If masir is installed, verify PATH includes its directory or reinstall it"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e0709f02bfae4e503bf4640f58ee75ecbbfdbb97","analyzedAt":"2026-09-06T07:08:05.107Z","contentChangedAt":"2026-09-06T07:08:05.107Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}