plugins/claude-code-expert/skills-old/channels-user-guide/SKILL.md
# Channels User Guide > Push events into a running Claude Code session with channels. > Forward CI results, chat messages, monitoring alerts, and webhook events so Claude can react while you're away. > Requires Claude Code v2.1.80+. Research preview — requires claude.ai login. ## Overview A channel is an MCP server that pushes events into your running Claude Code session, so Claude can react to things that happen while you're not at the terminal. Channels can be two-way: Claude reads the even
npx skillsauth add markus41/claude plugins/claude-code-expert/skills-old/channels-user-guideInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Push events into a running Claude Code session with channels. Forward CI results, chat messages, monitoring alerts, and webhook events so Claude can react while you're away. Requires Claude Code v2.1.80+. Research preview — requires claude.ai login.
A channel is an MCP server that pushes events into your running Claude Code session, so Claude can react to things that happen while you're not at the terminal. Channels can be two-way: Claude reads the event and replies back through the same channel, like a chat bridge.
Events only arrive while the session is open. For always-on setups, run Claude in a background process or persistent terminal.
| Feature | What it does | Good for |
|---------|-------------|----------|
| Claude Code on the web | Runs tasks in a fresh cloud sandbox, cloned from GitHub | Delegating self-contained async work |
| Claude in Slack | Spawns a web session from an @Claude mention | Starting tasks from team conversation |
| Standard MCP server | Claude queries it during a task; nothing is pushed | On-demand access to read or query |
| Remote Control | Drive your local session from claude.ai or mobile | Steering an in-progress session remotely |
| Channels | Push events from external sources into running session | CI alerts, chat bridges, webhooks, monitoring |
Channels fill the gap by pushing events from non-Claude sources into your already-running local session.
/newbot, copy the token/plugin install telegram@claude-plugins-official/telegram:configure <token> (saves to ~/.claude/channels/telegram/.env)claude --channels plugin:telegram@claude-plugins-official/telegram:access pair <code>/telegram:access policy allowlistbot scope → View Channels, Send Messages, Send Messages in Threads, Read Message History, Attach Files, Add Reactions/plugin install discord@claude-plugins-official/discord:configure <token>claude --channels plugin:discord@claude-plugins-official/discord:access pair <code>/discord:access policy allowlistReads Messages database directly, sends replies through AppleScript. No bot token needed.
/plugin install imessage@claude-plugins-officialclaude --channels plugin:imessage@claude-plugins-official/imessage:access allow +15551234567 (phone or Apple ID email)Localhost demo channel — no authentication, no external services.
/plugin install fakechat@claude-plugins-officialclaude --channels plugin:fakechat@claude-plugins-official<channel source="fakechat"> tagsChannels are especially powerful for CI/CD and infrastructure workflows:
Push build failures, test results, and deployment status directly into your session:
Forward monitoring events so Claude can react:
Use the permission relay for remote deployment approvals:
GitHub Actions → webhook POST to localhost:8788 → Channel Server → Claude Code Session
↓
Claude reads build log,
identifies failure,
proposes fix
Every channel maintains a sender allowlist. Only approved IDs can push messages — everyone else is silently dropped.
Telegram/Discord pairing flow:
/telegram:access pair <code> or /discord:access pair <code>/telegram:access policy allowlistiMessage: Self-chat bypasses automatically. Add others with /imessage:access allow.
.mcp.json isn't enough — server must also be named in --channelsmessage.from.id, not message.chat.id (prevents group chat injection)On Team and Enterprise plans, channels are off by default.
| Setting | Purpose | When not configured |
|---------|---------|-------------------|
| channelsEnabled | Master switch. Must be true for any channel to deliver messages. | Channels blocked |
| allowedChannelPlugins | Which plugins can register. Replaces Anthropic-maintained list when set. | Anthropic default list applies |
Admin console: claude.ai → Admin settings → Claude Code → Channels or set channelsEnabled: true in managed settings.
{
"channelsEnabled": true,
"allowedChannelPlugins": [
{ "marketplace": "claude-plugins-official", "plugin": "telegram" },
{ "marketplace": "claude-plugins-official", "plugin": "discord" },
{ "marketplace": "acme-corp-plugins", "plugin": "internal-alerts" }
]
}
When set, replaces the Anthropic allowlist entirely. Leave unset for default. Empty array blocks all plugins from allowlist (but --dangerously-load-development-channels still works).
# Single channel
claude --channels plugin:telegram@claude-plugins-official
# Multiple channels (space-separated)
claude --channels plugin:telegram@claude-plugins-official plugin:fakechat@claude-plugins-official
# Development channel (custom/local)
claude --dangerously-load-development-channels server:my-webhook
--channels flag syntax may change--dangerously-load-development-channelsdevelopment
Enhanced plan-authoring skill with Pre-Writing context gathering, task metadata, non-TDD templates, Red Flags, telemetry, and an automated plan linter. Use when you have a spec or requirements for a multi-step task, before touching code.
tools
Documentation intelligence engine with graph-based API docs, algorithm library, and drift detection
tools
Ultraplan cloud planning — kick off a plan in the cloud from your terminal, review and revise in the browser, then execute remotely or send back to CLI
tools
--- name: mcp description: Configure MCP servers for Claude Code — stdio vs HTTP, authentication, Tools/Resources/Prompts distinction, channels (CI webhook, mobile relay, Discord bridge, fakechat), and cost of always-loaded tools. Use this skill whenever adding an MCP server, debugging connection issues, choosing between MCP Tools vs Prompts vs Resources, installing channel servers, or managing .mcp.json. Triggers on: "MCP server", "mcp config", "add Obsidian MCP", "install context7", "channels"