まず読むべきポイント
あるGitHubのIssueが開発者コミュニティを炎上させた。Claude Codeでテレメトリ(telemetry)を無効化すると、本来享受できる1時間のプロンプトキャッシュTTLが、知らず知らずのうちに5分に後退してしまうことが発覚したのだ。34万人が閲覧し、4500人がいいねを押し、開発者たちは一斉にブチ切れだ——「プライバシーを求めるなら、12倍の代償を払え」と。Anthropicのエンジニアが後にこの現象を認めたが、「罰則」ではなく、実験用ゲートとデフォルト値が結合している副作用だと主張した。しかし、怒りはすでに広がっていた。
あるスイッチが、知らず知らずのうちにコストを変える
物語は1行の環境変数から始まった。
ある開発者がClaude Codeを使用する際、習慣的にDISABLE_TELEMETRY=1を設定した。これはプライバシーを重視するエンジニアの標準的な操作であり、特別なことではない。
しかし、その後彼らは請求額が変わっていることに気づいた。
大幅な値上げではなく、より隠微な変化だった。同じワークフロー、同じコードベースなのに、中断後の復帰が遅くなり、クォータの消費が早くなり、長時間のセッションを維持するのが難しくなったのだ。
誰かがローカルのJSONLログを掘り下げるまで、その原因は不明だった。
Claude CodeはAPI呼び出しごとの詳細データを~/.claude/projects/ディレクトリに保存する。そこには2つのフィールドがある:
• usage.cache_creation.ephemeral_1h_input_tokens
• usage.cache_creation.ephemeral_5m_input_tokens
比較すると、真実が浮かび上がった。
▲ Can Vardar(34.3万回閲覧、4500いいね):「Claude Codeがテレメトリをオフにしただけでユーザーを罰するなんて!?」
データは嘘をつかない:ベースライン vs. テレメトリオフ
コミュニティの誰かが再現のためにPythonスクリプトを直接書いた。方法はシンプルで、3つの構成をそれぞれ実行し、JSONLのトークンフィールドを読み取るだけだ。
結果は以下の通り:
baseline: ttl=60m 1h=8215 5m=0 disable_telemetry: ttl=5m 1h=0 5m=8094 disable_nonessential_traffic: ttl=5m 1h=0 5m=8099
同じClaude Code、同じモデル、同じコード。唯一の違いはテレメトリのスイッチだけだ。
1hトークンフィールドが8215から一気にゼロになり、5mトークンフィールドが0から8094に跳ね上がった。
これは感覚的なものではなく、ローカルファイルから読み取れる確固たるデータである。
その後、クロスプラットフォームでの独立した再現が次々と報告された:
• macOS + Claude Code 2.1.104 + Maxプラン:再現
• macOS + Opus 4.5:再現
• Windows/WSL2 + Maxプラン:DISABLE_TELEMETRY=1を削除すると、新しいセッションは直ちに1hに戻った
▲ Carlos Villuendas(24.5万回閲覧、2700いいね):「テレメトリを無効にすると、Anthropicはあなたのキャッシュを1時間から5分に変更する。プライバシーには12倍の代償が必要だ。」
GitHub Issue #45381:これはオカルトではなく、バグ報告だ
この件が本当に火がついたきっかけは、GitHubのIssue #45381だった。
タイトルは非常に直截的だった:
[BUG] Disabling telemetry also disables 1-hour prompt cache TTL
▲ anthropics/claude-code#45381。複数の開発者が独立して再現し、最終的に公式がクローズし修正を約束した。
このIssueの価値は「誰かが不満を言った」ことではなく、事態を「高くなった気がする」から次のレベルに引き上げたことだ:
クロスプラットフォームで、複数人が観察可能で、ローカルのJSONLフィールドから独立して検証できる真の動作。
Anthropicのエンジニアが登場したが、回答はさらに不快なものだった
Issueが提出された後、Anthropicのエンジニアbchernyが現れた。
彼の説明はいくつかの文に要約できる:
「1時間のプロンプトキャッシュは微妙なものであり、すべてのリクエストに1hを適用すべきではない。私たちはキャッシュヒット率を向上させ、平均トークン使用量とレイテンシを下げるために、サブスクリプションユーザーに様々なヒューリスティクス戦略をテストし続けている。これらの戦略は実験ゲート(experiment gates)によって制御されており、ゲートの結果はクライアント側でキャッシュされる。あなたがテレメトリをオフにすると、私たちも実験ゲートをオフにする。なぜなら、それは『ホームにコールバックしない』ことを意味するからだ。ゲートがオフになると、Claude Codeはデフォルト値に戻る——そしてそのデフォルト値は5mなのだ。」
そして彼はこう付け加えた:
「Fix going out in the next release!」
▲ AnthropicのエンジニアbchernyがIssueで現象を認め、実験ゲートとテレメトリの結合が原因だと説明し、次バージョンでの修正を約束した。
待てよ。
つまり公式の言い分はこうだ: 1. 私たちは実験を行っており、その結果が1hか5mかを決定する。 2. 実験はテレメトリがないと実行できない。 3. あなたがテレメトリをオフにすると、実験ゲートもオフになる。 4. ゲートがオフになると、デフォルト値の5mが適用される。
この説明は技術的には筋が通っている。しかし、同時に次のことも意味している:あなたのキャッシュのメリットは、最初からあなたの権利ではなく、実験の副産物に過ぎなかったのだ。
「Silent rug pull(黙っての引き抜き)」:開発者がブチ切れた本当の理由は5分ではない
Daniel Nguyenはローカルの119,866回のAPI呼び出し記録から、2026年1月から4月までのTTL分布を遡及調査した。
彼が発見したのは、2月から3月上旬までは1h TTLが長期にわたり支配的だったが、3月6〜8日頃から5mが大幅に逆転し始めたことだ。
▲ Daniel Nguyen(12.9万回閲覧、1300いいね):実際のコストは$78.99だが、1h TTLを維持していれば$37.54だったはずで、$41.45多く支払い、52.5%を無駄にした
Sigrid Jinはある言葉を使った:「silent rug pull」(黙って敷物を引き抜く=詐欺的に価値を引き抜く行為)。
▲ Sigrid Jin:「Claude CodeのキャッシュTTLを1hから5mにこっそり下げるなんて、これは狂ったrug pullだ」
この言葉は多くの人の胸に刺さった。
開発者が本当に怒っているのは、「余計にお金を払わされた」ことだけではないからだ。それは次の事実だ:
この事実は、開発者が自分でJSONLを掘り下げて発見したものであり、チェンジログで読んだものでも、ドキュメントで事前に知らされていたものでもない。
あなたはMaxプランを購読し、自分が何を買ったか分かっていると思っていた。そしてある日、誰かがあなたにこう告げるのだ。実はあなたはずっと実験に参加しており、その結果があなたが得るものを決定していたが、あなたはそのことを全く知らなかったと。
「12倍」は本当なのか?公式は「12倍なんてことはない」と反論
Xで最も広く拡散されたのは「プライバシーコストは12倍」という説だ。
Anthropicのエンジニアが直接回应した:
「the token savings is nowhere near 12x」(トークンの節約は12倍なんて程遠い)
技術的な観点から見れば、この主張には確かに誇張が含まれている。1hと5mの差は具体的なワークフローに依存する:
• 長時間のセッションや頻繁に中断・復帰するヘビーユーザー:影響は顕著
• サブエージェントや単発の短いリクエスト:ほとんど差がない、あるいは1hの方がむしろ高くつく(キャッシュ書き込みコストが高いため)
しかし、「12x」という数字が拡散されたこと自体が、ある事実を物語っている:開発者はこのキャッシュメカニズムの透明性に対して、かなりの不信感を蓄積しているということだ。
▲ 「privacy costs 12x token」という主張がX上で急速に拡散
より大きな背景:Claude Codeのキャッシュ戦略は常に動いていた
Issue #46829がもう一つの手がかりを補完した。
AnthropicのエンジニアJarred-Sumnerは、3月6日頃の変化は「継続的な最適化作業(ongoing optimization work)」であり、リグレッションバグではないと説明した。チームはリクエストの種類に応じてTTLを選択する。なぜなら:
• 1h書き込みは5m書き込みよりも高価である
• 多くのサブエージェントリクエストは間隔が極めて短く、1hは全く不要である
• これらのリクエストに対しては、5mの方がむしろ節約になる
▲ AnthropicエンジニアJarred-Sumner:3月の変更は意図的な最適化であり、事故ではない
この説明は論理的に筋が通っている。
しかし、同時に次のことも意味している:Anthropicは常にあなたのキャッシュ戦略を動的に調整していたが、あなたはそれを知らなかったのだ。
トークン課金のAPIユーザーにとっては、これは本当にコスト削減になるかもしれない。しかし、Maxサブスクリプションのユーザーにとって問題は単価ではなく、クォータ、体験、そして「自分が何を買ったと思っていたのか」という根本的な問題である。
結末:Issueはクローズされ、修正が約束された
良いニュースは、#45381が既にクローズされ、公式が次バージョンでの修正を約束したことだ。
具体的な方向性には以下が含まれる:
• 一部のクエリにおけるクライアント側のデフォルトを1hに変更する
• 将来的にユーザーが環境変数でTTL(1hまたは5m)を強制指定できるようにする
悪いニュースは、この件が露呈した問題が単なるバグよりも深いということだ:
AIプログラミングツールがますますブラックボックス化し、キャッシュ戦略、実験ゲート、サブスクリプションのメリットがすべて目に見えないところで動的に調整される時、「信じるな、自分で検証しろ」が開発者文化の新常識になりつつある。
既に自分のJSONLを監視するスクリプトを書く人が出ている。
既に「他に自分が知らないことは何だ?」と問う人がいる。
これは5分間のキャッシュについての物語ではない。これは信頼についての物語だ。
▲ 事件が発酵し続け、Mario Nawfalなどのインフルエンサーアカウントが拡散に追従
— END —
— END —