[BUG] SessionStart Hook Context Not Displayed After Update

Resolved 💬 6 comments Opened Oct 15, 2025 by galcianuk Closed Jan 8, 2026

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:

  1. Ask Claude to summarize what context was loaded
  2. Manually read any log files your hook generates
  3. 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

  1. Configure SessionStart hook in .claude/settings.json:
{
  "hooks": {
    "SessionStart": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "node /path/to/your/hook-script.js"
          }
        ]
      }
    ]
  }
}
  1. 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));
  1. Launch Claude Code in the project directory
  2. Expected: "Test context" with items displayed in chat interface
  3. 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

View original on GitHub ↗

This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗