COMSPEC と PATHEXT による cmd.exe または PowerShell の解決を含みます。install コマンドと対話式 installer は、npm が Windows で .cmd shim としてインストールする agent CLI も解決するため、install --codex などのコマンドはそれらを見つけられます。
Hermes Agent と OpenClaw の連携は、macOS と Linux だけで動作します。POSIX home directory path の ~/.hermes と ~/.openclaw を使用し、Windows path をサポートしません。
開始前に Node.js 18 以降をインストールしてください。例では npx を使用して CLI subcommand を実行します。
1 つの連携をインストールするには cc-safety-net install <target-flag>、削除するには cc-safety-net uninstall <target-flag>、すべてを更新するには cc-safety-net update を使います。
対話形式でインストールする
Space で対象を選択し、Enter で確定します。u は代わりにすべてのインストール済み連携を更新し、q または Esc は変更せず終了します。@latest qualifier は重要です。qualifier なしの cc-safety-net spec は、現在の release ではなく npx cache にある以前の copy を再実行する場合があります。そのため、このページのすべての install、uninstall、update コマンドは version を固定します。
同じ形式でアンインストールできます。
ccsn を使えます。
npx で実行する場合は完全な cc-safety-net 名を使用します。
インストール済み連携を更新する
update は、無効な連携を含むマシン上のインストール済み連携を検出し、各連携の install path を update mode で再実行します。対象の agent CLI が見つからない連携は skipped と報告します。何もインストールされていない場合は、先に cc-safety-net install を実行するよう表示します。対話式 installer で u を押すと、同じ update を実行します。
update は major version 間の upgrade path でもあります。v1 のインストールで実行すると、すべてのインストール済み連携を現在の v2 release に移行します。v1 の inline 設定でカスタムルールを定義していた場合は、以前の設定の移行を完了してください。その後、npx cc-safety-net doctor で runtime が ready であることを確認します。
特定のエージェントをインストールする
script による非対話式 install では、対象 flag を正確に 1 つ渡します。対象 flag が 0 個または複数の場合は error です。対話式 terminal で対象 flag を渡さない場合、installer selector が始まります。
すべての install コマンドは冪等です。すでに設定済みのエージェントに再実行しても安全であり、管理対象の項目は 1 つだけ残ります。
Amp Code
cc-safety-net.ts として publish します。personal plugin はアカウントに従ってどこでも有効になるため、Amp Orb などの remote マシンで実行する thread も保護します。
install には amp CLI とサインイン済みのアカウントが必要です。最初に amp plugins repositories --json を実行して、書き込み可能な Personal Plugins repository を見つけます。CLI がない場合やサインインしていない場合は、amp login を示して install を停止します。次に user-plugins を使い捨ての一時 checkout に clone し、cc-safety-net.ts を書き込み、tool identity の cc-safety-net で commit し(commit signing は無効にするため、global git 設定が install を止めることはありません)、push します。コマンドを再実行すると、publish 済み artifact をその場で更新します。
install は、user policy file の snapshot も publish する artifact に埋め込みます。runtime では、policy file がないマシン(例えば Orb の空の home directory)だけに snapshot を適用します。マシンに policy file があれば、無効なものであっても常に優先します。policy file が存在しないか parse できない場合は、snapshot なしの artifact を publish します。snapshot には audit retention、user rulebook、project scope の policy は含まれません。policy の編集は、次の install --amp または update で反映されます。
cc-safety-net.ts を削除します。
install、update、uninstall 後は、変更を有効にするため Amp を再起動するか
plugins: reload を実行してください。cc-safety-net.ts が symlink、regular file 以外、または CC Safety Net managed header がないファイルの場合、install と uninstall はどちらも変更を拒否します。repository 側でファイルを削除してから、コマンドを再実行してください。
以前の release は、plugin を local file の ~/.config/amp/plugins/cc-safety-net.ts にコピーしていました。残った local エントリは personal plugin を隠すため、install は publish 後に管理対象の local copy を削除します。local エントリが管理対象の copy ではない場合、install は次のエラーで失敗します。
Antigravity CLI
~/.gemini/config/hooks.json に管理対象 PreToolUse 項目を書き込み、各 run_command tool call で npx -y cc-safety-net hook --agy-cli を実行します。
hook は npx で動作するため、install は最初に npm cache の _npx directory から cache 済みの cc-safety-net copy を削除し、hook が現在の release を解決できるようにします。場所は $npm_config_cache が設定されていればその path、未設定なら macOS と Linux では ~/.npm、Windows では %LOCALAPPDATA%\npm-cache です。uninstall は cache を変更しません。
/cc-safety-net skill をインストールします。
Claude Code
kenryu42/cc-marketplace から cc-marketplace marketplace を追加し、cc-safety-net@cc-marketplace plugin をインストールします。無効な copy がすでにある場合は有効にします。
/plugin を実行し、Marketplaces に移動し、cc-marketplace を選択して auto-update を有効にします。
plugin は共有 Coding CLI hook の
cc-safety-net hook --coding-cli(短い flag は -cc)を呼び出します。これは正規の flag 名であり、Codex plugin と共有します。hook --claude-code は以前の alias としてだけ使用できます。新しい設定では使用しないでください。Codex
kenryu42/cc-marketplace から cc-marketplace marketplace を追加し、cc-safety-net@cc-marketplace plugin をインストールします。
hook を信頼する
Codex は信頼されていない hook を実行しません。Codex を起動し、/hooks を開き、cc-safety-net PreToolUse hook を選択して t を押し、信頼済みにします。
信頼した後も hook が動作しない場合は、
~/.codex/config.toml(または $CODEX_HOME/config.toml)で plugin hook support が有効であることを確認してください。Cursor
~/.cursor/hooks.json の管理対象 preToolUse エントリに次を書き込みます。
failClosed により、hook が判定を返せない場合はツール呼び出しを拒否します。
hook は npx で動作するため、install は最初に npm _npx cache から cache 済みの cc-safety-net copy を消去し、hook が現在の release を解決できるようにします。uninstall は cache を変更しません。cache の場所は、Antigravity CLI の節にあります。
Gemini CLI
https://github.com/kenryu42/gemini-safety-net からインストールします。無効な copy がすでにある場合は再度有効にします。Gemini CLI は cc-marketplace plugin ではありません。extension は extension id gemini-safety-net を持つ独自の repository にあります。
GitHub Copilot CLI
cc-marketplace marketplace を追加し、cc-safety-net@cc-marketplace plugin をインストールします。~/.copilot/settings.json の enabledPlugins で明示的に無効であれば true に変更します。
変更を有効にするため、plugin の install または削除後に Copilot CLI を再起動してください。
~/.copilot/hooks 内の user hook file には 0.0.422 以降が必要です。plugin がこれを処理します。hook を手動で設定して問題が発生した場合は、npx cc-safety-net doctor を実行してください。検出した Copilot version と、対応する hook source を報告します。
Hermes Agent
__init__.py と plugin.yaml を $HERMES_HOME/plugins/cc-safety-net/(HERMES_HOME が未設定の場合は ~/.hermes/plugins/cc-safety-net/)に書き込み、hermes plugins enable cc-safety-net --no-allow-tool-override を実行します。ファイルだけでは動作しません。Hermes は自身の設定に有効と記載された user plugin だけを読み込むため、ファイルが最新の場合も install は enable コマンドを実行します。
plugin は npx を介して subprocess を実行するため、install は最初に npm _npx cache から cache 済みの cc-safety-net copy を消去します。uninstall は cache を変更しません。cache の場所は、Antigravity CLI の節にあります。
変更を有効にするため、install、update、uninstall 後に Hermes を再起動してください。
pre_tool_call で、plugin は JSON stdin を使って tool call を npx -y cc-safety-net hook --hermes-agent(短い flag は -ha)に送り、30 秒で timeout します。terminal、read_file、write_file、patch tool を保護します。その他の Hermes tool は転送しません。plugin は fail-closed です。npx がない、解析を開始できない、timeout する、non-zero で終了する、または読めない出力を返す場合、tool call を通過させず、明示的なメッセージでブロックします。
hermes plugins disable cc-safety-net を実行します。Hermes は disk 上に残る plugin だけを解決し、有効な設定項目が残ると、同じ名前の将来の plugin を自動的に読み込むためです。hermes CLI が失敗するか存在しない場合も file は削除し、Hermes config に cc-safety-net が残っている可能性があることを warning で示します。uninstall は Python __pycache__ bytecode directory も削除し、他に何も残っていない場合だけ plugin directory を削除します。
plugin directory が symlink または regular directory ではない場合、install と uninstall は変更を拒否します。また、managed file が symlink、regular file 以外、または CC Safety Net managed header がない場合、上書きまたは削除を拒否します。自身で移動または削除してから、コマンドを再実行してください。
この連携は macOS と Linux だけに対応します。
Kimi Code
Kimi Code には 2 つのインストール方法があります。Kimi Code の config に書き込む global hook と、Kimi Code 内からインストールする native Kimi Code plugin です。対話式 terminal では、install --kimi-code(または対話式 installer での Kimi Code の選択)は、どちらの方法を使うかを尋ねる single-select prompt を開きます。global hook を今インストールするか、native plugin の手順を表示するかを選びます。非対話式 session では、flag は global hook を直接インストールするため、script や CI pipeline が prompt で止まることはありません。update は変わりません。
どちらの方法でも Kimi Code hook は fail-open です。hook process が開始できない、crash する、または timeout する場合、Kimi Code は tool call を許可します。
~/.kimi-code/config.toml(または $KIMI_CODE_HOME/config.toml)に [[hooks]] block を書き込み、各 PreToolUse Bash call で npx -y cc-safety-net hook --kimi-code を実行します。
hook は npx で動作するため、install は最初に npm _npx cache から cache 済みの cc-safety-net copy を消去します。uninstall は cache を変更しません。cache の場所は、Antigravity CLI の節にあります。
/reload を実行するか、新しい session を開始します。plugin は、node ./dist/bin/cc-safety-net.js hook --kimi-code を 30 秒の timeout で実行する PreToolUse Bash hook を 1 つ宣言します。global hook と同じ adapter です。
global hook がすでに設定済みの場合、対話式 installer の Kimi Code 行は選択可能なままで、(global hook installed) と表示されます。また、表示される plugin の手順に注意書きが追加されます。cc-safety-net uninstall --kimi-code は、plugin が有効になった後にだけ実行してください。両方の hook が動作する短い重複は拒否メッセージが重複するだけですが、どちらも有効でない期間は保護されません。
Kimi Code 内で対話形式にルールを作成するには、任意で /cc-safety-net skill をインストールします。
OpenClaw
openclaw plugins install <packaged plugin dir> --force を実行し、続けて openclaw plugins enable cc-safety-net を実行します。その後、openclaw plugins inspect cc-safety-net --runtime --json で plugin が実際に読み込まれたことを確認します。runtime が壊れた有効な plugin は正常にインストールされた後に保護しないため、loaded 以外の status は install を失敗させ、詳細確認用の openclaw plugins inspect cc-safety-net --runtime を示します。
--force は cc-safety-net extension id の対象を上書きし、uninstall 時に削除するため、両方のコマンドは extension directory が CC Safety Net managed plugin だけを含むか、空であることを最初に確認します。それ以外の場合は実行を拒否します。directory を移動または削除してから、コマンドを再実行してください。
変更を有効にするため、install、update、uninstall 後に OpenClaw Gateway を再起動してください。
openclaw.json に plugins.allow がある場合、cc-safety-net も記載する必要があります。allowlist にない場合、有効でも plugin は読み込まれません。exec tool だけの before_tool_call handler を登録し、OpenClaw の file tool は保護しません。各 exec call は agent の workspace directory に対して解析します。workspace を解決できない場合、workdir が workspace 外に解決される場合、または auto と gateway 以外の execution host(例えば sandbox または node)を指定する場合は fail-closed です。
OpenClaw の state directory は、OPENCLAW_STATE_DIR が設定されていればその directory、そうでなければ OPENCLAW_CONFIG_PATH を含む directory、どちらもなければ ~/.openclaw です。config file は、OPENCLAW_CONFIG_PATH が設定されていればその file、そうでなければ state directory 内の openclaw.json です。install と doctor は同じ順序で path を解決するため、移動した OpenClaw install を absent と誤報しません。
この連携は macOS と Linux だけに対応します。
OpenCode
opencode plugin -g -f cc-safety-net@latest を実行する前に、必ず ~/.cache/opencode/packages/cc-safety-net@latest を消去します。
~/.config/opencode/opencode.json(または .jsonc)の plugin array から cc-safety-net を削除し、cache package をもう一度消去します。
更新済み cache から plugin を読み込むため、install または update 後に OpenCode を再起動してください。
Pi
pi install npm:cc-safety-net を実行します。Pi 設定が CC Safety Net を無効にする extensions filter を固定している場合、~/.pi/agent/settings.json でその filter を消去します。
bash tool とカスタム Shell tool(例えば pi-grok-cli)をインターセプトし、各 call の作業ディレクトリを解決し、rulebook 管理用の /cc-safety-net builtin command を登録します。詳細は、連携アーキテクチャを参照してください。
以前のプラグイン ID から移行する
該当するすべての場所で、現在の plugin identifier はcc-safety-net@cc-marketplace です。以前の release にあった 2 つの identifier が既存のマシンに残る場合があります。
手動で削除する必要はありません。エージェント用の通常の install コマンドを実行すると、その一部として移行します。新しい設定では以前の identifier を使用しないでください。
インストールを確認する
doctor は、すべての対応エージェントについて完全な health check を実行します。hook 連携、ブロック機能を確認するセルフテスト、カスタムルールの検証、有効な mode flag、最近の activity、system version、update check が対象です。各チェックの動作と使用できる flag については、doctor コマンドのリファレンスを参照してください。
失敗したチェックには、問題の説明と推奨される修正が表示されます。