win-hooks 1.11.0
Half a second, and a suite that proves it
win-hooks was a shell pipeline that read hook commands as text and took 21 seconds to repair both hosts. It is now a single Node engine that parses hooks.json as JSON and finishes in 0.45 seconds.
Reading text was not only slow, it was wrong in a way that kept coming back: four separate bugs were an awk or sed substitution mangling a quote or a path, and against a parsed object none of them can be written. The speed came from deleting roughly 300 process forks rather than from tuning - forking was the runtime.
Fixed
- A PATH
bashthat is really the WSL launcher swallowed every hook and reported success, so on a machine with WSL but no Git for Windows the repair looked fine and did nothing, forever. A candidate now has to prove it can read the script it is about to run. - The SessionStart timeout was declared in milliseconds. The shipped
60000meant 16.6 hours, so a hung run would have hung the session instead of being killed. Both hosts now declare it in seconds.
Also
- The per-prompt check stats a cached watch list instead of enumerating plugins, so it is free on the hot path.
- Coverage is derived from the documented case list rather than claimed: 26 of 26 testable cases, one waived in writing.
- Releases publish from the tag push, with an npm provenance attestation.
Everything win-hooks repairs is listed in the README.
Install
# Claude Code
claude plugin marketplace add LilMGenius/win-hooks && claude plugin install win-hooks
# Codex
codex plugin marketplace add LilMGenius/win-hooks && codex plugin add win-hooks@win-hooks
# or a one-shot CLI fix
npx @lilmgenius/win-hooks