From 4add93a1950d9dbabd0a49d6db780c68c073eea8 Mon Sep 17 00:00:00 2001 From: Rootiest Date: Tue, 29 Sep 2026 03:54:59 -0400 Subject: [PATCH] fix(claude): strip C3 telemetry opt-out so Remote Control works claude-code disables feature-flag evaluation when DO_NOT_TRACK or DISABLE_TELEMETRY is set, and Remote Control is gated on a feature flag. The global C3 privacy override therefore silently disabled /remote-control and --remote-control. The wrapper now removes both variables from the claude process environment only, whenever the C3 privacy override is active, independent of the C1 wrapper gate. --- functions/claude.fish | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/functions/claude.fish b/functions/claude.fish index d52ab2c..b9660b5 100644 --- a/functions/claude.fish +++ b/functions/claude.fish @@ -31,6 +31,13 @@ # # All arguments are forwarded verbatim to the real claude binary. # +# When the C3 privacy override is active, DO_NOT_TRACK and +# DISABLE_TELEMETRY are removed from the claude process environment +# only. claude-code turns off feature-flag evaluation when either is +# set, and Remote Control (/remote-control, --remote-control) is gated +# on a feature flag, so the global opt-out otherwise disables it. This +# applies even when the C1 wrapper behavior is disabled. +# # Opinionated component (C1): when disabled via __fish_config_op_aliases # (or the __fish_config_opinionated master), the command is passed through # to the real claude binary unchanged. @@ -46,13 +53,16 @@ # claude --resume # claude "Explain the recent changes" function claude --wraps=claude --description 'claude wrapper: ensures AGENTS/ is scaffolded before launch' - if not __fish_config_op_enabled (status current-function) - command claude $argv - return $status + # Remote Control needs feature flags, which the C3 privacy vars disable + set -l strip + if __fish_config_op_enabled config.fish privacy + set strip -u DO_NOT_TRACK -u DISABLE_TELEMETRY end - agents-init --quiet - agents-vault --quiet + if __fish_config_op_enabled (status current-function) + agents-init --quiet + agents-vault --quiet + end - command claude $argv + env $strip claude $argv end