Feature request: BuddyReact hook event for companion speech capture

Resolved 💬 3 comments Opened Apr 3, 2026 by jacobmalm-asi Closed Apr 7, 2026

Summary

Add a BuddyReact hook event that fires after the companion (buddy) generates a speech bubble response. This would allow users to persist, log, and act on companion observations.

Motivation

The buddy/companion system generates insightful, contextual observations about the conversation — bug detection, code quality comments, naming critiques. These observations are currently ephemeral: rendered in the terminal for ~10 seconds, then gone forever.

For users who rely on cross-session coordination (blackboard systems, retro logs, memory files), the buddy's observations are a valuable signal that's currently lost. Being able to capture them would enable:

  1. Persistent buddy observations — Write buddy speech to a log or blackboard file so Claude can read and act on what the buddy noticed
  2. Buddy-driven automation — If the buddy spots a bug pattern, trigger a review or test run
  3. Session retrospectives — Include buddy observations in session retros alongside Claude's own analysis
  4. Training data for self-improvement — Track what the buddy flagged vs. what Claude missed

Proposed API

A new hook event BuddyReact (or CompanionReact) that fires after the buddy_react API response is received:

{
  "hooks": {
    "BuddyReact": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/buddy-logger.sh"
          }
        ]
      }
    ]
  }
}

The hook's stdin JSON would include:

{
  "buddy_name": "Rind",
  "buddy_species": "cactus",
  "speech": "That variable name is a war crime.",
  "reason": "after_response",
  "addressed": false,
  "timestamp": "2026-04-03T12:00:00Z"
}

Alternatives Considered

  • Terminal output capture (script command) — Works but fragile, requires parsing ANSI escape sequences
  • API proxy (mitmproxy intercepting buddy_react) — Works but requires HTTPS interception of Anthropic's API traffic, heavy setup
  • Stop hook correlationStop fires after Claude responds but doesn't include buddy data

A first-class hook event is cleaner than all of these.

Context

The existing hook system has 26 events covering the full tool lifecycle. Adding BuddyReact would be architecturally consistent — the buddy_react API call already returns structured data that maps cleanly to the hook JSON format.

---

Filed from Claude Code session — configuration overhaul for cross-session coordination

View original on GitHub ↗

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