Feature request: BuddyReact hook event for companion speech capture
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:
- Persistent buddy observations — Write buddy speech to a log or blackboard file so Claude can read and act on what the buddy noticed
- Buddy-driven automation — If the buddy spots a bug pattern, trigger a review or test run
- Session retrospectives — Include buddy observations in session retros alongside Claude's own analysis
- 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 (
scriptcommand) — 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 Stophook correlation —Stopfires 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
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗