Bug: claude-plugins-official - learning/explanatory-output-style hook scripts missing execute permission
Summary
The session-start.sh hook scripts in learning-output-style and explanatory-output-style plugins are distributed without execute permission (644 instead of 755), causing SessionStart hook failures at every Claude Code session startup.
Affected Files
plugins/learning-output-style/hooks-handlers/session-start.shplugins/explanatory-output-style/hooks-handlers/session-start.sh
Symptom
Every session startup shows:
SessionStart:startup hook error
SessionStart:startup hook error
The hooks fail with exit code 126 (Permission denied).
Root Cause
The .sh files are committed to the plugin source without executable permission. When Claude Code installs the plugin, the files are copied as-is from the cache with rw-r--r-- (644) permissions.
The cached files at:
~/.claude/plugins/cache/claude-plugins-official/learning-output-style/unknown/hooks-handlers/session-start.sh~/.claude/plugins/cache/claude-plugins-official/explanatory-output-style/unknown/hooks-handlers/session-start.sh
both have 644 permissions.
Fix
In the source repository, run:
git update-index --chmod=+x plugins/learning-output-style/hooks-handlers/session-start.sh
git update-index --chmod=+x plugins/explanatory-output-style/hooks-handlers/session-start.sh
Or, the plugin installer should automatically apply chmod +x to all .sh files during installation.
Environment
- Claude Code CLI
- macOS Darwin 25.3.0
- Plugin:
claude-plugins-official(internal Anthropic plugins)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗