Claude CodeでautoUpdatesが無視されるという報告と確実な止め方
autoUpdatesをfalseにしてもClaude CodeのCLIが更新されたという報告の内容と確認方法、確実な止め方をまとめます。
autoUpdates: falseが無視されたと報告されている不具合とは
Claude CodeのCLIで、~/.claude.jsonに"autoUpdates": falseと設定していても自動更新が止まらなかったという報告があります。GitHub issue #75607として2026年7月8日に登録され、直近のコメントは2026年8月21日で、issueはまだopenのままです。ネイティブインストール環境で、この設定が更新経路に反映されなかったとする1件の報告です。
同じissueには、Opus 4.8のthinking要約がサーバー側の実験で空になる別の症状も報告として同居しています。原因はまったく別の仕組みですが、「明示的に設定した項目が通知なく上書きされる」という共通点があり、1件のissueにまとめて投稿されました。本記事はautoUpdatesが無視される報告を中心に扱い、thinking要約の症状は関係が分かる範囲で簡潔に触れるに留めます。正規の更新制御手段(DISABLE_AUTOUPDATER・DISABLE_UPDATES)や他の更新トラブルの一覧はClaude Codeアップデートの方法にまとめています。
何が起きたか — 2026年7月7日の記録
報告者の環境(Ubuntu/Debian Linux、VS Code統合ターミナル)では、ハワイ時間で次の順に問題が発覚しました。
| 時刻(HST) | 出来事 |
|---|---|
| 6:35am | 出来事VS Code拡張機能を手動で2.1.202へ更新(この日最後の手動操作) |
| 11:09:12am | 出来事CLIが2.1.202から2.1.203へ通知なしに自己更新 |
| 7:12:18pm | 出来事新しい機能フラグの割り当てが~/.claude.jsonにキャッシュされる |
| 7:56〜7:58pm | 出来事Opus 4.8のthinking要約が空になり始める。CLIを2.1.202へ戻しても復活せず |
| 10:01〜10:02pm | 出来事原因切り分けのためCLIとVS Code拡張の両方を手動で2.1.204へ更新 |
11:09:12amの自己更新は、~/.claude.jsonに"autoUpdates": falseが設定された状態で発生しました。CLI自身の更新ログ~/.claude/.last-update-result.jsonにも、この更新が"outcome":"success"として記録されています。報告者はこの自己更新の前後で更新操作を一切行っておらず、CLIのバイナリが自分の意思と無関係に切り替わったことになります。更新が走った11:09:12amには、報告者のClaude Codeセッションが実際に稼働中でした。バックグラウンドの更新処理は、使用中のセッションの裏側で気づかれないまま完了しています。
なぜautoUpdatesの設定が効かなかったのか
報告者の~/.claude.jsonには、次の3つのキーが設定されていました。
{
"autoUpdates": false,
"autoUpdatesProtectedForNative": true,
"installMethod": "native"
}Claude Codeの設定リファレンスを確認すると、自動更新のチャネルを選ぶautoUpdatesChannelと、それをsettings.jsonのenvキーで止めるDISABLE_AUTOUPDATERは文書化されていますが、真偽値のautoUpdatesキーとautoUpdatesProtectedForNativeキーはどちらも見当たりません。
つまり報告者が編集していたのは、文書化された設定ファイルsettings.jsonではありません。Claude CodeがMCPサーバーの登録やプロジェクトごとの信頼設定を保持する内部状態ファイル、~/.claude.jsonの側です。このファイルは機能追加時にCLIが内部的に書き込む場所として説明されており、ユーザー向けの設定インターフェースとしては案内されていません。autoUpdatesProtectedForNativeというキー名は、ネイティブインストールの更新経路に何らかの保護ロジックがあることを示唆します。ただし、その具体的な挙動を説明した文書は見当たりませんでした。
~/.claude.jsonが保持する「グローバル設定キー」として公式ドキュメントが列挙している項目(autoConnectIde・autoInstallIdeExtension・copyOnSelect・diffToolなど)にも、autoUpdatesは含まれていません。/configコマンドが書き込むキーの一覧にも入っていないため、このキーがどの経路で~/.claude.jsonに加わったのかは、issueの中でも特定されていません。
報告者はissueの中で、「CLIバイナリが自分の意思と無関係に更新されたのはこれが初めてだ」と述べたうえで、autoUpdatesProtectedForNativeというキーの意味と、ネイティブインストールの更新経路がautoUpdates設定自体を無視しているのかどうかを、Anthropicに直接問い合わせています。この2点への回答が付くより先に、文書化された止め方に切り替えておくほうが見通しは良好です(手順は後述)。
同じissueで報告されているもう一つの症状(参考)
同じスレッドには、Opus 4.8のthinking要約(拡張思考の要約テキスト)がサーバー側の実験でエラーを出さずに空になる症状も報告されています。CLIが送るx-cc-atisヘッダーの値が特定の実験グループに割り当てられていると発生し、showThinkingSummaries: trueを設定していても無視されます。空になった思考ブロックにも署名は付いており、推論自体は実行されトークンも消費されている、と報告には付記されています。最初の報告時点では、同時に試した他の4モデル(Opus 4.7・Sonnet 5・Haiku 4.5・Fable 5)はいずれも要約が正常に返っており、影響はOpus 4.8だけに絞られていました。7月の再現は3件ともOpus 4.8のみでしたが、8月21日の報告では別の実験キーでclaude-fable-5にも同じ症状が出ており、モデル・実験キーの組み合わせが広がっています。原因はautoUpdatesの無視とは別で、CLIが送信するx-cc-atisヘッダーによる実験グループ割り当てそのものにあります。
影響範囲 — 確認できるのは報告者本人の1件
issueの中で確認できる範囲では、autoUpdatesが無視された事例は報告者本人のネイティブインストール環境(Ubuntu/Debian Linux、2.1.202→2.1.203)の1件だけです。他の環境からの再現コメントは、2026年8月21日の最新コメントまで付いていません。唯一autoUpdatesに触れたcanyuchenのコメントも「自分の環境はautoUpdates: trueなので、この更新は想定通りだった」という内容で、再現報告ではなく非該当の申告です。macOS・Windowsや、Homebrew・WinGetなど手動更新が既定のインストール方法からの再現報告も見当たりません。1件しか確認できていないという事実自体が、原因の特定や修正の見込みを判断しづらくしています。ただし報告には~/.claude.jsonの設定値・更新ログの実データ・バイナリの生成時刻という3種類の一次証跡が添えられており、記録に基づく再現性の高い内容です。
自分の環境で該当するか確認する方法
CLI自身の更新ログと、設定したautoUpdatesの値を突き合わせます。
cat ~/.claude/.last-update-result.json
grep -o '"autoUpdates":[^,}]*' ~/.claude.json更新ログのタイムスタンプに、自分で行った覚えのない更新が記録されていれば、この不具合に該当している可能性があります。ネイティブインストールでは、実際にインストール済みのバイナリの生成時刻を~/.local/share/claude/versions/で見る方法もあります。
ls -la ~/.local/share/claude/versions/このディレクトリ配下のタイムスタンプが自分の更新操作の記憶と合わない場合も、気づかないうちに更新されていた傍証になります。.last-update-result.jsonはエラー扱いにならず"outcome":"success"のまま残るため、記録そのものを見に行かない限り、意図しない更新には気づけません。すでに意図しないバージョンへ上がってしまい、元のバージョンへ戻したい場合の手順はClaude Codeバージョンの確認・固定・ダウングレード手順にまとめています。
自動更新を確実に止める方法
issueで報告されているautoUpdatesキーは、現行の公式設定リファレンスに記載がありません。確実に自動更新を止めたい場合は、settings.jsonのenvキーにDISABLE_AUTOUPDATER(バックグラウンドの自動チェックのみ停止、claude updateによる手動更新は可能)かDISABLE_UPDATES(手動更新も含めて完全に停止)を設定します。
{
"env": {
"DISABLE_AUTOUPDATER": "1"
}
}設定後はclaude doctorを実行し、Auto-updatesの行がdisabled (set by env: DISABLE_AUTOUPDATER)と表示されるかで反映を確認できます。2つのキーの使い分けと、インストール方法別の更新コマンドはClaude Code環境変数リファレンスにまとまっています。
claude doctor~/.claude.jsonのautoUpdatesは正規の停止スイッチではない
autoUpdatesProtectedForNativeという設定キーが文書に存在しないまま~/.claude.jsonに書き込まれていた事実は、ネイティブインストールの更新経路に説明されていない内部ロジックがあることを示しています。報告者が使っていたautoUpdatesキーは、名前も置き場所も文書化されたDISABLE_AUTOUPDATER・DISABLE_UPDATESとは別物であるにもかかわらず、見た目が似ているため同じ役割の設定だと誤解しやすい構造です。
issueは登録から6週間以上、Anthropicのメンテナーからの直接回答がないまま推移しています。「オフにしたつもりの設定が、文書化された制御手段の外側で効いていなかった」という一点は、覚えておく価値があります。
よくある質問
この不具合は修正されましたか
issueは2026年8月21日にコメントが付いた後もopenのままです。自動更新が無視された件については報告者本人以外の再現報告がなく、修正の有無を示すアナウンスも見当たりません。
DISABLE_UPDATESを設定すると、セキュリティ修正の適用も止まりますか
止まります。DISABLE_UPDATESは手動更新を含めて完全に更新を止める設定なので、CVE対応などのセキュリティ修正が出ても自動では反映されません。更新を止めたまま運用する場合は、claude updateが使えるDISABLE_AUTOUPDATER側に切り替えるか、リリース情報を定期的に確認する運用と組み合わせる必要があります。
まとめ
GitHub issue #75607は、autoUpdates: falseという設定がネイティブインストールの自動更新を止めなかったという報告者本人の1件と、Opus 4.8を中心にthinking要約がサーバー側の実験でエラーを出さずに消える複数の報告を、1つのスレッドにまとめたものです。原因は別々ですが、どちらも明示的に設定した項目が通知なく上書きされるという症状を共有しています。自動更新を確実に止めたい場合は、issueで報告された設定キーではなく、文書化されたDISABLE_AUTOUPDATERまたはDISABLE_UPDATESを使うのが現実的な選択です。