--channels plugin:<name>@<marketplace> never spawns the plugin's backing MCP process (status banner shows it as active anyway)

Status Open
Reported on v2.1.220
Maintainer reply None cached
Activity 1 comment · opened Jul 25, 2026

Description

claude --channels plugin:<name>@<marketplace> accepts the flag, starts normally, and the TUI's own status banner claims the channel is live ("Channels (experimental) messages from plugin:<name>@<marketplace> inject directly in this session · restart without --channels to stop") — but the plugin's backing process is never actually spawned. No MCP server for that plugin ever appears, and none of its tools resolve.

Steps to reproduce

  1. claude --channels plugin:telegram@claude-plugins-official --name test (run under a real TTY, not headless --print mode)
  2. Observe the banner claiming the channel is connected
  3. In a separate terminal, ps aux | grep bun — no telegram plugin bun process ever appears (waited 25+ seconds, well past any cold-start window)
  4. From inside the session, claude mcp list / ToolSearch for the plugin's tools (e.g. reply, react, edit_message) — nothing resolves; the server isn't even listed

What I ruled out

  • Not a cold-start timing issue (different from #60224) — waited well past any reasonable transpile/boot window, no process ever appears at all.
  • Not specific to --bg/headless dispatch — reproduced identically under a real interactive TTY (script-wrapped) session.
  • Not env-inheritance from a parent Claude Code process (e.g. a nested claude subprocess launched from within another active session) — reproduced with CLAUDE_CODE_SESSION_ID, CLAUDE_CODE_CHILD_SESSION, CLAUDE_CODE_BRIDGE_SESSION_ID, CLAUDE_CODE_ENTRYPOINT explicitly stripped via env -u, same result.
  • A different plugin (fakechat, enabled via enabledPlugins in settings.json rather than --channels) does have a persistent bun process running, so plugin execution itself isn't broken — specifically the --channels-flag code path doesn't seem to trigger a spawn.

Environment

  • claude --version: 2.1.220
  • macOS (Darwin 25.5.0)
  • Plugins tested: telegram@claude-plugins-official (0.0.6), imessage@claude-plugins-official (0.1.0) — same symptom on both

Impact

Any workflow relying on --channels for a plugin-provided channel gets a session that believes it's connected and reports no error, but silently has zero working tools for that channel for its entire lifetime.

View original on GitHub ↗

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