From f6740c37cc5fb30873db8ed777789052c738448e Mon Sep 17 00:00:00 2001 From: Rocco DeVenanzio Date: Tue, 23 Jun 2026 11:36:45 -0700 Subject: [PATCH] fix: quote ${CLAUDE_PLUGIN_ROOT} in hook commands Unquoted ${CLAUDE_PLUGIN_ROOT} word-splits in POSIX-shell hook runners whenever the path contains a space (e.g. Windows user profile dirs like 'C:\Users\First Last\'). node then receives a truncated path as its entry module and throws MODULE_NOT_FOUND from the cjs loader on every PreCompact/SessionStart/SubagentStart/ UserPromptSubmit hook invocation. --- hooks/hooks.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hooks/hooks.json b/hooks/hooks.json index d2fcc24..ea349c7 100644 --- a/hooks/hooks.json +++ b/hooks/hooks.json @@ -5,7 +5,7 @@ "hooks": [ { "type": "command", - "command": "npm install --silent --prefix ${CLAUDE_PLUGIN_ROOT} --omit=dev --no-audit --no-fund >/dev/null 2>&1 && node ${CLAUDE_PLUGIN_ROOT}/hooks/pre-compact.js" + "command": "npm install --silent --prefix \"${CLAUDE_PLUGIN_ROOT}\" --omit=dev --no-audit --no-fund >/dev/null 2>&1 && node \"${CLAUDE_PLUGIN_ROOT}/hooks/pre-compact.js\"" } ] } @@ -15,7 +15,7 @@ "hooks": [ { "type": "command", - "command": "npm install --silent --prefix ${CLAUDE_PLUGIN_ROOT} --omit=dev --no-audit --no-fund >/dev/null 2>&1 && node ${CLAUDE_PLUGIN_ROOT}/hooks/session-start.js" + "command": "npm install --silent --prefix \"${CLAUDE_PLUGIN_ROOT}\" --omit=dev --no-audit --no-fund >/dev/null 2>&1 && node \"${CLAUDE_PLUGIN_ROOT}/hooks/session-start.js\"" } ] } @@ -25,7 +25,7 @@ "hooks": [ { "type": "command", - "command": "node ${CLAUDE_PLUGIN_ROOT}/hooks/subagent-start.js" + "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/subagent-start.js\"" } ] } @@ -35,7 +35,7 @@ "hooks": [ { "type": "command", - "command": "node ${CLAUDE_PLUGIN_ROOT}/hooks/user-prompt-submit.js" + "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/user-prompt-submit.js\"" } ] }