settings.json

Stop

エージェントが応答を終えた際に実行されるフック(ユーザーによる中断時は実行されません)。

使い方・用途

  • ターン終了時にワーキングツリーをスキャンして変更をログに記録したり、リクエストされたタスクが完了したかを AI に再確認させたりするワークフローを構築できます。
  • 特定の条件(テスト失敗など)に基づいて、エージェントチームの稼働を強制終了させる制御も可能です。
英語原文(公式ドキュメントより)

Hooks that run when agents finish responding. Does not run on user interrupt

関連する変更履歴

v2.1.172(1件)

Changed
リモートセッションにおいて、コンテナを維持できない /loop コマンドの推奨を停止。
英語原文を表示
Stopped promoting /loop in remote sessions, where pending loops don't keep the container alive

変更前

環境によっては /loop を実行してもプロセスの維持が難しいケースがあり、ユーザーが期待通りに定期実行できないリスクがありました。

変更後

リモート環境の特性を考慮し、不適切な状況下での /loop の利用提案を控えるようになりました。

ユーザーへの恩恵

環境に応じた最適なコマンドやワークフローが提案されるようになり、意図せずタスクが中断されるような事故を防げます。

v2.1.163(2件)

Added
フック:Stop および SubagentStop フックが hookSpecificOutput.additionalContext を返せるよう改善。エラー扱いせずに Claude へフィードバックを返し、ターンを継続可能
英語原文を表示
Hooks: Stop and SubagentStop hooks can now return hookSpecificOutput.additionalContext to give Claude feedback and keep the turn going without being labeled a hook error

変更前

フックが特定の出力を返すとフックエラーとして処理され、エージェントの動作が意図せず中断されることがありました。

変更後

フックから Claude へ追加の文脈を直接渡せるようになり、エラーを発生させずに処理を継続させることができます。

ユーザーへの恩恵

特定のタスク終了時にカスタムの指示やフィードバックを自動で挿入できるため、より高度な自動化ワークフローが実現します。

関連ドキュメント

Fixed
デスクトップアプリでバックグラウンドタスクの「Stop」をクリックした際、プロセスが既に終了している場合にチップが消えない問題を修正。
英語原文を表示
Fixed clicking Stop on a background-task chip in the desktop app not clearing the chip when the underlying process was already gone

v2.1.157(1件)

Fixed
[IDE] バックグラウンドでサブエージェントが動作中に「停止」をクリックしても、実際には停止しない問題を修正しました
英語原文を表示
[IDE] Fixed clicking Stop while a background subagent is running not actually stopping it

v2.1.145(1件)

Added
Stop および SubagentStop フックの入力データに background_taskssession_crons フィールドを追加
英語原文を表示
Stop and SubagentStop hook input now includes background_tasks and session_crons fields

変更前

セッション終了時のフックにおいて、そのセッションで実行されていたバックグラウンドタスクや定期実行タスクの状態にアクセスする手段がありませんでした。

変更後

フックに渡されるJSONコンテキストに、バックグラウンドタスクとスケジュールドタスク(cron)の情報が含まれるようになりました。

ユーザーへの恩恵

セッション終了時に未完了のタスクを確認して通知を送ったり、クリーンアップ処理を自動化したりするなど、より高度な自動化スクリプトが作成可能になります。

v2.1.143(1件)

Fixed
ループを繰り返してブロックし続けるStopフックの修正:8回連続でブロックされた場合、警告を表示してターンを終了するようになりました
英語原文を表示
Fixed stop hooks that block repeatedly looping forever — the turn now ends with a warning after 8 consecutive blocks (override via CLAUDE_CODE_STOP_HOOK_BLOCK_CAP)

変更前

Stopフックの設定によっては、Claudeが無限ループに陥り、APIコストが無駄にかかり続けてしまうリスクがありました。

変更後

連続ブロック回数に上限(デフォルト8回、CLAUDE_CODE_STOP_HOOK_BLOCK_CAPで変更可)が設けられ、ループが自動検知されます。

ユーザーへの恩恵

バグのあるフックスクリプトによる意図しない課金の発生を防ぎ、安全に自動化を運用できます。

関連ドキュメント

v2.1.136(1件)

Fixed
キャッシュクリーンアップによって使用中のバージョンが削除された際、プラグインの StopUserPromptSubmit フックが失敗する問題を修正しました。
英語原文を表示
Fixed plugin Stop/UserPromptSubmit hooks failing when cache cleanup deletes a version still in use by a running session

変更前

長時間のセッション中、バックグラウンドでクリーンアップ処理が走ると、現在実行中のフックが必要とするプラグイン資産まで削除され、エラーが発生することがありました。

変更後

実行中のセッションで使用されているプラグインバージョンのロック管理が改善され、フック実行中に必要なファイルが消失しないようになりました。

ユーザーへの恩恵

バックグラウンドのメンテナンス処理を気にすることなく、安定してプラグインや自動化フックを利用し続けることができます。

関連ドキュメント

v2.1.118(1件)

Fixed
エージェント型フックが Stop 等の特定のイベント以外で「メッセージが必要」というエラーで失敗する問題を修正
英語原文を表示
Fixed agent-type hooks failing with "Messages are required for agent hooks" when configured for events other than Stop or SubagentStop

変更前

SubagentStart などのイベントに対してエージェント型フックを適用しようとすると、必要なデータ構造が不足しているというエラーで動作しませんでした。

変更後

より多くのイベントに対してエージェント型フックを正しく設定・実行できるようになりました。

ユーザーへの恩恵

特定のライフサイクルイベントにおいて、エージェントによる高度な自動検証を柔軟に組み込めるようになります。

関連ドキュメント

v2.1.98(1件)

Fixed
長時間セッションでのプロンプト型 Stop/SubagentStop フックの失敗、およびフック評価時の API エラーが不正確に表示される問題を修正しました。
英語原文を表示
Fixed prompt-type Stop/SubagentStop hooks failing on long sessions, and hook evaluator API errors showing "JSON validation failed" instead of the real message

変更前

会話が長くなるとフックが動かなくなったり、エラーが発生しても原因が分からず「JSONバリデーション失敗」という曖昧な表示が出るだけでした。

変更後

長時間のセッションでもフックが安定して動作し、エラー発生時には API からの実際のメッセージが表示されるため、自己診断が可能になりました。

ユーザーへの恩恵

ワークフローの自動化や検証をフックで行っている場合、その信頼性とメンテナンス性が大幅に向上します。

関連ドキュメント

v2.1.97(1件)

Fixed
長いセッションでプロンプトタイプのStop/SubagentStopフックが失敗する問題、およびフック評価時のAPIエラーが具体的なメッセージではなく「JSON validation failed」と表示される問題を修正しました。
英語原文を表示
Fixed prompt-type Stop/SubagentStop hooks failing on long sessions, and hook evaluator API errors displaying "JSON validation failed" instead of the actual message

変更前

セッションが長くなると終了時の自動処理(フック)が動かなくなったり、フックの不具合時に原因が分からないエラーメッセージが表示されることがありました。

変更後

長大セッションでもフックが安定動作し、エラー発生時も具体的な原因が表示されるようになったため、デバッグが容易になりました。

ユーザーへの恩恵

自動化された後処理や通知が確実に実行されるようになり、開発ワークフローの信頼性が向上します。

関連ドキュメント

v2.1.92(1件)

Fixed
Stopイベントのプロンプト型フックが特定の応答で誤って失敗する問題を修正し、継続防止セマンティクスを復元。
英語原文を表示
Fixed prompt-type Stop hooks incorrectly failing when the small fast model returns ok:false, and restored preventContinuation:true semantics for non-Stop prompt-type hooks

変更前

モデルが ok:false を返した際にフックが予期せずエラーになったり、ツール実行をブロックすべき場面で継続されてしまう不具合がありました。

変更後

Stopイベントの判定が正確になり、プロンプト型フックによるワークフローの中断制御が意図通りに機能するようになります。

ユーザーへの恩恵

フックを利用した自動化プロセスの信頼性が向上し、特定の条件下で処理を確実に停止させることが可能になります。

関連ドキュメント

v2.1.78(1件)

Added
APIエラー(レート制限、認証失敗など)によりターンが終了した際に発火する StopFailure フックイベントを追加
英語原文を表示
Added StopFailure hook event that fires when the turn ends due to an API error (rate limit, auth failure, etc.)

変更前

APIエラーで処理が中断された場合、それをフックして自動的に通知を送ったりログを記録したりする仕組みがありませんでした。

変更後

StopFailure イベントにより、レート制限や認証エラーなどの失敗を検知して特定のスクリプトを実行できるようになりました。

ユーザーへの恩恵

エラー発生時の後処理を自動化し、モニタリングやトラブルシューティングの効率を向上させることができます。

関連ドキュメント

v2.1.69(2件)

Fixed
Fixed TeammateIdle and TaskCompleted hooks to support {"continue": false, "stopReason": "..."} to stop the teammate, matching Stop hook behavior

関連ドキュメント

v2.1.64(1件)

Fixed
TeammateIdle および TaskCompleted フックにおいて、Stop フックと同様の {"continue": false, "stopReason": "..."} 形式によるチームメイトの停止をサポートしました。
英語原文を表示
Fixed TeammateIdle and TaskCompleted hooks to support {"continue": false, "stopReason": "..."} to stop the teammate, matching Stop hook behavior

変更前

エージェントチームの作業完了時や待機時の挙動をカスタマイズする際、スクリプト側から「ここで完全に停止させる」という判断を Claude Code に伝えるスマートな方法が不足していました。

変更後

標準的な停止シグナルをサポートしたことで、特定の条件(テスト失敗時など)でチームメイトの稼働を強制終了させることが、JSON レスポンス一つで制御可能になりました。

ユーザーへの恩恵

チームメイトの無駄な待機時間を削減し、特定の状況下での自動化フローの制御がより正確に行えるようになります。

関連ドキュメント

v2.1.47(1件)

Added
StopおよびSubagentStopフック入力に last_assistant_message フィールドを追加しました。これにより、フックはトランスクリプトファイルを解析することなく、最終的なアシスタントの応答テキストにアクセスできるようになります。
英語原文を表示
Added last_assistant_message field to Stop and SubagentStop hook inputs, providing the final assistant response text so hooks can access it without parsing transcript files.

変更前

StopおよびSubagentStopフックでは、アシスタントの最終応答テキストにアクセスするためにトランスクリプトファイルを解析する必要がありました。これは手間がかかるだけでなく、エラーが発生しやすいプロセスでした。

変更後

StopおよびSubagentStopフック入力に last_assistant_message フィールドが追加されました。これにより、フックはトランスクリプトファイルを解析することなく、アシスタントの最終応答テキストに直接アクセスできます。

ユーザーへの恩恵

フック開発者がアシスタントの最終応答に簡単にアクセスできるようになり、より効率的で堅牢なフックの作成が可能になりました。

関連ドキュメント

v2.1.30(1件)

Improved
TaskStopツールを改善し、結果行に汎用的な「Task stopped」メッセージの代わりに、停止したコマンド/タスクの説明を表示するようにしました。
英語原文を表示
Improved TaskStop tool to display the stopped command/task description in the result line instead of a generic "Task stopped" message

変更前

TaskStopツールが実行されると、停止したタスクの詳細がわからず、単に「Task stopped」と表示されていました。

変更後

TaskStopツールの結果に、停止したコマンドやタスクの説明が表示されるようになりました。

ユーザーへの恩恵

どのタスクが停止されたのかを明確に把握できるようになり、デバッグや進捗管理が容易になりました。

v2.1.0(1件)

Added
エージェントのフロントマターでフック設定が可能になり、エージェントの生存期間に限定したフックを定義できるようになりました。
英語原文を表示
Added hooks support to agent frontmatter, allowing agents to define PreToolUse, PostToolUse, and Stop hooks scoped to the agent's lifecycle

v2.0.42(1件)

v2.0.28(1件)

v1.0.45(1件)

Changed
Stop Hooks: Fixed transcript path after /clear and fixed triggering when loop ends with tool call

v1.0.41(1件)

Changed
Hooks: Split Stop hook triggering into Stop and SubagentStop