Pending: Show full my-todos.md or only the “Now” section?
User Tasks
FR-013: Session Start — Show Todos
Summary
When starting a Claude Code session, automatically display next steps from vault/my-todos.md.
Problem / Motivation
Each session starts cold — Claude doesn’t know what the user was working on or plans to do. The user has to manually say “check my todos” or re-explain context. my-todos.md already tracks current focus, so this should be automatic.
Proposed Solution
A UserPromptSubmit hook that injects the contents of my-todos.md on the first prompt of each session. This gives Claude immediate context about priorities without the user having to ask.
Why UserPromptSubmit, not SessionStart?
Claude Code hooks don’t have a SessionStart event that can inject content into the conversation. UserPromptSubmit fires on every prompt — we use a state file to ensure injection only happens once per session.
Implementation
# .claude/hooks/session-start-todos.shLOCK="/tmp/claude-session-todos-$$"# Only fire once per session (parent PID stays constant)LOCK="/tmp/claude-session-todos-$PPID"if [ -f "$LOCK" ]; then exit 0fitouch "$LOCK"TODOS="$CLAUDE_PROJECT_DIR/vault/my-todos.md"if [ -f "$TODOS" ]; then echo "--- Current Todos (from vault/my-todos.md) ---" cat "$TODOS" echo "---"fi