Skip to content

Channel plugin MCP (plugin:telegram) fails to spawn at session start after official-marketplace refresh; /mcp Reconnect fixes it #78719

Description

@minglong51

Summary

After the official plugin marketplace (claude-plugins-official) refreshes on disk, the channel plugin MCP server (plugin:telegram:telegram) fails to spawn at session start — or takes minutes to come up. A manual /mcp → select server → Reconnect revives it instantly every time. Observed twice in one day, each occurrence starting immediately after a marketplace refresh.

Environment

  • macOS (Apple Silicon), Claude Code 2.1.212 and 2.1.214 (native install, ~/.local/share/claude/versions/…)
  • Plugin: telegram@claude-plugins-official 0.0.6 (bun-based channel plugin)
  • Sessions started headless in tmux with --channels plugin:telegram@claude-plugins-official

Symptom

  • Session boots normally, banner shows "Channels (experimental) messages from plugin:telegram@claude-plugins-official inject directly in this session".
  • The plugin MCP process (bun run --cwd <plugin> … start) is never spawned — no child process, and notably no per-session log file is created under ~/Library/Caches/claude-cli-nodejs/<project>/mcp-logs-plugin-telegram-telegram/ (normally a file appears with "Starting connection…"). The failure appears to happen before the connection attempt is logged.
  • /mcp shows plugin:telegram:telegram · ✘ failed.
  • Model-independent (reproduced with two different --model values) and version-independent (reproduced on both 2.1.212 and 2.1.214).

Correlation

Two occurrences, both starting immediately after the marketplace metadata on disk changed:

  1. First occurrence began ~17:04Z 2026-07-17; a refresh of claude-plugins-official landed 17:04:48Z. Sessions started 16:17–16:21Z the same morning connected fine ("Successfully connected in 195ms") on the same binary.
  2. Second occurrence began ~01:26Z 2026-07-18, right after ~/.claude/plugins/marketplaces/claude-plugins-official was (re-)cloned at 01:26Z (officialMarketplaceAutoInstalled flipped true; the telegram plugin now lives under external_plugins/ in the new snapshot, still version 0.0.6, .mcp.json unchanged). The still-running sessions from before the refresh kept working; every session started after it came up with the failed plugin MCP.

Workarounds found

  • /mcp → select the failed server → Reconnect: works instantly, every time.
  • Waiting also (sometimes) works: one session spawned the plugin ~3 minutes after boot.
  • Restarting the CLI session does not help — fresh sessions come up in the same failed state, which is nasty for unattended/headless bots whose supervision reacts to a dead channel by restarting the session.

Impact

Headless channel-plugin sessions (Telegram bots) come up deaf after any marketplace refresh, and restart-based supervision makes it worse. A retry of the initial plugin MCP spawn (the same code path Reconnect uses) would fix it.

Aside

While debugging we also noticed the freshly installed 2.1.214 binary re-points the ~/.local/bin/claude symlink to itself when an older pinned version is launched — intentional self-repair presumably, but it makes version-pinning via the symlink impossible; mentioning in case it's not intended.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:mcparea:pluginsbugSomething isn't workinghas reproHas detailed reproduction stepsplatform:macosIssue specifically occurs on macOSreproducedBug reproduced by maintainers on a released build

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions