[BUG] Telegram plugin: bot receives messages but plugin never processes them (polling not working)
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Description
The Telegram channel plugin starts correctly and shows "Listening for channel messages",
but it never processes incoming messages. The bot receives DMs (confirmed via getUpdates
API call) but no pairing code is ever sent and Pending pairings always stays at 0.
Environment
- macOS (MacBook Pro)
- Claude Code v2.1.169
- Installed via: npm i -g @anthropic-ai/claude-code (with sudo)
- Plugin: plugin:telegram@claude-plugins-official
What Should Happen?
When a user sends a DM to the bot on Telegram, the bot should reply with a 6-character pairing code. After entering that code in Claude Code with /telegram:access pair <code>, the user should be able to send messages from Telegram that are processed by the Claude Code session.
Error Messages/Logs
Auto-update failed: no write permission to npm prefix
Reloaded: 1 plugin · 0 skills · 6 agents · 0 hooks · 1 plugin MCP server · 0 plugin LSP servers
(plugin MCP server loads but bot never responds to DMs)
Steps to Reproduce
- Create a Telegram bot via @BotFather
- Run /telegram:configure <token>
- Run claude --channels plugin:telegram@claude-plugins-official
- DM the bot from Telegram
- Check /telegram:access status → Pending pairings: 0
- Run curl getUpdates → messages ARE there in Telegram's queue
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
Claude Code v2.1.169
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
Expected behavior
Bot replies with a 6-character pairing code when receiving a DM.
Actual behavior
Bot never responds. getUpdates confirms messages exist in Telegram's queue
but the plugin never reads or processes them. Running /telegram:access status
always shows Pending pairings: 0.
Additional notes
- curl to api.telegram.org/getMe works correctly (token is valid)
- curl to api.telegram.org/getUpdates returns the messages I sent
- deleteWebhook was run to rule out webhook conflicts
- Tested with two different bots/tokens, same result
- The issue persists across fresh installs (rm -rf ~/.claude/channels)
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗