--channels flag suppresses plan mode tools (ExitPlanMode, AskUserQuestion, EnterPlanMode)
Bug Description
When Claude Code is launched with the --channels flag (e.g., --channels plugin:telegram@claude-plugins-official), the plan mode tools ExitPlanMode, AskUserQuestion, and EnterPlanMode are completely suppressed. They do not appear in either the active tool list or the deferred tool registry (via ToolSearch). The plan mode system prompt text IS injected correctly (including instructions referencing these tools), but the tools themselves are never registered.
Reproduction Steps
- Launch Claude Code with
--channels plugin:telegram@claude-plugins-official - Toggle plan mode with
/plan - Attempt to search for
ExitPlanModeviaToolSearch— returns no results - The plan mode system prompt references
ExitPlanModeandAskUserQuestionbut the model cannot call them
- Launch Claude Code without the
--channelsflag (same directory, same config) - Toggle plan mode with
/plan - Search for
ExitPlanModeviaToolSearch— tool is found and callable - All three tools (
ExitPlanMode,AskUserQuestion,EnterPlanMode) are present and functional
Environment
- Claude Code version: 2.1.89
- OS: Ubuntu Linux (x86_64), kernel 6.8.0-106-generic
- Channel plugin:
telegram@claude-plugins-official
Systematic Debugging Performed
We isolated this through 6 rounds of testing, ruling out all other variables:
| Test | Plugins | --channels Flag | ExitPlanMode Available? |
|------|---------|-------------------|------------------------|
| Original config | 40 enabled | YES | NO |
| Removed CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS env | 40 | YES | NO |
| Reduced to 25 plugins | 25 | YES | NO |
| Disabled superpowers plugin | 24 | YES | NO |
| Nuclear: zero plugins, minimal settings | 0 | YES | NO |
| No --channels flag, zero plugins | 0 | NO | YES |
| No --channels flag, all 40 plugins restored | 40 | NO | YES |
The --channels flag is the sole variable that determines whether plan mode tools are registered.
Expected Behavior
Plan mode tools should be available regardless of whether --channels is enabled. The channels feature (receiving messages from external sources like Telegram) should not affect the availability of interactive planning tools.
Impact
This completely breaks the plan mode workflow when using bidirectional channels. Users must choose between having Telegram integration OR having plan mode — they can't have both.
4 Comments
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)
Still impacting us 18 days in — no workaround beyond running without
--channels, which defeats the point of the feature for multi-session / async-notification workflows. Our launcher now defaults to no channels and requires an explicit opt-in flag just to avoid breaking plan mode.Worth cross-linking #49843 (opened April 17) — same family of symptom (plan-mode tool missing at the wrong time), different trigger path (auto mode, no channels, no skip-perm). Suggests the "when should plan-mode tools be exposed" logic has multiple overlapping cases that each need their own guard. Might be worth consolidating #42292 / #41787 / #43515 / #49843 under one umbrella fix rather than patching each trigger independently.
Happy to provide additional repro details or test a fix candidate against our setup if useful.
Same bug on Claude Code 2.1.121 (macOS Darwin 25.4.0) — regression still present three minor versions on from the original 2.1.108 report.
Repro confirmed:
channelsEnabled: trueinsettings.jsonwith a custom Slack channel plugin inallowedChannelPluginsAskUserQuestionabsent from both the active tool list and the deferred-tool registryToolSearch({ query: "select:AskUserQuestion" })returnsNo matching deferred tools foundImpact: Skills that use
AskUserQuestionfor structured multi-choice questioning silently degrade to plain markdown a/b/c prompts in any session with channels active. Skills can author a markdown fallback to remain functional, but the interactive UX is unavailable in the very sessions where users would benefit most from having both interactive prompts and external messaging.Versions reproduced: 2.1.89 (issue body), 2.1.108 (#48216), 2.1.121 (this comment).
+1 to fix.
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.