Add SessionReady hook event that fires after splash screen
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
When I use SessionStart hooks to display session context (like loading a session-state.md file)...
.claude/hooks/report-progress.sh (triggered by SessionStart hook)
cat "$CLAUDE_PROJECT_DIR/.claude/session-state.md" > /dev/tty
...the output appears BEFORE the Claude Code splash/welcome banner, making it feel disconnected from the conversation.
Proposed Solution
Add a new hook event (e.g., SessionReady or PostSplash) that fires after the splash/welcome banner is displayed.
Ideal experience:
- Claude Code starts
- Splash banner displays
SessionReadyhook fires- My session context appears BELOW the splash, as the first thing in the conversation
This would use the same hook configuration pattern:
{
"hooks": {
"SessionReady": [{
"matcher": "startup",
"hooks": [{
"type": "command",
"command": ".claude/hooks/report-progress.sh"
}]
}]
}
}
Alternatively, a timing option on SessionStart hooks (e.g., "timing": "post-splash") could work without adding a new event type.
Alternative Solutions
None. SessionStart is the only startup hook, and it always fires before the splash screen.
Priority
Medium - Would be very helpful
Feature Category
CLI commands and flags
Use Case Example
I maintain a session-state.md file that tracks what I was working on. When a significant amount of time passes since the last session (this could very well be the next morning), I need to be brought back up to speed on what we were working on, what we succeeded or struggled with last time, what we were planning for next time. A SessionStart hook can display this so Claude can greet me with context from last session—but because it appears before the splash, it's easy to miss.
Additional Context
Additionally, requiring > /dev/tty to display hook output to the terminal is non-obvious. A hook parameter like "output": "terminal" or "displayToUser": true would be more intuitive than expecting users to know about /dev/tty redirection.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗