claude-code - 💡(How to fix) Fix Support custom channel plugins beyond the hard-coded allowlist [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#46742Fetched 2026-04-12 13:34:15
View on GitHub
Comments
0
Participants
1
Timeline
3
Reactions
0
Author
Participants
Timeline (top)
labeled ×3

Root Cause

The plugin works — it connects, sends/receives messages, uses the same notifications/claude/channel notification method. But the Channels runtime rejects it because it's not on the internal allowlist.

Code Example

plugin:irc@synaxis-plugins · not on the approved channels allowlist
RAW_BUFFERClick to expand / collapse

Problem

The --channels flag only accepts plugins from a hard-coded allowlist (discord, telegram, fakechat). Custom MCP plugins that correctly implement the notifications/claude/channel protocol and declare experimental: { 'claude/channel': {} } are rejected with:

plugin:irc@synaxis-plugins · not on the approved channels allowlist

Use case

I run a fleet of ~11 Claude Code sessions coordinating via a shared chat channel. I built a custom IRC channel plugin (ngircd server on my tailnet, MCP server in TypeScript/Bun, same architecture as the Discord plugin) so the fleet can communicate over a lightweight, terminal-native protocol instead of Discord.

The plugin works — it connects, sends/receives messages, uses the same notifications/claude/channel notification method. But the Channels runtime rejects it because it's not on the internal allowlist.

What I've tried

  • Installing from a custom marketplace (synaxis-plugins) — rejected
  • Placing the plugin in claude-plugins-official/external_plugins/ locally — rejected
  • Loading via --mcp-config — MCP server starts but channel notifications are silently dropped without --channels

Request

Allow users to approve custom channel plugins, either via:

  • A setting in settings.json (e.g. approvedChannelPlugins)
  • A CLI flag (e.g. --allow-custom-channels)
  • Trusting any installed+enabled plugin that declares the claude/channel capability

I understand this is a research preview and security matters for channels. A flag like --dangerously-allow-custom-channels that requires explicit opt-in would be fine.

References

extent analysis

TL;DR

To resolve the issue, consider adding a CLI flag, such as --allow-custom-channels or --dangerously-allow-custom-channels, to explicitly opt-in to using custom channel plugins.

Guidance

  • Review the plugin's implementation to ensure it correctly declares the experimental: { 'claude/channel': {} } capability and adheres to the notifications/claude/channel protocol.
  • Investigate modifying the Channels runtime to trust installed and enabled plugins that declare the claude/channel capability.
  • Explore adding a setting in settings.json, such as approvedChannelPlugins, to allow users to approve custom channel plugins.
  • Consider the security implications of allowing custom channel plugins and weigh the benefits against potential risks.

Example

No code snippet is provided, as the issue does not require a specific code change.

Notes

The solution may require modifications to the Channels runtime or the introduction of new configuration options. The security implications of allowing custom channel plugins should be carefully evaluated to prevent potential vulnerabilities.

Recommendation

Apply a workaround by introducing a CLI flag, such as --dangerously-allow-custom-channels, to explicitly opt-in to using custom channel plugins. This approach allows users to acknowledge the potential risks and make an informed decision about using custom plugins.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING