From 1c789c05e24b5c8aa807b9ccd63955b42418d471 Mon Sep 17 00:00:00 2001 From: Alex Verkhovsky Date: Wed, 25 Feb 2026 12:39:59 -0700 Subject: [PATCH] fix(installer): resolve symlinks before ancestor conflict walk Use fs.realpath() instead of path.resolve() so the ancestor directory walk follows the physical filesystem path, not the logical symlink path. Co-Authored-By: Claude Opus 4.6 --- tools/cli/installers/lib/ide/_config-driven.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/cli/installers/lib/ide/_config-driven.js b/tools/cli/installers/lib/ide/_config-driven.js index 221f46905..05b1a7389 100644 --- a/tools/cli/installers/lib/ide/_config-driven.js +++ b/tools/cli/installers/lib/ide/_config-driven.js @@ -561,7 +561,7 @@ LOAD and execute from: {project-root}/{{bmadFolderName}}/{{path}} const targetDir = this.installerConfig?.target_dir; if (!targetDir) return null; - const resolvedProject = path.resolve(projectDir); + const resolvedProject = await fs.realpath(path.resolve(projectDir)); let current = path.dirname(resolvedProject); const root = path.parse(current).root;