Windows: SessionStart plugin hooks show 'hook error' despite succeeding
Resolved 💬 3 comments Opened Feb 16, 2026 by IAmRubenNavarro Closed Feb 20, 2026
Description
On Windows 11, Claude Code v2.1.44 displays "SessionStart:startup hook error" for every plugin with a SessionStart hook, even though the hooks execute successfully and their context is loaded into the session.
Reproduction
- Install Claude Code v2.1.44 on Windows 11
- Enable any plugin with a
SessionStarthook (e.g.,superpowers,learning-output-style) - Start a new session
- Observe:
⎿ SessionStart:startup hook error
⎿ SessionStart:startup hook error
Despite the errors, hook context IS injected (skills, instructions all present).
Diagnostic Details
- Claude Code: v2.1.44 (latest)
- OS: Windows 11 Pro 10.0.26200
- Shell: Git Bash
- Affected plugins:
superpowers(v4.3.0),learning-output-style
Manual testing of both hooks shows no issues:
- Exit code: 0
- stderr: empty
- JSON output: valid (verified with Python
json.loads) - No stray
\rbytes in output - Scripts execute correctly under Git Bash on Windows
What was checked:
- Both cached and marketplace hook script files exist and are executable
- No user-level or project-level hooks configured
- No CRLF contamination in JSON output (0
\rbytes) - One script (
learning-output-style) has CRLF line endings in the.shfile itself, the other (superpowers) has LF — both show the same error, so line endings are not the differentiator
Expected Behavior
No error banner when hooks exit 0, produce valid JSON on stdout, and emit nothing on stderr.
Actual Behavior
"SessionStart:startup hook error" displayed for each plugin hook, but output is still consumed and applied to the session.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗