Development record
launch's install-surface reader (pluginRootRefs) does not see the plugin root reached through ${CLAUDE_PLUGIN_ROOT:-} or a shell alias of it (r="${CLAUDE_PLUGIN_ROOT:-}" then "$r/hooks/..."), the form most of abcd's own hook scripts use; post-tool-use.sh, pre-compact.sh, pre-tool-use.sh and user-prompt-submit.sh each execute "$r/hooks/bootstrap.sh" directly, and the gate sees none of those runs. bootstrap.sh is judged today only because session-start.sh also names it by $CLAUDE_PLUGIN_ROOT; were that line to use the alias, a missing or 0644 bootstrap.sh would pass the hook-compliance gate's existence and mode checks without a warning. Pre-existing; found while fixing iss-2610160608456302, 2026-10-16.
launch's install-surface reader (pluginRootRefs) does not see the plugin root reached through ${CLAUDE_PLUGIN_ROOT:-} or a shell alias of it (r="${CLAUDE_PLUGIN_ROOT:-}" then "$r/hooks/..."), the form most of abcd's own hook scripts use; post-tool-use.sh, pre-compact.sh, pre-tool-use.sh and user-prompt-submit.sh each execute "$r/hooks/bootstrap.sh" directly, and the gate sees none of those runs. bootstrap.sh is judged today only because session-start.sh also names it by $CLAUDE_PLUGIN_ROOT; were that line to use the alias, a missing or 0644 bootstrap.sh would pass the hook-compliance gate's existence and mode checks without a warning. Pre-existing; found while fixing iss-2610160608456302, 2026-10-16.
Frontmatter
| id | iss-2610160910063601 |
|---|---|
| type | issue |
| lifecycle | open |
| severity | minor |
.abcd/work/issues/open/iss-2610160910063601-launch-s-install-surface-reader.md
open on GitHub ↗ · commit history ↗
mentions1
- iss-2610160608456302launch's hook-compliance gate warns that hooks/*.sh are not executable in the payload (mode 100644), but hooks.json invokes each as `sh "<path>"`, so the mode is irrelevant; the warning is a false positive (unchanged since v0.14.2)