[FEATURE] VS Code extension: render MCP `claude/channel` push notifications in the native panel (parity with the terminal TUI)

Status Open
Maintainer reply None cached
Activity 0 comments · opened Jul 20, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

Summary

The Claude Code VS Code extension's native panel does not surface inbound notifications/claude/channel messages from MCP servers that declare the experimental claude/channel capability. The interactive terminal CLI renders them fine. Please bring the native panel to parity so channel pushes appear there too.

Environment

  • Claude Code VS Code extension v2.1.215 (win32-x64), Windows 11, Bun 1.3.14
  • Account has channels enabled (confirmed — the terminal path works)
  • MCP server under test: claude-peers (peer-to-peer messaging between Claude Code instances)

What works ✅

Running the CLI in a terminal with:

claude --dangerously-load-development-channels server:claude-peers

renders <channel source="claude-peers" …> notifications in-session, in real time. Verified end to end: another Claude instance pushed a message via the MCP server, it appeared in the session immediately, and the agent responded — round-trip in ~13s.

What doesn't ❌

The same MCP server, same flag, launched by the VS Code extension's native panel (stream-json mode) does not surface the notification.

I confirmed the failure is specifically at the panel's rendering layer, not upstream:

  • The extension launches the native binary as claude.exe --output-format stream-json --input-format stream-json …. Using the extension's own claudeCode.claudeProcessWrapper setting, I injected --dangerously-load-development-channels server:claude-peers into that launch (verified present in the process args).
  • The MCP server's inbound-message poll loop then consumed the message and emitted notifications/claude/channel (the broker marked the message delivered).
  • Nothing appeared in the panel. No agent response. Tested across a fresh window and a full VS Code restart — identical result each time.

So: channel loads, server pushes, but the native webview drops notifications/claude/channel on the floor. The interactive TUI, with the identical account and flag, renders it.

Why it matters

Channels enable real-time, event-driven workflows — most notably coordination between multiple concurrent Claude Code sessions (e.g. one Claude messaging another as they work in different repos). Today that only works if you leave the polished native panel for the terminal TUI, which pushes VS Code users toward dropping the extension entirely for this functionality.

Proposed Solution

Request

Have the native panel subscribe to and render notifications/claude/channel — with the same allowlist / --channels / --dangerously-load-development-channels gating the CLI already uses. Even a minimal inline render (like the TUI's <channel> block) would unblock these use cases. Ideally also expose channel selection as an extension setting so users don't need a launch-arg wrapper at all.

Alternative Solutions

I wrote a wrapper for Claude Code and added that to the setting for the extension so that it added --dangerously-load-development-channels when calling Claude Code but no channel messages arrived. The same wrapper works fine outside of VS Code.

Priority

High - Significant impact on productivity

Feature Category

CLI commands and flags

Use Case Example

_No response_

Additional Context

_No response_

View original on GitHub ↗