openclaw config
openclaw.json を非対話的に編集するための config ヘルパーです。パスを指定して
値の get/set/unset/file/schema/validate を行い、アクティブな config ファイルを表示します。サブコマンドなしで実行すると、
configure ウィザードを開きます(openclaw configure と同じ)。
ルートオプション:
--section <section>: サブコマンドなしでopenclaw configを実行するときに使う、繰り返し指定可能なガイド付きセットアップのセクションフィルター
workspacemodelwebgatewaydaemonchannelspluginsskillshealth
例
config schema
生成された openclaw.json 用 JSON schema を JSON として stdout に出力します。
含まれる内容:
- 現在のルート config schema と、エディター支援用のルート
$schema文字列フィールド - Control UI で使われるフィールド
titleとdescriptionのドキュメントメタデータ - 対応するフィールドドキュメントが存在する場合、ネストされたオブジェクト、ワイルドカード(
*)、配列要素([])ノードも同じtitle/descriptionメタデータを継承 - 対応するフィールドドキュメントが存在する場合、
anyOf/oneOf/allOf分岐も同じドキュメントメタデータを継承 - ランタイム manifest を読み込める場合、ベストエフォートの live plugin + channel schema メタデータ
- 現在の config が無効でも利用できるクリーンなフォールバック schema
config.schema.lookupは、正規化済み config パス 1 件について、浅い schema ノード(title、description、type、enum、const、一般的な境界)、 一致した UI ヒントメタデータ、および直下の子要約を返します。Control UI やカスタムクライアントで パス単位のドリルダウンに使用してください。
パス
パスにはドット記法またはブラケット記法を使います。値
値は、可能であれば JSON5 として解析され、そうでなければ文字列として扱われます。 JSON5 解析を必須にするには--strict-json を使用してください。旧来のエイリアスとして --json も引き続きサポートされています。
config get <path> --json は、ターミナル整形済みテキストではなく生の値を JSON として出力します。
config set のモード
openclaw config set は 4 つの代入スタイルをサポートしています。
- 値モード:
openclaw config set <path> <value> - SecretRef builder モード:
- Provider builder モード(
secrets.providers.<alias>パスのみ):
- バッチモード(
--batch-jsonまたは--batch-file):
- サポートされていないランタイム可変サーフェス(たとえば
hooks.token、commands.ownerDisplaySecret、Discord の thread-binding webhook token、WhatsApp の creds JSON)では、SecretRef の代入は拒否されます。詳細は SecretRef Credential Surface を参照してください。
--batch-json/--batch-file)を信頼できる情報源として使います。
--strict-json / --json はバッチ解析の動作を変更しません。
JSON パス/値モードは、SecretRef と provider の両方で引き続きサポートされます。
Provider Builder Flags
Provider builder の対象は、パスにsecrets.providers.<alias> を使う必要があります。
共通フラグ:
--provider-source <env|file|exec>--provider-timeout-ms <ms>(file,exec)
--provider-source env):
--provider-allowlist <ENV_VAR>(繰り返し指定可能)
--provider-source file):
--provider-path <path>(必須)--provider-mode <singleValue|json>--provider-max-bytes <bytes>
--provider-source exec):
--provider-command <path>(必須)--provider-arg <arg>(繰り返し指定可能)--provider-no-output-timeout-ms <ms>--provider-max-output-bytes <bytes>--provider-json-only--provider-env <KEY=VALUE>(繰り返し指定可能)--provider-pass-env <ENV_VAR>(繰り返し指定可能)--provider-trusted-dir <path>(繰り返し指定可能)--provider-allow-insecure-path--provider-allow-symlink-command
ドライラン
openclaw.json に書き込まずに変更を検証するには --dry-run を使用します。
- Builder モード: 変更された ref/provider に対して SecretRef の解決可能性チェックを実行します。
- JSON モード(
--strict-json、--json、またはバッチモード): schema 検証と SecretRef の解決可能性チェックを実行します。 - 既知の非対応 SecretRef 対象サーフェスに対するポリシー検証も実行されます。
- ポリシーチェックは変更後の完全な config を評価するため、親オブジェクト書き込み(たとえば
hooksをオブジェクトとして設定すること)では非対応サーフェス検証を回避できません。 - exec SecretRef チェックは、コマンドの副作用を避けるため、ドライラン時にはデフォルトでスキップされます。
- exec SecretRef チェックを有効にするには、
--dry-runと一緒に--allow-execを使用してください(これにより provider コマンドが実行される場合があります)。 --allow-execはドライラン専用であり、--dry-runなしで使うとエラーになります。
--dry-run --json は機械可読なレポートを出力します。
ok: ドライランが成功したかどうかoperations: 評価した代入数checks: schema/解決可能性チェックが実行されたかどうかchecks.resolvabilityComplete: 解決可能性チェックが最後まで実行されたかどうか(exec ref がスキップされた場合は false)refsChecked: ドライラン中に実際に解決された ref 数skippedExecRefs:--allow-execが設定されていないためスキップされた exec ref 数errors:ok=falseの場合の構造化された schema/解決可能性エラー
JSON 出力形式
config schema validation failed: 変更後の config 形状が無効です。パス/値、または provider/ref オブジェクト形状を修正してください。Config policy validation failed: unsupported SecretRef usage: その認証情報を平文/文字列入力に戻し、SecretRef はサポートされるサーフェスでのみ使ってください。SecretRef assignment(s) could not be resolved: 参照先の provider/ref が現在解決できません(環境変数不足、無効なファイル参照、exec provider の失敗、または provider/source の不一致)。Dry run note: skipped <n> exec SecretRef resolvability check(s): ドライランで exec ref がスキップされました。exec の解決可能性検証が必要なら--allow-execを付けて再実行してください。- バッチモードでは、失敗したエントリを修正し、書き込む前に
--dry-runを再実行してください。
サブコマンド
config file: アクティブな config ファイルパスを表示します(OPENCLAW_CONFIG_PATHまたはデフォルト位置から解決)。