systemMessage from Stop hooks not displayed in remote mode

Resolved 💬 3 comments Opened Mar 18, 2026 by dh-ftnt Closed Mar 21, 2026

Description

Stop hooks that output {"systemMessage": "..."} work correctly in local Claude Code but the message is not displayed when using Claude remote control.

Reproduction

  1. Configure a Stop hook in ~/.claude/settings.json that outputs a systemMessage:
{
  "hooks": {
    "Stop": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "echo '{\"systemMessage\": \"Hello from Stop hook\"}'"
          }
        ]
      }
    ]
  }
}
  1. Run Claude Code locally → systemMessage is displayed ✅
  2. Run Claude Code via remote control → systemMessage is not displayed ❌

Additional context

  • Other hooks in the same Stop event (e.g., afplay for sound notifications) execute successfully in remote mode
  • The hook itself runs fine — it's only the systemMessage rendering that is missing
  • This also affects plain text output to stdout/stderr from Stop hooks

Expected behavior

systemMessage output from Stop hooks should be rendered in the remote CC client the same as in local mode.

View original on GitHub ↗

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