# Claude Code Channels

> Set up Claude Code messaging channels for Telegram and Discord — bot creation, plugin installation, token configuration, access control (pairing, allowlists, guild channels), and troubleshooting. Use when the user asks to connect Claude Code to Telegram or Discord, configure a messaging bot, set up channel access, enable guild channels or threads, troubleshoot MCP server failures, or manage chann…

- **Type:** Skill
- **Install:** `agentstack add skill-broomva-skills-claude-code-channels`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [broomva](https://agentstack.voostack.com/s/broomva)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [broomva](https://github.com/broomva)
- **Source:** https://github.com/broomva/skills/tree/main/skills/messaging/claude-code-channels
- **Website:** https://skills.sh/broomva/skills

## Install

```sh
agentstack add skill-broomva-skills-claude-code-channels
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Claude Code Channels Setup

Claude Code Channels pushes messages from external platforms (Telegram, Discord) into a running Claude Code session via MCP server plugins.

## Prerequisites

- Claude Code v2.1.80+
- [Bun](https://bun.sh) runtime
- A claude.ai account (not API key mode)

## Platform Selection

Ask which platform(s) the user wants, then follow the relevant reference:

- **Telegram**: See [references/telegram.md](references/telegram.md)
- **Discord**: See [references/discord.md](references/discord.md)

Both can run simultaneously:
```bash
claude --channels plugin:telegram@claude-plugins-official,plugin:discord@claude-plugins-official
```

## Universal Workflow

Regardless of platform, setup follows 6 steps:

1. **Create bot** on the platform's developer portal
2. **Install plugin**: `/plugin install @claude-plugins-official`
3. **Configure token**: `/:configure `
4. **Launch session**: `claude --channels plugin:@claude-plugins-official`
5. **Pair account**: DM the bot, get a code, run `/:access pair `
6. **Lock down**: `/:access policy allowlist`

## Troubleshooting

### MCP Server Shows "failed" on Startup

Known race condition — server may fail on cold start but reconnect fine.

**Fix**: Run `/mcp`, navigate to the failed server, select **Reconnect**.

**Persistent failures** — verify the bot token:
```bash
# Telegram
TOKEN=$(grep TELEGRAM_BOT_TOKEN ~/.claude/channels/telegram/.env | cut -d= -f2)
curl -s "https://api.telegram.org/bot$TOKEN/getMe"

# Discord
TOKEN=$(grep DISCORD_BOT_TOKEN ~/.claude/channels/discord/.env | cut -d= -f2)
curl -s -H "Authorization: Bot $TOKEN" https://discord.com/api/v10/users/@me
```

If unauthorized/401, regenerate the token and update `~/.claude/channels//.env`.

### Plugin Not Found

Add the official marketplace first:
```bash
/plugin marketplace add anthropics/claude-plugins-official
```

### Bot Not Responding

1. Session must be running with `--channels` flag
2. `/mcp` must show the server as "connected"
3. Telegram: verify token with BotFather
4. Discord: enable **Message Content Intent** in Developer Portal → Bot → Privileged Gateway Intents

### Dependency Issues

Pre-install manually:
```bash
cd ~/.claude/plugins/cache/claude-plugins-official//
bun install --no-summary
```

## Running as Background Service (tmux)

```bash
# Start
tmux new-session -d -s claude- \
  'claude --dangerously-skip-permissions --channels plugin:@claude-plugins-official'

# Attach / Detach
tmux attach -t claude-   # Ctrl+b then d to detach

# After startup, if MCP failed: /mcp → select server → Reconnect
```

## Access Control

Both platforms share the same model. Replace `` with `telegram` or `discord`.

| Command | Effect |
|---|---|
| `/:access` | Show current state |
| `/:access pair ` | Approve pairing |
| `/:access deny ` | Reject pairing |
| `/:access allow ` | Add user by ID |
| `/:access remove ` | Remove user |
| `/:access policy ` | `pairing` / `allowlist` / `disabled` |
| `/:access group add ` | Enable group/channel |
| `/:access group add  --no-mention` | Enable without requiring @mention |
| `/:access group rm ` | Disable group/channel |
| `/:access set  ` | Configure delivery settings |

## State Files

```
~/.claude/channels//
├── .env          # Bot token (mode 0o600)
├── access.json   # Policy, allowlist, groups, pending
├── approved/     # Approved user ID → chat ID mapping
└── inbox/        # Downloaded attachments
```

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [broomva](https://github.com/broomva)
- **Source:** [broomva/skills](https://github.com/broomva/skills)
- **License:** MIT
- **Homepage:** https://skills.sh/broomva/skills

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-broomva-skills-claude-code-channels
- Seller: https://agentstack.voostack.com/s/broomva
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
