[BUG] SessionStart Hook Context Not Displayed After Update
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Bug Report: SessionStart Hook Context Not Displayed After Update
Summary
After updating Claude Code, the SessionStart hook's additionalContext is no longer displayed in the chat interface when launching a new session, despite being successfully generated and loaded into the system context.
Evidence
Hook Output Verification
Running the hook directly shows it generates expected output:
echo '{}' | node /path/to/hook-script.js
Confirms JSON output with valid hookSpecificOutput.additionalContext field containing the expected context text.
Claude Can See Context
When asked, Claude confirms: "Your session log is loading! It's displayed in the system reminders at the start of our conversation."
User Cannot See Context
User reports: "I can't see it when I launch claude"
Environment
- OS: Linux (WSL2)
- SessionStart Hook: Custom Node.js script returning JSON with
additionalContext - Claude Code Version: 2.0.17
- Previous Version Behavior: Context was displayed in chat interface
- Current Version Behavior: Context loaded but not displayed
Impact
Severity: Medium
User Impact:
- Loss of visual continuity between sessions
- Users cannot see recent work summaries on launch
- Reduced discoverability of available tasks
- Forces manual log file reading for context
Workarounds:
- Ask Claude to summarize what context was loaded
- Manually read any log files your hook generates
- View hook output directly:
echo '{}' | node /path/to/hook-script.js
Regression Confirmation
User confirms: "it was working before I updated claude"
This indicates the behavior changed between Claude Code versions, suggesting a regression in how SessionStart hook output is displayed.
Expected Fix
Restore previous behavior where SessionStart hook's additionalContext is displayed in the chat interface at session launch, making the loaded context visible to users.
---
Date: 2025-10-15
What Should Happen?
Expected Behavior
When launching Claude Code with a SessionStart hook configured, the hook's additionalContext should be displayed in the chat interface, showing:
- Recent context compaction summaries
- Recent session logs
- Available tasks list
- Current task information (if applicable)
This was the behavior in previous Claude Code versions.
Actual Behavior
The SessionStart hook executes successfully and generates the expected Json output with hookSpecificOutput.additionalContext, but this context is not displayed in the chat interface. The context is still loaded (Claude can see it in system reminders), but the user cannot see it.
Error Messages/Logs
Steps to Reproduce
Steps to Reproduce
- Configure SessionStart hook in
.claude/settings.json:
{
"hooks": {
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "node /path/to/your/hook-script.js"
}
]
}
]
}
}
- Create a hook script that returns
additionalContext:
// hook-script.js
const output = {
hookSpecificOutput: {
hookEventName: "SessionStart",
additionalContext: "Test context:\n- Item 1\n- Item 2\n- Item 3"
}
};
console.log(JSON.stringify(output));
- Launch Claude Code in the project directory
- Expected: "Test context" with items displayed in chat interface
- Actual: Context not displayed (but loaded into system context)
Claude Model
Sonnet (default)
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.0.17
Platform
Anthropic API
Operating System
Other Linux
Terminal/Shell
WSL (Windows Subsystem for Linux)
Additional Information
Additional Notes
- The hook system itself is working correctly (hook executes, returns valid JSON)
- The context is being loaded (Claude can access it via system reminders)
- Only the display/rendering of this context is broken
- Other hooks (UserPromptSubmit, PostToolUse, etc.) appear to work normally
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗