process によるフォアグラウンド + バックグラウンド実行をサポートします。
process が許可されていない場合、exec は同期的に実行され、yieldMs/background は無視されます。
バックグラウンド セッションはエージェントごとにスコープが定められています。 process は、同じエージェントからのセッションのみを参照します。
パラメータ
command(必須)workdir(デフォルトは cwd)env(キー/値の上書き)yieldMs(デフォルト 10000): 遅延後の自動背景background(ブール値): すぐにバックグラウンドにしますtimeout(秒、デフォルトは 1800): 期限切れで強制終了pty(ブール値): 利用可能な場合は疑似端末で実行します (TTY のみの CLI、コーディング エージェント、端末 UI)host(sandbox | gateway | node): 実行場所security(deny | allowlist | full):gateway/nodeの強制モードask(off | on-miss | always):gateway/nodeの承認プロンプトnode(文字列):host=nodeのノード ID/名前elevated(ブール値): 昇格モードを要求します (ゲートウェイ ホスト)。security=fullは、昇格がfullに解決される場合にのみ強制されます。
host のデフォルトは sandbox です。
- サンドボックスがオフの場合 (ホスト上で実行がすでに実行されている場合)、
elevatedは無視されます。 gateway/nodeの承認は~/.openclaw/exec-approvals.jsonによって制御されます。nodeにはペアリングされたノード (コンパニオン アプリまたはヘッドレス ノード ホスト) が必要です。- 複数のノードが使用可能な場合は、
exec.nodeまたはtools.exec.nodeを設定して 1 つを選択します。 - Windows 以外のホストでは、exec は設定時に
SHELLを使用します。SHELLがfishの場合、bash(またはsh) が優先されます。PATHから、fish と互換性のないスクリプトを回避し、どちらも存在しない場合はSHELLに戻ります。 - Windows ホストでは、exec は PowerShell 7 (
pwsh) 検出を優先します (Program Files、ProgramW6432、PATH)。 その後、Windows PowerShell 5.1 に戻ります。 - ホストの実行 (
gateway/node) はenv.PATHを拒否し、ローダーはオーバーライド (LD_*/DYLD_*) を実行します。 バイナリのハイジャックやコードの挿入を防ぎます。 - OpenClaw は、生成されたコマンド環境 (PTY およびサンドボックス実行を含む) に
OPENCLAW_SHELL=execを設定するため、シェル/プロファイル ルールは実行ツール コンテキストを検出できます。 - 重要: サンドボックスは デフォルトではオフになっています。サンドボックスがオフで、
host=sandboxが明示的に設定されている場合 構成/要求された場合、exec はゲートウェイ ホスト上でサイレントに実行されるのではなく、フェール クローズされるようになりました。サンドボックスを有効にするか、承認付きのhost=gatewayを使用します。 - スクリプトのプリフライト チェック (一般的な Python/Node シェル構文の間違い) は、ファイル内のファイルのみを検査します。
有効な
workdir境界。スクリプト パスがworkdirの外側で解決される場合、プリフライトはスキップされます。 そのファイル。
構成- tools.exec.notifyOnExit (デフォルト: true): true の場合、バックグラウンド実行セッションはシステム イベントをキューに入れ、終了時にハートビートを要求します
tools.exec.approvalRunningNoticeMs(デフォルト: 10000): 承認ゲート型 exec がこれより長く実行される場合、単一の「実行中」通知を発行します (0 は無効になります)。tools.exec.host(デフォルト:sandbox)tools.exec.security(デフォルト: サンドボックスの場合はdeny、未設定の場合はゲートウェイ + ノードの場合はallowlist)tools.exec.ask(デフォルト:on-miss)tools.exec.node(デフォルト: 未設定)tools.exec.pathPrepend: 実行実行のためにPATHの前に追加するディレクトリのリスト (ゲートウェイ + サンドボックスのみ)。tools.exec.safeBins: 明示的なホワイトリスト エントリなしで実行できる標準入力のみの安全なバイナリ。動作の詳細については、金庫 を参照してください。tools.exec.safeBinTrustedDirs:safeBinsパス チェックで信頼される追加の明示的なディレクトリ。PATHエントリは自動信頼されません。組み込みのデフォルトは/binおよび/usr/binです。tools.exec.safeBinProfiles: 金庫ごとのオプションのカスタム argv ポリシー (minPositional、maxPositional、allowedValueFlags、deniedFlags)。
PATH の処理- host=gateway: ログインシェル PATH を実行環境にマージします。 env.PATH オーバーライドは
ホストの実行が拒否されました。デーモン自体は引き続き最小限の PATH で実行されます。
- macOS:
/opt/homebrew/bin、/usr/local/bin、/usr/bin、/bin - Linux:
/usr/local/bin、/usr/bin、/bin host=sandbox: コンテナ内でsh -lc(ログイン シェル) を実行するため、/etc/profileはPATHをリセットする可能性があります。 OpenClaw は、内部環境変数 (シェル補間なし) によるプロファイル ソースの後にenv.PATHを付加します。tools.exec.pathPrependはここにも当てはまります。host=node: 渡したブロックされていない環境オーバーライドのみがノードに送信されます。env.PATHオーバーライドは ホストの実行が拒否され、ノード ホストによって無視されます。ノード上に追加の PATH エントリが必要な場合は、 ノードホストサービス環境 (systemd/launchd) を構成するか、標準の場所にツールをインストールします。
セッションの上書き (/exec)
/exec を使用して、host、security、ask、および node の セッションごと のデフォルトを設定します。
現在の値を表示するには、引数なしで /exec を送信します。
例:
apply_patch (実験的)apply_patch は、構造化された複数ファイル編集のための exec のサブツールです
明示的に有効にします。
- OpenAI/OpenAI Codex モデルでのみ利用可能です。
- ツール ポリシーは引き続き適用されます。
allow: ["exec"]はapply_patchを暗黙的に許可します。 - 構成は
tools.exec.applyPatchの下にあります。 tools.exec.applyPatch.workspaceOnlyのデフォルトはtrue(ワークスペースを含む) です。意図的にapply_patchをワークスペース ディレクトリの外に書き込み/削除する場合にのみ、これをfalseに設定します。