[BUG] Agent-team teammates inherit --settings but not --channels, so they load the channel plugin and steal its single poller (messages dropped)

Status Open
Reported on v2.1.282
Maintainer reply None cached
Activity 0 comments · opened Sep 25, 2026

Summary

When a session is started with --channels plugin:<name>@<marketplace> and the channel plugin is enabled only through --settings <file> (user-level enabledPlugins has it false), agent-team teammates spawned by that session inherit --settings but not --channels. Each teammate therefore loads the channel plugin and starts its MCP server, but is not a channel host.

For single-consumer channels such as the official Telegram plugin (one getUpdates poller per bot token; a newly started server replaces the previous poller), the result is:

  • the teammate's server takes over polling from the lead session's server,
  • inbound messages reach the teammate, which drops them with Channel notifications skipped: … not in --channels list,
  • the lead session silently stops receiving channel messages.

Environment

  • Claude Code 2.1.282 (Linux; same launch pattern on macOS)
  • Plugin: telegram@claude-plugins-official 0.0.7
  • CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 (via user settings env), teammateMode: tmux

Steps to reproduce

  1. User settings: "enabledPlugins": {"telegram@claude-plugins-official": false}.
  2. Channel-host settings file host.json: {"enabledPlugins": {"telegram@claude-plugins-official": true}}.
  3. Start the lead: claude --settings host.json --channels plugin:telegram@claude-plugins-official.
  4. From the lead, create an agent team (any task that spawns teammates).
  5. Inspect a teammate process: its argv contains --settings host.json but no --channels ….
  6. The teammate's telegram MCP log shows it replacing the previous poller; messages sent to the bot afterwards are not delivered to the lead, and the teammate logs Channel notifications skipped … not in --channels list.

Expected

One of:

  • teammates inherit --channels together with --settings (and only the lead acts as channel host), or
  • teammates do not load plugins that the lead enabled solely for a channel it hosts, or
  • at minimum, a warning when a spawned session will load a channel plugin without being a channel host.

Actual

Teammates load the channel plugin (via inherited --settings) without --channels, silently taking over the channel's single poller and dropping messages.

Workaround

Disable agent teams in the channel-host session: add "env": {"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "0"} to the --settings file used for the channel host, and monitor that the bot's poller process is a descendant of the lead session.

View original on GitHub ↗