DISABLE_TELEMETRYとは — メトリクスと機能フラグの取得を止める環境変数
DISABLE_TELEMETRYはClaude Codeの利用状況メトリクス送信をオプトアウトする環境変数です。対象範囲、プロバイダー別の既定値、組織一括設定の方法をまとめます。
DISABLE_TELEMETRYは、Claude Codeが送る運用テレメトリのうち利用状況メトリクスをオプトアウトする環境変数です。任意の値を設定するだけで有効になり、既定でオンになる条件はAPIプロバイダーによって異なります。対象範囲、0を入れても止まらない挙動、組織全体へ一括配布する方法をまとめます。
DISABLE_TELEMETRYが止める送信はメトリクスで、エラー報告は別
Claude Codeが送る運用テレメトリは大きく2種類に分かれます。ひとつはレイテンシーや成功率といった利用状況メトリクス、もうひとつはCLI自身のクラッシュを伝えるエラー報告です。DISABLE_TELEMETRYが対象にするのは前者だけです。
DISABLE_TELEMETRY: Set to any non-empty value, such as 1, to opt out of telemetry.メトリクスにはコード・プロンプト・ファイルパスといった利用者のデータは含まれません。含まれるのはレイテンシーや信頼性、利用パターンのような運用指標です。エラー報告を止めたい場合はDISABLE_ERROR_REPORTING、/feedbackコマンドでの手動送信を止めたい場合はDISABLE_FEEDBACK_COMMANDと、目的ごとに別の変数が用意されています。
| 変数 | 止める対象 |
|---|---|
DISABLE_TELEMETRY | 止める対象利用状況メトリクス(レイテンシー・成功率・利用パターン) |
DISABLE_ERROR_REPORTING | 止める対象Claude Code自身のクラッシュ・スタックトレース |
DISABLE_FEEDBACK_COMMAND | 止める対象/feedback・/bug・/shareでの手動送信 |
3つはそれぞれ独立したオプトアウトです。テレメトリだけを個別に止めたいのか、それとも複数をまとめて止めたいのかで、設定する変数が変わります。自動更新の確認やリリースノート取得まで含めてまとめて止めたい場合は、CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICのような広域の変数を使います。
プロバイダーによって既定値が違う
DISABLE_TELEMETRYが意味を持つかどうかは、接続しているAPIプロバイダーによって変わります。
| プロバイダー | メトリクスの既定 |
|---|---|
Claude API(直接接続・LLMゲートウェイ・ANTHROPIC_BASE_URL経由を含む) | メトリクスの既定オン。DISABLE_TELEMETRY=1で無効化 |
| Google CloudのAgent Platform | メトリクスの既定オフ。CLAUDE_CODE_USE_VERTEXが1である必要がある |
| Amazon Bedrock | メトリクスの既定オフ。CLAUDE_CODE_USE_BEDROCKが1である必要がある |
| Microsoft Foundry | メトリクスの既定オフ。CLAUDE_CODE_USE_FOUNDRYが1である必要がある |
| Claude Platform on AWS | メトリクスの既定オフ。CLAUDE_CODE_USE_ANTHROPIC_AWSが1である必要がある |
Claude APIを使うセッションでは既定でオンになり、DISABLE_TELEMETRYを設定する意味があります。直接接続のほか、LLMゲートウェイやカスタムのANTHROPIC_BASE_URLを経由する場合も同じです。Bedrock・Google CloudのAgent Platform・Microsoft Foundry・Claude Platform on AWS経由では、もともとメトリクスが既定オフなので、変数を設定しなくても同じ状態です。
Claude Codeを組み込んだホストプラットフォームがCLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTを設定している場合は例外です。この場合はサードパーティープロバイダーでもメトリクスの既定がオンに変わり、DISABLE_TELEMETRYによる標準のオプトアウトに従うようになります。
サインイン済みのClaude apps gatewayセッションはさらに別扱いです。利用状況の分析・エラー報告・調査結果の送信は、ゲートウェイの認証情報そのものによって無効化されており、再度有効にする設定項目自体がありません。この形態ではDISABLE_TELEMETRYを設定してもしなくても結果は変わりません。
設定方法
シェルの環境変数として渡すか、設定ファイルのenvキーに書きます。
export DISABLE_TELEMETRY=1
claudev2.1.285のclaude --helpを確認すると、テレメトリを切るフラグはありません。telemetryを含む行はclaude gateway(エンタープライズ向けの認証・テレメトリゲートウェイ)の説明だけで、個人が使うオプトアウトは環境変数かenvキーに限られます。
個人の全プロジェクトに反映させたいだけなら~/.claude/settings.json、プロジェクト単位で固定したいなら.claude/settings.jsonのenvキーに書きます。
{
"env": {
"DISABLE_TELEMETRY": "1"
}
}0やfalseを入れたときの扱いは変数ごとに違います。
値に0を入れたときの挙動
DISABLE_TELEMETRY
空でない値なら何でもオプトアウトが働きます。0やfalseでも止まったままで、戻すには変数そのものを未設定にします。
DO_NOT_TRACK
標準的な真偽値として読まれ、0ならテレメトリはオンのままです。DISABLE_GROWTHBOOKも0とfalseでは機能フラグの取得が続きます。
DISABLE_TELEMETRY=0と書いたつもりの設定ファイルは、意図と逆に止めています。
CLAUDE_CODE_ENABLE_TELEMETRYとは別物
似た名前で紛らわしいのがCLAUDE_CODE_ENABLE_TELEMETRYです。こちらは自分のOpenTelemetry基盤へ利用量やコストの指標をエクスポートするための、まったく別のオプトイン機能を有効化する変数です。DISABLE_TELEMETRYがAnthropicへ向かう運用テレメトリを止めるオプトアウトなのに対し、CLAUDE_CODE_ENABLE_TELEMETRYは自分のバックエンドへ計測を送るための起動スイッチで、向きも送信先も逆です。
両者は同時に使えます。DISABLE_TELEMETRY=1でAnthropicへの送信だけを止め、CLAUDE_CODE_ENABLE_TELEMETRY=1で自前のOpenTelemetryコレクター(Prometheusなど)へは引き続き計測を送る、という構成が可能です。環境変数全体の一覧はClaude Code環境変数リファレンスにまとめています。
DISABLE_GROWTHBOOKとの違い
DISABLE_TELEMETRYを設定すると、メトリクス送信に加えてAnthropicからの機能フラグの取得も止まります。フラグで有効になる機能は、取得を止めた環境では使えません。
フラグ取得が止まると使えなくなる主な機能
設定の下書き・診断
/auto-mode-setupによるautoMode.environmentの下書きと、/skill-doctor(/pluginのStatsタブのレポートを含む)。取り込み・同期
claude importと/import。claude.aiアカウントで有効にしたスキルとプラグインの、ターミナルへの同期。そのほか
advisorツールと、アーティファクトのコメントの読み取り・返信。不正なスキーマを持つMCPツールの除外も同じ仕組みで、止めた環境では除外されず400エラーの原因になります。
Remote Controlは扱いが変わりました。DISABLE_TELEMETRYかDO_NOT_TRACKだけを設定している場合、v2.1.283以降では組織が信頼済みデバイス(Trusted Devices)を必須にしていない限り使えます。v2.1.282以前は、どちらの変数でもRemote Controlが使えませんでした。CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICかDISABLE_GROWTHBOOKを併せて設定すると、今も使えません。
似た効果を持つ変数にDISABLE_GROWTHBOOKがあります。ただし対象範囲は非対称です。DISABLE_GROWTHBOOK(1かtrueで有効)は機能フラグの取得だけを止め、テレメトリのイベントログ送信自体はDISABLE_TELEMETRYを別途設定しない限り動き続けます。逆にDISABLE_TELEMETRYを設定すると、メトリクス送信と機能フラグ取得の両方が止まります。「機能フラグだけ止めてテレメトリは残したい」という場面で意味を持つのはDISABLE_GROWTHBOOKのほうで、DISABLE_TELEMETRYではこの組み合わせを作れません。止まる機能の一覧はDISABLE_GROWTHBOOKの解説にあります。
ついでに止まるもの・止まらないもの
DISABLE_TELEMETRYを設定しても、モデルへのリクエストそのものは止まりません。影響が及ぶのは運用テレメトリ、機能フラグの取得、セッション品質調査で、セッション本体のやり取りには関与しません。
/feedbackは、サードパーティープロバイダー経由かAnthropicの認証情報が無い環境では、送信せずに~/.claude/feedback-bundles/へ報告を書き出します。エラー報告も既定で常時オンではなく、ProまたはMaxのサインイン、v2.1.198以降、Claude APIへの直接接続、ゼロデータ保持やHIPAA契約が無い組織、の4条件がそろったときだけ動きます。
一方で、意外なところに波及するのがセッション品質調査です。セッション中に表示される「Claudeの調子はどうですか」という評価アンケートは、DISABLE_TELEMETRY・DO_NOT_TRACK・CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICのいずれを設定しても連動して止まります。品質調査だけを止める専用の変数はCLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1です。調査結果だけは自分のOpenTelemetry基盤で受け取りたい場合、CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL=1を追加すると、評価をAnthropicへは送らずOTELイベントとしてのみ自分の環境に残せます。テレメトリを一律に止めたい組織と、品質調査のデータだけは自前で集めたい組織が両方存在する場合、この組み合わせが選択肢になります。
使い分けの目安
| 状況 | 選ぶ変数 |
|---|---|
| メトリクス送信を止めたい(機能フラグの取得も止まってよい) | 選ぶ変数DISABLE_TELEMETRY |
| エラー報告だけを個別に止めたい | 選ぶ変数DISABLE_ERROR_REPORTING |
| 機能フラグの取得だけ止めてテレメトリは残したい | 選ぶ変数DISABLE_GROWTHBOOK |
| 自動更新・フィードバック送信まで含めて非必須通信を一括で止めたい | 選ぶ変数CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC |
| 品質調査だけは自前のOTel基盤に残したい | 選ぶ変数DISABLE_TELEMETRY + CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL=1 |
エアギャップ環境や高セキュリティ環境で通信を最小限にしたいだけなら、個別に組み合わせるよりCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICを使うほうが取りこぼしが少なく済みます。DISABLE_TELEMETRYが向くのは、モデルへのリクエストや自動更新の確認は残したまま、計測データの送信と機能フラグの取得を止めたい場面です。
組織全体に一括配布する
個々の開発者のシェル設定に頼らず、組織全体でメトリクス送信を止めたい場合は、管理者が配布する管理設定(managed settings)のenvブロックに書きます。
{
"env": {
"DISABLE_TELEMETRY": "1"
}
}管理設定経由で配布された環境変数の一部は、ユーザーに承認ダイアログを表示してから適用されます。プロキシやベースURLを変更する変数はこの対象ですが、DISABLE_TELEMETRYはプライバシー系のトグルとして扱われ、承認ダイアログなしで適用されます。組織として一律にテレメトリを止めたい場合、ユーザー側の操作を挟まずに配布できるということです。
この判定は変数名ではなく、配布される値で決まります。対象はDISABLE_TELEMETRY・DISABLE_ERROR_REPORTING・CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC・DO_NOT_TRACKの4変数です。
4つのプライバシー変数の承認ダイアログ
1・trueなどの真の値
追跡や報告を止める方向にしか働かないため、ユーザーに尋ねずに適用されます。
それ以外の空でない値
通常の管理設定と同じく、承認ダイアログに変数名が表示されます。
v2.1.218より前は、DO_NOT_TRACKだけが空でない値ならダイアログを出し、ほかの3変数はどんな値でもダイアログなしで適用されていました。古いバージョンが混在する組織では、同じ設定でも挙動が揃わない可能性があります。
分析ダッシュボードへの影響
この設定を組織全体で有効にすると、利用状況ダッシュボードが参照するデータも届かなくなります。分析ダッシュボードを使い続けたいチームと止めたいチームが混在する組織では、管理設定を届ける範囲をどこまでにするかが論点になります。ポリシーが届く開発者ごとにデータが止まるので、配布の単位はダッシュボードの母数に直結します。
まとめ
メトリクスを止めてよく、フラグで動く機能も使わないならDISABLE_TELEMETRY、機能フラグの取得だけを止めたいならDISABLE_GROWTHBOOKと分けて選びます。0を入れても止まる点だけは、設定ファイルを書く前に覚えておく価値があります。環境変数全体はClaude Code環境変数リファレンス、組織単位の配布はClaude Code組織導入の意思決定マップに続きます。