You could have claude --init create this hook and then it gets into the context at start and resume
Or create it in some other way
{
"hookSpecificOutput": {
"hookEventName": "SessionStart",
"additionalContext": "<contents of your file here>"
}
}
I thought it was such a good suggestion that I made this just now and made it global to inject README at startup / resume / post compact - I'll see how it works out #!/bin/bash
# ~/.claude/hooks/inject-readme.sh
README="$(pwd)/README.md"
if [ -f "$README" ]; then
CONTENT=$(jq -Rs . < "$README")
echo "{\"hookSpecificOutput\" :{\"hookEventName\":\"SessionStart\",\"additionalContext\":${CONTENT}}}"
exit 0
else
echo "README.md not found" >&2
exit 1
fi
with this hook {
"hooks": {
"SessionStart": [
{
"matcher": "startup|clear|compact",
"hooks": [
{
"type": "command",
"command": "~/.claude/hooks/inject-readme.sh"
}
]
}
]
}
}