CLI commands
フック
openclaw hooks
エージェントフック(/new、/reset、Gateway 起動などのコマンド向けイベント駆動型オートメーション)を管理します。
サブコマンドなしで openclaw hooks を実行することは、openclaw hooks list と同じです。
関連:
- フック: フック
- Plugin フック: Plugin フック
すべてのフックを一覧表示
openclaw hooks list
ワークスペース、管理対象、追加、バンドル済みディレクトリから検出されたすべてのフックを一覧表示します。 Gateway 起動時は、少なくとも 1 つの内部フックが設定されるまで内部フックハンドラーを読み込みません。
オプション:
--eligible: 対象となるフック(要件を満たすもの)のみを表示--json: JSON として出力-v, --verbose: 不足している要件を含む詳細情報を表示
出力例:
Hooks (4/4 ready)
Ready:
🚀 boot-md ✓ - Run BOOT.md on gateway startup
📎 bootstrap-extra-files ✓ - Inject extra workspace bootstrap files during agent bootstrap
📝 command-logger ✓ - Log all command events to a centralized audit file
💾 session-memory ✓ - Save session context to memory when /new or /reset command is issued
例(詳細):
openclaw hooks list --verbose
対象外のフックについて不足している要件を表示します。
例(JSON):
openclaw hooks list --json
プログラムで利用できる構造化 JSON を返します。
フック情報を取得
openclaw hooks info <name>
特定のフックに関する詳細情報を表示します。
引数:
<name>: フック名またはフックキー(例:session-memory)
オプション:
--json: JSON として出力
例:
openclaw hooks info session-memory
出力:
💾 session-memory ✓ Ready
Save session context to memory when /new or /reset command is issued
Details:
Source: openclaw-bundled
Path: /path/to/openclaw/hooks/bundled/session-memory/HOOK.md
Handler: /path/to/openclaw/hooks/bundled/session-memory/handler.ts
Homepage: https://docs.openclaw.ai/automation/hooks#session-memory
Events: command:new, command:reset
Requirements:
Config: ✓ workspace.dir
フックの対象可否を確認
openclaw hooks check
フックの対象可否ステータスの概要(準備完了数と未準備数)を表示します。
オプション:
--json: JSON として出力
出力例:
Hooks Status
Total hooks: 4
Ready: 4
Not ready: 0
フックを有効化
openclaw hooks enable <name>
設定(デフォルトでは ~/.openclaw/openclaw.json)に追加して、特定のフックを有効化します。
注: ワークスペースフックは、ここまたは設定で有効化されるまでデフォルトで無効です。Plugin によって管理されるフックは openclaw hooks list で plugin:<id> と表示され、ここでは有効化または無効化できません。代わりに Plugin を有効化または無効化してください。
引数:
<name>: フック名(例:session-memory)
例:
openclaw hooks enable session-memory
出力:
✓ Enabled hook: 💾 session-memory
実行内容:
- フックが存在し、対象であることを確認します
- 設定内の
hooks.internal.entries.<name>.enabled = trueを更新します - 設定をディスクに保存します
フックが <workspace>/hooks/ から来ている場合、Gateway がそれを読み込む前に
このオプトイン手順が必要です。
有効化後:
- フックが再読み込みされるように Gateway を再起動します(macOS ではメニューバーアプリを再起動、または開発環境では Gateway プロセスを再起動)。
フックを無効化
openclaw hooks disable <name>
設定を更新して、特定のフックを無効化します。
引数:
<name>: フック名(例:command-logger)
例:
openclaw hooks disable command-logger
出力:
⏸ Disabled hook: 📝 command-logger
無効化後:
- フックが再読み込みされるように Gateway を再起動します
注意
openclaw hooks list --json、info --json、check --jsonは構造化 JSON を stdout に直接書き込みます。- Plugin 管理のフックはここでは有効化または無効化できません。代わりに所有元の Plugin を有効化または無効化してください。
フックパックをインストール
openclaw plugins install <package> # npm by default
openclaw plugins install npm:<package> # npm only
openclaw plugins install <package> --pin # pin version
openclaw plugins install <path> # local path
統合 plugins インストーラーを通じてフックパックをインストールします。
openclaw hooks install は互換性エイリアスとして引き続き動作しますが、非推奨警告を出力し、openclaw plugins install に転送します。
npm 仕様は レジストリのみ(パッケージ名 + 任意の 正確なバージョン または
dist-tag)です。Git/URL/file 仕様と semver 範囲は拒否されます。依存関係のインストールは、安全のため、シェルにグローバル npm インストール設定がある場合でも --ignore-scripts 付きでプロジェクトローカルに実行されます。
ベア仕様と @latest は安定版トラックのままです。npm がそれらのいずれかをプレリリースに解決した場合、OpenClaw は停止し、@beta/@rc などのプレリリースタグまたは正確なプレリリースバージョンで明示的にオプトインするよう求めます。
実行内容:
- フックパックを
~/.openclaw/hooks/<id>にコピーします - インストールされたフックを
hooks.internal.entries.*で有効化します - インストールを
hooks.internal.installsに記録します
オプション:
-l, --link: コピーする代わりにローカルディレクトリをリンクします(hooks.internal.load.extraDirsに追加)--pin: npm インストールを、解決済みの正確なname@versionとしてhooks.internal.installsに記録します
サポートされるアーカイブ: .zip、.tgz、.tar.gz、.tar
例:
# Local directory
openclaw plugins install ./my-hook-pack
# Local archive
openclaw plugins install ./my-hook-pack.zip
# NPM package
openclaw plugins install @openclaw/my-hook-pack
# Link a local directory without copying
openclaw plugins install -l ./my-hook-pack
リンクされたフックパックは、ワークスペースフックではなく、オペレーターが設定したディレクトリからの管理対象フックとして扱われます。
フックパックを更新
openclaw plugins update <id>
openclaw plugins update --all
統合 plugins アップデーターを通じて、追跡対象の npm ベースのフックパックを更新します。
openclaw hooks update は互換性エイリアスとして引き続き動作しますが、非推奨警告を出力し、openclaw plugins update に転送します。
オプション:
--all: 追跡対象のすべてのフックパックを更新--dry-run: 書き込まずに変更内容を表示
保存済みの整合性ハッシュが存在し、取得したアーティファクトのハッシュが変わった場合、OpenClaw は警告を出力し、続行前に確認を求めます。CI/非対話実行でプロンプトを回避するには、グローバルの --yes を使用してください。
バンドル済みフック
session-memory
/new または /reset を発行したときに、セッションコンテキストをメモリに保存します。
有効化:
openclaw hooks enable session-memory
出力: デフォルトでは ~/.openclaw/workspace/memory/YYYY-MM-DD-HHMM.md。モデル生成のファイル名スラッグには hooks.internal.entries.session-memory.llmSlug: true を設定します。
bootstrap-extra-files
agent:bootstrap 中に追加のブートストラップファイル(たとえば monorepo ローカルの AGENTS.md / TOOLS.md)を注入します。
有効化:
openclaw hooks enable bootstrap-extra-files
参照: bootstrap-extra-files ドキュメント
command-logger
すべてのコマンドイベントを一元化された監査ファイルに記録します。
有効化:
openclaw hooks enable command-logger
出力: ~/.openclaw/logs/commands.log
ログを表示:
# Recent commands
tail -n 20 ~/.openclaw/logs/commands.log
# Pretty-print
cat ~/.openclaw/logs/commands.log | jq .
# Filter by action
grep '"action":"new"' ~/.openclaw/logs/commands.log | jq .
boot-md
Gateway の起動時(チャンネル起動後)に BOOT.md を実行します。
イベント: gateway:startup
有効化:
openclaw hooks enable boot-md
参照: boot-md ドキュメント