![[アップデート] Kiro IDE のエージェントフックがついにユーザーレベル(グローバル)で定義できるようになったので試してみた](https://images.ctfassets.net/ct0aopd36mqt/4uTbTE9O9jUJCOs80dZ0Ao/e2da592b5eaaad0f5993d6ff64a12467/aws-kiro.png?w=3840&fm=webp)
[アップデート] Kiro IDE のエージェントフックがついにユーザーレベル(グローバル)で定義できるようになったので試してみた
いわさです。
Kiro IDE にはエージェントフックという機能があります。
エージェントフックは、IDE 上の特定のイベント(ファイル保存、セッション開始、ツール実行前後など)をトリガーに、シェルコマンドやエージェントプロンプトを自動実行する仕組みです。
なんでやねんって思ってた方も多いと思うのですが、これまでフックの定義はワークスペース単位(.kiro/hooks/ ディレクトリ配下)でしか行えませんでした。
そのため、すべてのプロジェクトで共通して使いたいフック(コーディング規約のチェック、コミット前のバリデーションなど)があっても、各ワークスペースにそれぞれフックファイルをコピーする必要がありました。
なんと先日のアップデートで、ついにユーザーレベルのグローバルフックが追加されました!ついに!!
~/.kiro/hooks/ ディレクトリにフックファイルを配置することで、どのワークスペースを開いても自動的にそのフックが適用されるようになります。
グローバルステアリング(~/.kiro/steering/)と同じパターンですね。
今回こちらを確認してみたので紹介します。
なお、今回検証した Kiro IDE のバージョンは 1.0.203 です。

グローバルフックを使ってみる
グローバルフックの配置
グローバルフックの配置先は ~/.kiro/hooks/ ディレクトリです。
初期状態ではこのディレクトリは存在しないので、自分で作成する必要があります。
mkdir -p ~/.kiro/hooks
フックファイルのフォーマットはワークスペースフックと同じ v1 JSON 形式です。
試しに、TypeScript ファイルの保存時にメッセージを出力するシンプルなフックを作成してみます。
{
"version": "v1",
"hooks": [
{
"name": "Global Post File Save Hook",
"trigger": "PostFileSave",
"matcher": "\\.ts$",
"action": {
"type": "command",
"command": "echo 'Global hook fired from ~/.kiro/hooks/global-test.json'"
}
}
]
}

ファイルを配置すると、サイドバーの Agent Hooks パネルにフックが表示されます。
ワークスペースフックとの共存
ワークスペースレベルのフックと同時に使えるかも確認してみます。
同じワークスペースの .kiro/hooks/ にもフックを配置しました。
{
"version": "v1",
"hooks": [
{
"name": "Workspace Hook Test",
"trigger": "SessionStart",
"action": {
"type": "command",
"command": "echo 'Workspace hook fired from .kiro/hooks/workspace-test.json'"
}
}
]
}

グローバルフックとワークスペースフックは併用可能で、Agent Hooks パネル上にフラットに並んで表示されます。
今回の確認ではワークスペースフックが上、グローバルフックが下に表示されていました。
ちょっとわかりにくいですがパネル上では「Global」「Workspace」のようなラベルによるスコープ区別は特にないようで、フック名とトリガー種別が表示されるのみです。
グローバルフックのファイルを開くとパンくずリストに Users > ... > .kiro > hooks > global-test.json とフルパスが表示されるので、そこで判別する形ですね。今後のアップデートでステアリングファイルみたいにスコープでカテゴライズされるようになってほしいな。
別のワークスペースでの動作確認
別のワークスペース(.kiro/hooks/ を配置していないワークスペース)を開いてみます。

Agent Hooks パネルにはグローバルフックのみが表示されています。
ワークスペースフックは当該ワークスペースにのみ存在するので、別のワークスペースには表示されません。
グローバルフックはどのワークスペースを開いても共通して適用されることが確認できました。
さいごに
本日は Kiro IDE にユーザーレベルのグローバルフックが追加されたので確認してみました。
個人的に待望の機能でした。
これまでフックは各ワークスペースの .kiro/hooks/ に個別配置する必要があったので、全プロジェクト共通の自動化ルールを適用するのが面倒だったんですよね。
~/.kiro/hooks/ に一度定義すればどのワークスペースでも有効になるので、横断的なワークフロー自動化のハードルがだいぶ下がりそうです。








