この記事の目次
「オプトアウト設定」が止めるもの:学習とテレメトリという2つのレイヤー
学習オプトアウトは会話データをモデルの学習に使わせない設定、テレメトリ停止は利用状況やエラー情報の送信を止める設定であり、この2つはまったく別の仕組みとして動いている。
「Claude Codeでオプトアウト設定」と検索する読者の多くは、この2つを同じ1つの操作だと思い込んだまま手順を探しにいく。しかし実際には、設定される場所も、止められる対象も、確認できる範囲も異なる。学習オプトアウトはWebアカウント側のプライバシー設定に属し、あなたが送った会話やコードを将来のモデル学習に使うかどうかを決める。一方、テレメトリ停止はCLI(コマンドラインで操作するツール本体)が動作状況やエラー情報を開発元に送るかどうかを決める設定で、こちらは環境変数やsettings.jsonといったCLI側の仕組みで制御する。
この記事では以降のすべての節で、いま説明している設定がこの2レイヤーのどちらに属するのかを都度明示しながら進める。読み終えたときに、自分が止めたいのは「学習」なのか「通信」なのか、あるいはその両方なのかを迷わず判断できる状態を目指す。
自分のプランはデフォルトで学習対象になっているのか?
無料・Pro/Max・API・企業向けプランのどれを使っているかでデフォルトの扱いが異なる可能性があるため、ここでは断定せず、自分で確認する手順を示す。
Anthropicのプライバシーポリシーや利用規約は改定されることがあり、この記事の公開時点の記述をそのまま将来にわたって当てはめることはできない。したがって確認すべきなのは「今この記事に書かれている数値」ではなく、「自分のアカウントがどのプランで、そのプランに現在どの規約が適用されているか」を自分の目で確かめる手順だ。
具体的には、次の3つを順に確認するとよい。
- 自分が使っているのが無料アカウントか、Pro/Maxのサブスクリプションか、APIキー経由の利用か、企業向けの契約かを特定する。
- Anthropicの公式サイトにある利用規約・プライバシーポリシーのページで、自分の利用形態に対応する条項を探す。消費者向け(claude.ai)とAPI向け(開発者向け)で条項が分かれていることが多いため、両方を見比べる。
- 確認した日付をメモしておく。規約は改定されるため、「いつ時点の記述を根拠にしたか」を残しておかないと、後から自分の判断が正しかったか検証できなくなる。
この手順を踏まずに「Proなら学習に使われない」といった断定を鵜呑みにすると、規約改定後もその認識のまま使い続けてしまうことになる。
Claude Code(CLI)における学習オプトアウトとテレメトリ停止の設定方法
個人利用の場合、学習オプトアウトはWebアカウントのプライバシー設定から、テレメトリ停止はCLI起動時の環境変数から、それぞれ別の手順で行う。
Webアカウント側の学習利用トグルはCLIの利用にも適用されるのか
Claude CodeをPro/Maxのアカウントでログインして使っている場合、Webのclaude.ai上で設定した学習利用トグルがCLI経由の利用にも及ぶのか、それともAPIキー経由の利用は別扱いになるのかは、ログイン方式によって変わりうる論点だ。ここは執筆時点で読者ごとの利用形態が分かれる部分であり、この記事で一律の答えを示すことはできない。自分がAPIキーでログインしているのか、サブスクリプションアカウントでログインしているのかをclaude /login実行後の表示や設定画面で確認し、対応するプライバシー設定のページで適用範囲の説明を読むのが確実だ。
テレメトリ・エラーレポートを止める環境変数の設定方法
Claude Codeには、起動時の環境変数でテレメトリやエラーレポートの送信を止める仕組みが用意されている。例えば次のように、シェルの設定ファイル(~/.zshrcなど)に環境変数を追記してからCLIを起動する。
export DISABLE_TELEMETRY=1
export DISABLE_ERROR_REPORTING=1
export DISABLE_AUTOUPDATER=1
export DISABLE_NON_ESSENTIAL_MODEL_CALLS=1
それぞれが止める対象は次のとおりだ。
DISABLE_TELEMETRY:利用状況に関する統計情報の送信を止めるDISABLE_ERROR_REPORTING:エラー発生時の自動レポート送信を止めるDISABLE_AUTOUPDATER:CLIの自動アップデートチェックを止めるDISABLE_NON_ESSENTIAL_MODEL_CALLS:必須でない補助的なモデル呼び出し(コマンド説明の自動生成など)を止める
設定できているかどうかは、シェルでecho $DISABLE_TELEMETRYのように該当する変数を出力させれば、その場で確認できる。
チーム・組織で設定を統一する場合
個人が自分のシェルに環境変数を書くだけでは、チームメンバー全員に同じ設定を徹底させることはできない。Claude Codeにはプロジェクト単位で共有できる.claude/settings.jsonと、組織の管理者が配布する管理者向け設定があり、後者は個々のユーザーが自分の設定で上書きできないように優先順位が定められている。組織として一律にテレメトリを止めたい場合は、各メンバーの~/.zshrcに依存するのではなく、この管理者向け設定の仕組みを使うのが実務的だ。項目ごとの設定キーは公式ドキュメントの更新頻度が高いため、プロジェクト単位の設定項目を一通り洗い出したい場合はClaude Codeのsettings.json設定ガイドを、組織全体に強制したい管理者はClaude Codeの管理者向け設定ガイドを参照してほしい。
設定を反映した後、何を確認できて何を確認できないのか
環境変数やトグルを設定した「つもり」で終わらせないために、確認できる範囲とできない範囲を分けて整理しておく。
学習オプトアウトについては、Web上のプライバシー設定画面でトグルの状態(ON/OFF)を即座に確認できる。ただし、そのトグルを操作する前に送った過去の会話がすでに学習に使われたかどうかを、ユーザー側から事後的に確認する手段は用意されていない。トグルの確認は「今後の挙動」の確認であって、「過去の履歴」の確認ではない点を区別しておく必要がある。
テレメトリ停止についても同様の非対称がある。echoコマンドで環境変数がローカルに設定されていることは確認できるが、その設定によって実際にCLIから送信が行われなかったことを、ユーザー側からサーバーの受信ログのような形で確認する手段はない。確認できるのは「自分が止める設定を入れたかどうか」までであり、「実際に止まったかどうか」はCLIの実装を信頼する以外に検証しようがない。
この「設定できることの確認」と「効果が及んだことの確認」を混同しないことが、オプトアウト設定を扱ううえでの注意点になる。