claude-code - 💡(How to fix) Fix Slack MCP connector: bot message content missing — attachments not surfaced in tool output

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

The claude.ai Slack MCP connector's slack_read_channel and slack_read_thread tools only return the text field of Slack messages. Many bots (e.g. Opsgenie, PagerDuty, GitHub, Jira) post their content entirely in attachments or blocks, leaving the text field empty. Claude sees these messages as blank even though the full content is visible in the Slack client.

Root Cause

This makes the tool effectively useless for incident response and on-call workflows — a primary use case for reading alert channels. It also affects any channel where bots post structured notifications.

The Slack API already returns attachments as part of the conversations.history response when channels:history scope is granted (which the connector already has). No additional OAuth scopes are needed. This is purely a data extraction issue in the connector's message formatting logic.

Code Example

=== Message from Opsgenie at 2026-05-12 05:16:58 ===
RAW_BUFFERClick to expand / collapse

Summary

The claude.ai Slack MCP connector's slack_read_channel and slack_read_thread tools only return the text field of Slack messages. Many bots (e.g. Opsgenie, PagerDuty, GitHub, Jira) post their content entirely in attachments or blocks, leaving the text field empty. Claude sees these messages as blank even though the full content is visible in the Slack client.

Steps to Reproduce

  1. Connect the claude.ai Slack MCP in Claude Code
  2. Use slack_read_channel on any channel where a bot posts alerts or notifications using Slack message attachments
  3. Observe that the bot messages appear with empty bodies in the tool output

Expected Behavior

Tool output should include attachment content. At minimum, attachments[].fallback should be included — Slack requires all attachments to provide a fallback plain-text string specifically for clients that cannot render rich formatting. attachments[].text and attachments[].pretext would also be useful.

Actual Behavior

Bot messages that use Slack attachments appear completely empty:

=== Message from Opsgenie at 2026-05-12 05:16:58 ===

While the Slack client shows the full alert title, priority, and description.

Why This Matters

This makes the tool effectively useless for incident response and on-call workflows — a primary use case for reading alert channels. It also affects any channel where bots post structured notifications.

The Slack API already returns attachments as part of the conversations.history response when channels:history scope is granted (which the connector already has). No additional OAuth scopes are needed. This is purely a data extraction issue in the connector's message formatting logic.

Suggested Fix

Include attachments[].fallback, attachments[].text, and attachments[].pretext in the formatted message output. For blocks-based messages, include the text field from section blocks.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix Slack MCP connector: bot message content missing — attachments not surfaced in tool output