[アップデート] Kiro IDE のエージェントフックがついにユーザーレベル(グローバル)で定義できるようになったので試してみた

[アップデート] Kiro IDE のエージェントフックがついにユーザーレベル(グローバル)で定義できるようになったので試してみた

Kiro IDE にユーザーレベルのグローバルフックが追加されました。これまでワークスペース単位でしか定義できなかったフックが、`~/.kiro/hooks/` に配置することで全プロジェクト共通で使えるようになったので、その使い方を紹介します。
2026.07.23

いわさです。

Kiro IDE にはエージェントフックという機能があります。
エージェントフックは、IDE 上の特定のイベント(ファイル保存、セッション開始、ツール実行前後など)をトリガーに、シェルコマンドやエージェントプロンプトを自動実行する仕組みです。

https://kiro.dev/docs/hooks/

なんでやねんって思ってた方も多いと思うのですが、これまでフックの定義はワークスペース単位(.kiro/hooks/ ディレクトリ配下)でしか行えませんでした。
そのため、すべてのプロジェクトで共通して使いたいフック(コーディング規約のチェック、コミット前のバリデーションなど)があっても、各ワークスペースにそれぞれフックファイルをコピーする必要がありました。

なんと先日のアップデートで、ついにユーザーレベルのグローバルフックが追加されました!ついに!!

https://kiro.dev/changelog/ide/1-0-182/

~/.kiro/hooks/ ディレクトリにフックファイルを配置することで、どのワークスペースを開いても自動的にそのフックが適用されるようになります。
グローバルステアリング(~/.kiro/steering/)と同じパターンですね。

今回こちらを確認してみたので紹介します。

なお、今回検証した Kiro IDE のバージョンは 1.0.203 です。

D5A6ACD5-3EFF-4EE2-A849-793F6A6FF581_4_5005_c.jpeg

グローバルフックを使ってみる

グローバルフックの配置

グローバルフックの配置先は ~/.kiro/hooks/ ディレクトリです。
初期状態ではこのディレクトリは存在しないので、自分で作成する必要があります。

mkdir -p ~/.kiro/hooks

フックファイルのフォーマットはワークスペースフックと同じ v1 JSON 形式です。
試しに、TypeScript ファイルの保存時にメッセージを出力するシンプルなフックを作成してみます。

~/.kiro/hooks/global-test.json
{
  "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'"
      }
    }
  ]
}

9763E090-5A8C-4103-8FB7-EF47001A4C03.png

ファイルを配置すると、サイドバーの Agent Hooks パネルにフックが表示されます。

ワークスペースフックとの共存

ワークスペースレベルのフックと同時に使えるかも確認してみます。
同じワークスペースの .kiro/hooks/ にもフックを配置しました。

.kiro/hooks/workspace-test.json
{
  "version": "v1",
  "hooks": [
    {
      "name": "Workspace Hook Test",
      "trigger": "SessionStart",
      "action": {
        "type": "command",
        "command": "echo 'Workspace hook fired from .kiro/hooks/workspace-test.json'"
      }
    }
  ]
}

9763E090-5A8C-4103-8FB7-EF47001A4C03.png

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

別のワークスペースでの動作確認

別のワークスペース(.kiro/hooks/ を配置していないワークスペース)を開いてみます。

33347026-4C0C-4E35-85FA-D1F7E728EBA3.png

Agent Hooks パネルにはグローバルフックのみが表示されています。
ワークスペースフックは当該ワークスペースにのみ存在するので、別のワークスペースには表示されません。
グローバルフックはどのワークスペースを開いても共通して適用されることが確認できました。

さいごに

本日は Kiro IDE にユーザーレベルのグローバルフックが追加されたので確認してみました。

個人的に待望の機能でした。
これまでフックは各ワークスペースの .kiro/hooks/ に個別配置する必要があったので、全プロジェクト共通の自動化ルールを適用するのが面倒だったんですよね。
~/.kiro/hooks/ に一度定義すればどのワークスペースでも有効になるので、横断的なワークフロー自動化のハードルがだいぶ下がりそうです。

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事