Claude Media
Claude Codeアップデートの方法 — 自動更新の制御とチャネル設定

Claude Codeアップデートの方法 — 自動更新の制御とチャネル設定

Claude Codeはネイティブインストールなら自動で最新版に保たれます。手動更新・チャネル選択・自動更新の停止とバージョン固定、インストール方法別の更新コマンドまでまとめます。

Claude Codeは何もしなくても最新版に保たれる

ネイティブインストール(curl -fsSL https://claude.ai/install.sh | bash などの標準手順)を使っていれば、Claude Codeは起動のたびに更新を確認し、バックグラウンドで新しいバージョンを取得します。手を動かす必要があるのは、今すぐ更新を当てたいとき、追いかけるチャネルを変えたいとき、逆に自動更新を止めて特定のバージョンに留めたいときの3つの場面だけです。

この記事では、自動更新の仕組みから手動更新のコマンド、チャネル設定、自動更新を止める2つの環境変数の使い分け、Homebrew・WinGet・npmなどインストール方法ごとの更新コマンド、更新がうまくいかないときの対処までを扱います。インストール自体がまだの場合はClaude Code install完全ガイドを先に確認してください。特定バージョンへの固定やダウングレードの手順はClaude Codeのバージョン確認と固定・ダウングレードにまとめています。

ネイティブインストールの自動更新はどう動くか

ネイティブインストールでは、Claude Codeが起動時と実行中に定期的に更新をチェックします。新しいバージョンが見つかるとバックグラウンドでダウンロード・インストールが進み、実際に反映されるのは次回起動時です。裏側で完結する仕組みなので、通常は更新作業そのものを意識する必要がありません。

直近の更新結果を確認したいときは claude doctor を実行します。インストール形態や設定の診断とあわせて、最後の更新試行がどうなったかを読み取れます。

claude doctor

macOS/Linuxのネイティブインストールは、~/.local/bin/claude~/.local/share/claude/versions/ 配下の実体バイナリへのシンボリックリンクとして管理しています。ここを自分のスクリプトやシンボリックリンクに置き換えている場合、v2.1.207以降は自動更新がこのランチャーを上書きしません。新しいバージョンは versions/ 配下に追加されるだけで、どの版を実行するかはカスタムランチャー側の判断に委ねられます(v2.1.207より前は、更新のたびにClaude Code自身のシンボリックリンクで上書きされていました)。この状態は claude doctor が「ネイティブインストーラーが作成していないランチャー」として報告するので、管理をClaude Codeに戻したい場合は ~/.local/bin/claude を削除してから claude update を実行します。

npmグローバルインストールでnpmのグローバルディレクトリに書き込み権限がない場合は、自動更新ができない旨の通知が起動時に一度だけ表示され、claude doctor に具体的な対処法が並びます。

今すぐ更新したいときと、チャネルを選ぶとき

背景での自動チェックを待たずに今すぐ更新を当てたい場合は、次のコマンドを実行します。

claude update

更新が入ると Successfully updated from <旧バージョン> to version <新バージョン> と表示され、すでに最新なら Claude Code is up to date (<バージョン>) と出ます(Homebrew・WinGet・apk管理下では Claude is up to date! という表示になります)。

追いかけるリリースの速さは autoUpdatesChannel 設定で選びます。既定は "latest" で、リリース直後に新機能を受け取れます。"stable" にすると、大きな不具合のあるリリースをスキップしたおよそ1週間遅れのバージョンを追いかけます。切り替えはClaude Code内の /config →「自動更新チャネル」からでも、settings.jsonへの直接記述でも行えます。

{
  "autoUpdatesChannel": "stable"
}

/config からの切り替え時、"latest" から "stable" へ変更しようとすると、今のバージョンに留まるかダウングレードを許可するかを尋ねられます。留まる方を選ぶと minimumVersion にその時点のバージョンが自動設定され、"latest" へ戻すとクリアされます。settings.jsonの書き方全般はClaude Code設定ガイドにまとまっています。

Homebrewはこの設定とは別に、caskの名前でチャネルを選びます。claude-code が安定版チャネル、claude-code@latest が最新版チャネルです。

自動更新を止める・バージョンを固定する

自動更新を止める手段は2段階に分かれており、混同すると意図と違う挙動になります。

環境変数止まる範囲claude update / claude install
DISABLE_AUTOUPDATER止まる範囲バックグラウンドの自動チェックのみclaude update / claude install引き続き使える
DISABLE_UPDATES止まる範囲自動更新に加え手動更新もすべてclaude update / claude install使えなくなる

自分の端末で更新タイミングだけ手動制御したいなら DISABLE_AUTOUPDATER で足ります。社内で配布したバージョンにユーザーを留めたい、CI環境で意図しないバージョン差し替えを防ぎたいといった「自己更新そのものを禁止したい」場面では DISABLE_UPDATES を使います。設定はsettings.jsonの env キーに書きます。

{
  "env": {
    "DISABLE_AUTOUPDATER": "1"
  }
}

もう一つの制御軸がバージョンの下限・上限です。minimumVersion は自動更新と claude update がこれより古いバージョンをインストールしないようにする床(フロア)で、"stable" チャネルへ切り替えても既存の新しいビルドからダウングレードされない安全弁として働きます。個人設定でも使えますが、Enterprise向けのmanaged settingsに置けば、ユーザー側の設定で上書きできない組織全体の下限として強制できます。

エンタープライズ向けにはさらに強い2つのキー、requiredMinimumVersionrequiredMaximumVersion があります。こちらはmanaged settings専用で、minimumVersion が「更新の下限」であるのに対し、この2つは「起動そのものを止める」点が違います。実行中のバージョンが範囲外だと、Claude Codeは起動時に終了し、承認済みの方法で対応バージョンを導入するよう案内します。範囲外になっても claude updateclaude installclaude doctor 自体は動き続けるため、ユーザー側で復旧できる設計です。環境変数と設定の全体像はClaude Code環境変数リファレンスを参照してください。

インストール方法ごとの更新コマンドの違い

どの経路でインストールしても中身は同じネイティブバイナリですが、更新の自動化レベルと手動コマンドは方法によって変わります。

インストール方法既定の自動更新手動更新コマンド備考
ネイティブインストーラー既定の自動更新あり手動更新コマンドclaude update備考チャネル・フロアを設定で制御可
Homebrew既定の自動更新なし手動更新コマンドbrew upgrade claude-code(または claude-code@latest)備考CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1 で代行可
WinGet既定の自動更新なし手動更新コマンドwinget upgrade Anthropic.ClaudeCode備考同上の環境変数で代行可。実行中は失敗しやすい
apt / dnf / apk既定の自動更新なし手動更新コマンドapt upgrade claude-code 等、通常のシステム更新備考Claude Code自身は関与しない
npm既定の自動更新権限があれば有効手動更新コマンドnpm install -g @anthropic-ai/claude-code@latest備考npm update -g は使わない

HomebrewとWinGetは既定では手動更新ですが、CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE1 に設定すると、新しいバージョンがあるときにClaude Code自身がバックグラウンドで brew upgradewinget upgrade 相当の処理を実行し、成功すると再起動を促します。対象はClaude Codeパッケージのみで、他のソフトウェアには影響しません。Homebrewは更新後も旧バージョンをディスクに残すため、brew cleanup で定期的に空き容量を回収します。

npmの更新で npm update -g を避けるべき理由は、元のインストール時のsemver範囲に従うため、最新バージョンに上がらないことがあるためです。npm install -g @anthropic-ai/claude-code@latest で明示的にlatestを指定します。

更新がうまくいかないときの対処

claude updateChecking for updates の表示のまま止まるclaude updateclaude doctor~/.zshrc~/.bashrc などのシェル設定ファイルパスをスキャンします。このパスがディレクトリになっていると両コマンドがハングします(v2.1.214以降は該当パスをスキップして正常終了)。対処は該当ディレクトリを別の場所へ退避するか、v2.1.214以降へ更新することです。この不具合自体が更新コマンドをハングさせるため、更新はインストールスクリプトを再実行して行います。

npmのグローバルディレクトリに書き込めず自動更新が効かない。起動時の通知と claude doctor の出力に対処法が並ぶので、それに従います。権限の問題を深追いするより、ネイティブインストーラーへ切り替える方が早く解決することもあります。個別のエラーメッセージからの切り分けはClaude Codeインストールエラーの切り分けチェックリストにまとめています。

WinGetでの更新がClaude Code実行中に失敗する。Windowsが実行ファイルをロックしているためで、この場合Claude Codeは手動コマンドの案内を表示します。Claude Codeを終了してから winget upgrade Anthropic.ClaudeCode を実行します。

パッケージマネージャー経由で、実際にはまだ新バージョンが降ってきていないのに更新通知が出ることがある。既知の挙動で、apt/dnf/apk/Homebrew/WinGetのリポジトリへの反映がClaude Code内部の通知よりわずかに遅れることがあります。更新に失敗した場合は時間を置いて再試行します。

よくある質問

ネイティブインストールとnpmで自動更新の確実さは違いますか

はい。ネイティブインストーラーは自己完結型のバイナリを管理するため自動更新が確実に効き、権限の問題も起きにくい構成です。npmはグローバルディレクトリの書き込み権限に依存するため、環境によっては自動更新が効かず手動更新が必要になります。

自動更新でsettings.jsonや認証情報は消えますか

消えません。更新はバイナリの差し替えのみで、settings.jsonやMCPサーバー構成、ログイン情報はそのまま引き継がれます。それでも再ログインを求められた場合は、claude.ai・APIキー・OAuthトークンのどの方式で入り直すべきかClaude Codeログイン方法3種の使い分けで確認できます。

DISABLE_AUTOUPDATERminimumVersion はどちらを使うべきですか

止めたいのが「勝手に新しくなること」なら DISABLE_AUTOUPDATER 、止めたいのが「特定バージョンより古くなること」(ダウングレード)なら minimumVersion です。両方を組み合わせて、更新は手動、かつ古いバージョンへは戻さない、という運用もできます。

まとめ

ネイティブインストールを使っている限り、Claude Codeのアップデートは基本的に自動で完結します。今すぐ更新したいときは claude update 、追いかけるリリースの速さを変えたいときは autoUpdatesChannel 、自動更新そのものを止めたいときは DISABLE_AUTOUPDATER (手動更新も含めて完全に止めるなら DISABLE_UPDATES)を使い分けます。Homebrew・WinGet・npmなど他の経路を使っている場合は、経路ごとの手動更新コマンドを覚えておくと切り替えがスムーズです。特定バージョンへの固定やダウングレードが必要な場合は、冒頭で紹介した記事に手順をまとめています。

この記事を共有:XはてブLinkedIn