Claude Code Hooks

37件の変更 / 17バージョン

v2.1.64 (7件)

Added
InstructionsLoaded フックイベントを追加しました。CLAUDE.md.claude/rules/*.md ファイルがコンテキストに読み込まれたタイミングで実行されます。
英語原文を表示
Added InstructionsLoaded hook event that fires when CLAUDE.md or .claude/rules/*.md files are loaded into context

変更前

Claude がいつプロジェクト固有のルールを認識したのかをトリガーにして外部スクリプトを実行したり、読み込まれた指示の内容に基づいて動的な処理を行ったりする手段がありませんでした。

変更後

ルールの読み込み完了をフックできるようになったため、特定のルールが適用された際に通知を出したり、関連する依存関係のチェックを自動で行ったりすることが可能になります。

ユーザーへの恩恵

指示ファイル(CLAUDE.md)を中心とした開発ワークフローの自動化が進み、特定のコンテキストに合わせた柔軟な拡張が可能になります。

関連ドキュメント

Added
フックイベントのコンテキスト情報に agent_id(サブエージェント用)と agent_type(サブエージェントおよび --agent 指定時用)を追加しました。
英語原文を表示
Added agent_id (for subagents) and agent_type (for subagents and --agent) to hook events

変更前

フック内で、現在実行中のアクションがメインスレッドによるものか、それとも特定のサブエージェントによるものかを判別して処理を分けることが困難でした。

変更後

フックハンドラーに渡される JSON にエージェントの情報が含まれるようになったため、「このエージェントが実行するときだけは特定の処理をスキップする」といったきめ細やかな制御が可能になりました。

ユーザーへの恩恵

サブエージェントを活用した複雑な自動化において、フックの挙動を意図通りに制御できるようになり、より高度な開発支援環境を構築できます。

関連ドキュメント

Added
ステータスラインのフックコマンドに worktree フィールドを追加しました。--worktree セッション実行時に、名前、パス、ブランチ、元のリポジトリパスが表示可能です。
英語原文を表示
Added worktree field to status line hook commands with name, path, branch, and original repo directory when running in a --worktree session

変更前

Git ワークツリーを使用して並行セッションを実行している際、ステータスバーなどのカスタム表示において、現在のワークツリーに関する詳細情報を表示する直接的な手段がありませんでした。

変更後

ステータスライン構築用の JSON データにワークツリーの詳細が含まれるようになり、現在の作業環境がどのブランチ・どのディレクトリなのかを常に画面下に表示できるようになりました。

ユーザーへの恩恵

複数のワークツリーを使い分けて並行開発を行う際に、自分が今どこで作業しているのかを混同するリスクを大幅に減らせます。

関連ドキュメント

Fixed
対話モードにおいて、長時間セッションでフックイベントが無制限に蓄積されるメモリリークを修正しました。
英語原文を表示
Fixed a memory leak in interactive mode where hook events could accumulate unboundedly during long sessions
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 レスポンス一つで制御可能になりました。

ユーザーへの恩恵

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

関連ドキュメント

Fixed
プラグインによって登録された WorktreeCreate および WorktreeRemove フックが、誤って無視されてしまう問題を修正しました。
英語原文を表示
Fixed WorktreeCreate and WorktreeRemove plugin hooks being silently ignored

関連ドキュメント

Fixed
プラグインや SDK 利用者によって登録された WorktreeCreate フックが無視される問題を修正しました。
英語原文を表示
Fixed WorktreeCreate hooks registered by plugins or SDK consumers being silently ignored

関連ドキュメント

v2.1.63 (2件)

Added
JSONをURLにPOSTし、JSONを受け取ることができるHTTPフックが追加されました。これにより、シェルコマンドの実行に代わる選択肢が増えました。
英語原文を表示
Added HTTP hooks, which can POST JSON to a URL and receive JSON instead of running a shell command

変更前

フックはシェルコマンドとしてしか実行できず、外部APIとの連携に制約がありました。

変更後

HTTPフックにより、指定したURLにJSONデータをPOSTし、JSON形式でレスポンスを受け取ることができるようになりました。

ユーザーへの恩恵

外部APIやWebサービスとの連携が容易になり、より多様な自動化ワークフローを構築できるようになりました。

関連ドキュメント

Fixed
フック設定メニューの移動中に発生していたメモリリークが修正されました。
英語原文を表示
Fixed memory leak when navigating hooks configuration menu

v2.1.55 (1件)

Fixed
Windows 環境で BashTool が EINVAL エラーで失敗する問題を修正しました。
英語原文を表示
Fixed BashTool failing on Windows with EINVAL error

v2.1.51 (1件)

Fixed
ステータスラインと fileSuggestion のフックコマンドが、インタラクティブモードでワークスペースの信頼承認なしに実行できてしまうセキュリティ問題を修正しました。
英語原文を表示
Fixed a security issue where statusLine and fileSuggestion hook commands could execute without workspace trust acceptance in interactive mode.

変更前

ワークスペースの信頼が承認されていない状態でも、statusLinefileSuggestion のフックコマンドが意図せず実行される可能性があり、セキュリティリスクがありました。

変更後

ワークスペースの信頼が承認されていない場合、これらのフックコマンドは実行されなくなりました。

ユーザーへの恩恵

意図しないコマンド実行を防ぎ、ローカル開発環境のセキュリティを強化します。

関連ドキュメント

v2.1.50 (3件)

Added
WorktreeCreateおよびWorktreeRemoveフックイベントが追加され、エージェントのワークツリー分離がワークツリーを作成または削除する際にカスタムVCSのセットアップとティアダウンが可能になりました。
英語原文を表示
Added WorktreeCreate and WorktreeRemove hook events, enabling custom VCS setup and teardown when agent worktree isolation creates or removes worktrees.

変更前

ワークツリーの作成・削除時にカスタムVCSのセットアップ/ティアダウンを行う機能がありませんでした。VCSの初期化やクリーンアップを自動化したい場合に、手動での対応が必要でした。

変更後

ワークツリーの作成・削除時にカスタムVCSのセットアップ/ティアダウンを行えるようになりました。これにより、VCSの初期化やクリーンアップといった定型作業を自動化できます。

ユーザーへの恩恵

VCSのセットアップとティアダウンを自動化することで、開発者はワークツリーのライフサイクル管理にかかる手間を省き、より効率的に開発を進めることができます。

関連ドキュメント

Changed
CLAUDE_CODE_SIMPLEモードでは、MCPツール、アタッチメント、フック、CLAUDE.mdファイルの読み込みも無効になり、完全に最小限の体験を提供します。
英語原文を表示
CLAUDE_CODE_SIMPLE mode now also disables MCP tools, attachments, hooks, and CLAUDE.md file loading for a fully minimal experience.

関連ドキュメント

Fixed
セッションの復旧時に作業ディレクトリにシンボリックリンクが含まれている場合、セッションストレージパスが起動時に異なるタイミングで解決されるためにセッションが見えなくなる問題を修正しました。また、グレーシャルシャットダウンシーケンスで、フックと分析の前にセッションデータをフラッシュすることでSSH切断時のセッションデータ損失も修正しました。
英語原文を表示
Fixed a bug where resumed sessions could be invisible when the working directory involved symlinks, because the session storage path was resolved at different times during startup. Also fixed session data loss on SSH disconnect by flushing session data before hooks and analytics in the graceful shutdown sequence.

変更前

作業ディレクトリにシンボリックリンクが含まれる場合、セッションの復旧時に表示されないことがありました。SSH接続中にセッションデータが失われる可能性もありました。

変更後

シンボリックリンクが含まれる作業ディレクトリでもセッションが正しく表示されるようになり、SSH切断時にもセッションデータが失われなくなりました。

ユーザーへの恩恵

セッションの可視性と信頼性が向上し、開発者は中断した作業を確実に再開できるようになります。データ損失のリスクも軽減され、安心して利用できます。

関連ドキュメント

v2.1.49 (2件)

Added
セッション中に設定ファイルが変更された際に発火するConfigChangeフックイベントが追加されました。これにより、エンタープライズレベルでのセキュリティ監査や設定変更のブロックが可能になります。
英語原文を表示
Added ConfigChange hook event that fires when configuration files change during a session, enabling enterprise security auditing and optional blocking of settings changes.

変更前

これまでは、Claude Codeのセッション中に設定ファイル(settings.jsonやスキルファイルなど)が外部から変更されても、それを自動的に検知して対応する仕組みがありませんでした。これにより、セキュリティポリシーの監査や、意図しない設定変更を防ぐことが困難でした。

変更後

新しく追加されたConfigChangeフックイベントは、設定ファイルがセッション中に変更されるとトリガーされます。このイベントを利用することで、企業は設定ファイルの変更をリアルタイムで監視し、監査ログに記録したり、特定の変更をブロックしたりするカスタムフックを実装できるようになります。

ユーザーへの恩恵

企業はClaude Codeのセキュリティとコンプライアンスをより厳密に管理できるようになります。設定変更が追跡可能になり、承認されていない変更を自動的に防ぐことで、開発環境の安全性が向上し、管理者は安心してClaude Codeを導入・運用できます。

関連ドキュメント

Fixed
disableAllHooks設定が管理対象設定の階層を尊重するように修正されました。非管理対象設定では、ポリシーによって設定された管理対象フックを無効化できなくなりました。(#26637)
英語原文を表示
Fixed disableAllHooks setting to respect managed settings hierarchy — non-managed settings can no longer disable managed hooks set by policy (#26637)

変更前

以前は、ユーザーやプロジェクトの設定でdisableAllHooks: trueを設定すると、組織のポリシーによって管理対象として設定された重要なフックも無効化されてしまう可能性がありました。これにより、意図せずセキュリティやコンプライアンスに関わるフックが無効化され、ポリシーの一貫性が損なわれるリスクがありました。

変更後

今回の修正により、disableAllHooks設定が管理対象設定の階層を正しく尊重するようになりました。具体的には、ユーザーやプロジェクトレベルの設定でdisableAllHookstrueにしても、管理者によって設定された管理対象(マネージド)フックは無効化されなくなります。これにより、ポリシーによるフックの強制力が高まります。

ユーザーへの恩恵

エンタープライズ環境でClaude Codeを利用する管理者は、組織のセキュリティポリシーやワークフローに必要なフックが常に有効であることを保証できるようになります。ユーザーが誤って重要なフックを無効化する心配がなくなり、より安全で統制の取れた開発環境を維持できます。

関連ドキュメント

v2.1.47 (3件)

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 フィールドが追加されました。これにより、フックはトランスクリプトファイルを解析することなく、アシスタントの最終応答テキストに直接アクセスできます。

ユーザーへの恩恵

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

関連ドキュメント

Improved
SessionStartフックの実行を遅延させることで、起動パフォーマンスを改善し、インタラクティブになるまでの時間を約500ミリ秒短縮しました。
英語原文を表示
Improved startup performance by deferring SessionStart hook execution, reducing time-to-interactive by ~500ms.

変更前

Claude Codeの起動時、SessionStartフックが即座に実行されるため、初期化に時間がかかり、ユーザーが操作可能になるまでの時間が長くなっていました。

変更後

Claude Codeの起動パフォーマンスが改善されました。SessionStartフックの実行が遅延されるようになり、ユーザーが操作可能になるまでの時間が約500ミリ秒短縮されました。

ユーザーへの恩恵

Claude Codeの起動が速くなり、開発者はすぐに作業を開始できるようになりました。これにより、開発サイクルの初期段階での待ち時間が減り、生産性が向上します。

Fixed
WindowsでGit Bashではなくcmd.exeを使用していたため、フック(PreToolUse、PostToolUse)がサイレントに実行に失敗する問題を修正しました(anthropics/claude-code#25981)。
英語原文を表示
Fixed hooks (PreToolUse, PostToolUse) silently failing to execute on Windows by using Git Bash instead of cmd.exe (anthropics/claude-code#25981)

変更前

Windows環境では、cmd.exeが使用されていたため、フック(PreToolUse、PostToolUse)がサイレントに失敗し、実行されない問題がありました。

変更後

Windows環境でhooks(PreToolUse、PostToolUse)がサイレントに失敗する問題が修正されました。Git Bashが使用されるようになり、フックが正しく実行されるようになりました。

ユーザーへの恩恵

Windows環境でのフック実行が安定し、Git Bashの利用によりPreToolUseやPostToolUseといった重要な自動化処理が正しく機能するようになりました。

v2.1.45 (1件)

Fixed
プラグイン提供のコマンド、エージェント、フックが、再起動なしでインストール直後から利用可能になりました。
英語原文を表示
Fixed plugin-provided commands, agents, and hooks not being available immediately after installation without requiring a restart

変更前

プラグインをインストールしても、そのプラグインが提供するコマンド、エージェント、フックがすぐに利用できず、Claude Code の再起動が必要でした。

変更後

プラグインのインストール後、再起動することなく、提供されたコマンド、エージェント、フックが即座に利用可能になりました。

ユーザーへの恩恵

プラグインの追加や更新がよりスムーズになり、開発者はツールのセットアップ時間を短縮して、すぐに作業を開始できます。

v2.1.41 (2件)

Fixed
フックブロックエラー(終了コード2)が発生した際に、stderrがユーザーに表示されない問題を修正しました。
英語原文を表示
Fixed hook blocking errors (exit code 2) not showing stderr to the user
Fixed
フックのブロックエラー発生時に、UIにstderrの内容が表示されない問題を修正しました。
英語原文を表示
Fixed hook blocking errors showing stderr content in UI

変更前

フックがブロックされた際に発生するエラーで、エラー出力(stderr)の内容がユーザーインターフェースに適切に表示されないことがありました。これにより、何が原因でフックがブロックされたのか、詳細な情報が確認できず、問題解決が困難でした。

変更後

フックがブロックされた際のエラー通知に、stderr(標準エラー出力)の内容が含まれてUIに表示されるようになりました。これにより、エラーの具体的な原因を開発者がより詳細に把握し、迅速なトラブルシューティングが可能になります。

ユーザーへの恩恵

フックがブロックされた際、エラーの原因がUIで明確に表示されるようになるため、問題の診断と修正が大幅に効率化されます。これにより、フックベースの自動化ワークフローの信頼性が向上し、開発者のデバッグ作業が軽減されます。

v2.1.33 (1件)

Added
マルチエージェントワークフロー向けに、TeammateIdleTaskCompletedのフックイベントが追加されました。
英語原文を表示
Added TeammateIdle and TaskCompleted hook events for multi-agent workflows

変更前

以前は、エージェントチームのメンバーがアイドル状態になる前や、タスクが完了とマークされる前に、カスタムロジックを挿入してワークフローを制御する仕組みがありませんでした。これにより、特定の条件下でチームメイトの作業を継続させたり、タスクの完了を阻止してフィードバックを提供したりするなどの、高度なワークフローの自動化が困難でした。

変更後

TeammateIdleTaskCompletedフックイベントが追加されたことで、エージェントチームのメンバーがアイドル状態になる直前や、タスクが完了とマークされる直前に、カスタムスクリプトやHTTPエンドポイントを実行できるようになりました。これにより、例えば、チームメイトがアイドル状態になるのを防ぎ作業を継続させたり、特定の条件が満たされない限りタスクの完了を阻止して詳細なフィードバックを要求したりすることが可能になります。

ユーザーへの恩恵

これらの新しいフックイベントにより、マルチエージェントワークフローの自動化と制御が大幅に強化されます。チームメイトの振る舞いやタスクの完了プロセスをより細かくカスタマイズできるため、複雑なプロジェクト管理や品質保証のシナリオにおいて、より堅牢でインテリジェントなエージェントチームを構築できます。これにより、開発者はワークフローの柔軟性が向上し、生産性が高まることを実感できます。

関連ドキュメント

v2.1.23 (1件)

Fixed
ヘッドレスストリーミングセッションが終了した際に保留中の非同期フックがキャンセルされない問題が修正されました。
英語原文を表示
Fixed pending async hooks not being cancelled when headless streaming sessions ended

v2.1.19 (1件)

Fixed
バックグラウンドで実行されたフックコマンドが即座に終了を返さず、意図的なバックグラウンド処理の完了をセッションが待機し続けてしまう問題を修正しました。
英語原文を表示
Fixed backgrounded hook commands not returning early, potentially causing the session to wait on a process that was intentionally backgrounded

v2.1.10 (1件)

Added
リポジトリのセットアップやメンテナンス操作のための、--init、--init-only、または--maintenanceフラグから呼び出し可能な新しい Setup フックイベントを追加しました。
英語原文を表示
Added new Setup hook event that can be triggered via --init, --init-only, or --maintenance CLI flags for repository setup and maintenance operations

関連ドキュメント

v2.1.9 (1件)

Added
PreToolUse フックがモデルに追加のコンテキストを返すサポートを追加しました。
英語原文を表示
Added support for PreToolUse hooks to return additionalContext to the model

変更前

ツール実行前のPreToolUseフックは、モデルに渡す追加情報を提供できませんでした。

変更後

PreToolUseフックは、ツールの実行前にモデルにadditionalContextとして追加情報を提供できるようになりました。

ユーザーへの恩恵

これにより、フックはツールの実行前にモデルに追加のコンテキストを提供できるようになり、よりインテリジェントな意思決定や、フックによるツール実行の制御が可能になります。

関連ドキュメント

v2.1.3 (2件)

Changed
ツール実行のフックタイムアウトを 60 秒から 10 分に変更しました。
英語原文を表示
Changed tool hook execution timeout from 60 seconds to 10 minutes
Fixed
ホームディレクトリから実行した場合に、トラストダイアログの承認によってセッション中にフックなどの信頼が必要な機能が有効にならない問題を修正しました。
英語原文を表示
Fixed trust dialog acceptance when running from the home directory not enabling trust-requiring features like hooks during the session

v2.1.2 (1件)

Added
SessionStart フックの入力に agent_type を追加し、--agent 指定時にその値を格納するように変更
英語原文を表示
Added agent_type to SessionStart hook input, populated if --agent is specified

変更前

フックの実行時にどのエージェントが使用されているかの情報が不足しており、特定のカスタムエージェントが起動した際に連動した処理を行うことが困難でした。

変更後

SessionStart イベントの JSON コンテキストに agent_type フィールドが含まれるようになり、--agent フラグで指定されたエージェント名をフック内で識別できるようになります。

ユーザーへの恩恵

カスタムエージェントの種類に応じた初期化処理や環境設定をフックで自動化できるようになり、ワークフローの柔軟性が向上します。

関連ドキュメント

v2.1.0 (7件)

Added
エージェントのフロントマターでフック設定が可能になり、エージェントの生存期間に限定したフックを定義できるようになりました。
英語原文を表示
Added hooks support to agent frontmatter, allowing agents to define PreToolUse, PostToolUse, and Stop hooks scoped to the agent's lifecycle
Added
スキルおよびスラッシュコマンドのフロントマターでフック設定をサポートしました。
英語原文を表示
Added hooks support for skill and slash command frontmatter
Added
フック設定に once: true を追加し、セッション内で一度だけ実行して削除されるフックを定義できるようになりました。
英語原文を表示
Added support for once: true config for hooks

変更前

セッション開始時の環境構築など、一度だけ実行すれば十分なタスクをフックで行う際、その後も条件に合うたびに繰り返し実行されてしまうのを防ぐのが困難でした。

変更後

初回実行後に自動で無効化されるフックを簡単に設定できるようになりました。

ユーザーへの恩恵

セットアップ処理や初回限定の通知などを、無駄な繰り返しを避けてスマートに自動化できます。

関連ドキュメント

Added
プラグインからのフックで、コマンド形式に加えてプロンプト形式およびエージェント形式をサポートしました。
英語原文を表示
Added support for prompt and agent hook types from plugins (previously only command hooks were supported)
Fixed
PreToolUse フックで、ユーザーへの確認(ask)を返しつつ入力を書き換える(updatedInput)ことが可能になり、ユーザーの同意を得ながら動作するミドルウェアとしてフックを利用できるようになりました。
英語原文を表示
Fixed PreToolUse hooks to allow updatedInput when returning ask permission decision, enabling hooks to act as middleware while still requesting user consent

変更前

フックでツール入力を変更した場合、即座に実行を許可(allow)するか拒否(deny)するかの二択になり、変更後の内容をユーザーに確認させることができませんでした。

変更後

安全のために特定の引数を修正しつつ、「この内容で実行して良いですか?」というプロンプトをユーザーに表示する高度な制御が可能になりました。

ユーザーへの恩恵

不適切なコマンド引数を自動補正しながら最終判断は人間に委ねるという、安全性と柔軟性を両立した高度なガードレールを構築できます。

関連ドキュメント

Fixed
/hooks メニューにおいて、スクロール中に誤ったフックタイプが選択されてしまう UI の不具合を修正しました。
英語原文を表示
Fixed /hooks menu selecting wrong hook type when scrolling to a different option

変更前

フックの設定を対話形式で行う際、選択項目のスクロール操作が原因で意図しない設定が適用されてしまうことがありました。

変更後

リストの選択挙動が安定し、意図した通りのイベントやアクションを正確に設定できるようになりました。

ユーザーへの恩恵

複雑なフックの構成を、CLI 上でミスなく直感的に行えるようになります。

Fixed
出力がないフックの成功メッセージに、不要なコロンが表示される問題を修正しました。
英語原文を表示
Fixed hook success message showing trailing colon when hook has no output