🛠️

Claude Code CLIで「Auto-update failed」になった原因と対処

に公開

Claude Code CLIで「Auto-update failed」になった原因と対処

はじめに

Claude Codeで気づいたら右下で「auto-update failed」なるものが出ていて、どうやらupdateが失敗しているっぽいメッセージが出ていました。CLI自体は問題なく動いている(ように見える)けど、実際はどうなんだろうか……。

とりあえずこの不具合を解消してみました。

対処してみた

とりあえず再インストールすると

npm i -g @anthropic-ai/claude-code

エラーが出ます。

npm error code ENOTEMPTY
npm error syscall rename
npm error path /Users/<ユーザー名>/.nvm/versions/node/v20.19.4/lib/node_modules/@anthropic-ai/claude-code
npm error dest /Users/<ユーザー名>/.nvm/versions/node/v20.19.4/lib/node_modules/@anthropic-ai/.claude-code-XXXXX
npm error ENOTEMPTY: directory not empty, rename ...

解決方法はシンプルで、claude-code-XXXXXのような一時ディレクトリを削除してから再インストールするだけです。

# 一時ディレクトリを削除
rm -rf /Users/<ユーザー名>/.nvm/versions/node/v20.19.4/lib/node_modules/@anthropic-ai/.claude-code-*

# 再インストール
npm i -g @anthropic-ai/claude-code

これで完了。エラーは解消されました👏

何が起こっていたのでしょう

GitHubのIssueにも同様の報告がありました。
https://github.com/anthropics/claude-code/issues/1025

直接の原因はnpmの処理ですが、nvm環境だと特に再現しやすいらしいです。

こんな原因らしいです:

  • nvmはNode.jsのバージョンごとにグローバルモジュールを別パスで管理する
  • しかし、この途中で処理が中断されると、その一時ディレクトリが残ったままになる
  • 残留したもので衝突が発生する

学びです。そういえば、最近nvmでごにょごにょしたな。それが原因かもしれません。

この問題を回避するには

公式が提供している**ネイティブインストーラー(npm非依存)**を使うと、この種の問題は回避できるらしいです。

curl -fsSL https://claude.ai/install.sh | bash

まとめ

気になっていたエラーが解消できてスッキリ。

Discussion