@
Description
The SessionStart hook fails on startup when the plugin is installed under a path containing a space (e.g. a Windows home folder like C:\Users\Win 10\).
Error
SessionStart:startup hook error
Failed with non-blocking status code: /c/Users/Win: /c/Users/Win: Is a directory
Root cause
In hooks/hooks.json the command is not quoted:
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/session-start.sh"
When ${CLAUDE_PLUGIN_ROOT} expands to a path containing a space (e.g. /c/Users/Win 10/.claude/plugins/...), the shell word-splits it and bash receives /c/Users/Win as the script argument, producing the Is a directory error.
Fix
Quote the path:
"command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/session-start.sh\""
The internal session-start.sh already quotes its paths correctly (SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"), so only hooks.json needs the fix.
Environment
- OS: Windows 10 (Git Bash)
- Home folder with space:
C:\Users\Win 10\
- Claude Code v2.1.159
@
@
Description
The
SessionStarthook fails on startup when the plugin is installed under a path containing a space (e.g. a Windows home folder likeC:\Users\Win 10\).Error
Root cause
In
hooks/hooks.jsonthe command is not quoted:When
${CLAUDE_PLUGIN_ROOT}expands to a path containing a space (e.g./c/Users/Win 10/.claude/plugins/...), the shell word-splits it andbashreceives/c/Users/Winas the script argument, producing theIs a directoryerror.Fix
Quote the path:
The internal
session-start.shalready quotes its paths correctly (SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"), so onlyhooks.jsonneeds the fix.Environment
C:\Users\Win 10\@