Skip to content

原文(日本語) ​

マルチエージェントワークフロー向けに TeammateIdle と TaskCompleted フックイベントが追加されました。

原文(英語) ​

Added TeammateIdle and TaskCompleted hook events for multi-agent workflows

概要 ​

マルチエージェントワークフローを制御するための新しいフックイベント、TeammateIdle と TaskCompleted が追加されました。これらのイベントを使用することで、エージェントチームメイトがアイドル状態になったときや、タスクが完了したときに、カスタムスクリプトやコマンドを自動実行できるようになります。

基本的な使い方 ​

フックイベントは、Claude Codeの設定ファイル(~/.claude/settings.json)で定義します。

json
{
  "hooks": {
    "TeammateIdle": "echo 'Teammate is now idle'",
    "TaskCompleted": "echo 'Task has been completed'"
  }
}

実践例 ​

タスク完了時の通知システム ​

タスクが完了したときに、デスクトップ通知を送信する例:

json
{
  "hooks": {
    "TaskCompleted": "notify-send 'Claude Code' 'タスクが完了しました' --urgency=normal"
  }
}

macOSの場合:

json
{
  "hooks": {
    "TaskCompleted": "osascript -e 'display notification \"タスクが完了しました\" with title \"Claude Code\"'"
  }
}

エージェントのアイドル状態を検知してログ記録 ​

エージェントチームメイトがアイドル状態になったときに、ログファイルにタイムスタンプを記録:

json
{
  "hooks": {
    "TeammateIdle": "echo \"[$(date '+%Y-%m-%d %H:%M:%S')] Teammate idle\" >> ~/.claude/agent-activity.log"
  }
}

複数のコマンドを連鎖実行 ​

タスク完了時に、複数のアクションを実行する例:

json
{
  "hooks": {
    "TaskCompleted": "notify-send 'Task Complete' && echo \"Task completed at $(date)\" >> task-log.txt && curl -X POST https://your-webhook.com/task-complete"
  }
}

CI/CDとの統合 ​

タスク完了時に、外部のCI/CDパイプラインをトリガーする:

json
{
  "hooks": {
    "TaskCompleted": "gh workflow run deploy.yml --ref main"
  }
}

チーム連携での活用 ​

Slackに通知を送信して、チームメンバーに進捗を共有:

json
{
  "hooks": {
    "TaskCompleted": "curl -X POST -H 'Content-type: application/json' --data '{\"text\":\"Claude Code: タスクが完了しました\"}' https://hooks.slack.com/services/YOUR/WEBHOOK/URL",
    "TeammateIdle": "curl -X POST -H 'Content-type: application/json' --data '{\"text\":\"エージェントがアイドル状態です\"}' https://hooks.slack.com/services/YOUR/WEBHOOK/URL"
  }
}

開発環境の自動管理 ​

エージェントがアイドル状態になったら、リソースを節約するために自動でクリーンアップを実行:

json
{
  "hooks": {
    "TeammateIdle": "docker system prune -f && echo 'Docker cleanup completed'"
  }
}

注意点 ​

  • フックコマンドは、Claude Codeを実行しているユーザーの権限で実行されます
  • 長時間実行されるコマンドは避けてください。フックは同期的に実行されるため、処理が完了するまでワークフローがブロックされる可能性があります
  • フックコマンドのエラーは、Claude Codeのログに記録されます
  • セキュリティ上の理由から、フックコマンド内で機密情報(APIキーなど)を直接記述することは避け、環境変数を使用してください
  • TeammateIdle イベントは、エージェントチームメイトが作業を完了してアイドル状態になったときにトリガーされます
  • TaskCompleted イベントは、Task tool を使用して起動されたタスクが完了したときにトリガーされます
  • これらのフックは、マルチエージェントワークフローに特化しており、単一エージェントでの通常のタスクでは発動しない場合があります

関連情報 ​