VS Code の統合ターミナル (WSL) 上で Claude Code CLI を使用中、claude update
を繰り返してもバージョンが更新されず、起動時に「1.0.24以上が必要」というエラーが表示され続ける“アップデート要求ループ”に直面しました。
調査を進めた結果、CLI バイナリの重複配置や PATH の優先順位、npm グローバル領域の権限設定が主な原因であることが分かりました。
本記事では、問題発生時の症状、原因の切り分け、そして実際に検証した解決ステップを順を追って解説します。
1 背景と症状
開発環境
Windows 11 + WSL (Ubuntu 22.04)、VS Code Remote SSH / WSL 統合ターミナル、Claude Code CLI 1.0.17 → 更新時に 1.0.24 以上を要求される。
症状
claude update
を実行してもバージョンが上がらず、起動時に同じメッセージが表示され続ける。
It looks like your version of Claude Code (1.0.17) needs an update.
A newer version (1.0.24 or higher) is required to continue.
2 原因の特定
複数バージョンの混在
which -a claude
で実行ファイルを列挙すると 3 件ヒット。先頭が古い 1.0.17 だった。
$ which -a claude
/home/win/.npm-global/bin/claude # ← 1.0.17
/home/win/.npm-global/bin/claude # (重複)
/home/win/.nvm/versions/node/v18.20.8/bin/claude # 1.0.33
PATH優先順位
UNIX 系シェルでは PATH の先頭で検出された実行ファイルが呼ばれるため、アップデートしても古いバイナリが優先されていた。
npmグローバル領域の権限
/usr/local
など root 専用ディレクトリにインストールされていると、自動アップデータが書き込みできず更新に失敗する場合がある。
3 解決ステップ
3-1 不要な旧バイナリを削除
# 古いバイナリを削除
a=~/.npm-global/bin/claude
[ -f "$a" ] && rm -f "$a"
# シェルキャッシュをクリア
hash -r
3-2 npm prefixをユーザー領域へ変更
mkdir -p ~/.npm-global
npm config set prefix ~/.npm-global
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc # zsh/fish の場合は各自の rc に反映
3-3 最新版をクリーンインストール
npm uninstall -g @anthropic-ai/claude-code
npm install -g @anthropic-ai/claude-code@latest
claude -v # 1.0.33 以上になったか確認
4 PATHの重複を整理(オプション)
.bashrc
の末尾に次を追加すると、PATH の重複を自動で除去できる。
export PATH="$(echo "$PATH" | tr ':' '\n' | awk '!x[$0]++' | paste -sd ':')"
5 再発防止のチェックリスト
VS Codeの起動方法
VS Code は 必ず WSL から code -r .
で起動 すること。Windows 側から開くと拡張が認識されない場合がある。
自動アップデータの動作確認
claude doctor
を実行し、✓ Auto-updater ready
と表示されるか確認する。
npm prefixの確認
npm config get prefix
がユーザー領域 (~/.npm-global
) を指しているかを定期的にチェック。
PATH追加の最小化
nvm
と npm-global
以外に同名バイナリを配置しないことで、再発リスクを下げる。
6 まとめ
症状
アップデートしても 1.0.17 のまま → 更新ループ。
原因
PATH の先頭に古いバイナリが残存。
解決
不要バイナリ削除 + npm prefix 調整 + 最新版再インストール。
結果
claude -v
が 1.0.33 となり、VS Code 連携も正常動作。
以上の手順で問題を解消できるはずです。同じ現象に遭遇した方の参考になれば幸いです。
コメント