Channels silently fail for Max users — no error, no warning

Resolved 💬 2 comments Opened Mar 26, 2026 by aandreev-123 Closed Apr 26, 2026

Description

Channels are documented as available for Pro and Max users without an organization (docs):

Pro and Max users without an organization skip these checks entirely: channels are available and users opt in per session with --channels.

However, on a Max plan account with Claude Code v2.1.84, channel notifications (notifications/claude/channel) are silently dropped with no error message or warning. The MCP server connects successfully, tools are available, but the channel notification listener is never activated.

Steps to Reproduce

  1. Create a minimal channel MCP server (e.g., the fakechat quickstart or a custom webhook server)
  2. Register it in .mcp.json
  3. Run claude --dangerously-load-development-channels server:<name>
  4. Send a notifications/claude/channel event from the MCP server
  5. Claude never sees the <channel> tag — the notification is silently dropped

What Happens

  • MCP server connects and shows status: "connected" in the sdk-init event
  • MCP tools from the server are listed and usable
  • notifications/claude/channel events are sent successfully (no error from the MCP SDK)
  • Claude never receives the event as a <channel> tag
  • No error message, no warning, no startup notice — complete silence

Expected Behavior

Per the docs, Max users should be able to use channels by opting in with --channels. If the feature isn't available yet for an account, there should be an explicit error or warning (e.g., "Channels are not yet available for your account" at startup).

Investigation

Decompiling the binary reveals a GrowthBook feature flag (tengu_harbor) that gates channel eligibility before any of the documented checks (auth, settings, --channels flag) are evaluated. When this flag is false, all channel notifications are silently ignored regardless of plan type or configuration.

Environment

  • Claude Code: v2.1.84
  • Plan: Max (no organization)
  • OS: macOS Darwin 25.3.0
  • Auth: claude.ai OAuth (not API key)

Suggestion

At minimum, if the feature flag gates channels, the binary should emit a startup warning when --channels or --dangerously-load-development-channels is passed but the feature isn't enabled for the account. Silent failure makes debugging extremely difficult — we spent hours tracing this before discovering the feature flag.

View original on GitHub ↗

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