[FEATURE] Channel notifications: allow configurable display length or full-text rendering

Resolved 💬 3 comments Opened Apr 7, 2026 by dedos2578 Closed May 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

When using MCP Channels (notifications/claude/channel) to push real-time updates from an MCP server during tool execution, the notification text is
truncated to approximately 50 characters in the terminal UI:

← my-channel: This is a message from the remote service that gets tru...

The full text is delivered to Claude (the model processes it correctly), but the user only sees a truncated preview. This makes it difficult
for users to follow the progress of long-running operations streamed via channels.

Proposed Solution

Any of these options would solve the problem:

  1. Configurable display length — a setting like channels.notificationDisplayLength: 200 in settings.json to control how many characters are

shown

  1. Multi-line rendering — if the content contains \n, render them as multiple lines instead of collapsing to a single truncated line
  2. Expandable notifications — a keyboard shortcut (like Ctrl+O for Bash output) to expand the full notification text
  3. Full-text meta key — a meta attribute like display: "full" that tells Claude Code to render the complete text for that specific

notification

Alternative Solutions

We currently split long messages into multiple channel notifications of ~80 characters each, word-wrapped on spaces. Each notification line then
shows fully in the terminal. This works but creates significant visual noise — a single message that would be 3 lines becomes 5-6 separate
notification entries.

We also tried using notifications/message (MCP logging) but Claude Code silently ignores those during tool execution.

Priority

Medium - Would be very helpful

Feature Category

MCP server integration

Use Case Example

  1. We built an agent orchestration platform where remote AI agents execute long-running tasks
  2. Our MCP server connects to the remote agent via SSE (Server-Sent Events) and receives messages in real-time
  3. Each agent message is pushed as a channel notification so the user sees progress while the MCP tool is still executing
  4. With the current truncation, the user sees ← my-channel: Starting analysis of the requested d... instead of the full message
  5. Full-text rendering would let users follow the agent's reasoning and progress without waiting for the final tool response

Additional Context

MCP server declares channel capability and sends notifications via stdio transport:

``json
{
"jsonrpc": "2.0",
"method": "notifications/claude/channel",
"params": {
"content": "Full message text from the remote service that gets truncated in the terminal UI after approximately 50 characters",
"meta": { "source": "my_channel" }
}
}
``

  • Claude Code version: v2.1.80+
  • Channels enabled via org managed settings (channelsEnabled: true)
  • MCP capability: experimental: { 'claude/channel': {} }

View original on GitHub ↗

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