Plugin hook scripts lose execute permissions after install, causing SessionStart:resume hook error
Resolved 💬 5 comments Opened Mar 28, 2026 by yozefutuuubes Closed May 20, 2026
Describe the bug
When a plugin's hook script is installed without execute permissions, Claude Code fails with SessionStart:resume hook error on every session resume. The script exists at the correct path but is not executable, so the shell rejects it with a permission error.
To reproduce
- Install the
learning-output-styleplugin - Check permissions on the installed hook script:
````
ls -la ~/.claude/plugins/cache/claude-plugins-official/learning-output-style/unknown/hooks-handlers/session-start.sh
- Observe
-rw-r--r--(no execute bit) - Resume any existing session —
SessionStart:resume hook errorappears on every resume
Expected behaviour
Claude Code should ensure hook scripts are executable after installation (i.e. apply chmod +x to any script referenced in hooks.json commands).
Workaround
chmod +x ~/.claude/plugins/cache/claude-plugins-official/learning-output-style/unknown/hooks-handlers/session-start.sh
Note: this fix is reset on plugin updates, requiring the workaround to be reapplied each time.
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗