Discord plugin: intermediate assistant text between tool calls is invisible to users

Resolved 💬 1 comment Opened Mar 27, 2026 by subrih Closed May 25, 2026

Summary

The Discord plugin correctly delivers Claude's final responses when Claude calls the reply tool. However, any assistant text produced between tool calls — reasoning, status updates, mid-task commentary — is invisible to Discord users unless Claude explicitly calls reply for each piece of text.

Impact

For long multi-step tasks, users see only the final reply with no visibility into what Claude is doing in between. This creates a perception of silence during long operations.

Current workaround

A PreToolUse hook reads the session transcript on every tool call, extracts new assistant text blocks using MD5 dedup, and posts them to Discord via direct bot API calls:

# On every PreToolUse, flush unseen assistant text from transcript
NEW_TEXT=$(python3 - "$TRANSCRIPT" "$SEEN_FILE" <<'PYEOF'
# ... reads transcript, finds new assistant text blocks, deduplicates by MD5
PYEOF
)
if [ -n "$NEW_TEXT" ]; then
  post_async "$NEW_TEXT"
fi

This works but is fragile: requires per-session seen-files, breaks on session compaction (session ID rotates), and delivers text in batches rather than streaming.

Expected behavior

The plugin should forward intermediate assistant text to the originating channel as it's produced — either streamed in real-time or posted per assistant turn — so users have visibility into multi-step tasks without needing transcript-scraping hooks.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗