Claude Code インストール状況の整理

1 台の Windows 機に入っていた Claude Code 関連の実体を洗い出し、重複と残骸を整理した記録

📅 作成: 2026-09-12 / 更新: 2026-09-12

何が入っていたか

「3 つか 4 つ入っているのでは」という見立てから調査した。結果は CLI は 1 本だけで、複数に見えていたのは自動更新が残した旧版だった。一方で GUI は性格の違うものが 3 つ入っていた。

CLI(コマンドライン)

場所サイズ役割
~/.local/bin/claude.exe2.1.269212.4 MB現行。実際に起動されるのはこれ
~/.local/bin/claude.exe.old.1789…2.1.268 相当211.4 MB更新時の残骸
~/.local/share/claude/versions/2.1.2692.1.269212.4 MB現行版の保管元
~/.local/share/claude/versions/2.1.2682.1.268211.4 MB旧版
~/.local/share/claude/versions/2.1.2672.1.267209.9 MB旧版
~/claude.cmd1 KB 未満利用者の自作ラッパー。特定ドライブ以外での起動を止める

インストール方式は設定に installMethod: native と記録されている。インストールスクリプト経由のネイティブ版で、Node に依存しない単体の実行ファイルとして動く。初回起動は 2026-03-28。

npm 版は入っていない

Claude Code には npm パッケージ(@anthropic-ai/claude-code)で入れる方式もあるが、なし現在はインストールされていない。

確認項目結果
グローバルパッケージ一覧@anthropic-ai/claude-code は無し
グローバル node_modules/@anthropic-ai/空フォルダだけ残存(0 バイト)。作成 2026-05-06 / 最終更新 2026-08-23
npm が作るシム(claude.cmd / claude.ps1無し
npm キャッシュclaude-code の取得記録あり(実害なし)
bun / deno / pnpmいずれにも無し

2026-05-06 に npm 版を導入し、2026-08-23 に削除した痕跡と読める。残っているのは空のスコープフォルダ 1 つだけで、容量も動作への影響もない。

npm 版を併用すると問題が増える。同名コマンドが 2 つになって PATH の順序に依存する状態になり、更新経路も npm update -g と自動更新の 2 系統に割れる。さらに npm 版は Node ランタイムに縛られるため、Node を入れ替えたときに巻き添えで壊れる。ネイティブ版 1 本で運用するのがよい。

GUI

CLI とは独立した 3 つが入っていた。どれを消しても CLI は動く。

種類導入実体
VS Code 拡張 anthropic.claude-code2.1.267拡張の中に claude.exe 209.9 MB を同梱(拡張全体 220.3 MB)
デスクトップアプリ(Store / MSIX 版)1.52386.3.02026-09-12 07:02Program Files\WindowsApps 配下
ブラウザの PWA1.02026-09-12 10:14ショートカットのみ。実体はブラウザ

「デスクトップ版が 2 つ増えたように見える」という違和感の正体はこれだった。デスクトップアプリと PWA は別物で、同じロゴを使うためアイコンが重複して見える。PWA は同日 10:14 にスタートメニューとデスクトップの 2 箇所へショートカットが作られていた。ブラウザでサイトを開いた際に「アプリとしてインストール」が実行されるとこうなる。

デスクトップアプリ側の 07:02 は「その版になった時刻」であり、初回インストール日とは限らない。ストアの自動更新でもフォルダは作り直される。

合計

CLI 相当のバイナリは、調査時点で 約 1.27 GB 分が存在していた。

実施した掃除

対象サイズ結果備考
~/.local/share/claude/versions/2.1.267209.9 MB削除
~/.local/share/claude/versions/2.1.268211.4 MB削除
~/.local/bin/claude.exe.old.1789…211.4 MB保留実行中のプロセスがロック中。アクセス拒否で削除できず

回収できたのは 421.3 MB。残り 211.4 MB は次章の理由で保留になっている。

削除は急ぐ必要がなかった

調査の途中で、消した 2 つは放置しても自動で消える見込みだったことが分かった。根拠は次の 4 点。

観測した事実そこから言えること
~/.claude/.last-cleanup が存在し、当日 01:55 に実行されていた定期クリーンアップの仕組みが実在し、動いている
保管フォルダの作成日は 2026-03-28(約半年前)その間に多数の更新があったはず
それでも残っていたのは 3 版だけ古い版は掃除されている
更新記録に 2.1.268 → 2.1.269 が残っていた版が順に入れ替わっている

半年使って 3 版しか残っていなかったのが決め手になる。掃除が働いていなければ数十版・数 GB に膨らんでいたはずである。直近 3 世代だけを保持するローテーションが動いていると見てよい。

保管される旧版は青天井には増えない。3 世代 × 約 210 MB で、上限はおおよそ 640 MB で頭打ちになる。定期的な掃除スクリプトを用意する必要はない。

今回の削除で失ったのは「古い版へ手動で巻き戻す余地」だけで、回収を数日早めたことに実害はない。

自動更新の仕組みと残骸の発生

設定キーが 2 つあった

調査中、「自動更新は無効」と読める設定と、実際に更新が走っている記録が食い違った。原因は設定キーが 2 系統あり、片方が既に参照されていないことだった。

ファイルキー実効性
~/.claude.jsonautoUpdatesfalse無効参照されていない旧キー
~/.claude/settings.jsonautoUpdatesChannel"latest"有効こちらが効いている

古いキーだけを見て「自動更新は止まっている」と判断すると読み違える。実際には最新チャンネルで自動更新が動いている。

残骸ができた経緯

ファイル名・更新記録・プロセスの起動時刻から、当日の流れを時刻まで特定できた。

2026-09-12(JST) 01:30〜01:35 CLI セッション 7 本 起動(版 2.1.268) 01:55:58 定期クリーンアップ 実行 04:20:41 旧 exe をリネーム → 残骸が生まれる 04:34:32 更新完了 版 2.1.269 01:30 台に起動した 7 本が、リネームされた実体を掴んだまま残る → ロックが外れないため削除できない

決め手になったのは残骸のファイル名である。末尾の数字はミリ秒単位の時刻表現で、変換すると 04:20:41 になった。更新処理がリネームした瞬間そのものが、ファイル名に刻まれていた。

この残骸は「更新時に CLI が起動していた」条件が揃うたびにできる。Windows は実行中の実行ファイルをリネームできてしまうため、更新処理は旧ファイルを改名して新版を同じ名前で配置する。起動中のプロセスは改名後のファイルを掴み続けるので、そのプロセスが終わるまで削除できない。セッションを長時間立てたままにする使い方では再発しやすい。

残す構成

コマンドラインと GUI の両方を使う前提で、次の構成に落ち着いた。

残すもの理由
~/.local/bin/claude.exeCLI 本体。実際に動いているのはこれ 1 本
~/claude.cmd自作ラッパー。起動ドライブを限定する用途
~/.local/share/claude/versions/2.1.269現行版の保管元。更新処理の足場になる
デスクトップアプリ(Store 版)チャット用の GUI として常用中
VS Code 拡張今後使う予定があるため保持

拡張が同梱するバイナリは拡張の一部なので、単体では取り除けない。拡張ごと残すか外すかの二択になる。

ブラウザの PWA はデスクトップアプリと役割が重なるが、実体がショートカットのみのため容量への影響はない。消す利点はアイコンの重複解消に限られる。

未対応と選べる対応

残っている作業

保留~/.local/bin/claude.exe.old.1789…(211.4 MB)の削除。ロックしている 7 本のセッションを閉じるか、再起動した後であれば削除できる。

再発を抑えるなら

内容結果
A何もしない更新のたびに残骸が出る可能性がある。気づいたときに手で消す
B自動更新を手動運用に切り替える全セッションを閉じた状態で自分で更新すれば残骸は出ない。更新の手間が増える
C参照されていない旧キーを削除する実施済み設定を読み返したときの誤読を防ぐため削除した

案 C の実施内容

実効設定と紛らわしい旧キーを取り除いた。作業前に同ファイルの控えを取っている。

項目内容
削除したもの~/.claude.jsonautoUpdates(1 行)
サイズ222,912 → 222,888 バイト(24 バイト減、6035 → 6034 行)
検証JSON 構文は妥当。他のキーは維持されている
実効設定への影響なし。autoUpdatesChannel は変更していないため更新の挙動は変わらない

この設定ファイルは稼働中のセッションが随時書き込む。複数のセッションを開いたまま編集すると、別のセッションが手元に持っている古い内容で書き戻し、削除したキーが復活することがある。すべて閉じた後に消えたままか確認するのが確実である。

旧版の保管フォルダには手を出さなくてよい。3 世代のローテーションが働いており、放置しても上限を超えて増えることはない。