openclaw update
OpenClawを安全に更新し、stable/beta/devチャンネルを切り替えます。
npm/pnpm/bun経由でインストールした場合(グローバルインストール、gitメタデータなし)、更新はUpdatingのパッケージマネージャーフローで行われます。
使用方法
オプション
--no-restart: 更新成功後にGatewayサービスを再起動しません。--channel <stable|beta|dev>: 更新チャンネルを設定します(git + npm。設定に永続化されます)。--tag <dist-tag|version|spec>: 今回の更新に限ってパッケージターゲットを上書きします。パッケージインストールでは、mainはgithub:openclaw/openclaw#mainにマッピングされます。--dry-run: 設定の書き込み、インストール、プラグイン同期、再起動を行わずに、予定されている更新アクション(チャンネル/タグ/ターゲット/再起動フロー)をプレビューします。--json: 機械可読なUpdateRunResultJSONを出力します。--timeout <seconds>: 各ステップのタイムアウト(デフォルトは1200秒)。--yes: 確認プロンプトをスキップします(たとえばダウングレード確認)。
update status
現在の更新チャンネルと git タグ/ブランチ/SHA(ソースチェックアウトの場合)、および更新の可用性を表示します。
--json: 機械可読なステータスJSONを出力します。--timeout <seconds>: チェックのタイムアウト(デフォルトは3秒)。
update wizard
更新チャンネルを選択し、更新後にGatewayを再起動するかどうかを確認する対話フローです
(デフォルトでは再起動します)。gitチェックアウトなしで dev を選択した場合は、
それを作成する提案が表示されます。
オプション:
--timeout <seconds>: 各更新ステップのタイムアウト(デフォルトは1200)
実行内容
明示的にチャンネルを切り替えると(--channel ...)、OpenClawは
インストール方法もそれに合わせて維持します。
dev→ gitチェックアウトを確保し(デフォルト:~/openclaw、OPENCLAW_GIT_DIRで上書き可能)、 それを更新して、そのチェックアウトからグローバルCLIをインストールします。stable→latestを使ってnpmからインストールします。beta→ npm dist-tagbetaを優先しますが、betaが存在しないか現在のstableリリースより古い場合はlatestにフォールバックします。
Gitチェックアウトフロー
チャンネル:stable: 最新の非betaタグをチェックアウトしてから、build + doctorを実行します。beta: 最新の-betaタグを優先しますが、betaが存在しないか古い場合は最新のstableタグにフォールバックします。dev:mainをチェックアウトしてから、fetch + rebaseを実行します。
- クリーンなworktreeが必要です(コミットされていない変更なし)。
- 選択したチャンネル(タグまたはブランチ)に切り替えます。
- upstreamをfetchします(devのみ)。
- devのみ: 一時worktreeで事前のlint + TypeScript buildを実行します。先端のコミットが失敗した場合は、最大10コミットさかのぼって、正常にbuildできる最新のコミットを探します。
- 選択したコミットへrebaseします(devのみ)。
- 依存関係をインストールします(
pnpmを優先し、npmにフォールバック、bunは二次的な互換性フォールバックとして引き続き利用可能です)。 - buildを実行し、Control UIもbuildします。
- 最終的な「安全な更新」チェックとして
openclaw doctorを実行します。 - プラグインを現在のチャンネルに同期します(devはバンドルされた拡張機能を使用し、stable/betaはnpmを使用)し、npmインストール済みプラグインを更新します。
--update の短縮形
openclaw --update は openclaw update に書き換えられます(シェルやランチャースクリプトで便利です)。
関連項目
openclaw doctor(gitチェックアウトでは先にupdateを実行することを提案します)- Development channels
- Updating
- CLI reference