Claude Code バージョン管理トラブルシューティング
結論:やるべきこと
Volta環境でClaude Codeをアップデートする場合は、以下のコマンドを使う:
volta install @anthropic-ai/claude-code
確認:
claude --version
⚠️
npm update -gやVS Code拡張の更新だけでは、CLIのバージョンは更新されない。必ずvolta installを実行すること。
問題の概要
VS Code拡張版のClaude Codeを使用しており、アップデートしたつもりになっていたが、実際には古いバージョン(2.0.0)が使われ続けていた。
症状
claude --version→ 2.0.0 と表示される- VS Code拡張のバージョン → 2.0.55(最新)
/pluginコマンドが使えない(プラグインシステムは2.0.0には未実装)
原因
Volta経由でClaude Codeがインストールされており、Voltaのshimが古いバージョンを参照していた。
環境の構成
C:\Users\<ユーザー名>\AppData\Local\Volta\
├── bin\
│ └── claude.exe ← これが実際に呼ばれるshim(古い2.0.0を参照)
└── tools\
└── image\
└── node\22.17.0\ ← npmグローバルもここに入る
重要な点:npmグローバル自体がVoltaの管理下にあるため、Voltaを使っている限り、すべてのグローバルパッケージはVolta経由で管理される。
確認コマンド
使用中のclaudeコマンドの場所を確認
Get-Command claude | Format-List *
出力例:
Path : C:\Users\numbe\AppData\Local\Volta\bin\claude.exe
Source : C:\Users\numbe\AppData\Local\Volta\bin\claude.exe
→ Volta経由で呼ばれていることがわかる
npmにインストールされているバージョンを確認
npm list -g @anthropic-ai/claude-code
出力例:
C:\Users\numbe\AppData\Local\Volta\tools\image\node\22.17.0
└── @anthropic-ai/claude-code@2.0.55
→ npm自体には最新版が入っているが、shimが古いため使われていない
npmグローバルのインストール先を確認
npm config get prefix
出力例:
C:\Users\numbe\AppData\Local\Volta\tools\image\node\22.17.0
→ npmグローバルがVolta内にあることがわかる
解決策
選択肢A: Voltaを使い続ける(推奨・簡単)
Voltaで再インストールしてshimを更新する:
volta install @anthropic-ai/claude-code
確認:
claude --version
→ 2.0.55(または最新版)になっていればOK
メリット:
- 簡単(1コマンドで完了)
- Node.jsのバージョン管理はそのまま使える
デメリット:
- 今後もアップデート時にVolta経由を意識する必要がある
選択肢B: Voltaを完全にやめる(大変)
- Voltaをアンインストール
- Node.jsを直接インストールし直す
- 環境変数PATHの整理
- npmグローバルパッケージを再インストール
メリット:
- シンプルな構成になる
npm install -gで素直にアップデートできる
デメリット:
- 作業が多い
- プロジェクトごとのNode.jsバージョン管理ができなくなる
今後の運用
Voltaを使い続ける場合、Claude Codeのアップデートは以下のコマンドで行う:
volta install @anthropic-ai/claude-code
VS Code拡張のアップデートとは別にこのコマンドを実行する必要がある点に注意。
参考:VS Code拡張版とCLI版の関係
| 項目 | VS Code拡張版 | CLI版(npm/Volta) |
|---|---|---|
| インストール場所 | VS Code内 | npmグローバル |
| バージョン確認 | 拡張機能の詳細 | claude --version |
| アップデート | VS Codeの拡張更新 | volta install or npm update -g |
| 用途 | VS Code内での使用 | ターミナルから直接使用 |
両方入れることも可能だが、混乱を避けるためどちらかに統一した方が良い。
教訓
claude --versionで実際に使われているバージョンを確認する習慣をつける- Voltaを使っている場合、npmグローバルパッケージもVolta経由で管理されることを意識する
- アップデートしたつもりでも、shimが更新されていない可能性がある