Buddy companion speech bubble responses are not persisted in session logs

Resolved 💬 4 comments Opened Apr 2, 2026 by byPawel Closed Apr 9, 2026

Summary

The /buddy companion feature generates real-time speech bubble responses that are displayed to users in the terminal UI, but these responses are not persisted anywhere — not in session JSONL, not in ~/.claude.json, not in debug logs.

Why this matters

  • No audit trail — if the companion says something inappropriate or harmful, there is zero evidence for the user to reference or report
  • No reproducibility — Anthropic cannot investigate companion behavior incidents without logs
  • Asymmetric logging — every tool call, assistant message, and hook execution is logged with millisecond timestamps, but the one component with a personality engine and zero supervision is ephemeral

What we verified

| Location | Companion bubble text found? |
|---|---|
| Session JSONL (all message types) | No — only companion_intro and petted events |
| ~/.claude.json companion field | No — only name, personality, hatchedAt |
| ~/.claude/debug/ logs | No |
| ~/.claude/history.jsonl | No |
| Terminal scrollback (kitty) | No — bubble is a TUI overlay, not terminal text |

The only message types in the JSONL are: message, assistant, user, text, tool_use, tool_result, thinking, system, file-history-snapshot, queue-operation, attachment, companion_intro. No companion_response type exists.

Suggestion

Persist companion speech bubble text in the session JSONL as a companion_response message type, consistent with how all other session activity is logged.

Environment

  • Claude Code v2.1.90
  • Companion: Gristle (octopus, Rare)
  • macOS Darwin 25.3.0

View original on GitHub ↗

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