From 1c6a35f7baa994772203ab1954581a787e5b9e14 Mon Sep 17 00:00:00 2001 From: Royi Mindel Date: Sun, 8 Feb 2026 10:14:55 +0200 Subject: [PATCH] fix: normalize Windows backslashes in gsd-tools path prefix On Windows, path.join(os.homedir(), '.cursor') produces backslash paths (e.g. C:\Users\user\.cursor). When appended with forward slashes to build pathPrefix, this creates mixed-separator paths that break gsd-tools invocations: Bash(node C:\Users\user\.claude/get-shit-done/bin/gsd-tools.js init map-codebase) Normalize targetDir and opencodeConfigDir to forward slashes before concatenation so Node.js receives consistent paths on all platforms. Co-authored-by: Cursor --- bin/install.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/install.js b/bin/install.js index 251f95c9a..36deb6ee4 100755 --- a/bin/install.js +++ b/bin/install.js @@ -1063,7 +1063,7 @@ function configureOpencodePermissions() { const defaultConfigDir = path.join(os.homedir(), '.config', 'opencode'); const gsdPath = opencodeConfigDir === defaultConfigDir ? '~/.config/opencode/get-shit-done/*' - : `${opencodeConfigDir}/get-shit-done/*`; + : `${opencodeConfigDir.replace(/\\/g, '/')}/get-shit-done/*`; let modified = false; @@ -1150,7 +1150,7 @@ function install(isGlobal, runtime = 'claude') { // For global installs: use full path // For local installs: use relative const pathPrefix = isGlobal - ? `${targetDir}/` + ? `${targetDir.replace(/\\/g, '/')}/` : `./${dirName}/`; let runtimeLabel = 'Claude Code';