addyosmani / addyosmani/agent-skills

SessionStart hook fails when plugin path contains a space (unquoted ${CLAUDE_PLUGIN_ROOT})

Abierto
#214 4 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
JavaScript
Estrellas
94.1k
Forks
10k
Merge medio
3 d 15 h
PR fusionados (30 d)
23

Descripción

@
### 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:

```json
"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:

```json
"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
@

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.