Skip to main content
拡張機能

Hooks

Qoder のタスクライフサイクルイベントで自動処理を実行します。

Qoder は Qoder CLI と互換性のある Hooks を使用します。タスク、ツール、権限、subagent、コンテキスト、設定、ファイル、worktree のイベントで処理を実行でき、CLI と同じイベントおよび handler type をサポートします。
Hook はローカルファイルや外部サービスへアクセスできます。タスクを実行する前に、command、接続先、設定の出所を確認してください。

現在の設定を確認する

Settings → Hooks を開きます。このページはユーザーレベルの ~/.qoder/settings.json を読み込み、設定済み Hook を event ごとに表示します。画面に表示されても、Runtime に読み込まれたことや正常に実行されたことまでは保証されません。実際のタスクで検証してください。 プロジェクトでは次の設定ファイルも使用できます。
  • ${project}/.qoder/settings.json:チームで共有するプロジェクト設定。
  • ${project}/.qoder/settings.local.json:現在のデバイスだけで使用するプロジェクト設定。
各ファイルの Hook は統合して適用されます。

Handler type

Type用途
commandローカルの command または script を実行します。
httpevent を HTTP service へ送信します。
promptprompt を使って処理を続行できるか判断します。
agentAgent に event を処理させ、結果を返します。

対応する event

Event実行タイミング
SessionStart / SessionEndタスクの開始時 / 終了時
UserPromptSubmitユーザーが指示を送信したとき
PreToolUsetool の実行前
PostToolUse / PostToolUseFailuretool の成功後 / 失敗後
PermissionRequest / PermissionDenied権限の要求時 / 拒否時
Stop / StopFailureAgent の停止前 / 停止失敗時
SubagentStart / SubagentStopsubagent の開始時 / 停止時
PreCompact / PostCompactコンテキスト圧縮の前 / 後
Notification通知が発生したとき
InstructionsLoaded指示が読み込まれたとき
ConfigChange設定が変更されたとき
CwdChangedcurrent working directory が変更されたとき
FileChangedファイルが変更されたとき
WorktreeCreate / WorktreeRemoveWorktree の作成時 / 削除時
Elicitation / ElicitationResult情報を要求したとき / 結果を受け取ったとき

設定例

次の例では、tool の実行前にローカル script を呼び出します。
{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "~/.qoder/hooks/check-command.sh"
          }
        ]
      }
    ]
  }
}
matcher は実行対象を絞り込みます。設定を保存したら Settings → Hooks を開き直して更新し、該当 event を発生させる低リスクのタスクを実行します。タスク結果と handler 自身の log または出力の両方を確認してください。 マッチングルール、入出力スキーマ、handler の完全な設定については、Qoder CLI Hooks を参照してください。
Hooks - Qoder