[BUG] Permission relay fires on all channels regardless of message origin, inconsistent with reply routing

Resolved 💬 2 comments Opened Apr 4, 2026 by Kjottbolle Closed May 14, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

When running Claude Code with a channel plugin (e.g. --channels plugin:telegram@claude-plugins-official), permission prompts are relayed to all channels that declared the claude/channel/permission capability, regardless of which channel originated the request.

This is inconsistent with reply routing, which correctly routes responses only to the originating channel — a Telegram message gets a Telegram reply; a terminal message gets a terminal reply.

Permission prompts are broadcast to all connected channels in parallel, causing duplicate prompts and unwanted push notifications on Telegram for terminal-initiated actions.

What Should Happen?

Permission prompts should follow the same source-aware routing as replies — only the channel that originated the request should receive the permission prompt.

Error Messages/Logs

Steps to Reproduce

  1. Run claude --channels plugin:telegram@claude-plugins-official
  2. Send a message from the terminal that triggers a permission prompt
  3. Observe: the permission prompt appears both in the terminal and in Telegram

Claude Model

Sonnet (default)

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.92 (Claude Code)

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

WSL (Windows Subsystem for Linux)

Additional Information

_No response_

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗