A collection of Claude Code hooks and utilities.
A SessionStart hook that detects when Claude Code has updated and shows you a summary of what changed.
How it works:
- On each session start, compares
claude --versionagainst a stored version - If the version changed, fetches the changelog from GitHub and extracts entries between old → new
- Injects the changelog into session context and asks Claude to summarize the top 5 highlights
- On same version, exits silently (zero overhead)
Features:
- First run just records the version — no changelog dump
- 40-line output cap prevents multi-version jumps from flooding context
curl --max-time 5caps worst-case network latency- All errors fail gracefully (
exit 0) — never blocks session start - Version file updated after output, so you see the changelog exactly once
- Copy the script:
mkdir -p ~/.claude/hooks
cp hooks/version-check.sh ~/.claude/hooks/version-check.sh
chmod +x ~/.claude/hooks/version-check.sh- Add the hook to
~/.claude/settings.json:
{
"hooks": {
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "bash /Users/YOUR_USERNAME/.claude/hooks/version-check.sh",
"timeout": 10
}
]
}
]
}
}Note: Use the full absolute path —
~expansion may not work in settings.json.
- Start a new Claude Code session. On first run it will record your current version. Next time Claude Code updates, you'll see a summary of what's new.