Hotfix on top of v5.2.0. PowerShell on Windows does not invoke a quoted .py path directly — it treats it as a string expression, not a command. The bare-path dispatch in v5.2.0 would have left Windows users without the hook wrapper firing.
Hooks now use python3 "${CLAUDE_PLUGIN_ROOT}/hooks/run.py" …, which PowerShell parses correctly as a command with a quoted argument.
Windows install guidance
- Recommended: install Python via the Microsoft Store. It registers
python3as an App Execution Alias automatically, so hooks work out of the box. - Alternative: install Python from python.org and add
python3to your PATH (or symlinkpython.exetopython3.exe). - If
python3is not on PATH, hooks silently no-op — behavior identical to v5.1.0, so no regression.
All other v5.2.0 changes (Windows Session Health, SessionEnd ordering, health-selfcheck CLI, migration banner) are unchanged.