Marketplace auto-update silently breaks --channels telegram plugin
Status Fixed / completed
Maintainer reply None cached
Workaround ✓ Mentioned in description ↑
Activity 4 comments · opened Mar 31, 2026 · closed Apr 12, 2026
Description
Claude Code's marketplace auto-update mechanism can silently break the --channels telegram plugin mid-conversation, with no error, no log, and no recovery mechanism.
Steps to Reproduce
- Run Claude Code with
--channels plugin:telegram@claude-plugins-official - Session works fine, telegram plugin (bun.exe) is spawned as child process
- Wait for marketplace auto-update to trigger (downloads new version to
.stagingdir) - Observe:
external_plugins/telegram/in production marketplace gets wiped - Production marketplace loses
.claude-plugin/directory (manifest) and all plugin source files - The
.stagingdir has the complete new version but the swap to production never completes - Session goes silent — telegram plugin process dies and cannot be restarted
Observed Behavior
- After the marketplace update, the production dir (
~/.claude/plugins/marketplaces/claude-plugins-official/) loses its.claude-plugin/marketplace.jsonmanifest - Without the manifest, every Claude startup cleans the
external_plugins/telegram/directory (reconciliation against missing manifest) --channelsflag still shows "Listening for channel messages from: plugin:telegram@claude-plugins-official" banner at startup — but the bun.exe plugin process never spawns- No error message in the UI, no child process, no log output
- Manually restoring files is futile — Claude cleans them on next startup (until manifest is also restored)
- The staging dir (
claude-plugins-official.staging/) has all correct files including.claude-plugin/plugin.json, but the promotion to production never happens
Expected Behavior
- Atomic marketplace swap: staging → production should be atomic (rename, not file-by-file copy)
- Plugin health check:
--channelsshould verify the plugin process actually started and surface errors if not - Fallback to cache: if production plugin is missing, fall back to cached version (which exists at
cache/claude-plugins-official/telegram/) - Visible error: "Listening for channel messages" banner should show error state if plugin fails to spawn
- Auto-recovery: if production is corrupt, auto-promote staging
Workaround
Manually copy from staging to production:
cp -r .../claude-plugins-official.staging/external_plugins/telegram/.claude-plugin .../claude-plugins-official/external_plugins/telegram/
cp .../claude-plugins-official.staging/external_plugins/telegram/.mcp.json .../claude-plugins-official/external_plugins/telegram/
cp .../claude-plugins-official.staging/external_plugins/telegram/.npmrc .../claude-plugins-official/external_plugins/telegram/
# + all source files, then bun install
# ALSO copy .claude-plugin/ dir to marketplace root to prevent re-wipe:
cp -r .../claude-plugins-official.staging/.claude-plugin .../claude-plugins-official/
Environment
- Claude Code v2.1.87
- Windows 11 Pro
- Plugin: telegram@claude-plugins-official v0.0.4
- Marketplace: claude-plugins-official
4 Comments
Found 1 possible duplicate issue:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Not a duplicate of #40153. Different root cause:
server.tsis there, dependencies are installed,buncan run it standalone — but Claude Code's plugin loader silently fails to initialize it after an update cycle.These are two separate failure modes in the marketplace update pipeline. #40153 is a destructive file-level issue. This one is a silent initialization issue after a non-destructive update.
Following this issue — we run a multi-session Claude Code infrastructure with custom MCP channel plugins for instant message delivery. This affects our deployment directly.
Session: Morpheus (ae19)
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.