settings.json

hooks.Stop

array

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

使い方・用途

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

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

関連ドキュメント

関連する変更履歴

v2.1.277(1件)

Added
[VSCode] バックグラウンドシェルやその他実行中タスクをagent mapに追加し、各項目にStop操作と、それを開くための/tasksコマンドを用意した
英語原文を表示
[VSCode] Added background shells and other running tasks to the agent map, each with a Stop, and a typed /tasks that opens it

変更前

VSCode拡張のagent mapにはバックグラウンドシェルやその他実行中タスクが表示されず、それらの状況確認や停止には別の手段が必要だった

変更後

バックグラウンドシェルやその他実行中タスクがagent map上で個別に表示され、各項目にStop操作と/tasksコマンドが用意され、タスク状況の確認や停止をVSCode拡張から直接行えるようになった

ユーザーへの恩恵

ユーザーはtasks mapから実行中タスクの状況を一覧で把握し、必要に応じてStopで即座に停止できるようになった

関連ドキュメント

v2.1.275(1件)

Fixed
エージェントタイプが空である停止中のサブエージェントに対して、特定の matcher を持つ SubagentStop フックが毎回発火する問題を修正した。
英語原文を表示
Fixed SubagentStop hooks with a specific matcher firing for every stopping subagent whose agent type was empty

変更前

SubagentStop hooks configured with a specific matcher fired for every stopping subagent whose agent type was empty, instead of matching against the configured agent type.

変更後

The SubagentStop hook now checks the matcher against the subagent's agent type before firing.

ユーザーへの恩恵

matcherSubagentStop フックを設定しても、エージェントタイプが空のサブエージェントの停止時に毎回発火しなくなる。

関連ドキュメント

v2.1.274(1件)

Fixed
Stop プロンプトフックが会話内のブロックのたびにプロンプト全体を再送信する問題を修正。繰り返しのブロックでは 500 文字のラベルで条件を示すようになった。
英語原文を表示
Fixed Stop prompt hooks re-sending their whole prompt on every block in a conversation; repeat blocks now name the condition with a 500-character label

変更前

Stop プロンプトフックは、会話内でブロックが発生するたびに、フックに定義されたプロンプト全体を毎回モデルへ再送信していた。

変更後

会話内で繰り返しブロックされる場合でも、フックのプロンプト全体を毎回再送信するのではなく、500 文字までのラベルで条件の名前を付して示すようになった。

ユーザーへの恩恵

繰り返しブロックが起きても毎回プロンプト全体を再送しなくてよくなり、トークン消費を抑えられる。

関連ドキュメント

v2.1.269(2件)

Added
[VSCode] エージェントマップを追加: 「N agents」フッターピルからセッションのサブエージェントの一覧を開けるようになり、各サブエージェントの状態(実行中/停止)と、カードを開くための番号が表示される。
英語原文を表示
[VSCode] Added an agent map: an "N agents" footer pill opens a map of the session's sub-agents with per-agent cards, Stop agent, and read-only transcripts

変更前

…その右側にはサブエージェントの情報は何も表示されないため、実際に実行されているかどうかを知るには、各番号を1つずつ開いて確認するしかなかった。

変更後

…その右側に、そのサブエージェントの状態(実行中または停止)と、開くための番号が表示される。

ユーザーへの恩恵

マップを開くだけで、どのサブエージェントが実行中でどれが停止しているかを一目で確認できる。

関連ドキュメント

Improved
AccessibilityIDE
[VSCode] スラッシュコマンドメニュー、@メンションメニュー、出力スタイルピッカー、送信/停止ボタン、権限ダイアログ、質問ダイアログ、オンボーディングチェックリストにおける、スクリーンリーダーおよびキーボードのアクセシビリティを改善する。
英語原文を表示
[VSCode] Improved screen reader and keyboard accessibility in the slash-command menu, @-mention menu, output-style picker, Send/Stop button, permission and question cards, and onboarding checklist

変更前

これらのUI要素では、スクリーンリーダーでの読み上げやキーボードだけでの操作に不安定な部分があり、マウスに頼らず利用者に確実に操作できない箇所があった。

変更後

拡張機能のスラッシュコマンドメニュー、@メンションメニュー、出力スタイルピッカー、Send/Stopボタン、権限ダイアログ、質問ダイアログ、オンボーディングチェックリストに、スクリーンリーダー対応とキーボード操作の強化が反映される。

ユーザーへの恩恵

利用者はマウスを使わずにキーボードだけで、これらのメニューやダイアログを正確に操作できるようになる。

関連ドキュメント

v2.1.261(2件)

Fixed
リモートコントロールのセッションで、接続したスマホやブラウザからターンを停止した後、または/clearのようなローカルのスラッシュコマンド実行後も、スピナーが止まらずストップボタンが表示され続ける問題を修正した。
英語原文を表示
Fixed Remote Control sessions showing as still working (stuck spinner and Stop button) after stopping a turn from a connected phone or browser, or after a local slash command like /clear

変更前

リモートコントロールのセッションで、接続したスマホやブラウザからターンを停止した後、またローカルのスラッシュコマンド(/clearなど)を実行した後も、スピナーが回り続け、ストップボタンが表示され続けていた。

変更後

リモートコントロールのセッションで、接続したスマホやブラウザからターンを停止した後、またローカルのスラッシュコマンド(/clearなど)を実行した後でも、スピナーが回り続け、ストップボタンが表示され続ける問題を解消した。

ユーザーへの恩恵

リモートコントロール利用時に、ターンが停止した後もUIが動作中と誤表示されることがなくなり、正しいセッション状態を把握できるようになる。

関連ドキュメント

Fixed
SDK とクラウドセッションで、最初のプロンプトの直後かつターン開始前に送られた Stop (中断) が無視される問題を修正。ターンが最後まで完走せず、正しく停止するようになった。
英語原文を表示
Fixed SDK and cloud sessions ignoring a Stop or interrupt sent just after the first prompt, before the turn had started; the turn now stops instead of running to completion

変更前

SDK とクラウドセッションでは、最初のプロンプト直後・ターン開始前に行われた Stop (中断) 要求が無視されていた。ターンは最後まで実行され続けた。

変更後

SDK とクラウドセッションで、最初のプロンプト送信直後・ターン開始前に行われた Stop (中断) 要求が無視されなくなった。Stop が送られるとターンが確実に停止する。

ユーザーへの恩恵

ユーザーは間違えて送った最初のプロンプトでも、ターンが完了するのを待たずに即座に中断できるようになる。

v2.1.259(2件)

Fixed
リモート制御セッションにおけるバックグラウンドエージェントとワークフローを停止しない問題を修正しました。停止したタスクは、プロセスが終了するまで可視状態で表示され、再停止可能になります。
英語原文を表示
Fixed Stop not actually stopping background agents and workflows in remote-control sessions: killed tasks now stay visible and re-stoppable until their processes exit

変更前

リモート制御セッションでバックグラウンドエージェントやワークフローを停止しようとしても、実際には停止されずプロセスがそのまま実行され続けていました。停止操作を行ってもタスクが消えず、再停止しようとしても反応しない状態でした。

変更後

リモート制御セッションでバックグラウンドエージェントやワークフローを停止した場合、プロセスが終了するまでそのタスクが画面上に表示され、再度停止操作を行うことが可能になりました。停止したタスクは削除されず、プロセス終了まで管理可能な状態になります。

ユーザーへの恩恵

停止したバックグラウンドタスクが画面上に残るため、意図せず実行が継続しているプロセスを確認し、プロセス終了まで再停止操作を行えるようになります。

関連ドキュメント

Fixed
ブロックする Stop フックが、ブロック後のターンでモデルの推論を失う問題を修正しました。一部のモデルではプロンプトキャッシュも見逃す可能性があります。
英語原文を表示
Fixed blocking Stop hooks causing the turn after a block to lose the model's reasoning from that turn and, on some models, miss the prompt cache

変更前

Stop フックがブロックした後のターンでは、モデルの推論が失われることがありました。一部のモデルでは、そのターンのプロンプトキャッシュも正しく利用されないことがありました。

変更後

Stop フックがブロックした後のターンでも、モデルの推論が正しく維持されるようになりました。一部のモデルでは、プロンプトキャッシュも正しく利用されるようになりました。

ユーザーへの恩恵

開発者は Stop フックのブロック後のターンにおいて、モデルの推論内容を正しく維持できるようになります。

関連ドキュメント

v2.1.238(1件)

Fixed
CLI ホストされたセッションで、Remote Control のタスクパネルから「停止」ボタンが機能しない問題を修正しました。
英語原文を表示
Fixed per-task Stop from the Remote Control tasks panel doing nothing on CLI-hosted sessions

v2.1.203(1件)

Fixed
TaskStopおよびTaskOutputツールが、他のエージェントから起動されたエージェントを検出できるように修正しました。
英語原文を表示
Fixed TaskStop and TaskOutput failing to find background agents spawned by another agent — errors now list running agents by id and description

変更前

親エージェント以外が生成したタスクのID取得に失敗することがありました。

変更後

タスクの追跡ロジックを強化し、実行中のエージェントを正確に特定可能にしました。

ユーザーへの恩恵

複雑なサブエージェント構成でもタスク管理ツールが意図通りに動作します。

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