hooks / pretooluse-rewrite · 約 8 分
updatedInput で書き換える
permissionDecision が allow のときだけ updatedInput を返します。
学習目標
書き換えは permissionDecision が allow のときだけ updatedInput を付けます。Bash と apply_patch では updatedInput.command が文字列である必要があります。
[codex-hooks]
{
"hookSpecificOutput": {
"hookEventName": "PreToolUse",
"permissionDecision": "allow",
"updatedInput": { "command": "echo rewritten" }
}
}
前提
deny スクリプトの構造が分かっていること。
なぜ必要か
危険なフラグを落とす、社内ラッパーを前置する、といった用途です。
実行場所
Web実習 (browser) は WebContainer の Node で公式仕様の入力例を流す練習です。Codex 本体の hook 実行ではありません。local-bridge では hooks.json の PreToolUse ハンドラ command をこのスクリプトに向け、/hooks で再信頼します。
echo '{"tool_input":{"command":"echo original"}}' | node .codex/hooks/pre_tool_use_rewrite.mjs
成功結果
スクリプトが updatedInput と allow を含みます。
失敗対処
updatedInput を deny と一緒に返すとエラーになります。allow のときだけ返します。
[codex-hooks]
このレッスンで接続する
ページを移動するとブラウザ内実習の接続とファイルは消えます。演習の直前に、このパネルから明示的に再接続してください(自動では戻りません)。