Skip to content

SessionStart hook systemMessage no longer rendered in terminal #41285

Description

@joshwilhelmi

Description

The systemMessage field returned by a SessionStart hook is no longer displayed in the terminal. Previously it rendered as:

⎿  SessionStart:startup says:
     Gobby Session ID: #4796 (4129ef90-...)
     Agent: default
     ├─ Rules: 72
     └─ Skills: 23

Now the hook executes successfully (exit 0, valid JSON with systemMessage field populated), but nothing is displayed. The additionalContext in hookSpecificOutput IS injected into the model context correctly — only the visual rendering of systemMessage is missing.

Steps to Reproduce

  1. Configure a SessionStart hook that returns JSON with a systemMessage field:
{
  "continue": true,
  "systemMessage": "Session started successfully",
  "decision": "approve",
  "hookSpecificOutput": {
    "hookEventName": "SessionStart",
    "additionalContext": "some context"
  }
}
  1. Start a new Claude Code session
  2. Observe: no visual output from the hook, despite additionalContext being injected

Expected Behavior

systemMessage should be displayed in the terminal, as documented ("optional warning message shown to the user").

Environment

  • Claude Code: 2.1.88
  • OS: macOS (Darwin 25.3.0)
  • Terminal: tmux

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:hooksbugSomething isn't workinghas reproHas detailed reproduction stepsstaleIssue is inactive

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions