Slack MCP channel_not_found / not_in_channel
Fixes Slack MCP tools failing with channel_not_found or not_in_channel. Use when the channel ID looks right but calls fail. Not for token or scope errors.
Slack MCP channelnotfound / notinchannel
TL;DR: Invite the bot user into the channel; Slack bots cannot see channels they have not joined. Use the channel ID (C123...) not the channel name in tool calls. For private channels, the invite must come from a channel member.
The error
channel_not_found / not_in_channelFix it
- Copy the channel ID from Slack (right-click channel, View channel details).
Expected: You have the C-prefixed ID.
- Invite the bot: /invite @YourBot in the channel.
Expected: Slack confirms the bot joined.
- Retry the MCP tool call with the channel ID.
Expected: It succeeds.
When this applies
Slack MCP calls fail with channelnotfound or notinchannel on a channel that exists.
When this does NOT apply
If the bot is in the channel and it still fails, check scopes. Token problems fail everywhere, not per channel.
Tool compatibility
korotovsky/slack-mcp-server, recent versions
Also seen as
- Slack MCP bot not in channel
- notinchannel slack MCP
- Slack MCP cannot post to channel
Why it happens
Slack's API hides channels the caller has not joined. The bot token's view is membership-based, so an unjoined channel reads as not found even when the ID is correct.
Edge cases
- Private channels need an explicit invite; public ones can be joined by the bot with channels:join.
- Channel IDs change if a channel is recreated; re-copy the ID.
- Threads need the parent message timestamp too.
Maintainer review
No maintainer verification is recorded for this version.
This records the version a maintainer checked. It does not assert that the version is the latest upstream release.