Claude Fable 5.1を快適に使うには、Claude Code自体も最新版にしておくことをおすすめします。Claude Codeのバージョンが古いままだと、ピッカーにFable 5.1が表示されない、またはコマンドで直接指定しないと選べないことがあります(Anthropic公式のリリースノートでも、初期バージョンでこの不具合が報告され、後日修正されています)。うまく切り替えられない場合は、下記の手順でClaude Code自体を最新版に更新してから試してみてください。
Claude Code を使っていると、起動時に新しいバージョンの案内が出ることがあります。ところが claude update を実行しても、環境によっては権限エラーで止まってしまう。この記事では、Claude Code の更新のしくみと、npm でインストールした環境で更新できなくなったときの解決方法をまとめます。
WSL2(Ubuntu)で実際に遭遇したケースをもとにしていますが、macOS や Linux でも考え方は同じです。
前提:インストール方法によって更新方法が違う
まず押さえておきたいのが、Claude Code は複数のインストール方法があり、更新の挙動もそれぞれ違うという点です。
| インストール方法 | 自動更新 | 手動更新コマンド |
|---|---|---|
| ネイティブインストーラ(推奨) | あり | claude update |
| Homebrew | なし | brew upgrade claude-code |
| WinGet | なし | winget upgrade Anthropic.ClaudeCode |
| apt / dnf / apk | なし | sudo apt upgrade claude-code など |
| npm グローバル | 条件付き | npm install -g @anthropic-ai/claude-code@latest |
自分がどの方法で入れたのか分からない場合は、次のコマンドで確認できます。
which claude
~/.local/bin/claude→ ネイティブインストーラ/usr/bin/claudeや/usr/lib/node_modules/...→ npm グローバル
より詳しく調べるなら claude doctor が便利です。インストール種別、認証状態、設定ファイルの不備までまとめて診断してくれます。
基本:ネイティブ版は放っておいても更新される
ネイティブインストーラで入れた場合、Claude Code は起動時と実行中に定期的に更新をチェックし、バックグラウンドでダウンロードとインストールを済ませます。適用されるのは次回起動時です。つまり、通常は何もしなくてよいということになります。
すぐに反映させたいときだけ、次を実行します。
claude update
更新された場合は Successfully updated from ... to version ...、すでに最新なら Claude Code is up to date (...) と表示されます。
つまずきどころ:npm グローバル版の権限エラー
問題が起きやすいのが npm でグローバルインストールしているケースです。実際に出たエラーがこちらです。
$ claude update Current version: 2.1.197 Checking for updates to latest version... Warning: Can't auto-update: npm global folder isn't writable Fix: Run claude install to switch to the native installer (no sudo) ... Error: Insufficient permissions to install update
npm install -g で直接やっても同じところで止まります。
npm error code EACCES npm error syscall rename npm error path /usr/lib/node_modules/@anthropic-ai/claude-code npm error Error: EACCES: permission denied, ...
原因は単純で、/usr/lib/node_modules に一般ユーザーの書き込み権限がないからです。Node.js を OS のパッケージマネージャで入れた環境では、よくこの状態になります。
ここで sudo npm install -g を使いたくなりますが、公式ドキュメントは明確にこれを避けるよう書いています。root 所有のファイルが npm ディレクトリに混ざり、以降のグローバルインストールが軒並み権限エラーになるためです。目先のエラーは消えても、問題は増えます。
解決策:ネイティブインストーラへ移行する
エラーメッセージ自身が案内している通り、いちばん素直な解決は ネイティブ版への移行 です。
claude install
これだけです。成功するとこう表示されます。
✔ Claude Code successfully installed! Version: 2.1.263 Location: ~/.local/bin/claude Next: Run claude --help to get started
インストール先が ~/.local/bin なので sudo は不要、権限の問題がそもそも発生しません。PATH の設定もインストーラがやってくれるので、基本的に追加作業はいりません。
~/.claude/settings.json などの設定やプロジェクトごとの .claude/ はそのまま引き継がれます。
なお、まだ Claude Code が入っていない環境では、次のコマンドでネイティブ版を導入できます。
# macOS / Linux / WSL curl -fsSL https://claude.ai/install.sh | bash
移行後の確認と後片付け
シェルを開き直してから確認します。
which claude # → /home/ユーザー名/.local/bin/claude claude --version # → 2.1.263 (Claude Code) など
which claude が古いパスのままなら、PATH の優先順位で npm 版が勝っています。その場合はシェルのキャッシュをクリアしてみてください。
hash -r # zsh なら rehash
古い npm 版は PATH の優先順で使われなくなりますが、残しておくと claude update が「複数のインストールが見つかりました」と警告を出すことがあります。気になる場合は削除しておきましょう。
npm uninstall -g @anthropic-ai/claude-code
(/usr/lib に入っている場合はここだけ sudo が必要です。インストールと違い、アンインストールで sudo を使うのは問題ありません。)
補足:Node.js のバージョン警告について
npm でインストールしようとすると、こんな警告が出ることがあります。
npm warn EBADENGINE Unsupported engine {
npm warn EBADENGINE package: '@anthropic-ai/claude-code@2.1.263',
npm warn EBADENGINE required: { node: '>=22.0.0' },
npm warn EBADENGINE current: { node: 'v20.20.2', npm: '10.8.2' }
npm warn EBADENGINE }
v2.1.198 以降、npm パッケージは Node.js 22 以上を要求します。ただしこれは警告であってエラーではありません。古い Node.js でもインストールは完走しますし、claude も問題なく動きます。npm パッケージが配布しているのは実体がネイティブバイナリで、実行時に Node.js を使わないためです。npm はあくまで配布経路にすぎない、ということですね。
したがって、この警告は更新失敗の原因ではありません。上のケースで止まっていたのは、あくまで権限(EACCES)が理由です。切り分けの際に混同しないよう注意してください。
補足:リリースチャンネルの設定
更新の頻度は settings.json の autoUpdatesChannel で選べます。
{
"autoUpdatesChannel": "stable"
}
latest(既定):リリースされ次第すぐ受け取るstable:おおよそ1週間遅れ。大きな不具合のあるリリースはスキップされる
安定性を優先したいなら stable、新機能をすぐ試したいなら latest です。/config → Auto-update channel からも変更できます。
自動更新を止めたい場合は、env に DISABLE_AUTOUPDATER を設定します。
{
"env": {
"DISABLE_AUTOUPDATER": "1"
}
}
これはバックグラウンドのチェックのみを止めるもので、claude update と claude install は引き続き使えます。
まとめ
- 更新方法はインストール方法によって違う。まず
which claudeとclaude doctorで現状を把握する - ネイティブ版なら自動更新される。急ぐときだけ
claude update - npm グローバル版で権限エラーが出たら、
sudoではなくclaude installでネイティブ版へ移行する sudo npm install -gは将来の問題を増やすので避ける- Node.js の EBADENGINE 警告は更新失敗の原因ではない
エラーメッセージに Fix: として解決策が書かれていることも多いので、まずはそこを読むのが近道です。
参考
Views: 6
