By reef-digital
Slack channel for Claude Code — messaging bridge with built-in access control. Manage pairing, allowlists, and policy via /slack:access.
npx claudepluginhub reef-digital/claude-code-slackManage Slack channel access — approve pairings, edit allowlists, set DM/group policy. Use when the user asks to pair, approve someone, check who's allowed, or change policy for the Slack channel.
Set up Slack channel tokens and check channel status. Use when the user provides Slack bot tokens or asks about channel configuration.
Start, stop, join, resume, and manage Claude Code sessions mirrored to Slack via slaude
Connect Claude Managed Agents to messaging channels like Slack — initialize Slack integrations and run the bridging server directly from Claude Code
Set up the redhat-community-ai-tools Slack MCP server for use with Claude Code
Slack workspace integration. Search messages, access channels, read threads, and stay connected with your team's communications while coding. Find relevant discussions and context quickly.
Persistent agent orchestrator for Claude Code. Multi-channel message routing, triage, and SWE task management. Run /claudeclaw:setup to create your first instance and configure channels.
Memory compression system for Claude Code - persist context across sessions
Admin access level
Server config contains admin-level keywords
Share bugs, ideas, or general feedback.
Slack channel plugin for Claude Code. Interact with Claude Code agents via Slack — no terminal needed.
This plugin runs as an MCP server alongside Claude Code. It connects to Slack via Socket Mode (WebSocket) and bridges messages between Slack and Claude Code. Claude Code sees Slack messages as channel notifications and can reply, react, edit messages, fetch history, and handle file attachments.
This plugin requires Bun as its JavaScript runtime.
macOS / Linux:
curl -fsSL https://bun.sh/install | bash
Windows (via PowerShell):
irm bun.sh/install.ps1 | iex
Verify installation:
bun --version
If bun is not installed, the plugin will fail to start. See bun.sh for alternative install methods (Homebrew, npm, Docker, etc).
Version 2.1.80 or later is required (channels support). Check with:
claude --version
Important: Channels require a Claude Pro, Max, Team, or Enterprise subscription (claude.ai account login). API key authentication (
ANTHROPIC_API_KEY) alone is not sufficient — the channels feature depends on claude.ai OAuth which is only available with a subscription plan. On headless servers without browser access (e.g. EC2), setCLAUDE_TMUX_WINDOWto use the tmux fallback delivery instead.
You need a Slack app with Socket Mode enabled. Follow the steps below to create one.
connections:write scope — this is your xapp- token. Save it.Go to OAuth & Permissions > Bot Token Scopes and add:
| Scope | Purpose |
|---|---|
app_mentions:read | Receive @bot mentions in channels |
chat:write | Send messages |
channels:read | Look up public channel metadata |
channels:history | Read public channel history |
groups:history | Read private channel history |
im:history | Read DM history |
mpim:history | Read group DM history |
reactions:write | Add emoji reactions |
files:write | Upload file attachments |
files:read | Read file metadata |
users:read | Resolve user IDs to display names (fetch_messages, fetch_thread) |
users.profile:read | Read profile.display_name for name resolution |
All scopes are required. Reinstall the app after adding any of them — the bot token issued at install time is scope-locked. If a scope is missing, the plugin does not crash: it silently falls back (e.g.
fetch_messagesprints rawU0…IDs instead of display names). Check plugin stderr forresolveUserName(…) failed: missing_scopeto diagnose scope gaps.
Go to Event Subscriptions and enable it. Under Subscribe to bot events, add all of the following:
| Event | Purpose |
|---|---|
message.channels | Receive messages in public channels |
message.groups | Receive messages in private channels |
message.im | Receive direct messages |
message.mpim | Receive group direct messages |
app_mention | Receive @mentions in channels |
All five events are required. Socket Mode connects successfully without them, but Slack will never send message events over the WebSocket — the bot will appear online but silently ignore all messages.
Click Install App in the sidebar. After installing, copy the Bot User OAuth Token (xoxb-).
If you change scopes or event subscriptions after installing, you must reinstall the app for changes to take effect.
You now have two tokens:
xoxb-... — Bot User OAuth Token (from Install App page)xapp-... — App-Level Token (from Socket Mode settings)claude /install-plugin https://github.com/reef-digital/claude-code-slack
Or manually clone and add to your Claude Code MCP config:
git clone https://github.com/reef-digital/claude-code-slack.git
Then add to your MCP settings (e.g. ~/.claude/settings.json or project .mcp.json):
{
"mcpServers": {
"slack": {
"command": "bun",
"args": ["run", "--cwd", "/path/to/claude-code-slack", "--silent", "start"]
}
}
}
Note: Do not use a
cwdfield in the MCP config — Claude Code ignores it. Use bun's--cwdflag in the args array instead.
The plugin is configured entirely via environment variables — no JSON files to edit.
Run in Claude Code:
/slack:configure
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claim