# Slack MCP channel_not_found / not_in_channel

**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_channel
```

## Fix it

1. Copy the channel ID from Slack (right-click channel, View channel details).
   Expected: You have the C-prefixed ID.
2. Invite the bot: /invite @YourBot in the channel.
   Expected: Slack confirms the bot joined.
3. Retry the MCP tool call with the channel ID.
   Expected: It succeeds.

## When this applies

Slack MCP calls fail with channel_not_found or not_in_channel 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
- not_in_channel 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.