settings.json

hooks.SessionEnd

array

セッションが終了した際に実行されるフック。

使い方・用途

  • 開発セッションの終了時に、後処理スクリプトの実行や作業ログの最終保存、一時的なリソースの解放などを確実に行います。
英語原文(公式ドキュメントより)

Hooks that run when a session ends

関連ドキュメント

関連する変更履歴

v2.1.271(1件)

Improved
フックのフィードバックを改善: SessionStart、UserPromptSubmit、PreToolUse、SessionEnd のいずれかのフック実行中は、スピナーにその旨と経過時間を表示し、Esc で SessionStart フックの完了待ちになっているプロンプトをキャンセルできるようにした。
英語原文を表示
Improved hook feedback: while a SessionStart, UserPromptSubmit, PreToolUse or SessionEnd hook runs, the spinner says so with elapsed time, and Esc cancels a prompt waiting on a SessionStart hook

変更前

フックの実行中は、スピナーにはフック名などが statusMessage で設定されていない限り表示されず、何が実行されているか分かりにくかった。特に SessionStart フックが完了するまでプロンプト送信は待たされ、途中で中断する手段もなかった。

変更後

SessionStart・UserPromptSubmit・PreToolUse・SessionEnd フックの実行中、スピナーにフックが動いていることと経過時間が表示されるようになった。さらに、SessionStart フックの完了待ちで停止しているプロンプトを Esc でキャンセルできるようになった。

ユーザーへの恩恵

どのフックが実行中かと経過時間が分かるようになり、遅い SessionStart フックで待たされた場合も Esc で即座にキャンセルできるようになる。

v2.1.268(1件)

Fixed
CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS を設定しても、フックごとの timeout が未設定の SessionEnd フックが延長されず、1.5 秒後にキャンセルされる問題を修正した。
英語原文を表示
Fixed CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS not extending SessionEnd hooks that have no per-hook timeout (they were still cancelled after 1.5 seconds)

変更前

env var no effect on per-hook unset - per-hook timeout が設定されていない SessionEnd フックは、CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS を設定しても効果がなく、1.5 秒後にキャンセルされていた。

変更後

env var and per-hook timeout - CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS が per-hook timeout 未設定の SessionEnd フックのタイムアウト予算を延長するようになった。

ユーザーへの恩恵

環境変数で SessionEnd フック全体のタイムアウト予算を制御できるようになり、per-hook timeout を個別に設定せずに長時間処理を完走させられる。

関連ドキュメント

v2.1.79(1件)

Fixed
対話的な /resume を使ってセッションを切り替えた際、SessionEnd フックが実行されない問題を修正
英語原文を表示
Fixed SessionEnd hooks not firing when using interactive /resume to switch sessions

変更前

セッションを終了して別のセッションに切り替える際、本来実行されるべき終了時フック (SessionEnd) がスキップされていました。

変更後

セッションの切り替え時にも正しく SessionEnd イベントが発火し、登録されたフックが実行されるようになりました。

ユーザーへの恩恵

セッション終了時のクリーンアップ作業やログ記録などを、どのような切り替え操作を行っても確実に行うことができます。

関連ドキュメント

v2.1.74(1件)

Fixed
終了時の SessionEnd フックが hook.timeout 設定にかかわらず1.5秒で強制終了される問題を修正 — CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS で設定可能に
英語原文を表示
Fixed SessionEnd hooks being killed after 1.5 s on exit regardless of hook.timeout — now configurable via CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS

変更前

セッション終了時に実行したいクリーンアップ処理やログ保存などのフック処理が、設定したタイムアウト時間に達する前に強制的に打ち切られていました。

変更後

環境変数で終了時の待機時間をカスタマイズできるようになり、時間のかかる終了後処理も確実に完了させることができます。

ユーザーへの恩恵

大切な後処理や自動化スクリプトが途中で途切れる心配がなくなり、開発ワークフローの自動化がより堅牢になります。

関連ドキュメント

v2.1.69(1件)

v1.0.112(1件)

Changed
Hooks: Added systemMessage support for SessionEnd hooks

v1.0.85(1件)

Changed
Hooks: Introduced SessionEnd hook