スポンサーリンク

Claude Code のアップデートが反映されない時の対処法

Anthropic の AI 開発ツール「Claude Code」をアップデートしようとしたときに、少しハマった出来事がありました。

claude update を実行して「アップデート成功」のメッセージが表示されたにもかかわらず、Claude Code を起動すると古いバージョンのままであるという問題に遭遇しました。

本記事では、このように「claude update が成功したのに、実際にはバージョンが上がっていないケース」に対する対応方法を紹介します。

結論

バイナリの実体が別の場所にある可能性が高い

この問題の主な原因は、claude update が更新しようとしているバイナリと、実際にシステムで使用されている Claude Code のバイナリが 別の場所にあることです。

この問題の本質は、以下のような構成にあります。

  • claude update は、Anthropic の公式インストーラ(.claude 配下など)にインストールされた Claude Code を更新します
  • 一方、Volta、nvm、asdf など Node.js/npm のバージョン管理ツール下にインストールされている Claude Code は対象外

Node.js/npm 系のバージョン管理ツール(Volta、nvm、asdfなど)を使用している場合にありがちな状況です。


私のケース(Volta を使っていた)

私の環境では、Node.js のバージョン管理に Volta を使っており、Claude Code のインストール先を調べると下記のようになっていました。

Bash
$ which claude
/Users/MY_NAME/.volta/bin/claude

この状態で claude update を実行しても、Volta 配下の Claude Code がアップデートされるわけではなく、.claude 配下にある Claude Code がアップデートされているだけでした。

であるが、故に古いバージョンのまま Claude Code が起動していました。

解決方法

Claude Code のインストール場所を .claude に統一する

Anthropic の公式ドキュメントでも案内されているように、今後は Claude Code のインストール先を ~/.claude に統一することが推奨されています。

そのために用意されているのが、CLI 上で実行できる以下のスラッシュコマンドです。

Bash
/migrate-installer

Claude Code を起動してこのスラッシュコマンドを実行すると、.claude 配下に Claude Code をインストールしてくれます。

これにより、バージョン管理ツールや他のグローバル環境に依存せず、Anthropic の管理下で安定的にアップデート可能な構成に移行できます。


そもそも Claude Code が起動できない場合

ここで問題になるのが、古いバージョンの Claude Code ではアプリ自体が起動できないケースです。

つまり、/migrate-installer を実行したくても、Claude Code が立ち上がらなければ意味がありません。

そんなときは、npm を使って Claude Code を直接アップデートすれば OK です。

Bash
npm install -g @anthropic-ai/claude-code

このコマンドを実行するとバージョン管理ツール配下にインストールされた Claude Code であってもアップデートされるので Claude Code の起動ができるようになります。

解決までのステップの整理

今回解決までに実施したことを整理すると下記の通りです。

1. 現在の Claude Code のインストール場所を確認

Bash
which claude

Node.js バージョン管理ツール配下(例:~/.volta/...)になっていれば、以降の手順が必要です。

2. Claude Code を起動し、/migrate-installer を実行

正常に起動できたら、以下のスラッシュコマンドを実行します。

Bash
/migrate-installer

これによって、Claude Code は .claude ディレクトリ配下に移動され、以後は claude update コマンドで問題なくアップデートできるようになります。

2-1. 一時的に最新版を上書きする(Claude Code が起動できない場合)

Claude Code を起動できるようにするため、まず npm で最新版をインストールします。

Bash
npm install -g @anthropic-ai/claude-code

これにより、Claude Code が起動できるので、/migrate-installer を実行します。

3. (任意)Node.js のバージョン管理ツール配下の古いインストールを削除

任意ではあるのですが、多くの場合バージョン管理ツールのパスの方が優先度が高いので削除しておくことが望ましいです。

Bash
which claude
#. /Users/MY_NAME/.volta/bin/claude
#. -> VoltaのClaude Codeが使われているから削除

#. /Users/MY_NAME/.claude/local/claude
#. 正しいインストール先

rm /Users/MY_NAME/.volta/bin/claude

他の管理ツールを使用していた場合も、それぞれの方法で不要な Claude Code を削除してください。

まとめ

  • claude update が成功しても Claude Code のバージョンが上がらない場合、Node.js/npm のバージョン管理ツール配下の古いバイナリが使われている可能性が高い
  • 根本的な解決は、/migrate-installer によって .claude に移行すること
  • ただし、claude code が古すぎて起動できない場合は、一度 npm install -g @anthropic-ai/claude-code で更新してから /migrate-installer を実行

最後に

この記事で紹介したのは、あくまで一例です。
使用しているバージョン管理ツールや環境によって、細部の挙動は異なる可能性があります。

ただし共通して言えるのは:

「claude update が成功した = 実行中のバイナリが更新された」とは限らない

という点です。

同様の症状に遭遇した際の参考になれば幸いです。

Claude Code
スポンサーリンク
ibukishをフォローする
スポンサーリンク
ibukish Lab+
タイトルとURLをコピーしました