Follow Discord
Sweep 30 Oct 2026 · 01:02Z Build v2.1.314 532 read Stable v2.1.308 Latest v2.1.314 Next v2.1.314 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · claude-code

Push events into a running session with channels changedchannels

Nearest release: v2.1.314, published 17 hours before upstream edited the page. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Upstream edited this page at 30 Oct 2026 17:44 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 30 Oct 2026 18:07 UTC.

Upstream edited
Recorded here
Lines+194added
Lines−194removed
From line 20 where the diff opens
First seen 14 Aug 2026 this site's first read of the page
Recorded edits20to this page, all time

The whole hunk

from line 20, old and new numbered
/
lines
from line 20
2020 
2121Each supported channel is a plugin that requires [Bun](https://bun.sh). For a hands-on demo of the plugin flow before connecting a real platform, try the [fakechat quickstart](#quickstart).
2222 
23**Telegram**
24 
25View the full [Telegram plugin source](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/telegram).
26 
27**1. Create a Telegram bot**
28 
29Open [BotFather](https://t.me/BotFather) in Telegram and send `/newbot`. Give it a display name and a unique username ending in `bot`. Copy the token BotFather returns.
30 
31**2. Install the plugin**
32 
33Start Claude Code by running `claude` in your terminal, then enter this at its prompt:
34 
35```
36/plugin install telegram@claude-plugins-official
37```
38 
39If the install fails, match the message Claude Code reports:
40 
41* `Marketplace "claude-plugins-official" not found`: add the marketplace with `/plugin marketplace add anthropics/claude-plugins-official`, then retry the install.
42* `Plugin "<name>" not found in marketplace "claude-plugins-official"`: your local copy of the marketplace catalog may be out of date. Refresh it with `/plugin marketplace update claude-plugins-official`, then retry the install. If the retry prints the same message, see [Plugin not found in marketplace](https://code.claude.com/docs/en/plugins/troubleshooting.md#plugin-not-found-in-marketplace).
43 
44When the install asks for an installation scope, choose the user scope option so the plugin is available across all your projects. Check the install summary: if it reports `Run /reload-plugins to apply.`, see [Apply plugin changes without restarting](https://code.claude.com/docs/en/plugins/cli-reference.md#reload-plugins) to make the plugin's configure command available.
45 
46**3. Configure your token**
47 
48Run the configure command with the token from BotFather:
49 
50```
51/telegram:configure <token>
52```
53 
54This saves it to `~/.claude/channels/telegram/.env`. You can also set `TELEGRAM_BOT_TOKEN` in your shell environment before launching Claude Code.
55 
56**4. Restart with channels enabled**
57 
58Exit Claude Code and restart with the channel flag. This starts the Telegram plugin, which begins polling for messages from your bot:
59 
60```bash theme={null}
61claude --channels plugin:telegram@claude-plugins-official
62```
63 
64**5. Pair your account**
65 
66Open Telegram and send any message to your bot. The bot replies with a pairing code.
67 
68> [!NOTE]
23> [tab] Telegram
6924>
70> If your bot doesn't respond, make sure Claude Code is running with `--channels` from the previous step. The bot can only reply while the channel is active.
25> View the full [Telegram plugin source](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/telegram).
26>
27> **1. Create a Telegram bot**
28>
29> Open [BotFather](https://t.me/BotFather) in Telegram and send `/newbot`. Give it a display name and a unique username ending in `bot`. Copy the token BotFather returns.
30>
31> **2. Install the plugin**
32>
33> Start Claude Code by running `claude` in your terminal, then enter this at its prompt:
34>
35> ```
36> /plugin install telegram@claude-plugins-official
37> ```
38>
39> If the install fails, match the message Claude Code reports:
40>
41> * `Marketplace "claude-plugins-official" not found`: add the marketplace with `/plugin marketplace add anthropics/claude-plugins-official`, then retry the install.
42> * `Plugin "<name>" not found in marketplace "claude-plugins-official"`: your local copy of the marketplace catalog may be out of date. Refresh it with `/plugin marketplace update claude-plugins-official`, then retry the install. If the retry prints the same message, see [Plugin not found in marketplace](https://code.claude.com/docs/en/plugins/troubleshooting.md#plugin-not-found-in-marketplace).
43>
44> When the install asks for an installation scope, choose the user scope option so the plugin is available across all your projects. Check the install summary: if it reports `Run /reload-plugins to apply.`, see [Apply plugin changes without restarting](https://code.claude.com/docs/en/plugins/cli-reference.md#reload-plugins) to make the plugin's configure command available.
45>
46> **3. Configure your token**
47>
48> Run the configure command with the token from BotFather:
49>
50> ```
51> /telegram:configure <token>
52> ```
53>
54> This saves it to `~/.claude/channels/telegram/.env`. You can also set `TELEGRAM_BOT_TOKEN` in your shell environment before launching Claude Code.
55>
56> **4. Restart with channels enabled**
57>
58> Exit Claude Code and restart with the channel flag. This starts the Telegram plugin, which begins polling for messages from your bot:
59>
60> ```bash theme={null}
61> claude --channels plugin:telegram@claude-plugins-official
62> ```
63>
64> **5. Pair your account**
65>
66> Open Telegram and send any message to your bot. The bot replies with a pairing code.
67>
68> > [!NOTE]
69> >
70> > If your bot doesn't respond, make sure Claude Code is running with `--channels` from the previous step. The bot can only reply while the channel is active.
71>
72> Back in Claude Code, run:
73>
74> ```
75> /telegram:access pair <code>
76> ```
77>
78> Then lock down access so only your account can send messages:
79>
80> ```
81> /telegram:access policy allowlist
82> ```
7183 
72Back in Claude Code, run:
73 
74```
75/telegram:access pair <code>
76```
77 
78Then lock down access so only your account can send messages:
79 
80```
81/telegram:access policy allowlist
82```
83 
84**Discord**
85 
86View the full [Discord plugin source](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/discord).
87 
88**1. Create a Discord bot**
89 
90Go to the [Discord Developer Portal](https://discord.com/developers/applications), click **New Application**, and name it. In the **Bot** section, create a username, then click **Reset Token** and copy the token.
91 
92**2. Enable Message Content Intent**
93 
94In your bot's settings, scroll to **Privileged Gateway Intents** and enable **Message Content Intent**.
95 
96**3. Invite the bot to your server**
97 
98Go to **OAuth2 > URL Generator**. Select the `bot` scope and enable these permissions:
99 
100* View Channels
101* Send Messages
102* Send Messages in Threads
103* Read Message History
104* Attach Files
105* Add Reactions
106 
107Open the generated URL to add the bot to your server.
108 
109**4. Install the plugin**
110 
111Start Claude Code by running `claude` in your terminal, then enter this at its prompt:
112 
113```
114/plugin install discord@claude-plugins-official
115```
116 
117If the install fails, match the message Claude Code reports:
118 
119* `Marketplace "claude-plugins-official" not found`: add the marketplace with `/plugin marketplace add anthropics/claude-plugins-official`, then retry the install.
120* `Plugin "<name>" not found in marketplace "claude-plugins-official"`: your local copy of the marketplace catalog may be out of date. Refresh it with `/plugin marketplace update claude-plugins-official`, then retry the install. If the retry prints the same message, see [Plugin not found in marketplace](https://code.claude.com/docs/en/plugins/troubleshooting.md#plugin-not-found-in-marketplace).
121 
122When the install asks for an installation scope, choose the user scope option so the plugin is available across all your projects. Check the install summary: if it reports `Run /reload-plugins to apply.`, see [Apply plugin changes without restarting](https://code.claude.com/docs/en/plugins/cli-reference.md#reload-plugins) to make the plugin's configure command available.
123 
124**5. Configure your token**
125 
126Run the configure command with the bot token you copied:
127 
128```
129/discord:configure <token>
130```
131 
132This saves it to `~/.claude/channels/discord/.env`. You can also set `DISCORD_BOT_TOKEN` in your shell environment before launching Claude Code.
133 
134**6. Restart with channels enabled**
135 
136Exit Claude Code and restart with the channel flag. This connects the Discord plugin so your bot can receive and respond to messages:
137 
138```bash theme={null}
139claude --channels plugin:discord@claude-plugins-official
140```
141 
142**7. Pair your account**
143 
144DM your bot on Discord. The bot replies with a pairing code.
145 
146> [!NOTE]
84> [tab] Discord
14785>
148> If your bot doesn't respond, make sure Claude Code is running with `--channels` from the previous step. The bot can only reply while the channel is active.
86> View the full [Discord plugin source](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/discord).
87>
88> **1. Create a Discord bot**
89>
90> Go to the [Discord Developer Portal](https://discord.com/developers/applications), click **New Application**, and name it. In the **Bot** section, create a username, then click **Reset Token** and copy the token.
91>
92> **2. Enable Message Content Intent**
93>
94> In your bot's settings, scroll to **Privileged Gateway Intents** and enable **Message Content Intent**.
95>
96> **3. Invite the bot to your server**
97>
98> Go to **OAuth2 > URL Generator**. Select the `bot` scope and enable these permissions:
99>
100> * View Channels
101> * Send Messages
102> * Send Messages in Threads
103> * Read Message History
104> * Attach Files
105> * Add Reactions
106>
107> Open the generated URL to add the bot to your server.
108>
109> **4. Install the plugin**
110>
111> Start Claude Code by running `claude` in your terminal, then enter this at its prompt:
112>
113> ```
114> /plugin install discord@claude-plugins-official
115> ```
116>
117> If the install fails, match the message Claude Code reports:
118>
119> * `Marketplace "claude-plugins-official" not found`: add the marketplace with `/plugin marketplace add anthropics/claude-plugins-official`, then retry the install.
120> * `Plugin "<name>" not found in marketplace "claude-plugins-official"`: your local copy of the marketplace catalog may be out of date. Refresh it with `/plugin marketplace update claude-plugins-official`, then retry the install. If the retry prints the same message, see [Plugin not found in marketplace](https://code.claude.com/docs/en/plugins/troubleshooting.md#plugin-not-found-in-marketplace).
121>
122> When the install asks for an installation scope, choose the user scope option so the plugin is available across all your projects. Check the install summary: if it reports `Run /reload-plugins to apply.`, see [Apply plugin changes without restarting](https://code.claude.com/docs/en/plugins/cli-reference.md#reload-plugins) to make the plugin's configure command available.
123>
124> **5. Configure your token**
125>
126> Run the configure command with the bot token you copied:
127>
128> ```
129> /discord:configure <token>
130> ```
131>
132> This saves it to `~/.claude/channels/discord/.env`. You can also set `DISCORD_BOT_TOKEN` in your shell environment before launching Claude Code.
133>
134> **6. Restart with channels enabled**
135>
136> Exit Claude Code and restart with the channel flag. This connects the Discord plugin so your bot can receive and respond to messages:
137>
138> ```bash theme={null}
139> claude --channels plugin:discord@claude-plugins-official
140> ```
141>
142> **7. Pair your account**
143>
144> DM your bot on Discord. The bot replies with a pairing code.
145>
146> > [!NOTE]
147> >
148> > If your bot doesn't respond, make sure Claude Code is running with `--channels` from the previous step. The bot can only reply while the channel is active.
149>
150> Back in Claude Code, run:
151>
152> ```
153> /discord:access pair <code>
154> ```
155>
156> Then lock down access so only your account can send messages:
157>
158> ```
159> /discord:access policy allowlist
160> ```
149161 
150Back in Claude Code, run:
151 
152```
153/discord:access pair <code>
154```
155 
156Then lock down access so only your account can send messages:
157 
158```
159/discord:access policy allowlist
160```
161 
162**iMessage**
163 
164View the full [iMessage plugin source](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/imessage).
165 
166The iMessage channel reads your Messages database directly and sends replies through AppleScript. It requires macOS and needs no bot token or external service.
167 
168**1. Grant Full Disk Access**
169 
170The Messages database at `~/Library/Messages/chat.db` is protected by macOS. The first time the server reads it, macOS prompts for access: click **Allow**. The prompt names whichever app launched Bun, such as Terminal, iTerm, or your IDE.
171 
172If the prompt doesn't appear or you clicked Don't Allow, grant access manually under **System Settings > Privacy & Security > Full Disk Access** and add your terminal. Without this, the server exits immediately with `authorization denied`.
173 
174**2. Install the plugin**
175 
176Start Claude Code by running `claude` in your terminal, then enter this at its prompt:
177 
178```
179/plugin install imessage@claude-plugins-official
180```
181 
182If the install fails, match the message Claude Code reports:
183 
184* `Marketplace "claude-plugins-official" not found`: add the marketplace with `/plugin marketplace add anthropics/claude-plugins-official`, then retry the install.
185* `Plugin "<name>" not found in marketplace "claude-plugins-official"`: your local copy of the marketplace catalog may be out of date. Refresh it with `/plugin marketplace update claude-plugins-official`, then retry the install. If the retry prints the same message, see [Plugin not found in marketplace](https://code.claude.com/docs/en/plugins/troubleshooting.md#plugin-not-found-in-marketplace).
186 
187When the install asks for an installation scope, choose the user scope option so the plugin is available across all your projects.
188 
189If the install summary reports `Run /reload-plugins to apply.`, you don't need to act on it here, because restarting in the next step picks up the plugin.
190 
191**3. Restart with channels enabled**
192 
193Exit Claude Code and restart with the channel flag:
194 
195```bash theme={null}
196claude --channels plugin:imessage@claude-plugins-official
197```
198 
199**4. Text yourself**
200 
201Open Messages on any device signed into your Apple ID and send a message to yourself. It reaches Claude immediately: self-chat bypasses access control with no setup.
202 
203> [!NOTE]
162> [tab] iMessage
204163>
205> The first reply Claude sends triggers a macOS Automation prompt asking if your terminal can control Messages. Click **OK**.
164> View the full [iMessage plugin source](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/imessage).
165>
166> The iMessage channel reads your Messages database directly and sends replies through AppleScript. It requires macOS and needs no bot token or external service.
167>
168> **1. Grant Full Disk Access**
169>
170> The Messages database at `~/Library/Messages/chat.db` is protected by macOS. The first time the server reads it, macOS prompts for access: click **Allow**. The prompt names whichever app launched Bun, such as Terminal, iTerm, or your IDE.
171>
172> If the prompt doesn't appear or you clicked Don't Allow, grant access manually under **System Settings > Privacy & Security > Full Disk Access** and add your terminal. Without this, the server exits immediately with `authorization denied`.
173>
174> **2. Install the plugin**
175>
176> Start Claude Code by running `claude` in your terminal, then enter this at its prompt:
177>
178> ```
179> /plugin install imessage@claude-plugins-official
180> ```
181>
182> If the install fails, match the message Claude Code reports:
183>
184> * `Marketplace "claude-plugins-official" not found`: add the marketplace with `/plugin marketplace add anthropics/claude-plugins-official`, then retry the install.
185> * `Plugin "<name>" not found in marketplace "claude-plugins-official"`: your local copy of the marketplace catalog may be out of date. Refresh it with `/plugin marketplace update claude-plugins-official`, then retry the install. If the retry prints the same message, see [Plugin not found in marketplace](https://code.claude.com/docs/en/plugins/troubleshooting.md#plugin-not-found-in-marketplace).
186>
187> When the install asks for an installation scope, choose the user scope option so the plugin is available across all your projects.
188>
189> If the install summary reports `Run /reload-plugins to apply.`, you don't need to act on it here, because restarting in the next step picks up the plugin.
190>
191> **3. Restart with channels enabled**
192>
193> Exit Claude Code and restart with the channel flag:
194>
195> ```bash theme={null}
196> claude --channels plugin:imessage@claude-plugins-official
197> ```
198>
199> **4. Text yourself**
200>
201> Open Messages on any device signed into your Apple ID and send a message to yourself. It reaches Claude immediately: self-chat bypasses access control with no setup.
202>
203> > [!NOTE]
204> >
205> > The first reply Claude sends triggers a macOS Automation prompt asking if your terminal can control Messages. Click **OK**.
206>
207> **5. Allow other senders**
208>
209> By default, only your own messages pass through. To let another contact reach Claude, add their handle:
210>
211> ```
212> /imessage:access allow +15551234567
213> ```
214>
215> Handles are phone numbers in `+country` format or Apple ID emails like `[email protected]`.
206216 
207**5. Allow other senders**
208 
209By default, only your own messages pass through. To let another contact reach Claude, add their handle:
210 
211```
212/imessage:access allow +15551234567
213```
214 
215Handles are phone numbers in `+country` format or Apple ID emails like `[email protected]`.
216 
217217## Quickstart
218218 
219219Fakechat is an officially supported demo channel that runs a chat UI on localhost, with nothing to authenticate and no external service to configure.
from line 304
304304| `channelsEnabled` | Master switch. Must be `true` for any channel to deliver messages. Blocks all channels including the development flag when off. See [Enable channels for your organization](#enable-channels-for-your-organization). | claude.ai Team and Enterprise: channels blocked. Console: channels allowed unless your organization deploys managed settings, in which case channels are blocked until this key is set |
305305| `allowedChannelPlugins` | Which plugins can register once channels are enabled. Replaces the Anthropic-maintained list when set. | Anthropic default list applies |
306306 
307Pro and Max users without an organization skip these checks entirely: channels are available and users opt in per session with `--channels`.
307Pro, Max, and Ultra users without an organization skip these checks entirely: channels are available and users opt in per session with `--channels`.
308308 
309309### Enable channels for your organization
310310 
Feedback