[BUG] Telegram plugin: bot receives messages but plugin never processes them (polling not working)

Resolved 💬 1 comment Opened Jun 10, 2026 by pigem44 Closed Jun 15, 2026

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

  1. Create a Telegram bot via @BotFather
  2. Run /telegram:configure <token>
  3. Run claude --channels plugin:telegram@claude-plugins-official
  4. DM the bot from Telegram
  5. Check /telegram:access status → Pending pairings: 0
  6. 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)

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗