# Claude Code Channels
Channels push external events (messages, alerts, webhooks) into a running [[Claude Code]] session via an [[Model Context Protocol (MCP)|MCP]] server, so Claude can react while you're away from the terminal. They can be two-way: Claude reads the event and replies back through the same channel (e.g., a chat bridge). Events only arrive while the session is open.
Channels are a research preview feature requiring Claude Code v2.1.80+ and claude.ai login (no Console/API key auth). Team and Enterprise organizations must explicitly enable them.
## How it works
A channel is an MCP server installed as a [[Claude Code Plugins|plugin]]. You enable it per session with the `--channels` flag:
```sh
claude --channels plugin:telegram@claude-plugins-official
```
Multiple plugins can be space-separated. Being in `.mcp.json` isn't enough; a server must also be named in `--channels` to push messages.
## Supported channels
Currently in the research preview:
- **Telegram** — create a bot via BotFather, install the plugin, configure the token, pair your account
- **Discord** — create a bot in the Discord Developer Portal, enable Message Content Intent, install the plugin, configure the token, pair your account
- **Fakechat** — localhost demo at `http://localhost:8787` for testing the flow without external services
All channel plugins require [Bun](https://bun.sh).
## Setup flow (general pattern)
1. Install the plugin: `/plugin install <name>@claude-plugins-official`
2. Configure credentials: `/<name>:configure <token>`
3. Restart with channels enabled: `claude --channels plugin:<name>@claude-plugins-official`
4. Pair your account by messaging the bot, then running `/<name>:access pair <code>`
5. Lock down access: `/<name>:access policy allowlist`
## Security
Each channel plugin maintains a sender allowlist. Only paired IDs can push messages; all others are silently dropped. The allowlist is bootstrapped through the pairing flow.
## Enterprise controls
| Plan | Default |
|------|---------|
| Pro / Max (no org) | Available; users opt in per session with `--channels` |
| Team / Enterprise | Disabled until admin enables via `channelsEnabled` in managed settings |
Admins enable channels from **claude.ai > Admin settings > Claude Code > Channels**.
## Use cases
- **Chat bridge**: ask Claude something from your phone via Telegram or Discord; the answer comes back in the same chat while work runs locally against your files
- **Webhook receiver**: forward CI results, error tracker alerts, or deploy pipeline events into a session where Claude already has your files open
- **Monitoring**: push monitoring events so Claude can react to incidents in context
## How channels compare to other features
| Feature | Direction | Good for |
| ----------------------------------------- | ------------------------- | -------------------------------------------- |
| Channels | External → session (push) | Reacting to events while away |
| [[Claude Code Remote Control]] | You → session (remote) | Steering in-progress work from phone/browser |
| Standard [[Model Context Protocol (MCP)]] | Session → server (pull) | On-demand querying of external systems |
| [[Claude Code Tasks\|Scheduled tasks]] | Timer → session (poll) | Recurring checks on a schedule |
## Building custom channels
You can build your own channel for systems that don't have a plugin yet. See the [Channels reference](https://code.claude.com/docs/en/channels-reference).
During the research preview, `--channels` only accepts plugins from an Anthropic-maintained allowlist. Use `--dangerously-load-development-channels` to test custom channels.
## References
- Documentation: https://code.claude.com/docs/en/channels
- Channels reference (building your own): https://code.claude.com/docs/en/channels-reference
- Official plugins source: https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins
- https://www.youtube.com/watch?v=9G6IPxSXU8s
## Related
- [[Claude Code]]
- [[Claude Code Plugins]]
- [[Claude Code MCP Integration]]
- [[Claude Code Remote Control]]
- [[Claude Code Hooks]]
- [[Claude Code Tasks]]
- [[Claude Code Permissions]]