英語原文を表示
"fork" when a session begins as a fork instead of "resume"変更前
フォークされたセッションも復帰(resume)として記録され、イベントの発生源が区別できていませんでした。
変更後
フォーク実行による開始であることを明確に判別できるようになりました。
ユーザーへの恩恵
ログやイベント監視において、セッションの発生経緯が正確に特定できます。
新しいセッションが開始された際に実行されるフック。
Hooks that run when a new session starts
"fork" when a session begins as a fork instead of "resume"変更前
フォークされたセッションも復帰(resume)として記録され、イベントの発生源が区別できていませんでした。
変更後
フォーク実行による開始であることを明確に判別できるようになりました。
ユーザーへの恩恵
ログやイベント監視において、セッションの発生経緯が正確に特定できます。
変更前
CI環境などのヘッドレスセッションでSessionStartフックを実行する際、イベントが適切にストリーミングされませんでした。そのため、長時間かかるフック処理の途中でリモートワーカーが「通信なし」と判定され、処理が完了する前に接続が切断されることがありました。
変更後
SessionStartフックの実行中もイベントが正しくストリーミングされるようになり、アクティブな状態が維持されます。
ユーザーへの恩恵
自動化されたワークフローやCI/CDパイプラインにおいて、初期化フックが途中でタイムアウトしたり中断されたりする心配がなくなり、大規模なプロジェクトのセットアップを安定して行えるようになります。
SessionStart, Setup, and SubagentStart hooks silently hiding stderr when exiting with code 2 — the error is now shown in the transcript変更前
フック処理でエラーが発生してもその詳細が隠蔽され、何が原因で失敗したのかを確認できませんでした。
変更後
エラー内容がトランスクリプト上に明示されるようになり、デバッグが容易になりました。
ユーザーへの恩恵
フックの設定やスクリプトに問題がある場合でも、迅速に原因を把握して修正できます。
SessionStart フックが reloadSkills: true を返せるようになり、フックによってインストールされたスキルを同じセッションですぐに利用可能になりました。SessionStart hooks can now return reloadSkills: true to re-scan skill directories, making skills installed by the hook available in the same session変更前
セッション開始時のフックで新しいスキルをセットアップしても、モデルがそれらを認識するのは次のセッションからになるというタイムラグがありました。
変更後
フックの実行完了と同時にスキルの再読み込みが行われるため、動的に追加されたコマンドも初回から即座に使用可能になります。
ユーザーへの恩恵
環境構築スクリプトなどをフックに組み込んだ際、自動セットアップされたツールをすぐに Claude に使わせることができます。
SessionStart フックが hookSpecificOutput.sessionTitle を通じて、起動時やレジューム時のセッションタイトルを設定できるようになりました。SessionStart hooks can now set the session title via hookSpecificOutput.sessionTitle on startup and resume変更前
セッションのタイトルは自動生成されるか手動で変更する必要があり、フックの処理結果に基づいた動的な命名はできませんでした。
変更後
フックが特定のブランチ名やタスク内容に基づいてセッションタイトルを決定し、/resume 一覧やターミナルのタイトルに反映させることができます。
ユーザーへの恩恵
多数のバックグラウンドセッションを並行して実行している場合でも、各セッションの目的を識別しやすくなります。
SessionStart/Setup/SubagentStart now shows a clear "use a command-type hook instead" error変更前
SessionStart などのイベントにプロンプト型やエージェント型のフックを誤って設定した際、原因の分かりにくいエラーが発生していました。
変更後
「代わりにコマンド型(command-type)フックを使用してください」という明確な解決策を提示するメッセージが表示されるようになりました。
ユーザーへの恩恵
フック機能の高度なカスタマイズを行う際に、設定ミスを迅速に自己解決できるようになります。
CLAUDE_ENV_FILE を利用した SessionStart フックによる環境変数が、セッション再開やクリア後に無効になる問題を修正しました。CLAUDE_ENV_FILE SessionStart hooks going stale after /resume or /clear変更前
セッションを跨いで環境変数を維持するための仕組みが、リセットや再開コマンドによって上書き・消失してしまい、都度手動での再設定が必要でした。
変更後
環境変数の永続化管理が修正され、セッションの再開やリセットを行ってもフックで設定した環境が正しく維持されるようになりました。
ユーザーへの恩恵
ツール実行に必要な環境変数を一度設定すれば、セッションの状態が変わっても一貫して使い続けることができます。
CLAUDE_ENV_FILE および SessionStart フックで生成された環境変数が正しく適用されるようになりました。CLAUDE_ENV_FILE and SessionStart hook environment files now apply (previously a no-op)変更前
Windows環境ではこれらが機能しておらず、仮想環境の自動有効化やカスタム環境変数の永続化が動作していませんでした。
変更後
Linux/macOSと同様の動作がサポートされ、フックを利用した高度なワークフロー構築が可能になりました。
ユーザーへの恩恵
Windows開発者も、プロジェクト開始時にPythonの仮想環境を自動でアクティベートするといった効率化の恩恵を受けられます。
SessionStart フックが2回重複して実行される問題を修正--resume or --continue変更前
--resume や --continue を使用すると、初期化スクリプトが必要以上に実行され、セットアップ時間が無駄にかかっていました。
変更後
再開時のライフサイクルイベントが適切に整理され、フックは期待通り1回のみ実行されるようになりました。
ユーザーへの恩恵
セッション開始時の待ち時間が短縮され、プロジェクト固有の環境構築がより正確に行われます。
変更前
Claude Codeの起動時、SessionStartフックが即座に実行されるため、初期化に時間がかかり、ユーザーが操作可能になるまでの時間が長くなっていました。
変更後
Claude Codeの起動パフォーマンスが改善されました。SessionStartフックの実行が遅延されるようになり、ユーザーが操作可能になるまでの時間が約500ミリ秒短縮されました。
ユーザーへの恩恵
Claude Codeの起動が速くなり、開発者はすぐに作業を開始できるようになりました。これにより、開発サイクルの初期段階での待ち時間が減り、生産性が向上します。
agent_type to SessionStart hook input, populated if --agent is specified変更前
フックの実行時にどのエージェントが使用されているかの情報が不足しており、特定のカスタムエージェントが起動した際に連動した処理を行うことが困難でした。
変更後
SessionStart イベントの JSON コンテキストに agent_type フィールドが含まれるようになり、--agent フラグで指定されたエージェント名をフック内で識別できるようになります。
ユーザーへの恩恵
カスタムエージェントの種類に応じた初期化処理や環境設定をフックで自動化できるようになり、ワークフローの柔軟性が向上します。