--channels flag suppresses plan mode tools (ExitPlanMode, AskUserQuestion, EnterPlanMode)

Status Fixed / completed
Reported on v2.1.89
Maintainer reply None cached
Activity 4 comments · opened Apr 1, 2026 · closed Apr 28, 2026

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

  1. Launch Claude Code with --channels plugin:telegram@claude-plugins-official
  2. Toggle plan mode with /plan
  3. Attempt to search for ExitPlanMode via ToolSearch — returns no results
  4. The plan mode system prompt references ExitPlanMode and AskUserQuestion but the model cannot call them
  1. Launch Claude Code without the --channels flag (same directory, same config)
  2. Toggle plan mode with /plan
  3. Search for ExitPlanMode via ToolSearch — tool is found and callable
  4. 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.

View original on GitHub ↗

4 Comments

mydandyandy · 4 months ago

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)

Ozy311 · 4 months ago

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.

clafollett · 4 months ago

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: true in settings.json with a custom Slack channel plugin in allowedChannelPlugins
  • AskUserQuestion absent from both the active tool list and the deferred-tool registry
  • ToolSearch({ query: "select:AskUserQuestion" }) returns No matching deferred tools found
  • Sessions without channel plugins enabled surface the tool normally

Impact: Skills that use AskUserQuestion for 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.

github-actions[bot] · 3 months ago

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.