Decouple /feedback from telemetry/nonessential-traffic env vars

Resolved 💬 2 comments Opened Apr 24, 2026 by OnCeUponTry Closed May 28, 2026

Problem

CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 silently overrides the dedicated DISABLE_FEEDBACK_COMMAND flag and blocks /feedback, even when the user only opted out of passive telemetry.

These are two different things:

  • Passive telemetry (Statsig, Sentry): data emitted automatically that I did not author.
  • /feedback: content I explicitly type and choose to send.

Coupling them means a privacy-conscious user cannot send product feedback at all — unless they re-enable passive tracking as the price of being allowed to talk to you.

Reproduction

{
  "env": {
    "DISABLE_TELEMETRY": "1",
    "DISABLE_ERROR_REPORTING": "1",
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
  }
}

Run /feedback:

/feedback has been disabled via the CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC environment variable

Even though DISABLE_FEEDBACK_COMMAND is explicitly unset.

Why this matters

You already have a dedicated mechanism (/feedback) to receive direct, authored, opt-in feedback from users. But the umbrella flag turns it off and reframes it as "nonessential traffic" — as if feedback were a side-effect of telemetry rather than its own channel.

The consequence: you systematically lose feedback from exactly the users most likely to have thought carefully about the product — the privacy-conscious ones. They opted out of passive collection, so the current design treats them as if they opted out of communicating with you at all. That is the opposite of what the /feedback command is for.

It also reads as aggressive: "if you don't let us collect all your data, you don't get to talk to us either." That is almost certainly not the intent, but it is the current behavior.

Proposal

/feedback should be gated only by DISABLE_FEEDBACK_COMMAND. Invoking a command and typing a message is an explicit, authored user action; it is not "nonessential traffic" and should not be classified as such.

More generally: umbrella flags like NONESSENTIAL_TRAFFIC should affect only automatic/passive channels (telemetry, surveys, auto-update probes). Explicit user-invoked commands remain governed by their own dedicated flags.

This keeps the feedback channel open for users who want to help improve the product without surrendering passive privacy controls to do so.

View original on GitHub ↗

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