v0.1.1 — fix(exec): mark scripts executable for Linux
Bug-fix release for v0.1.0 Linux installs.
What broke
v0.1.0 shipped hooks/scan-secrets.sh and tests/test-scan-secrets.sh with git mode 100644 (regular file) instead of 100755 (executable). On Linux, this caused:
bash /plugin/path/hooks/scan-secrets.shworked fine (explicitbashinvocation)- Direct script invocation (what CC's hook does, and what tests do) failed with
Permission denied/ exit code 126 - All 18 tests reported as failed on Linux (worked on Windows/Git Bash because NTFS doesn't enforce +x locally)
What's fixed
git update-index --chmod=+x applied to both scripts. Mode is now 100755 in the git tree, which propagates through clone, fetch, and plugin install.
| File | v0.1.0 mode | v0.1.1 mode |
|---|---|---|
hooks/scan-secrets.sh |
100644 | 100755 |
tests/test-scan-secrets.sh |
100644 | 100755 |
Also in this release
.claude-plugin/marketplace.jsonadded (was missing in v0.1.0, caused/plugin marketplace addto fail with "Marketplace file not found")
Upgrade
claude plugin update pat-scanner
If update reports "Plugin not found" (a known issue when the marketplace cache is stale):
claude plugin marketplace update pat-scanner
claude plugin uninstall pat-scanner
claude plugin install pat-scanner
Verification
Tested end-to-end on Linux (Ubuntu host):
- ✅ Marketplace add succeeds
- ✅ Plugin install succeeds
- ✅ Files at
~/.claude/plugins/cache/pat-scanner/pat-scanner/0.1.1/with correct mode - ✅ All 18 tests pass
- ✅ Scanner blocks fake
figd_DEADBEEFFAKE...fixture with exit code 2 - ✅ Audit log writes to
~/.pat-scanner/audit.log
Lesson
For Claude Code plugins shipping shell scripts that CC invokes by path (hooks, MCP server wrappers, slash command scripts):
git update-index --chmod=+x <script>
git commit -m "..."Windows dev environments don't surface this (NTFS doesn't enforce +x). Verify on a Linux host before shipping.