Skip to content

CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC blocks channels feature flag (tengu_harbor) #45918

Description

@BeRightOnce

Description

CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 disables GrowthBook feature flag evaluation, which causes --channels to always show "Channels are not currently available." Users who opt out of telemetry for privacy reasons lose access to gated features — not just telemetry.

Environment

  • Claude Code: v2.1.98 (macOS Darwin 23.6.0)
  • Plan: Claude Max
  • Plugin: telegram@claude-plugins-official (latest, pulled from main today)

Steps to Reproduce

  1. Set CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 (or enable the "don't share usage patterns" toggle)
  2. Run claude --channels plugin:telegram@claude-plugins-official
  3. Observe: --channels ignored (plugin:telegram@claude-plugins-official) Channels are not currently available

Root Cause

The tengu_harbor GrowthBook feature flag gates channel registration. When nonessential traffic is disabled, GrowthBook can't fetch flags, so tengu_harbor defaults to false. The channel notification handler is never registered, and inbound notifications/claude/channel events are silently dropped.

Outbound MCP tools (reply, react, edit_message) work fine since those are standard MCP tool calls, not channel notifications.

The Bug

Feature entitlements and telemetry opt-out share the same kill switch. This is a coupling problem — a user's privacy preference should not silently disable product features they're paying for.

This same coupling has been reported for Opus 4.6 1M context in #34178. Channels are the second feature affected.

Expected Behavior

Disabling telemetry should disable telemetry (Statsig, Sentry, surveys). It should NOT disable feature flag evaluation that determines product access. These are architecturally separate concerns.

Suggested Fix

Decouple GrowthBook feature flag fetches from the nonessential traffic opt-out. Feature flags determine what the product does — they are essential, not telemetry.

Related Issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    duplicateThis issue or pull request already exists

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions