CLI commands
Plugin
Gateway Plugin、フックパック、互換バンドルを管理します。
Plugin のインストール、有効化、トラブルシューティングのエンドユーザー向けガイド。
インストール、一覧表示、更新、アンインストール、公開のクイック例。
バンドル互換性モデル。
マニフェストフィールドと設定スキーマ。
Plugin インストールのセキュリティ強化。
コマンド
openclaw plugins listopenclaw plugins list --enabledopenclaw plugins list --verboseopenclaw plugins list --jsonopenclaw plugins search <query>openclaw plugins search <query> --limit 20openclaw plugins search <query> --jsonopenclaw plugins install <path-or-spec>openclaw plugins inspect <id>openclaw plugins inspect <id> --runtimeopenclaw plugins inspect <id> --jsonopenclaw plugins inspect --allopenclaw plugins info <id>openclaw plugins enable <id>openclaw plugins disable <id>openclaw plugins registryopenclaw plugins registry --refreshopenclaw plugins uninstall <id>openclaw plugins doctoropenclaw plugins update <id-or-npm-spec>openclaw plugins update --allopenclaw plugins marketplace entriesopenclaw plugins marketplace entries --offlineopenclaw plugins marketplace entries --jsonopenclaw plugins marketplace list <marketplace>openclaw plugins marketplace list <marketplace> --jsonopenclaw plugins marketplace refreshopenclaw plugins marketplace refresh --feed-profile clawhub-public --jsonopenclaw plugins marketplace refresh --feed-url https://clawhub.ai/v1/feeds/plugins --expected-sha256 <sha256>openclaw plugins init my-tool --name "My Tool"openclaw plugins init my-provider --name "My Provider" --type provideropenclaw plugins init my-provider --name "My Provider" --type provider --directory ./my-provideropenclaw plugins build --entry ./dist/index.jsopenclaw plugins build --entry ./dist/index.js --checkopenclaw plugins validate --entry ./dist/index.js遅いインストール、検査、アンインストール、またはレジストリ更新の調査では、コマンドを OPENCLAW_PLUGIN_LIFECYCLE_TRACE=1 付きで実行します。トレースはフェーズごとのタイミングを stderr に書き込み、JSON 出力をパース可能な状態に保ちます。デバッグを参照してください。
作成
openclaw plugins init stock-quotes --name "Stock Quotes"cd stock-quotesnpm run plugin:buildnpm run plugin:validateplugins init は、デフォルトで最小構成の TypeScript ツール Plugin を作成します。最初の引数は Plugin ID です。表示名には --name を渡します。OpenClaw は、この ID をデフォルトの出力ディレクトリとパッケージ命名に使用します。ツールのスキャフォールドは defineToolPlugin を使用します。
plugins build はビルド済みエントリをインポートし、静的ツールメタデータを読み取り、openclaw.plugin.json を書き込み、package.json の openclaw.extensions を同期した状態に保ちます。
plugins validate は、生成されたマニフェスト、パッケージメタデータ、現在のエントリエクスポートが引き続き一致していることを確認します。ツール作成ワークフロー全体については、ツール Pluginを参照してください。
スキャフォールドは TypeScript ソースを書き込みますが、ビルド済みの ./dist/index.js エントリからメタデータを生成するため、公開済み CLI でも同じワークフローを使用できます。エントリがデフォルトのパッケージエントリでない場合は --entry <path> を使用します。CI では、ファイルを書き換えずに生成メタデータが古い場合に失敗させるため、plugins build --check を使用します。
プロバイダースキャフォールド
openclaw plugins init acme-models --name "Acme Models" --type providercd acme-modelsnpm installnpm run buildnpm testnpm run validateプロバイダースキャフォールドは、OpenAI 互換の API キー配線、clawhub package validate 用の組み込み npm run validate スクリプト、ClawHub パッケージメタデータ、GitHub Actions OIDC による将来の信頼済み公開向けの手動ディスパッチ GitHub ワークフローを備えた、汎用テキスト/モデルプロバイダー Plugin を作成します。プロバイダースキャフォールドは Skills を生成せず、openclaw plugins build または openclaw plugins validate を使用しません。これらのコマンドは、ツールスキャフォールドの生成メタデータパス用です。
公開前に、プレースホルダーの API ベース URL、モデルカタログ、ドキュメントルート、認証情報テキスト、README の文面を実際のプロバイダー詳細に置き換えてください。初回の ClawHub 公開と信頼済み公開者設定には、生成された README を使用します。
インストール
openclaw plugins search "calendar" # search ClawHub pluginsopenclaw plugins install <package> # source auto-detectionopenclaw plugins install clawhub:<package> # ClawHub onlyopenclaw plugins install npm:<package> # npm onlyopenclaw plugins install npm-pack:<path.tgz> # local npm pack through npm install semanticsopenclaw plugins install git:github.com/<owner>/<repo> # git repoopenclaw plugins install git:github.com/<owner>/<repo>@<ref>openclaw plugins install <package> --force # overwrite existing installopenclaw plugins install <package> --pin # pin versionopenclaw plugins install clawhub:<package> --acknowledge-clawhub-riskopenclaw plugins install <package> --dangerously-force-unsafe-installopenclaw plugins install <path> # local pathopenclaw plugins install <plugin>@<marketplace> # marketplaceopenclaw plugins install <plugin> --marketplace <name> # marketplace (explicit)openclaw plugins install <plugin> --marketplace https://github.com/<owner>/<repo>メンテナーがセットアップ時インストールをテストする場合、保護付き環境変数で自動 Plugin インストール元を上書きできます。Plugin インストールの上書きを参照してください。
plugins search は、インストール可能な Plugin パッケージを ClawHub に問い合わせ、インストール可能なパッケージ名を出力します。検索対象は code-plugin と bundle-plugin パッケージであり、Skills ではありません。ClawHub Skills には openclaw skills search を使用します。
Config includes and invalid-config repair
plugins セクションが単一ファイルの $include によって裏付けられている場合、plugins install/update/enable/disable/uninstall はその include されたファイルに書き込み、openclaw.json には触れません。ルート include、include 配列、兄弟オーバーライドを持つ include は、フラット化せずにフェイルクローズします。サポートされている形については、設定 includeを参照してください。
インストール中に設定が無効な場合、plugins install は通常フェイルクローズし、先に openclaw doctor --fix を実行するよう伝えます。Gateway 起動時およびホットリロード時には、無効な Plugin 設定は他の無効な設定と同様にフェイルクローズします。openclaw doctor --fix は無効な Plugin エントリを隔離できます。ドキュメント化されている唯一のインストール時例外は、openclaw.install.allowInvalidConfigRecovery に明示的にオプトインした Plugin 向けの、限定的なバンドル済み Plugin 復旧パスです。
--force and reinstall vs update
--force は既存のインストール先を再利用し、すでにインストール済みの Plugin またはフックパックをその場で上書きします。同じ ID を新しいローカルパス、アーカイブ、ClawHub パッケージ、または npm アーティファクトから意図的に再インストールする場合に使用します。すでに追跡されている npm Plugin の通常のアップグレードには、openclaw plugins update <id-or-npm-spec> を優先してください。
すでにインストール済みの Plugin ID に対して plugins install を実行すると、OpenClaw は停止し、通常のアップグレードには plugins update <id-or-npm-spec> を、別のソースから現在のインストールを本当に上書きしたい場合には plugins install <package> --force を案内します。
--pin scope
--pin は npm インストールにのみ適用されます。git: インストールではサポートされていません。固定ソースが必要な場合は、git:github.com/acme/plugin@v1.2.3 のような明示的な git ref を使用してください。--marketplace では npm spec ではなくマーケットプレイスソースメタデータを永続化するため、サポートされていません。
--dangerously-force-unsafe-install
--dangerously-force-unsafe-install は非推奨で、現在は no-op です。OpenClaw は Plugin インストールに対して、組み込みのインストール時危険コードブロックを実行しなくなりました。
ホスト固有のインストールポリシーが必要な場合は、共有のオペレーター所有 security.installPolicy サーフェスを使用してください。Plugin の before_install フックは Plugin ランタイムのライフサイクルフックであり、CLI インストールの主要なポリシー境界ではありません。
ClawHub で公開した Plugin がレジストリスキャンによって非表示またはブロックされた場合は、ClawHub 公開の公開者向け手順を使用してください。--dangerously-force-unsafe-install は ClawHub に Plugin の再スキャンを依頼したり、ブロックされたリリースを公開状態にしたりしません。
--acknowledge-clawhub-risk
コミュニティ ClawHub インストールは、パッケージをダウンロードする前に選択されたリリースの信頼レコードを確認します。ClawHub がそのリリースのダウンロードを無効化している場合、悪意のあるスキャン結果を報告している場合、または隔離などのブロック型モデレーション状態に置いている場合、OpenClaw はそのリリースを拒否します。ブロックではないリスクありスキャンステータス、リスクありモデレーション状態、またはレジストリ理由については、OpenClaw が信頼詳細を表示し、続行前に確認を求めます。
--acknowledge-clawhub-risk は、ClawHub の警告を確認し、対話プロンプトなしで続行すると判断した場合にのみ使用してください。保留中または古くなったクリーンな信頼レコードは警告しますが、確認は不要です。公式 ClawHub パッケージとバンドル済み OpenClaw Plugin ソースは、このリリース信頼プロンプトをバイパスします。
Hook packs and npm specs
plugins install は、package.json で openclaw.hooks を公開するフックパックのインストールサーフェスでもあります。パッケージインストールではなく、フィルタリングされたフック表示とフックごとの有効化には openclaw hooks を使用してください。
Npm 仕様はレジストリ専用です(パッケージ名 + 任意の正確なバージョンまたは dist-tag)。Git/URL/file 仕様と semver 範囲は拒否されます。依存関係のインストールは、安全のため、シェルにグローバル npm install 設定がある場合でも、Plugin ごとに 1 つの管理対象 npm プロジェクトで --ignore-scripts を付けて実行されます。管理対象 Plugin npm プロジェクトは OpenClaw のパッケージレベルの npm overrides を継承するため、ホストのセキュリティピンはホイストされた Plugin 依存関係にも適用されます。
npm 解決を明示したい場合は npm:<package> を使用します。ベアパッケージ仕様も、公式 Plugin id と一致しない限り、ローンチ移行期間中は npm から直接インストールされます。
バンドル済み Plugin と一致する生の @openclaw/* パッケージ仕様は、npm フォールバックの前に、イメージが所有するバンドル済みコピーへ解決されます。たとえば、openclaw plugins install @openclaw/discord@2026.5.20 --pin は、管理対象 npm オーバーライドを作成する代わりに、現在の OpenClaw ビルドに含まれるバンドル済み Discord Plugin を使用します。外部 npm パッケージを強制するには、openclaw plugins install npm:@openclaw/discord@2026.5.20 --pin を使用します。
ベア仕様と @latest は安定版トラックに留まります。2026.5.3-1 のような OpenClaw の日付付き修正版は、このチェックでは安定版リリースです。npm がこれらのいずれかをプレリリースに解決した場合、OpenClaw は停止し、@beta/@rc のようなプレリリースタグ、または @1.2.3-beta.4 のような正確なプレリリースバージョンで明示的にオプトインするよう求めます。
正確なバージョンを指定しない npm インストール(npm:<package> または npm:<package>@latest)では、OpenClaw はインストール前に解決されたパッケージメタデータを確認します。最新の安定版パッケージがより新しい OpenClaw Plugin API または最小ホストバージョンを要求する場合、OpenClaw は古い安定版を調べ、代わりに互換性のある最新リリースをインストールします。正確なバージョンと @beta のような明示的な dist-tag は厳密なままです。選択されたパッケージに互換性がない場合、コマンドは失敗し、OpenClaw をアップグレードするか互換性のあるバージョンを選択するよう求めます。
ベアインストール仕様が公式 Plugin id(たとえば diffs)と一致する場合、OpenClaw はカタログエントリを直接インストールします。同じ名前の npm パッケージをインストールするには、明示的なスコープ付き仕様(たとえば @scope/diffs)を使用します。
Git repositories
git:<repo> を使用して、git リポジトリから直接インストールします。サポートされる形式には、git:github.com/owner/repo、git:owner/repo、完全な https://、ssh://、git://、file://、および git@host:owner/repo.git クローン URL が含まれます。インストール前にブランチ、タグ、またはコミットをチェックアウトするには、@<ref> または #<ref> を追加します。
Git インストールは一時ディレクトリにクローンし、要求された ref が存在する場合はそれをチェックアウトしてから、通常の Plugin ディレクトリインストーラーを使用します。つまり、マニフェスト検証、オペレーターのインストールポリシー、パッケージマネージャーのインストール作業、インストール記録は npm インストールと同じように動作します。記録された git インストールには、ソース URL/ref と解決済みコミットが含まれるため、openclaw plugins update は後でソースを再解決できます。
git からインストールした後は、openclaw plugins inspect <id> --runtime --json を使用して、gateway メソッドや CLI コマンドなどのランタイム登録を検証します。Plugin が api.registerCli で CLI ルートを登録した場合は、そのコマンドを OpenClaw ルート CLI から直接実行します。例: openclaw demo-plugin ping。
Archives
サポートされるアーカイブ: .zip、.tgz、.tar.gz、.tar。ネイティブ OpenClaw Plugin アーカイブには、展開された Plugin ルートに有効な openclaw.plugin.json が含まれている必要があります。package.json だけを含むアーカイブは、OpenClaw がインストール記録を書き込む前に拒否されます。
ファイルが npm-pack tarball であり、レジストリインストールで使用されるものと同じ Plugin ごとの管理対象 npm プロジェクトパスをテストしたい場合は、npm-pack:<path.tgz> を使用します。これには package-lock.json 検証、ホイストされた依存関係のスキャン、npm インストール記録が含まれます。通常のアーカイブパスは、引き続き Plugin extensions ルート配下のローカルアーカイブとしてインストールされます。
Claude marketplace インストールもサポートされています。
ClawHub インストールでは、明示的な clawhub:<package> ロケーターを使用します。
openclaw plugins install clawhub:openclaw-codex-app-serveropenclaw plugins install clawhub:openclaw-codex-app-server@1.2.3npm として安全なベア Plugin 仕様は、公式 Plugin id と一致しない限り、ローンチ移行期間中はデフォルトで npm からインストールされます。
openclaw plugins install openclaw-codex-app-servernpm 専用解決を明示するには npm: を使用します。
openclaw plugins install npm:openclaw-codex-app-serveropenclaw plugins install npm:@openclaw/discord@2026.5.20openclaw plugins install npm:@scope/plugin-name@1.0.1OpenClaw はインストール前に、公開されている Plugin API / 最小 gateway 互換性を確認します。選択された ClawHub バージョンが ClawPack アーティファクトを公開している場合、OpenClaw はバージョン付き npm-pack .tgz をダウンロードし、ClawHub ダイジェストヘッダーとアーティファクトダイジェストを検証してから、通常のアーカイブパス経由でインストールします。ClawPack メタデータのない古い ClawHub バージョンは、引き続き従来のパッケージアーカイブ検証パス経由でインストールされます。記録されたインストールは、後の更新のために、ClawHub ソースメタデータ、アーティファクト種別、npm integrity、npm shasum、tarball 名、ClawPack ダイジェスト情報を保持します。
バージョンなしの ClawHub インストールは、openclaw plugins update が新しい ClawHub リリースを追跡できるように、バージョンなしの記録済み仕様を保持します。clawhub:pkg@1.2.3 や clawhub:pkg@beta のような明示的なバージョンまたはタグセレクターは、そのセレクターにピン留めされたままです。
Marketplace 省略記法
Claude のローカルレジストリキャッシュ ~/.claude/plugins/known_marketplaces.json に marketplace 名が存在する場合は、plugin@marketplace 省略記法を使用します。
openclaw plugins marketplace list <marketplace-name>openclaw plugins install <plugin-name>@<marketplace-name>marketplace ソースを明示的に渡したい場合は、--marketplace を使用します。
openclaw plugins install <plugin-name> --marketplace <marketplace-name>openclaw plugins install <plugin-name> --marketplace <owner/repo>openclaw plugins install <plugin-name> --marketplace https://github.com/<owner>/<repo>openclaw plugins install <plugin-name> --marketplace ./my-marketplaceMarketplace sources
~/.claude/plugins/known_marketplaces.jsonにある Claude の既知 marketplace 名- ローカル marketplace ルートまたは
marketplace.jsonパス owner/repoのような GitHub リポジトリ省略記法https://github.com/owner/repoのような GitHub リポジトリ URL- git URL
Remote marketplace rules
GitHub または git から読み込まれるリモート marketplace では、Plugin エントリはクローンされた marketplace リポジトリ内に留まる必要があります。OpenClaw はそのリポジトリからの相対パスソースを受け入れ、リモートマニフェスト内の HTTP(S)、絶対パス、git、GitHub、その他の非パス Plugin ソースを拒否します。
ローカルパスとアーカイブについて、OpenClaw は自動検出します。
- ネイティブ OpenClaw Plugin(
openclaw.plugin.json) - Codex 互換バンドル(
.codex-plugin/plugin.json) - Claude 互換バンドル(
.claude-plugin/plugin.jsonまたはデフォルトの Claude コンポーネントレイアウト) - Cursor 互換バンドル(
.cursor-plugin/plugin.json)
管理対象ローカルインストールは、Plugin ディレクトリまたはアーカイブである必要があります。スタンドアロンの .js、.mjs、.cjs、.ts Plugin ファイルは、plugins install によって管理対象 Plugin ルートへコピーされません。代わりに plugins.load.paths に明示的に列挙してください。
一覧
openclaw plugins listopenclaw plugins list --enabledopenclaw plugins list --verboseopenclaw plugins list --jsonopenclaw plugins search <query>openclaw plugins search <query> --limit 20openclaw plugins search <query> --json--enabledboolean有効化された Plugin のみを表示します。
--verbosebooleanテーブル表示から、Plugin ごとの source/origin/version/activation メタデータを含む詳細行へ切り替えます。
--jsonboolean機械可読なインベントリに加え、レジストリ診断とパッケージ依存関係のインストール状態を出力します。
起動ログに plugins.allow is empty; discovered non-bundled plugins may auto-load: ... と出る場合は、openclaw plugins list --enabled --verbose、または一覧にある Plugin id を指定した openclaw plugins inspect <id> を実行して Plugin id を確認し、信頼する id を openclaw.json の plugins.allow にコピーします。警告が検出されたすべての Plugin を一覧表示できる場合は、それらの id をすでに含む、貼り付け可能な plugins.allow スニペットを出力します。Plugin が install/load-path provenance なしで読み込まれる場合は、その Plugin id を inspect してから、信頼する id を plugins.allow にピン留めするか、信頼できるソースから Plugin を再インストールして OpenClaw にインストール provenance を記録させます。
plugins search はリモート ClawHub カタログ検索です。ローカル状態の検査、設定の変更、パッケージのインストール、Plugin ランタイムコードの読み込みは行いません。検索結果には、ClawHub パッケージ名、family、channel、version、summary、および openclaw plugins install clawhub:<package> のようなインストールヒントが含まれます。
パッケージ済み Docker イメージ内でバンドル済み Plugin を扱う場合は、Plugin ソースディレクトリを、一致するパッケージ済みソースパス(例: /app/extensions/synology-chat)へ bind-mount します。OpenClaw は /app/dist/extensions/synology-chat より前に、そのマウントされたソースオーバーレイを検出します。単にコピーされたソースディレクトリは非アクティブなままなので、通常のパッケージ済みインストールでは引き続きコンパイル済み dist が使用されます。
ランタイム hook デバッグには、次を使用します。
openclaw plugins inspect <id> --runtime --jsonは、モジュール読み込み済みの検査パスから登録済み hooks と diagnostics を表示します。ランタイム検査は依存関係をインストールしません。レガシー依存関係状態をクリーンアップする、または config で参照されている欠落したダウンロード可能 Plugin を復旧するには、openclaw doctor --fixを使用します。openclaw gateway status --deep --require-rpcは、到達可能な Gateway URL/profile、service/process ヒント、config パス、RPC ヘルスを確認します。- 非バンドル conversation hooks(
llm_input、llm_output、before_model_resolve、before_agent_reply、before_agent_run、before_agent_finalize、agent_end)には、plugins.entries.<id>.hooks.allowConversationAccess=trueが必要です。
ローカル Plugin ディレクトリのコピーを避けるには、--link を使用します(plugins.load.paths に追加します)。
openclaw plugins install -l ./my-pluginスタンドアロン Plugin ファイルは、plugins install でインストールしたり、~/.openclaw/extensions または <workspace>/.openclaw/extensions に直接置いたりするのではなく、plugins.load.paths に列挙する必要があります。これらの自動検出ルートは Plugin パッケージまたはバンドルディレクトリを読み込みますが、トップレベルのスクリプトファイルはローカルヘルパーとして扱われ、スキップされます。
Plugin インデックス
Plugin install metadata はユーザー config ではなく、マシン管理の state です。Installs と updates は、active OpenClaw state directory 配下の共有 SQLite state database にこれを書き込みます。installed_plugin_index 行は、壊れた、または見つからない Plugin manifest の records を含む永続的な installRecords metadata と、openclaw plugins update、uninstall、diagnostics、cold Plugin registry で使われる manifest 由来の cold registry cache を保存します。
OpenClaw が config 内に shipped legacy plugins.installs records を見つけた場合、runtime reads は openclaw.json を書き換えずに compatibility input として扱います。明示的な Plugin writes と openclaw doctor --fix は、config writes が許可されている場合、それらの records を Plugin インデックスへ移動し、config key を削除します。どちらかの write が失敗した場合は、install metadata が失われないように config records が保持されます。
Uninstall
openclaw plugins uninstall <id>openclaw plugins uninstall <id> --dry-runopenclaw plugins uninstall <id> --keep-filesuninstall は、該当する場合に plugins.entries、persisted Plugin インデックス、Plugin allow/deny list entries、linked plugins.load.paths entries から Plugin records を削除します。--keep-files が設定されていない限り、uninstall は OpenClaw の Plugin extensions root 内にある tracked managed install directory も削除します。active memory plugins では、memory slot が memory-core にリセットされます。
Update
openclaw plugins update <id-or-npm-spec>openclaw plugins update --allopenclaw plugins update <id-or-npm-spec> --dry-runopenclaw plugins update @openclaw/voice-callopenclaw plugins update openclaw-codex-app-server --acknowledge-clawhub-riskopenclaw plugins update openclaw-codex-app-server --dangerously-force-unsafe-installUpdates は、管理対象 Plugin インデックス内の tracked Plugin installs と、hooks.internal.installs 内の tracked hook-pack installs に適用されます。
Resolving plugin id vs npm spec
Plugin id を渡すと、OpenClaw はその Plugin に記録済みの install spec を再利用します。つまり、以前に保存された @beta などの dist-tags や exact pinned versions は、以後の update <id> 実行でも引き続き使われます。
update <id> --dry-run の間、exact pinned npm installs は pinned のままです。OpenClaw が package の registry default line も解決でき、その default line が installed pinned version より新しい場合、dry run は pin を報告し、registry default line に追従するための明示的な @latest package update command を出力します。
その targeted-update 規則は、一括の openclaw plugins update --all maintenance path とは異なります。一括 updates は通常の tracked install specs を引き続き尊重しますが、trusted official OpenClaw Plugin records は、古い exact official package に留まる代わりに、現在の official catalog target と同期できます。exact または tagged official spec を意図的に変更しないままにしたい場合は、targeted update <id> を使用してください。
npm installs では、dist-tag または exact version を含む明示的な npm package spec を渡すこともできます。OpenClaw はその package name を tracked Plugin record に解決し、その installed Plugin を更新して、今後の id-based updates のために新しい npm spec を記録します。
version や tag のない npm package name を渡した場合も、tracked Plugin record に解決されます。Plugin が exact version に pin されていて、registry の default release line に戻したい場合に使用します。
Beta channel updates
Targeted openclaw plugins update <id-or-npm-spec> は、新しい spec を渡さない限り tracked Plugin spec を再利用します。一括 openclaw plugins update --all は、trusted official Plugin records を official catalog target に同期するときに configured update.channel を使用するため、beta-channel installs は stable/latest に暗黙的に正規化されるのではなく、beta release line に留まることができます。
openclaw update は active OpenClaw update channel も認識します。beta channel では、default-line npm と ClawHub Plugin records はまず @beta を試します。Plugin beta release が存在しない場合は、記録済みの default/latest spec にフォールバックします。npm plugins は、beta package が存在しても install validation に失敗する場合にもフォールバックします。その fallback は warning として報告され、core update は失敗しません。Exact versions と explicit tags は、targeted updates ではその selector に pinned のままです。
Version checks and integrity drift
live npm update の前に、OpenClaw は installed package version を npm registry metadata と照合します。installed version と recorded artifact identity がすでに resolved target と一致している場合、update は downloading、reinstalling、openclaw.json の rewriting を行わずに skipped されます。
stored integrity hash が存在し、fetched artifact hash が変化した場合、OpenClaw はそれを npm artifact drift として扱います。interactive openclaw plugins update command は expected hash と actual hash を出力し、続行前に確認を求めます。Non-interactive update helpers は、caller が明示的な continuation policy を指定しない限り fail closed します。
--dangerously-force-unsafe-install on update
--dangerously-force-unsafe-install は compatibility のために plugins update でも受け付けられますが、deprecated であり、Plugin update behavior は変更しなくなりました。Operator security.installPolicy は引き続き updates をブロックできます。Plugin before_install hooks は、Plugin hooks が loaded される processes でのみ適用されます。
--acknowledge-clawhub-risk on update
Community ClawHub-backed Plugin updates は、replacement package を downloading する前に、installs と同じ exact-release trust check を実行します。選択された ClawHub release に risky trust warning がある場合でも続行すべき reviewed automation では、--acknowledge-clawhub-risk を使用してください。Official ClawHub packages と bundled OpenClaw Plugin sources は、この release-trust prompt を bypass します。
Inspect
openclaw plugins inspect <id>openclaw plugins inspect <id> --runtimeopenclaw plugins inspect <id> --jsonInspect は、default では Plugin runtime を import せずに、identity、load status、source、manifest capabilities、policy flags、diagnostics、install metadata、bundle capabilities、および検出された MCP または LSP server support を表示します。JSON output には、contracts.agentToolResultMiddleware や contracts.trustedToolPolicies などの Plugin manifest contracts が含まれるため、operators は Plugin を enabling または restarting する前に trusted-surface declarations を audit できます。--runtime を追加すると、Plugin module を load し、registered hooks、tools、commands、services、gateway methods、HTTP routes を含めます。Runtime inspection は missing Plugin dependencies を直接報告します。installs と repairs は openclaw plugins install、openclaw plugins update、openclaw doctor --fix に残ります。
Plugin-owned CLI commands は通常、root openclaw command groups として installed されますが、plugins は openclaw nodes などの core parent の下に nested commands を登録することもできます。inspect --runtime が cliCommands の下に command を表示したら、listed path で実行してください。たとえば、demo-git を登録する Plugin は openclaw demo-git ping で検証できます。
各 Plugin は、runtime で実際に登録する内容によって分類されます。
- plain-capability — 1 種類の capability type(例: provider-only Plugin)
- hybrid-capability — 複数の capability types(例: text + speech + images)
- hook-only — hooks のみで、capabilities や surfaces はなし
- non-capability — tools/commands/services はあるが capabilities はなし
capability model の詳細は Plugin shapes を参照してください。
Doctor
openclaw plugins doctordoctor は、Plugin load errors、manifest/discovery diagnostics、compatibility notices、missing Plugin slots などの stale Plugin config references を報告します。install tree と Plugin config が clean な場合は No plugin issues detected. と出力します。stale config が残っていても install tree がそれ以外は healthy な場合、summary は full Plugin health を示唆する代わりにその旨を表示します。
configured Plugin が disk 上に存在するものの loader の path-safety checks によって blocked されている場合、config validation は Plugin entry を保持し、present but blocked として報告します。plugins.entries.<id> や plugins.allow config を削除するのではなく、path ownership や world-writable permissions など、先行する blocked-plugin diagnostic を修正してください。
missing register/activate exports などの module-shape failures では、OPENCLAW_PLUGIN_LOAD_DEBUG=1 を指定して再実行すると、diagnostic output に compact export-shape summary が含まれます。
Registry
openclaw plugins registryopenclaw plugins registry --refreshopenclaw plugins registry --jsonlocal Plugin registry は、installed Plugin identity、enablement、source metadata、contribution ownership に関する OpenClaw の persisted cold read model です。通常の startup、provider owner lookup、channel setup classification、Plugin inventory は、Plugin runtime modules を import せずにこれを読み取れます。
persisted registry が存在するか、current か、stale かを確認するには plugins registry を使用します。persisted Plugin インデックス、config policy、manifest/package metadata から再構築するには --refresh を使用します。これは repair path であり、runtime activation path ではありません。
openclaw doctor --fix は registry-adjacent managed npm drift も修復します。managed Plugin npm project または legacy flat managed npm root 配下にある orphaned または recovered @openclaw/* package が bundled Plugin を shadow している場合、doctor はその stale package を削除し、startup が bundled manifest に対して validation するよう registry を再構築します。Doctor は、peerDependencies.openclaw を宣言する managed npm plugins に host openclaw package も relink するため、updates または npm repairs の後に openclaw/plugin-sdk/* などの package-local runtime imports が解決されます。
Marketplace
openclaw plugins marketplace entriesopenclaw plugins marketplace entries --offlineopenclaw plugins marketplace entries --jsonopenclaw plugins marketplace entries --feed-profile <name>openclaw plugins marketplace entries --feed-url <url>openclaw plugins marketplace list <source>openclaw plugins marketplace list <source> --jsonopenclaw plugins marketplace refreshopenclaw plugins marketplace refresh --feed-profile <name>openclaw plugins marketplace refresh --feed-url <url>openclaw plugins marketplace refresh --expected-sha256 <sha256> --jsonplugins marketplace entries は、設定済みの OpenClaw マーケットプレイスフィードからエントリを一覧表示します。デフォルトではホストされたフィードを試行し、最新の承認済みスナップショットまたはバンドルデータへフォールバックします。特定の設定済みプロファイルを読み取るには --feed-profile <name>、明示的なホスト済みフィード URL を読み取るには --feed-url <url>、フィードを取得せずに最新の承認済みスナップショットを読み取るには --offline を使用します。
plugins marketplace refresh は、設定済みのホスト済みフィードスナップショットを更新し、OpenClaw がホスト済みデータ、ホスト済みスナップショット、またはバンドルされたフォールバックデータのどれを受け入れたかを報告します。呼び出し元が、固定されたチェックサムと新しいホスト済みペイロードが一致しない限りコマンドを失敗させる必要がある場合は、--expected-sha256 を使用します。
マーケットプレイスの list は、ローカルのマーケットプレイスパス、marketplace.json パス、owner/repo のような GitHub 省略表記、GitHub リポジトリ URL、または git URL を受け付けます。--json は、解決されたソースラベルに加えて、解析済みのマーケットプレイスマニフェストと Plugin エントリを出力します。
マーケットプレイス更新は、ホスト済みの OpenClaw マーケットプレイスフィードを読み込み、検証済みレスポンスをローカルのホスト済みフィードスナップショットとして永続化します。オプションなしの場合、設定済みのデフォルトフィードプロファイルを使用します。特定の設定済みプロファイルを更新するには --feed-profile <name>、明示的なホスト済みフィード URL を更新するには --feed-url <url>、一致するペイロードチェックサム(sha256:<hex> または裸の 64 文字の 16 進ダイジェスト)を必須にするには --expected-sha256 <sha256>、機械可読な出力には --json を使用します。明示的なホスト済みフィード URL には、認証情報、クエリ文字列、フラグメントを含めてはいけません。固定されていない更新では、コマンドを失敗させずにホスト済みスナップショットまたはバンドルされたフォールバック結果を報告できます。固定された更新は、新しいホスト済みペイロードを受け入れない限り失敗し、成功したホスト済み更新は、OpenClaw が検証済みスナップショットを永続化できない場合に失敗します。