{"record":{"id":"75b4c1ad31eebf25","repo":"jdx/mise","slug":"failed-to-absolutize-path","errorCode":null,"errorMessage":"failed to absolutize path","messagePattern":"failed to absolutize path","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/toolset/tool_version.rs","lineNumber":216,"sourceCode":"            return p.clone();\n        }\n        let pathname = match &self.request {\n            ToolRequest::Path { path: p, .. } => p.to_string_lossy().to_string(),\n            _ => self.tv_pathname(),\n        };\n        let path = self.ba().installs_path.join(&pathname);\n\n        // handle non-symlinks on windows\n        // TODO: make this a utility function in xx\n        #[cfg(windows)]\n        if path.is_file()\n            && let Ok(p) = file::read_to_string(&path).map(PathBuf::from)\n        {\n            let path = self.ba().installs_path.join(p);\n            if path.exists() {\n                return path\n                    .absolutize()\n                    .expect(\"failed to absolutize path\")\n                    .to_path_buf();\n            }\n        }\n\n        // Check shared install directories if the primary path doesn't exist\n        let path = if matches!(&self.request, ToolRequest::Path { .. }) {\n            path\n        } else {\n            env::find_in_shared_installs(path, &self.ba().tool_dir_name(), &pathname)\n        };\n\n        // Only cache the resolved path if it actually exists on disk. Otherwise\n        // the answer may change once the tool installs into a different\n        // location (e.g. a shared install dir created mid-run by `--system` /\n        // `--shared`), and the stale cache entry would be returned to callers\n        // like core go's `exec_env`, sending wrong values for GOROOT/GOPATH.\n        if path.exists() {\n            INSTALL_PATH_CACHE.insert(self.clone(), path.clone());","sourceCodeStart":198,"sourceCodeEnd":234,"githubUrl":"https://github.com/jdx/mise/blob/6f52dcdf99e282ef7a7db68c81301fa4618d0f79/src/toolset/tool_version.rs#L198-L234","documentation":"Error \"failed to absolutize path\" thrown in jdx/mise.","triggerScenarios":"Thrown at src/toolset/tool_version.rs:216 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure the tool path exists and is resolvable (no dangling symlinks) so it can be absolutized; check the configured path for typos."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6f52dcdf99e282ef7a7db68c81301fa4618d0f79","analyzedAt":"2026-08-22T10:14:23.840Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}