Plugin update loses executable permission on .sh hook files
Resolved 💬 4 comments Opened Mar 28, 2026 by jsulopzs Closed Apr 18, 2026
claude plugin update downloads plugin files without preserving the executable bit on .sh files. This causes hook execution to fail with:
Stop hook error: Failed with non-blocking status code: /bin/sh: 1:
/home/user/.claude/plugins/marketplaces/.../hooks/stop-hook.sh: Permission denied
Reproduction
- Install a plugin with
.shhook files (e.g.ralph-loopfromclaude-plugins-official) chmod +xthe hook files manually so hooks work- Run
claude plugin update claude-plugins-official@anthropic - Hook files lose
+x→ hooks fail with "Permission denied"
Expected behavior
claude plugin update should either preserve executable permissions on .sh files during download, or automatically chmod +x all .sh files after update.
Workaround
find ~/.claude/plugins/marketplaces -name "*.sh" -exec chmod +x {} \;
Needs to be re-run after every plugin update.
Environment
- Platform: Linux
- Affects all
.shfiles across all marketplace plugins
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗