The mgrep_watch.py SessionStart hook crashes when read_hook_input() returns None:
hooks/mgrep_watch.py:35:
payload = read_hook_input()
cwd = payload.get("cwd") # AttributeError: 'NoneType' object has no attribute 'get'
read_hook_input() can return None when stdin is empty or contains invalid JSON, but line 35 calls .get() on it without a null check.
This produces a SessionStart:startup hook error on every Claude Code session start.
Suggested fix: Add a guard before accessing payload:
payload = read_hook_input()
if not payload:
sys.exit(1)
cwd = payload.get("cwd")
The
mgrep_watch.pySessionStart hook crashes whenread_hook_input()returnsNone:read_hook_input()can returnNonewhen stdin is empty or contains invalid JSON, but line 35 calls.get()on it without a null check.This produces a
SessionStart:startup hook erroron every Claude Code session start.Suggested fix: Add a guard before accessing payload: