CLI commands
承認
openclaw approvals
ローカルホスト、Gateway ホスト、または Node ホストの実行承認を管理します。対象フラグを指定しない場合、コマンドはディスク上のローカル承認ファイルを読み書きします。Gateway を対象にするには --gateway、特定の Node を対象にするには --node <id|name|ip> を使用します。
エイリアス: openclaw exec-approvals
openclaw exec-policy
openclaw exec-policy は、要求された tools.exec.* 設定とローカルホストの承認ファイルを、1 回の操作で同期させるローカル専用の便利なコマンドです。
openclaw exec-policy showopenclaw exec-policy show --json openclaw exec-policy preset yoloopenclaw exec-policy preset cautious --json openclaw exec-policy set --host gateway --security full --ask off --ask-fallback fullプリセット(yolo、cautious、deny-all)は、host、security、ask、askFallback をまとめて適用します。set は渡したフラグのみを適用します。受け付ける各値は検証されます(--host auto|sandbox|gateway|node、--security deny|allowlist|full、--ask off|on-miss|always、--ask-fallback deny|allowlist|full)。
適用範囲:
- ローカル設定ファイルとローカル承認ファイルをまとめて更新します。ポリシーを Gateway や Node ホストへ送信することはありません。
--host nodeは拒否されます。Node の実行承認は実行時に Node から取得されるため、ローカルのexec-policyでは同期できません。代わりにopenclaw approvals set --node <id|name|ip>を使用してください。exec-policy showは、ローカル承認ファイルから実効ポリシーを導出する代わりに、host=nodeのスコープを実行時に Node が管理するものとして表示します。
リモートホストの承認には、openclaw approvals set --gateway または openclaw approvals set --node <id|name|ip> を直接使用します。
よく使うコマンド
openclaw approvals getopenclaw approvals get --node <id|name|ip>openclaw approvals get --gatewayget は、対象に対する実効実行ポリシーを表示します。これには、要求された tools.exec ポリシー、ホストの承認ファイルのポリシー、およびそれらをマージした実効結果が含まれます。Windows コンパニオンなど、ホストネイティブのポリシーを持つ Node では、OpenClaw の承認ファイルに基づくポリシー計算を適用せず、そのポリシーを直接表示します。
ファイルベースの Node では、マージされた表示にホスト側で解決されたポリシーのスナップショットが必要です。古い Node では、Gateway が要求したポリシーがホストにも適用されると仮定せず、実効ポリシーを利用不可として表示します。
優先順位:
- ホストの承認ファイルが、強制適用可能な信頼できる唯一の情報源です。
- 要求された
tools.execポリシーによって意図を制限または拡張できますが、実効結果はホストのルールから導出されます。 --nodeは、Node ホストの承認ファイルと Gateway のtools.execポリシーを組み合わせます(実行時には両方が適用されます)。- Gateway の設定を利用できない場合、CLI は Node の承認スナップショットにフォールバックし、最終的な実行時ポリシーを計算できなかったことを示します。
ファイルから承認を置き換える
openclaw approvals set --file ./exec-approvals.jsonopenclaw approvals set --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" } }EOFopenclaw approvals set --node <id|name|ip> --file ./exec-approvals.jsonopenclaw approvals set --gateway --file ./exec-approvals.jsonset は厳密な JSON だけでなく、JSON5 も受け付けます。--file と --stdin のいずれか一方を使用し、両方を同時に使用しないでください。
ホストネイティブの Windows Node は、独自のポリシー形式を使用します。
openclaw approvals set --node <id|name|ip> --stdin <<'EOF'{ defaultAction: "deny", rules: [{ pattern: "hostname", action: "allow" }]}EOFCLI はまず Node の現在のハッシュを読み取り、それを更新とともに送信します。そのため、同時に行われたローカル編集は上書きされず、更新が拒否されます。この操作は Node のルール一覧全体を置き換えるため、rules は必須です。defaultAction は任意です。ネイティブポリシーが無効であると報告する Node は、リモートから設定できません。まず、そのホストでポリシーを有効化または設定してください。ホストネイティブのポリシーは、allowlist add|remove ヘルパーをサポートしません。
「プロンプトを表示しない」/ YOLO の例
実行承認で停止しないようにするホストでは、ホスト承認のデフォルトを full + off に設定します。
openclaw approvals set --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" }}EOFOpenClaw の承認ファイルを公開する Node では、同じ内容を openclaw approvals set --node <id|name|ip> --stdin とともに使用します。ホストネイティブの Node では、上記の所有者固有の形式が必要です。
これはホストの承認ファイルのみを変更します。要求された OpenClaw ポリシーも一致させるには、次も設定します。
openclaw config set tools.exec.host gatewayopenclaw config set tools.exec.security fullopenclaw config set tools.exec.ask offここで tools.exec.host=gateway を明示しているのは、host=auto が引き続き「利用可能な場合はサンドボックス、それ以外は Gateway」を意味するためです。YOLO は承認に関する設定であり、ルーティングに関する設定ではありません。サンドボックスが設定されていてもホストで実行したい場合は、gateway(または /exec host=gateway)を使用します。
省略した askFallback のデフォルトは deny です。プロンプトを表示しない動作を維持する必要がある UI のないホストをアップグレードする場合は、askFallback: "full" を明示的に設定します。
ローカルマシンだけで同じ意図を適用するショートカット:
openclaw exec-policy preset yolo許可リスト用ヘルパー
openclaw approvals allowlist add "~/Projects/**/bin/rg"openclaw approvals allowlist add --agent main --node <id|name|ip> "/usr/bin/uptime"openclaw approvals allowlist add --agent "*" "/usr/bin/uname" openclaw approvals allowlist remove "~/Projects/**/bin/rg"共通オプション
get、set、allowlist add|remove はすべて、次のオプションをサポートします。
--node <id|name|ip>(ID、名前、IP、または ID のプレフィックスを解決します。openclaw nodesと同じリゾルバーを使用します)--gateway- 共通の Node RPC オプション:
--url、--token、--timeout、--json
対象フラグを指定しない場合は、ディスク上のローカル承認ファイルが対象になります。
allowlist add|remove は --agent <id> もサポートします(デフォルトは "*" で、すべてのエージェントに適用されます)。
注記
- Node ホストは
system.execApprovals.get/setを公開している必要があります(macOS アプリ、ヘッドレス Node ホスト、または Windows コンパニオン)。 - 承認ファイルはホストごとに OpenClaw の状態ディレクトリへ保存されます。
$OPENCLAW_STATE_DIR/exec-approvals.json、または変数が未設定の場合は~/.openclaw/exec-approvals.jsonです。