[BUG] Slack MCP integration: message-related tools return internal error while profile tools work
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
The Claude.ai-hosted Slack MCP integration partially fails — profile/channel-search tools work, but all message-reading and message-searching tools return [Tool result missing due to internal error].
This has been persistent for 2+ days and survives Slack integration disconnect/reconnect from https://claude.ai/settings/integrations.
Working vs Broken Tools
| Tool | Status | Notes |
|------|--------|-------|
| slack_read_user_profile | ✅ Works | Returns full profile data |
| slack_search_channels | ✅ Works | Returns results normally |
| slack_read_channel | ❌ Internal error | Any channel, any parameters |
| slack_read_thread | ❌ Internal error | Any thread |
| slack_search_public | ❌ Internal error | Any query |
Key Observations
- OAuth connection is valid —
slack_read_user_profilesuccessfully authenticates and returns data - Pattern: All tools that read message content fail; tools that read metadata only (profiles, channel list) work
- Persists across sessions — restarting Claude Code doesn't help
- Persists across reconnect — disconnecting and reconnecting Slack integration from claude.ai/settings/integrations doesn't help
- Other users on the same Slack workspace report the integration works for them
- Account-specific — suggests a per-user token/scope issue rather than a server-wide outage
Error Messages/Logs
Every message-related tool call returns:
[Tool result missing due to internal error]
No additional error details are provided to the client.
Steps to Reproduce
- Open Claude Code CLI (v2.1.79)
- Ensure Slack integration is connected via claude.ai/settings/integrations
- Call
slack_read_user_profile→ works fine - Call
slack_read_channelwith any valid channel_id → internal error - Call
slack_read_threadwith any valid channel_id + message_ts → internal error - Call
slack_search_publicwith any query → internal error
Attempted Remediation
- Disconnect + reconnect Slack from claude.ai/settings/integrations (multiple times)
- Restart Claude Code sessions
- None resolved the issue
Claude Model
Opus
Is this a regression?
Yes — this was working previously
Claude Code Version
2.1.79
Platform
Claude Code CLI (with claude.ai hosted MCP integrations)
Operating System
macOS (Darwin 25.2.0)
Terminal/Shell
zsh (inside tmux)
Additional Information
- The
mcp__claude_ai_Slack__prefix confirms these are Claude.ai-hosted MCP tools, not locally configured - The selective failure pattern (metadata OK, messages broken) strongly suggests a Slack OAuth scope issue — possibly
channels:historyandsearch:readscopes were lost or revoked for this specific user's token while basic scopes remain valid - Slack workspace: sendbird
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗