settings.json

strictPluginOnlyCustomization.hooks

string記述場所管理者設定のみ

ユーザー、プロジェクト、ローカルの settings.json からフックを実行を停止し、プラグイン フックと管理設定のフックは引き続き実行します。

既定値: not locked

記述例

{
  "strictPluginOnlyCustomization": ["hooks"]
}

使い方・用途

  • デフォルト値はロックされていません
  • 管理設定でのみ利用可能
  • フックはファイル間でマージされ、管理設定のフックは他のファイルから削除できません
  • デフォルトではフックは実行されません
英語原文(公式ドキュメントより)

Lock the hooks surface. Claude Code stops running hooks from user, project, and local settings.json, and keeps running plugin hooks and hooks in managed settings.

関連する変更履歴

v2.1.277(1件)

Fixed
[VSCode] 「一般設定」メニュー行が設定パネルを開かずに /config の使用方法テキストを表示する問題を修正し、入力した /mcp/hooks/memory/rewind などの類似コマンドがそれぞれのダイアログを開くようにした。
英語原文を表示
[VSCode] Fixed the "General config" menu row showing /config usage text instead of opening settings, and made typed /mcp, /hooks, /memory, /rewind and similar commands open their dialogs

変更前

「一般設定」の行をクリックすると設定パネルの代わりに /config の説明文が表示され、/mcp/hooks などのコマンドを入力しても対応するダイアログが開かない。

変更後

「一般設定」の行をクリックすると設定パネルが開き、/mcp/hooks/memory/rewind などのコマンドを入力すると対応するダイアログが表示される。

ユーザーへの恩恵

クリックやコマンド入力が意図した UI に直結するため、設定や MCP・Hooks などの管理がスムーズになる。

関連ドキュメント

v2.1.275(2件)

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

関連ドキュメント

Fixed
サンドボックス化された Bash コマンドが、hooks/config/ という名前のプロジェクトディレクトリに書き込めない問題を修正しました。
英語原文を表示
Fixed sandboxed Bash commands being unable to write to project directories named hooks/ or config/

変更前

サンドボックス化された Bash コマンドは、保護されたパスとして扱われるため、プロジェクトディレクトリ内に hooks/config/ という名前のディレクトリが存在する場合、それらへの書き込みが拒否されていました。

変更後

サンドボックス化された Bash コマンドが、プロジェクトディレクトリ内の hooks/config/ という名前のディレクトリにも書き込めるようになりました。

ユーザーへの恩恵

ユーザーはサンドボックス環境でも、hooks/config/ ディレクトリへの書き込みを必要とするビルドやツールの実行が問題なく行えるようになります。

v2.1.274(2件)

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 文字までのラベルで条件の名前を付して示すようになった。

ユーザーへの恩恵

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

関連ドキュメント

Fixed
hooks/hooks.json のトップレベルに $schema を持つプラグインで unknown key の通知が表示される問題を修正した。
英語原文を表示
Fixed plugins with a top-level $schema in hooks/hooks.json showing an "unknown key" notice

変更前

プラグインの hooks/hooks.json のトップレベルに $schema を書くと、ドキュメントに記載のないキーとして unknown key の警告が出ていた。

変更後

hooks/hooks.json のトップレベルに $schema を書いても unknown key の警告が出ず、スキーマ参照をそのまま残せる。

ユーザーへの恩恵

hooks.json にエディタ補完用の $schema をそのまま置けるようになり、警告を気にせずスキーマ検証を活用できる。

関連ドキュメント

v2.1.273(1件)

Fixed
「Running PreCompact hooks…」のようなコンパクション状態のステータス行で、スピナーの省略記号が二重(「……」)に表示される問題を修正した。
英語原文を表示
Fixed the spinner showing a doubled ellipsis ("……") on compaction status lines such as "Running PreCompact hooks…"

変更前

コンパクション中のステータス表示(例:「Running PreCompact hooks…」)で、文末の「…」が二重に表示され「……」のように見えていた。

変更後

コンパクション実行中のステータス行(例:「Running PreCompact hooks…」)で、文末の三点リーダーが重複して「……」と表示されていた。この修正により、省略記号が1つだけ正しく表示されるようになった。

ユーザーへの恩恵

ユーザーはコンパクション実行中に余計な記号のない整ったステータス表示を見られるようになる。

v2.1.271(1件)

Fixed
__proto__ や constructor などの継承されたオブジェクトプロパティと同名のフックマッチャーが設定されている場合に、インタラクティブな /hooks メニューがクラッシュする問題を修正した。
英語原文を表示
Fixed the interactive /hooks menu crashing when a hook matcher is named after an inherited object property such as __proto__ or constructor

変更前

継承されたオブジェクトのプロパティと同名のマッチャー(例: __proto__ や constructor)が設定された状態でインタラクティブな /hooks メニューを開くと、クラッシュしていた。これらの名前は JavaScript オブジェクトのプロトタイプチェーンに存在するため、通常のオブジェクト操作と衝突していた。

変更後

/hooks メニューを開いて __proto__ や constructor といった名前のマッチャーを選択しても、クラッシュせずにフックの詳細が表示される。

ユーザーへの恩恵

__proto__ や constructor といった名前のマッチャーでもクラッシュせずに /hooks メニューでフック設定を確認できるようになる。

関連ドキュメント

v2.1.269(1件)

Added
[VSCode] ユーザー・プロジェクト・ローカル設定のフックを表示・追加・編集・削除できる Hooks ダイアログをコマンドメニューに追加した。管理対象・プラグイン・セッションのフックは読み取り専用のまま。
英語原文を表示
[VSCode] Added a Hooks dialog to the command menu for viewing hooks and adding, editing, or removing them in user, project, and local settings; managed, plugin, and session hooks stay read-only

変更前

コマンドメニューからは /hooks で読み取り専用の閲覧しかできず、追加・編集・削除は設定ファイルを手作業で編集する必要があった。

変更後

スラッシュコマンドの /hooks メニューは設定済みのフックを閲覧できるだけで、変更は settings.json を直接編集する必要があった。

ユーザーへの恩恵

コマンドメニューからフックを直接管理できるようになり、設定ファイルを手作業で編集する手間がなくなる。

関連ドキュメント

v2.1.268(3件)

Fixed
--print モードで PermissionRequest hooks が発火しない問題を修正した。
英語原文を表示
Fixed PermissionRequest hooks not firing in --print mode

変更前

--print モードでは、PermissionRequest hooks が発火せず、権限確認のタイミングで hooks を実行できなかった。

変更後

--print モードであっても、PermissionRequest hooks が権限確認のタイミングで正しく発火するようになった。

ユーザーへの恩恵

ヘッドレス実行中も hooks による権限の自動許可・拒否が機能し、自動化処理を安全に制御できるようになる。

関連ドキュメント

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 を個別に設定せずに長時間処理を完走させられる。

関連ドキュメント

Improved
--continue / --resume の改善: SessionStart フックの完了を待たずに会話が即座に表示されるようになり、最初のメッセージでトランスクリプト全体を再読み込みしなくなった
英語原文を表示
Improved --continue / --resume: the conversation appears immediately instead of waiting for SessionStart hooks, and the first message no longer re-reads the whole transcript

変更前

--continue / --resume で再開する際、SessionStart フックが完了するまで会話が表示されず、最初のメッセージ送信時にトランスクリプト全体を再処理して読み込み直していた。

変更後

セッション開始フックの完了を待たずに会話が即座に表示されるようになり、最初のメッセージ送信時にトランスクリプト全体を再読み込みしなくなる。

ユーザーへの恩恵

再開直後にすぐ会話を確認できるため、待ち時間が減り、最初のメッセージの応答が速くなる。

関連ドキュメント

v2.1.265(1件)

Fixed
リモートコントロールから /clear を実行した際、SessionStart フックの完了やターミナル上で開いているダイアログへの対応を待たずに処理を完了するよう修正した。
英語原文を表示
Fixed /clear from Remote Control waiting on SessionStart hooks and on open terminal dialogs before completing

変更前

リモートコントロールから /clear を実行すると、SessionStart フックの完了やターミナル上で開いているダイアログへの応答を待つ間、クリア処理が完了せずにブロックされていた。

変更後

リモートコントロールから /clear を実行すると、SessionStart フックの完了やターミナル上の未応答ダイアログの解消を待たずに、クリア処理が即座に完了する。

ユーザーへの恩恵

リモートコントロール利用時に、フックの完了やダイアログへの対応を待たずにセッションを即座にクリアできるようになる。

関連ドキュメント

v2.1.260(1件)

Changed
サーバー管理設定を変更し、管理対象の CLAUDE.md(claudeMd)がセキュリティ承認ダイアログをトリガーしないようにしました。フック、シェルコマンド、サンドボックス、安全でない env 設定については引き続き承認が必要です。
英語原文を表示
Changed server-managed settings so a managed CLAUDE.md (claudeMd) no longer triggers the security approval dialog; hooks, shell-command, sandbox, and unsafe env settings still require approval

変更前

サーバー管理設定で配信される CLAUDE.md(claudeMd)を適用する際、セキュリティ承認ダイアログが表示され、ユーザーの承認が必要だった。

変更後

サーバー管理設定で配信される CLAUDE.md(claudeMd)は、セキュリティ承認ダイアログを表示せずに適用される。

ユーザーへの恩恵

管理者が配信した CLAUDE.md の内容をユーザーが承認なしですぐに受け取れるようになる。

v2.1.259(1件)

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.257(1件)

Fixed
シンボリックリンクを介して宣言されたコマンド、エージェント、スキル、フック、またはその他のコンポーネントパスを通じて、プラグインが自身のディレクトリ外のファイルを読み取れる問題を修正しました。そのようなパスはエラーで拒否されるようになりました。
英語原文を表示
Fixed plugins being able to read files outside their own directory through a declared command, agent, skill, hooks or other component path that is a symlink; such paths are now refused with an error

変更前

プラグインは宣言されたコマンドやスキルなどのパスを通じて、自身のディレクトリ外のファイルにアクセスできていました。特にシンボリックリンクを経由するパスでは、意図せず外部のファイルシステムにアクセスしてしまう可能性がありました。

変更後

プラグインが宣言したコマンドやスキルなどのパスを通じて、自身のディレクトリ外のファイルにアクセスできなくなりました。シンボリックリンクを含むパスは、セキュリティ上の理由からエラーとして拒否されます。

ユーザーへの恩恵

プラグインが意図せず外部のファイルシステムにアクセスするリスクが排除され、プラグインの隔離性とセキュリティが向上します。

関連ドキュメント

v2.1.251(1件)

Added
モデルの切り替えをブロック、確認、または注釈する PreModelSwitchPostModelSwitch フックイベントを追加しました。SessionStart の再開フックは、セッションの古さと再キャッシュの推定コストを受け取るようになりました。
英語原文を表示
Added PreModelSwitch and PostModelSwitch hook events (block, confirm, or annotate a model switch); SessionStart resume hooks now receive session staleness and the estimated re-cache cost

変更前

以前はモデル切り替えのフックイベントが存在しませんでした。セッション再開時のフックは、セッションの状態やコストに関する情報を取得できませんでした。

変更後

モデル切り替えの前後でフックイベントが発火し、セッションの状態やコスト情報を取得できるようになりました。これにより、セッションの再開時のフックがセッションの古さと再キャッシュコストを正確に把握できるようになります。

ユーザーへの恩恵

開発者はセッションの状態に基づいてモデル切り替えを制御できるようになり、コストを最適化できます。

v2.1.248(1件)

Fixed
フックが stdout に出力した {…} オブジェクトが有効な JSON でない場合、それを平文として黙って扱っていた問題を修正しました。パースエラーメッセージ付きでフックエラーとして報告されるようになりました。
英語原文を表示
Fixed hooks silently treating a stdout {…} object that isn't valid JSON as plain text; it's now reported as a hook error with the parse message

変更前

フックが stdout に JSON ではないオブジェクトを出力した場合、Claude Code はそれを平文として扱い、パースエラーを報告しませんでした。これにより、フックの設定ミスが見逃されることがありました。

変更後

フックが無効な JSON を出力した場合、パースエラーメッセージと共にフックエラーとして報告されるようになりました。これにより、フックの問題をデバッグしやすくなりました。

ユーザーへの恩恵

フックの設定ミスを即座に検知し、修正できるようになります。

関連ドキュメント

v2.1.246(1件)

Improved
Commands
/cd の改善: 移動後の新しいディレクトリのプロジェクト設定、フック、.mcp.json サーバー(通常の承認プロンプトの後)、スキル、エージェントが、--resume を実行するのではなく、移動直後に有効になるようになりました。
英語原文を表示
Improved /cd: the new directory's project settings, hooks, .mcp.json servers (behind the usual approval prompt), skills, and agents now take effect right after the move instead of on --resume

変更前

移動後の新しいディレクトリのプロジェクト設定、フック、.mcp.json サーバー、スキル、エージェントは、--resume を実行した後にのみ有効になっていました。

変更後

移動後の新しいディレクトリのプロジェクト設定、フック、.mcp.json サーバー、スキル、エージェントが、移動直後に有効になるように変更されました。

ユーザーへの恩恵

ディレクトリを移動した後、すぐに新しい設定やスキルが適用されるため、作業の継続がスムーズになります。

v2.1.239(1件)

Fixed
セッションの作業ディレクトリが途中で削除された後にフックが "posix_spawn ENOENT" エラーでクラッシュする問題を修正し、プロジェクトルートまたはプロジェクトホームディレクトリからフックを実行するように変更しました。
英語原文を表示
Fixed hooks failing with "posix_spawn ENOENT" after the session's working directory was deleted; they now run from the project root or home directory instead

v2.1.233(1件)

Fixed
Claude Desktop または VS Code 上で実行している際に、権限確認プロンプトに対する通知フックが起動しない不具合を修正しました。
英語原文を表示
Fixed Notification hooks not firing for permission prompts when running under Claude Desktop or VS Code

変更前

Claude Desktop や VS Code の統合ターミナルなどの特定の環境で動かしている際、Claude がユーザーのコマンド承認を求めて停止していても、Notification フックによるデスクトップ通知やサウンドが正常に鳴らず、放置に気づけない不具合がありました。

変更後

これらの環境で実行している場合でも権限要求のイベントが正しくフックされ、デスクトップ通知やカスタムコマンドが確実にトリガーされるようになります。

ユーザーへの恩恵

権限の承認待ちが発生した際に他の作業をしていても、通知音などで即座に気づいてターミナルに戻ることができます。

関連ドキュメント

v2.1.222(1件)

Fixed
バックグラウンドエージェントタスク(要約、圧縮、リネーム処理など)において、PreToolUse自動承認フックがツール制限をバイパスして動作してしまう問題を修正しました。
英語原文を表示
Fixed PreToolUse auto-allow hooks bypassing tool restrictions in background agent tasks (summaries, compaction, renames)

v2.1.218(1件)

Fixed
未信頼フォルダーからのエージェントフック実行を禁止し、ワークスペースの信頼が必要となりました。
英語原文を表示
Fixed agent frontmatter hooks running from untrusted folders: hooks now require the agent file's own folder to have accepted workspace trust

変更前

信頼されていない場所からでもフックスクリプトが実行され、セキュリティ上のリスクがありました。

変更後

ワークスペースの信頼確認を経てからフックが許可されるようになり、安全性が高まりました。

ユーザーへの恩恵

外部からダウンロードしたプロジェクト等で未知のコードが勝手に実行されるのを防げます。

関連ドキュメント

v2.1.216(1件)

Fixed
ファイル変更フック後の @-mention が何も添付しない問題、vim のドットリピートによる操作の誤作動、再開時のステータスライン重複、再開ピッカーのハングアップを修正しました。
英語原文を表示
Fixed @-mentions silently attaching nothing after file-modifying hooks, vim dot-repeat of c-operators and paste, statusline running twice on resume, and resume-picker hangs on failure

v2.1.214(2件)

Fixed
フックのstdout JSONがスキーマバリデーションに失敗した場合に、終了コード2が適切にブロックとして動作しなかった問題を修正しました。
英語原文を表示
Fixed hooks with exit code 2 not blocking as documented when the hook's stdout JSON fails schema validation

変更前

フックが JSON を返したがバリデーションエラーになった場合、ブロックするはずの動作がスキップされていました。

変更後

JSON の解析に失敗した場合でも、確実にブロック動作を適用するように修正しました。

ユーザーへの恩恵

フックによる権限ポリシーの強制力が、出力形式に関わらず維持されます。

関連ドキュメント

Changed
SessionStart フックにおいて、セッションがフォークで開始された場合、ソースを resume ではなく fork と報告するように変更しました。
英語原文を表示
Changed SessionStart hooks to report source "fork" when a session begins as a fork instead of "resume"

変更前

フォークされたセッションも復帰(resume)として記録され、イベントの発生源が区別できていませんでした。

変更後

フォーク実行による開始であることを明確に判別できるようになりました。

ユーザーへの恩恵

ログやイベント監視において、セッションの発生経緯が正確に特定できます。

v2.1.207(1件)

Changed
プラグインのフック/モニター等において、シェル形式コマンドでの${user_config.*}の使用が禁止されました。シェルインジェクション対策のため、今後はexec形式(args配列)または環境変数を使用してください。
英語原文を表示
Plugin hooks/monitors/MCP headersHelper: ${user_config.*} in shell-form commands is now rejected (shell-injection fix). Hooks: use exec form (args array) or $CLAUDE_PLUGIN_OPTION_<KEY>; monitors and headersHelper: read the value inside the script (config file or the server's env block).

変更前

ユーザー設定値をシェルの文字列として直接展開していたため、設定値に悪意のある文字が含まれていた場合に予期しないコマンドが実行されるセキュリティリスク(シェルインジェクション)がありました。

変更後

変数の展開がより安全な方法(環境変数や直接の引数渡し)に限定され、不正なコマンド実行が防止されるようになりました。

ユーザーへの恩恵

プラグインをより安全に利用できるようになり、セキュリティを維持しつつ便利なカスタマイズが可能になります。

関連ドキュメント

v2.1.204(1件)

Fixed
ヘッドレスセッションのSessionStartフックにおいて、フックイベントがストリーミングされない問題を修正しました。これにより、フックの実行中にリモートワーカーがアイドル状態とみなされて強制終了される問題が解消されます。
英語原文を表示
Fixed hook events not streaming during SessionStart hooks in headless sessions, which could cause remote workers to be idle-reaped mid-hook

変更前

CI環境などのヘッドレスセッションでSessionStartフックを実行する際、イベントが適切にストリーミングされませんでした。そのため、長時間かかるフック処理の途中でリモートワーカーが「通信なし」と判定され、処理が完了する前に接続が切断されることがありました。

変更後

SessionStartフックの実行中もイベントが正しくストリーミングされるようになり、アクティブな状態が維持されます。

ユーザーへの恩恵

自動化されたワークフローやCI/CDパイプラインにおいて、初期化フックが途中でタイムアウトしたり中断されたりする心配がなくなり、大規模なプロジェクトのセットアップを安定して行えるようになります。

関連ドキュメント

v2.1.199(1件)

Fixed
SessionStart、Setup、およびSubagentStartフックが終了コード2で終了する際、標準エラー出力(stderr)を隠してしまう問題を修正し、内容がトランスクリプトに表示されるようにしました。
英語原文を表示
Fixed SessionStart, Setup, and SubagentStart hooks silently hiding stderr when exiting with code 2 — the error is now shown in the transcript

変更前

フック処理でエラーが発生してもその詳細が隠蔽され、何が原因で失敗したのかを確認できませんでした。

変更後

エラー内容がトランスクリプト上に明示されるようになり、デバッグが容易になりました。

ユーザーへの恩恵

フックの設定やスクリプトに問題がある場合でも、迅速に原因を把握して修正できます。

v2.1.191(1件)

Fixed
「Bash,PowerShell」のようにカンマで区切られたフックの検索条件が適用されない不具合を修正しました
英語原文を表示
Fixed hooks with comma-separated matchers (e.g. "Bash,PowerShell") silently never firing

変更前

カンマ区切りで複数の条件を指定した場合、条件が正しくパースされず、フックが黙って無視されていました。

変更後

指定した複数の matcher が正しく評価されるようになり、定義したフックが確実に動作します。

ユーザーへの恩恵

フックの設定漏れや予期せぬ動作を回避でき、自動化処理の信頼性が高まります。

関連ドキュメント

v2.1.183(1件)

Fixed
集中モード(focus mode)の応答下部に、PostToolUseフックの実行時間に関するデバッグ行が表示される問題を修正しました。
英語原文を表示
Fixed focus mode showing "Ran N PostToolUse hooks" timing lines under each response

v2.1.178(1件)

Fixed
Linux のサンドボックス環境において、スキルやフックのディレクトリがシンボリックリンクの場合に起動できない問題を修正しました。
英語原文を表示
Fixed Linux sandbox failing to start when .claude/skills or .claude/hooks is a symlink

変更前

.claude/skills.claude/hooks を共有フォルダへのシンボリックリンクとして構成している Linux 環境では、セキュリティサンドボックスが正しく初期化できずエラーになっていました。

変更後

シンボリックリンクを適切に解決してサンドボックスを起動できるようになりました。

ユーザーへの恩恵

設定ファイルを複数の場所で共有・管理している開発環境でも、セキュリティ機能を有効にしたまま安全に Claude Code を利用できます。

関連ドキュメント

v2.1.169(1件)

Added
トラブルシューティング用に、すべてのカスタマイズ(CLAUDE.md、プラグイン、スキル、ホック、MCPサーバー)を無効にして起動する --safe-mode フラグを追加しました。
英語原文を表示
Added --safe-mode flag (and CLAUDE_CODE_SAFE_MODE) to start Claude Code with all customizations (CLAUDE.md, plugins, skills, hooks, MCP servers) disabled for troubleshooting

変更前

特定のプラグインやフックが原因で Claude Code が正常に動作しない場合、原因を特定するために設定ファイルを個別に書き換える必要がありました。

変更後

原因不明の挙動が発生した際、--safe-mode を使うことで純粋な Claude Code の状態で起動し、カスタマイズによる影響かどうかを即座に切り分けられます。

ユーザーへの恩恵

複雑な設定を維持したまま、問題発生時の原因究明を迅速に行えるようになります。

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 へ追加の文脈を直接渡せるようになり、エラーを発生させずに処理を継続させることができます。

ユーザーへの恩恵

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

関連ドキュメント

Changed
stdio MCP サーバーが、--resume 実行時にフックや Bash と同じ CLAUDE_CODE_SESSION_ID を受け取るよう変更
英語原文を表示
stdio MCP servers now receive the same CLAUDE_CODE_SESSION_ID as hooks/Bash on --resume

変更前

セッション再開時、MCP サーバーが起動時の古いセッション ID を保持し続け、他のツールとの一貫性が失われる場合がありました。

変更後

すべてのサブプロセスが共通の現在のセッション ID を参照できるようになります。

ユーザーへの恩恵

外部ツールやログの相関分析を行う際に、MCP サーバーの動作を正確に現在のセッションに紐付けることができます。

関連ドキュメント

v2.1.161(1件)

Fixed
Windows 環境において、bash を明示的に呼び出すフック(例: /usr/bin/bash script.sh)が「コマンドが見つかりません」などのエラーで失敗する問題を修正。
英語原文を表示
Fixed Windows hooks that invoke bash explicitly (e.g., /usr/bin/bash script.sh) failing with "command not found" or "cannot execute binary file"

変更前

Windows 上で Linux 形式のパスを指定して bash スクリプトを実行しようとすると、パスの解決に失敗してフックが正常に動作しませんでした。

変更後

Windows 環境でも、bash を介したスクリプトの実行が適切にハンドルされるようになりました。

ユーザーへの恩恵

マルチプラットフォームで共有されているプロジェクトにおいて、Windows ユーザーでも共通のフックスクリプトをそのまま利用できるようになります。

v2.1.152(3件)

Added
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 に使わせることができます。

関連ドキュメント

Added
SessionStart フックが hookSpecificOutput.sessionTitle を通じて、起動時やレジューム時のセッションタイトルを設定できるようになりました。
英語原文を表示
SessionStart hooks can now set the session title via hookSpecificOutput.sessionTitle on startup and resume

変更前

セッションのタイトルは自動生成されるか手動で変更する必要があり、フックの処理結果に基づいた動的な命名はできませんでした。

変更後

フックが特定のブランチ名やタスク内容に基づいてセッションタイトルを決定し、/resume 一覧やターミナルのタイトルに反映させることができます。

ユーザーへの恩恵

多数のバックグラウンドセッションを並行して実行している場合でも、各セッションの目的を識別しやすくなります。

関連ドキュメント

Added
MessageDisplay フックイベントを追加し、フックによってアシスタントのメッセージ表示を変換または非表示にできるようになりました。
英語原文を表示
Added a MessageDisplay hook event that lets hooks transform or hide assistant message text as it is displayed

v2.1.149(1件)

Fixed
git worktree使用時のサンドボックス書き込み許可リストを修正:メインリポジトリ全体ではなく、共有の.gitディレクトリ(hooks/とconfigは除外)のみをカバーするよう制限しました
英語原文を表示
Fixed the sandbox write allowlist in git worktrees covering the entire main repository root instead of only the shared .git directory (with hooks/ and config denied)

変更前

git worktree内で作業している際、Claudeが誤ってメインリポジトリ全体の書き込み権限を持ってしまい、サンドボックスの隔離が不十分でした。

変更後

書き込み許可範囲が、ワークツリーで共有が必要な.gitディレクトリの一部のみに厳密に絞り込まれ、hooksやconfigへの不正な書き込みもブロックされるようになりました。

ユーザーへの恩恵

複数のワークツリーを並行して使用する際の安全性が向上し、メインのプロジェクト設定を誤って変更される心配がなくなります。

v2.1.145(1件)

Changed
/plugin の発見・閲覧画面において、インストール前にプラグインのコマンド、エージェント、スキル、フック、MCP/LSPサーバーを確認できるように改善
英語原文を表示
/plugin Discover and Browse screens now show a plugin's commands, agents, skills, hooks, and MCP/LSP servers before installation

変更前

プラグインにどのような機能(コマンドやスキルなど)が含まれているかを確認するには、実際にインストールしてみるまで詳細が不明でした。

変更後

インストール前の詳細画面で、プラグインが提供する具体的なコンポーネント(スキルやフックの種類、MCPサーバー構成など)がすべて表示されます。

ユーザーへの恩恵

自分のニーズに合ったプラグインかどうかを事前に判断できるため、不要なプラグインのインストールを避け、安心して機能を拡張できます。

v2.1.144(1件)

Changed
WorktreeCreate フックが設定されている場合、git 以外の VCS ユーザーでもバックグラウンドセッションのワークツリー隔離ガードが適用されるようになりました
英語原文を表示
Background session worktree isolation guard now applies for non-git VCS users with WorktreeCreate hooks configured

変更前

git 以外のバージョン管理システム(SVN や Perforce など)を使っている場合、バックグラウンド実行時の「作業コピーを壊さないための隔離」がうまく機能しない可能性がありました。

変更後

フックを通じてカスタムワークツリーを作成している環境でも、メインの作業場所とバックグラウンド作業の隔離が正しく強制されるようになりました。

ユーザーへの恩恵

どのような開発環境でも、バックグラウンドでの AI の作業が自分の手元の作業を誤って上書きしてしまうリスクが解消されます。

関連ドキュメント

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.141(2件)

Added
フックのJSON出力にterminalSequenceフィールドを追加し、制御端末がなくてもフックがデスクトップ通知、ウィンドウタイトル、ベルを送信できるように改善。
英語原文を表示
Added terminalSequence field to hook JSON output so hooks can emit desktop notifications, window titles, and bells without a controlling terminal

変更前

フックがデスクトップ通知やターミナルのタイトル更新、ベル通知を行うには、制御用のターミナルに直接アクセスする必要がありました。

変更後

フックから出力されるJSONにterminalSequenceフィールドが含まれるようになり、ターミナルがない環境下でもこれらの通知シーケンスを安全にエミットできます。

ユーザーへの恩恵

CI環境やバックグラウンドプロセスなどの非対話型環境で実行されるフックでも、ユーザーのデスクトップに対して重要なステータス通知を届けられるようになります。

関連ドキュメント

Fixed
ワークツリー切り替え後にフックが不正なtranscript_pathを受け取ってしまう問題を修正。
英語原文を表示
Fixed hooks receiving a non-existent transcript_path after EnterWorktree switches the working directory

変更前

EnterWorktreeイベントで作業ディレクトリが移動した後、フックに渡されるセッション履歴ファイルへのパスが古いままで、実在しないファイルを指すことがありました。

変更後

ディレクトリ移動後も、最新の正しいtranscript_pathがフックの入力JSONに反映されるようになります。

ユーザーへの恩恵

作業の自動化スクリプトや監視フックが、ワークツリー環境下でも途切れることなく確実に会話履歴へアクセスできるようになります。

関連ドキュメント

v2.1.140(1件)

Fixed
シンボリックリンクされた設定ファイルにおいて、設定のホットリロードが誤った変更イベントを検知し、不要な ConfigChange フックをトリガーしていたデグレードを修正
英語原文を表示
Fixed a regression in settings hot-reload where symlinked settings files caused misattributed change events and spurious ConfigChange hooks

変更前

設定ファイルをシンボリックリンクで管理している場合、ファイル変更の検知が正しく行われず、意図しないタイミングで設定変更フックが実行されることがありました。

変更後

リンク先の変更を正しく属性付けできるようになり、実際に設定が更新された時のみ正確にフックが動作するように復旧しました。

ユーザーへの恩恵

設定管理の柔軟性を保ちつつ、自動化スクリプトの誤作動を回避して安定したワークフローを維持できます。

関連ドキュメント

v2.1.139(2件)

Changed
MCP stdioサーバーが環境変数CLAUDE_PROJECT_DIRを受け取るよう変更。プラグイン設定で${CLAUDE_PROJECT_DIR}をコマンド内で参照可能になりました。
英語原文を表示
MCP stdio servers now receive CLAUDE_PROJECT_DIR in their environment, matching hooks. Plugin configs can reference ${CLAUDE_PROJECT_DIR} in commands

変更前

MCPサーバーが現在のプロジェクトのルートパスを知る標準的な方法がなく、プロジェクト固有のパスを扱うのが困難でした。

変更後

フックと同様にプロジェクトディレクトリ情報が渡されるため、サーバー側でプロジェクト相対パスを正確に処理できます。

ユーザーへの恩恵

プロジェクトごとに異なる設定ファイルやデータにアクセスするMCPツールの開発が容易になります。

関連ドキュメント

Fixed
フックの出力がターミナル表示を乱すバグを修正。フックはターミナルへの直接アクセスなしで実行されるようになります。
英語原文を表示
Fixed a bug where a hook writing to the terminal could corrupt an on-screen interactive prompt; hooks now run without terminal access

v2.1.136(2件)

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

変更前

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

変更後

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

ユーザーへの恩恵

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

関連ドキュメント

Fixed
CLAUDE_ENV_FILE を利用した SessionStart フックによる環境変数が、セッション再開やクリア後に無効になる問題を修正しました。
英語原文を表示
Fixed env vars from CLAUDE_ENV_FILE SessionStart hooks going stale after /resume or /clear

変更前

セッションを跨いで環境変数を維持するための仕組みが、リセットや再開コマンドによって上書き・消失してしまい、都度手動での再設定が必要でした。

変更後

環境変数の永続化管理が修正され、セッションの再開やリセットを行ってもフックで設定した環境が正しく維持されるようになりました。

ユーザーへの恩恵

ツール実行に必要な環境変数を一度設定すれば、セッションの状態が変わっても一貫して使い続けることができます。

関連ドキュメント

v2.1.132(1件)

Added
Bash ツールのサブプロセス環境に CLAUDE_CODE_SESSION_ID 環境変数を追加し、フックに渡される session_id と一致させました
英語原文を表示
Added CLAUDE_CODE_SESSION_ID environment variable to the Bash tool subprocess environment, matching the session_id passed to hooks

変更前

Bash ツールで実行されるスクリプトやコマンドから、現在の Claude Code セッションを一意に識別する ID を直接参照する標準的な方法がありませんでした。

変更後

Bash ツールの実行環境に CLAUDE_CODE_SESSION_ID が自動的にセットされるようになり、フック(Hooks)に渡される JSON コンテキスト内の ID と同じ値をスクリプト内で利用できます。

ユーザーへの恩恵

セッションごとにログを分けたり、フックで開始した外部プロセスと Bash ツールでの操作を紐付けたりする自動化ワークフローがより確実かつ簡単に構築できるようになります。

関連ドキュメント

v2.1.128(1件)

Changed
サブプロセス(Bash、フック、MCP、LSP)が OTEL_* 環境変数を継承しなくなりました。これにより Bash ツール経由のアプリが CLI 自身の OTLP エンドポイントを拾わなくなります
英語原文を表示
Subprocesses (Bash, hooks, MCP, LSP) no longer inherit OTEL_* environment variables, so OTEL-instrumented apps run via the Bash tool no longer pick up the CLI's own OTLP endpoint

変更前

Claude Code 自身の OpenTelemetry 設定が実行されるサブプロセスにまで引き継がれてしまい、意図しないテレメトリデータが混在する可能性がありました。

変更後

サブプロセスがクリーンな状態で実行されるようになり、CLI の監視設定が開発中のアプリの動作に干渉しなくなります。

ユーザーへの恩恵

開発中のアプリケーションの動作やテストにおいて、環境変数の汚染による予期せぬ挙動を防ぐことができます。

関連ドキュメント

v2.1.122(1件)

Fixed
settings.json 内の hooks 項目の記述が不正な場合に、ファイル全体が無効化されてしまう問題を修正しました
英語原文を表示
Fixed a malformed hooks entry in settings.json no longer invalidating the entire file

変更前

設定ファイルのごく一部に記述ミスがあるだけで、他の正常な設定(パーミッションや環境変数など)まで全て読み込まれなくなっていました。

変更後

記述が不正なフック項目のみを個別に無視し、それ以外の正常な設定は可能な限り維持するように改善されました。

ユーザーへの恩恵

設定ミスによるツールの動作不能を防ぎ、一部のエラーがあっても安全にツールを使い続けることができます。

v2.1.121(1件)

Added
PostToolUse フックが、すべてのツールにおいて hookSpecificOutput.updatedToolOutput を介してツールの出力を置換できるようになりました(以前は MCP ツールのみ対応)。
英語原文を表示
PostToolUse hooks can now replace tool output for all tools via hookSpecificOutput.updatedToolOutput (previously MCP-only)

変更前

ツールの実行結果をフックで加工して Claude に渡す機能は、MCP サーバー経由のツールに限定されていました。Bash やファイル操作などの組み込みツールの出力を動的にフィルタリングしたり修正したりすることは困難でした。

変更後

すべての種類のツールで実行後の出力置換がサポートされました。フックスクリプトから updatedToolOutput を返すことで、Claude に渡される最終的なレスポンスを自在に制御できます。

ユーザーへの恩恵

秘匿情報のマスキングや、巨大なログ出力の要約など、Claude に渡す情報をフックでインテリジェントに制御し、コンテキストの質を高めることができます。

関連ドキュメント

v2.1.119(2件)

Added
フック機能の改善:PostToolUse および PostToolUseFailure の入力 JSON に、ツールの純粋な実行時間を示す duration_ms が含まれるようになりました(承認待機時間は除く)
英語原文を表示
Hooks: PostToolUse and PostToolUseFailure hook inputs now include duration_ms (tool execution time, excluding permission prompts and PreToolUse hooks)

変更前

フックからツールの実行時間を把握することが難しく、どの操作に時間がかかっているかの正確な計測が困難でした。

変更後

フックへの入力データにミリ秒単位の duration_ms が追加され、ユーザーの承認待ち時間を除いた純粋な処理時間を取得できるようになりました。

ユーザーへの恩恵

独自のメトリクス収集や、処理の重いツール呼び出しの検知など、開発プロセスの分析と最適化がより精緻に行えるようになります。

関連ドキュメント

Fixed
レスポンスを返さない非同期の PostToolUse フックが、セッション履歴に空のエントリを書き込んでしまう問題を修正しました
英語原文を表示
Fixed async PostToolUse hooks that emit no response payload writing empty entries to the session transcript

変更前

バックグラウンドで動作するフック(通知のみを行う場合など)を実行すると、履歴の中に何も表示されない不要な行が増えていきました。

変更後

レスポンスのないフック実行は履歴を汚さないよう適切に処理されます。

ユーザーへの恩恵

/resume などで会話履歴を見返す際、不要な空白が排除され、本来の会話内容が読みやすくなります。

関連ドキュメント

v2.1.118(2件)

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

変更前

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

変更後

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

ユーザーへの恩恵

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

関連ドキュメント

Fixed
エージェントフック内の検証用サブエージェントが実行したツール呼び出しで、再度 prompt フックが発火する問題を修正
英語原文を表示
Fixed prompt hooks re-firing on tool calls made by an agent-hook verifier subagent

変更前

フックの中で動くエージェントの動作そのものがフックを再発火させてしまい、無限ループのような不要な処理が発生していました。

変更後

検証用のサブエージェントによるアクションは、外部のフック発火対象から適切に除外されるようになりました。

ユーザーへの恩恵

フックの実行コスト(トークン使用量)が最適化され、意図しないフックの連鎖を防げます。

関連ドキュメント

v2.1.116(1件)

Changed
エージェントの frontmatter 内の hooks: が、--agent フラグを使用したメインスレッド・エージェント実行時にも発火するように修正
英語原文を表示
Agent frontmatter hooks: now fire when running as a main-thread agent via --agent

変更前

サブエージェントの設定ファイルで定義したフック (hooks:) は、サブエージェントとして呼び出された時しか機能せず、--agent で直接起動した場合には実行されませんでした。

変更後

--agent を使って特定のロールでセッションを開始した場合でも、そのエージェントの定義に含まれるフックが正しくトリガーされるようになりました。

ユーザーへの恩恵

特定の役割(セキュリティ担当やレビュアーなど)を担うエージェントを直接起動した際も、自動フォーマットなどのカスタムワークフローが期待通りに動作します。

関連ドキュメント

v2.1.110(1件)

Fixed
PermissionRequestフックによる入力更新後にpermissions.denyルールが再チェックされない問題、およびバイパス設定が制限を無視できる問題を修正
英語原文を表示
Fixed PermissionRequest hooks returning updatedInput not being re-checked against permissions.deny rules; setMode:'bypassPermissions' updates now respect disableBypassPermissionsMode

変更前

フック機能で入力を書き換えた際、禁止ルールをすり抜けてしまう可能性がありました。また、管理ポリシーで禁止されている場合でも、フックから「バイパスモード」へ移行できてしまうセキュリティ上の懸念がありました。

変更後

更新された入力に対して再度厳格な権限チェックが行われ、管理者設定による「バイパス禁止」も常に尊重されるようになりました。

ユーザーへの恩恵

組織で設定したセキュリティポリシーをバイパスされるリスクが解消され、フック機能を安心して業務に組み込めます。

関連ドキュメント

v2.1.105(1件)

Added
PreCompactフックのサポートを追加し、コード2の終了ステータスまたは特定のJSON返却によってコンパクションをブロックできるようになりました
英語原文を表示
Added PreCompact hook support: hooks can now block compaction by exiting with code 2 or returning {"decision":"block"}

変更前

コンテキストの圧縮(コンパクション)が発生する際、ユーザーがその実行をプログラムで制御したり、特定の条件下で阻止したりする手段がありませんでした。

変更後

PreCompactフックにより、スクリプトがコード2で終了するか「decision:block」を返すことで、圧縮の実行を一時的に止めることが可能になりました。

ユーザーへの恩恵

重要な会話の文脈が自動圧縮で失われるのを防ぎたい自動化スクリプトや、特定のワークフローにおいて、コンテキストの整合性を維持しやすくなります。

関連ドキュメント

v2.1.101(1件)

Improved
管理設定で allowManagedHooksOnly が有効な場合でも、強制有効化されたプラグインのフックが実行されるよう改善
英語原文を表示
Improved plugin hooks from plugins force-enabled by managed settings to run when allowManagedHooksOnly is set

変更前

組織のポリシーでユーザーによるフックの追加を制限していると、IT管理者が配布したプラグイン内の必要なフックまでブロックされてしまうことがありました。

変更後

管理者が承認したプラグイン由来のフックは、制限下でも適切に実行されるようになります。

ユーザーへの恩恵

セキュリティを確保しつつ、組織で推奨される自動化ツールを確実に動作させることができます。

関連ドキュメント

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.94(3件)

Added
UserPromptSubmit フックに hookSpecificOutput.sessionTitle を追加し、フック経由でのセッションタイトルの設定に対応
英語原文を表示
Added hookSpecificOutput.sessionTitle to UserPromptSubmit hooks for setting the session title

変更前

セッションのタイトルはAIによって自動生成されるか手動で変更する必要があり、ユーザーのプロンプト入力に基づいて外部スクリプトなどから動的にタイトルを制御する手段がありませんでした。

変更後

ユーザーがプロンプトを送信した直後に実行されるフックから、JSON形式でセッションタイトルを指定して上書きできるようになりました。

ユーザーへの恩恵

独自の命名規則に従ってセッションを自動整理したり、特定のキーワードが含まれる場合にタイトルを即座に変更したりといった自動化が可能になります。

関連ドキュメント

Fixed
YAMLフロントマテリアルで定義されたプラグインスキルのフックが無視される問題を修正
英語原文を表示
Fixed plugin skill hooks defined in YAML frontmatter being silently ignored

変更前

スキルファイル(SKILL.md)のフロントマテリアル内にフックを定義しても、システムに認識されず動作しない不具合がありました。

変更後

スキル定義内のフックが正しく読み込まれ、指定したイベントに応じて実行されるようになりました。

ユーザーへの恩恵

スキルのライフサイクルに合わせたカスタム動作を確実に行えるようになり、より高度なプラグイン開発が可能になります。

関連ドキュメント

Fixed
CLAUDE_PLUGIN_ROOT が未設定の場合にプラグインのフックがファイルエラーで失敗する問題を修正
英語原文を表示
Fixed plugin hooks failing with "No such file or directory" when CLAUDE_PLUGIN_ROOT was not set

変更前

プラグインのインストール環境によっては CLAUDE_PLUGIN_ROOT 変数が正しく解決されず、フック内で相対パスを使用しているスクリプトなどが実行できないことがありました。

変更後

変数の解決ロジックが改善され、プラグインルートを基準としたファイル参照が安定して動作するようになりました。

ユーザーへの恩恵

プラグインの配布形式やユーザーの実行環境を問わず、フック機能が確実に動作するようになります。

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.90(1件)

Fixed
JSON を標準出力に書き出し、終了コード 2 で終了する PreToolUse フックが、正しくツール実行をブロックできない問題を修正しました。
英語原文を表示
Fixed PreToolUse hooks that emit JSON to stdout and exit with code 2 not correctly blocking the tool call

変更前

特定の条件でツール実行を拒否しようとしても、フックの出力形式や終了コードの組み合わせによってはブロック処理が正しく動作しない不具合がありました。

変更後

フックからのブロック指示が確実に処理され、セキュリティ上の制約やバリデーションが厳密に適用されます。

ユーザーへの恩恵

独自に作成したフックによる実行制限(破壊的なコマンドの禁止など)が意図通りに機能し、安全性が向上します。

関連ドキュメント

v2.1.89(3件)

Added
PreToolUse フックに permission decision `
英語原文を表示
Added "defer" permission decision to PreToolUse hooks — headless sessions can pause at a tool call and resume with -p --resume to have the hook re-evaluate

変更前

PreToolUse フックが返せる判断は allow、deny、ask の3種類で、ツール実行を後から再開できる形で一時停止する手段がなかった。ヘッドレスモードでユーザー入力が必要になった場合、呼び出し側プロセスは中断されたセッションをツール呼び出しの状態のまま保持して再開する仕組みを持てなかった。

変更後

PreToolUse フックに、ツール実行を中断したままセッションを終了できる permissionDecision: 'defer' が追加される。ヘッドレスモードで defer が返されると stop_reason: 'tool_deferred' でプロセスが終了し、未実行のツール呼び出しがトランスクリプトに保持される。呼び出し側プロセスが claude -p --resume で再開すると、同じツール呼び出しに対して PreToolUse フックが再度評価される。

ユーザーへの恩恵

Agent SDK アプリやカスタム UI から Claude Code を呼び出す際、ツール呼び出しの時点でセッションを一時停止して自前のインターフェースで入力を収集し、-p --resume で中断箇所から再開できる。

関連ドキュメント

Fixed
Write/Edit/Read ツールの実行時、PreToolUse/PostToolUse フックに file_path が絶対パスとして渡されるよう修正し、ドキュメントに記載された動作と一致させた。
英語原文を表示
Fixed PreToolUse/PostToolUse hooks to receive file_path as an absolute path for Write/Edit/Read tools, matching the documented behavior

変更前

Write/Edit/Read ツール実行時、PreToolUse/PostToolUse フックに渡される file_path が相対パスになることがあり、フックスクリプト側でパス判定が正しく動かないケースがあった。

変更後

Write/Edit/Read ツール実行時、PreToolUse/PostToolUse フックの入力の file_path が絶対パスとして渡されるようになった。

ユーザーへの恩恵

拡張後の file_path を前提にして書かれた公式ドキュメントやガイドのフックスクリプトが、意図どおりに動くようになる。

関連ドキュメント

Fixed
フックの if 条件フィルタが複合コマンド(ls && git push)や環境変数プレフィックス付きのコマンド(FOO=bar git push)にマッチしない問題を修正した。
英語原文を表示
Fixed hooks if condition filtering not matching compound commands (ls && git push) or commands with env-var prefixes (FOO=bar git push)

変更前

フックの if 条件フィルタは、シェル変数の代入を伴うコマンドをマッチングの対象から除外していたため、FOO=bar git push のようなコマンドはマッチしなかった。また、npm test && git push のような複合コマンドも適切に処理されなかった。

変更後

フックの if 条件フィルタが、ls && git push のような複合コマンドや FOO=bar git push のような環境変数プレフィックス付きのコマンドにもマッチするようになった。

ユーザーへの恩恵

FOO=bar git pushnpm test && git push のような一般的なシェルコマンドパターンでも、設定されたフックが確実に発火するようになり、ツール実行の監査やガードの信頼性が向上する。

関連ドキュメント

v2.1.88(2件)

Fixed
フックの if 条件フィルタリングが、複合コマンド(ls && git push)や環境変数プレフィックス付きのコマンドにマッチしない問題を修正しました
英語原文を表示
Fixed hooks if condition filtering not matching compound commands (ls && git push) or commands with env-var prefixes (FOO=bar git push)

変更前

&& で繋いだ複数のコマンドや、VAR=val cmd のように環境変数を指定したコマンドに対して、特定のフックが正しく発火しない場合がありました。

変更後

コマンド解析の精度が向上し、より複雑な形式のシェルコマンドに対しても正確にフックが適用されるようになりました。

ユーザーへの恩恵

特定のコマンド実行時に自動で行いたい処理(プッシュ前のバリデーションなど)の確実性が高まり、意図しない操作の防止や自動化の信頼性が向上します。

関連ドキュメント

Fixed
Write/Edit/Readツールにおいて、PreToolUse/PostToolUseフックが file_path を絶対パスで提供していなかった問題を修正しました
英語原文を表示
Fixed PreToolUse/PostToolUse hooks not providing file_path as an absolute path for Write/Edit/Read tools

変更前

フック機能でファイルの変更を監視・処理する際、ファイルパスが相対パスで渡されることがあり、実行ディレクトリが異なると正しいファイルを特定できないリスクがありました。

変更後

常にルートからの絶対パスが渡されるようになり、どのディレクトリから実行しても確実に対象ファイルを処理できるようになりました。

ユーザーへの恩恵

自動フォーマットやバリデーションなどのフックの信頼性が高まり、複雑なプロジェクト構造でも誤作動の心配なく自動化を任せられます。

関連ドキュメント

v2.1.85(2件)

Added
フックにパーミッションルール構文(例: Bash(git *))を使用した条件付き「if」フィールドを追加し、実行フィルタリングによるプロセス生成のオーバーヘッドを削減
英語原文を表示
Added conditional if field for hooks using permission rule syntax (e.g., Bash(git *)) to filter when they run, reducing process spawning overhead

変更前

フックは条件に関わらずイベントごとに実行されていたため、特定のコマンドの時だけ動作させたい場合でも毎回プロセスが起動し、パフォーマンスに影響を与えていました。

変更後

パーミッションルールと同様の構文で実行条件を指定できるようになったため、条件に一致しない場合はプロセスの起動自体をスキップできます。

ユーザーへの恩恵

不要なフックの実行が抑制されることで、ターミナルの応答性が向上し、特に頻繁に発生するイベントでのリソース消費を抑えることができます。

関連ドキュメント

Added
PreToolUseフックがupdatedInputとpermissionDecision: "allow"を返すことで、AskUserQuestionに応答可能になり、ヘッドレス環境での対話をサポート
英語原文を表示
PreToolUse hooks can now satisfy AskUserQuestion by returning updatedInput alongside permissionDecision: "allow", enabling headless integrations that collect answers via their own UI

変更前

ヘッドレス(非対話)モードでの実行中、Claudeがユーザーに質問(AskUserQuestion)を投げると、外部から動的に回答を供給するスマートな方法が不足していました。

変更後

フック経由で質問への回答(updatedInput)を返せるようになったため、独自のUIや自動化スクリプトを介してClaudeの質問に回答できます。

ユーザーへの恩恵

CLIを直接操作できないCI/CD環境やカスタムアプリ経由の利用において、Claudeとの対話を自動化または外部UI化することが可能になります。

関連ドキュメント

v2.1.83(2件)

Added
サブプロセス環境(Bash ツール、フック、MCP stdio サーバー)から Anthropic やクラウドプロバイダーの認証情報を削除する CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1 を追加しました
英語原文を表示
Added CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1 to strip Anthropic and cloud provider credentials from subprocess environments (Bash tool, hooks, MCP stdio servers)

変更前

Claude Code が起動されているシェルに設定されている API キーなどの機密情報が、Claude が実行する Bash コマンドや MCP サーバーなどの子プロセスにそのまま引き継がれていました。万が一、プロンプトインジェクションが発生した場合、これらの情報が外部に漏洩するリスクがありました。

変更後

この環境変数を有効にすることで、子プロセスの環境変数から機密性の高い認証情報を自動的に除去(スクラブ)します。Claude Code 本体は認証情報を保持し続けますが、その配下で動くツールからは参照できなくなります。

ユーザーへの恩恵

開発環境における機密情報の露出を最小限に抑え、信頼できないコードを分析したり、外部の MCP ツールを利用したりする際の安全性が大幅に向上します。

関連ドキュメント

Fixed
アンインストールされたプラグインのフックが、次のセッションを開始するまで動作し続けてしまう問題を修正しました。
英語原文を表示
Fixed uninstalled plugin hooks continuing to fire until the next session

v2.1.81(2件)

Added
スクリプト実行用の --bare フラグを追加しました。フック、LSP、プラグイン同期、スキルディレクトリの走査をスキップし、自動メモリ機能も完全に無効化されます。
英語原文を表示
Added --bare flag for scripted -p calls — skips hooks, LSP, plugin sync, and skill directory walks; requires ANTHROPIC_API_KEY or an apiKeyHelper via --settings (OAuth and keychain auth disabled); auto-memory fully disabled

変更前

非インタラクティブモード(-p)でスクリプトを実行する際も、通常のセッションと同様にフックの実行やプラグインの同期、メモリの読み込みが行われていました。

変更後

--bare フラグを使用することで、純粋にモデルの推論のみを高速に実行できるようになります。このモードでは OAuth 認証等がバイパスされるため、API キーの設定が必須となります。

ユーザーへの恩恵

CI/CD パイプラインや自動化スクリプトにおいて、不要なオーバーヘッドを削減し、起動速度の向上と実行の安定性を確保できます。

Fixed
セッション中にプラグインディレクトリが削除された場合、プラグインのフックがプロンプトの送信をブロックしてしまう問題を修正しました。
英語原文を表示
Fixed plugin hooks blocking prompt submission when the plugin directory is deleted mid-session

v2.1.79(1件)

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

変更前

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

変更後

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

ユーザーへの恩恵

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

関連ドキュメント

v2.1.78(2件)

Fixed
APIエラーが stop フックを誘発し、モデルにエラーを再入力し続けてしまう無限ループを修正
英語原文を表示
Fixed infinite loop when API errors triggered stop hooks that re-fed blocking errors to the model

変更前

特定の API エラーが発生した際、エラー処理のフック自体が新たなエラーを引き起こし、処理が止まらなくなる不具合がありました。

変更後

エラー発生時のループ検知と処理フローが改善され、無限ループに陥ることなく安全に停止するようになりました。

ユーザーへの恩恵

予期せぬエラー発生時でもリソースやトークンの浪費を防ぎ、安定した動作が保証されます。

関連ドキュメント

Fixed
--worktree フラグ使用時に、ワークツリーディレクトリ内のスキルやフックが読み込まれない問題を修正
英語原文を表示
Fixed --worktree flag not loading skills and hooks from the worktree directory

変更前

Git ワークツリーを利用した並行作業中に、そのワークツリー独自の自動化スクリプトやカスタムスキルが認識されませんでした。

変更後

ワークツリー環境からでも正しく設定ファイルが読み込まれ、メイン環境と同じ自動化機能が利用可能になりました。

ユーザーへの恩恵

複数の機能を並行して開発する際も、一貫した開発体験と自動化ツールを維持できます。

関連ドキュメント

v2.1.77(2件)

Fixed
PreToolUse フックが "allow" を返した際に、管理設定などの拒否ルールをバイパスしてしまう問題を修正しました
英語原文を表示
Fixed PreToolUse hooks returning "allow" bypassing deny permission rules, including enterprise managed settings

変更前

フック側で許可(allow)を出すと、エンタープライズの管理ポリシー等で定義された強力な拒否ルールすら上書きされてしまう脆弱な状態でした。

変更後

パーミッション評価順序が厳格化され、フックの出力に関わらず拒否ルールが常に優先されるようになりました。

ユーザーへの恩恵

組織レベルで設定したセキュリティポリシーが確実に適用されるため、安全にフック機能を活用できます。

関連ドキュメント

Improved
claude plugin validate でスキルやエージェントのフロントマター、およびフックの設定ファイルを検証できるようになりました
英語原文を表示
Improved claude plugin validate to check skill, agent, and command frontmatter plus hooks/hooks.json, catching YAML parse errors and schema violations

変更前

プラグイン開発時に YAML のパースエラーやスキーマ違反があっても、実行するまで気づけないことがありました。

変更後

バリデーションコマンドで事前に構文エラーや設定の誤りを網羅的にチェックできるようになりました。

ユーザーへの恩恵

プラグイン開発のデバッグ効率が上がり、より高品質な拡張機能を短時間で作成できます。

関連ドキュメント

v2.1.76(1件)

Added
新しいElicitationおよびElicitationResultフックを追加 — 応答が返される前に、内容をインターセプトして上書きできるようになりました
英語原文を表示
Added new Elicitation and ElicitationResult hooks to intercept and override responses before they're sent back

変更前

MCP elicitationの応答やプロセスを自動化したり、独自のロジックで制御したりするための拡張ポイントが存在しませんでした。

変更後

新しいフックにより、Claude Codeがユーザーに応答を返す直前でデータを取得し、必要に応じてその内容を変更したり独自の処理を挟んだりすることが可能になりました。

ユーザーへの恩恵

elicitationプロセスにおけるカスタムバリデーションの追加や、特定の入力を自動補完するなどの高度な自動化が可能になります。

関連ドキュメント

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.73(2件)

Fixed
セッションを再開した際に、SessionStart フックが2回重複して実行される問題を修正
英語原文を表示
Fixed SessionStart hooks firing twice when resuming a session via --resume or --continue

変更前

--resume--continue を使用すると、初期化スクリプトが必要以上に実行され、セットアップ時間が無駄にかかっていました。

変更後

再開時のライフサイクルイベントが適切に整理され、フックは期待通り1回のみ実行されるようになりました。

ユーザーへの恩恵

セッション開始時の待ち時間が短縮され、プロジェクト固有の環境構築がより正確に行われます。

関連ドキュメント

Fixed
JSON出力形式のフックが、モデルのコンテキストに不要なシステムリマインダーを毎ターン挿入していた問題を修正
英語原文を表示
Fixed JSON-output hooks injecting no-op system-reminder messages into the model's context on every turn

変更前

フックを使用するたびに余分なメッセージがコンテキストに蓄積され、トークン消費が増大したりモデルの精度に影響したりしていました。

変更後

内部的なリマインダー挿入ロジックが改善され、コンテキストがクリーンに保たれるようになりました。

ユーザーへの恩恵

フックを多用してもコンテキストウィンドウが圧迫されにくくなり、長時間の対話でも一貫した性能が維持されます。

関連ドキュメント

v2.1.72(3件)

Fixed
バックグラウンドタスクやフックの応答が遅い場合に終了処理が停滞する問題を修正
英語原文を表示
Fixed slow exits when background tasks or hooks were slow to respond
Fixed
フックが有効なスキルがモデルから呼び出された際、1つのイベントに対してスキルフックが2回実行される問題を修正
英語原文を表示
Fixed skill hooks firing twice per event when a hooks-enabled skill is invoked by the model
Fixed
transcript_path の不備や設定保存時の prompt 消失、async フックの stdin 問題など、フック機能の複数の不具合を修正
英語原文を表示
Fixed several hooks issues: transcript_path pointing to the wrong directory for resumed/forked sessions, agent prompt being silently deleted from settings.json on every settings write, PostToolUse block reason displaying twice, async hooks not receiving stdin with bash read -r, and validation error message showing an example that fails validation

変更前

レジュームしたセッションで履歴パスが誤っていたり、非同期フックで read -r が動作しないなど、高度なカスタマイズを行うフック機能においていくつかの不安定な挙動がありました。

変更後

セッション管理とフック実行エンジンの修正により、自作の自動化スクリプトがより正確に動作するようになりました。

ユーザーへの恩恵

自作のフックを用いた高度なワークフロー自動化を、予期せぬエラーに悩まされることなく構築できます。

関連ドキュメント

v2.1.69(4件)

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

関連ドキュメント

v2.1.64(3件)

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.50(2件)

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切断時にもセッションデータが失われなくなりました。

ユーザーへの恩恵

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

関連ドキュメント

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.

関連ドキュメント

v2.1.49(1件)

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(2件)

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

ユーザーへの恩恵

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

関連ドキュメント

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.23(1件)

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

v2.1.19(1件)

Changed
追加の権限やフックを必要としないスキルについては、承認なしで実行できるように変更しました。
英語原文を表示
Changed skills without additional permissions or hooks to be allowed without requiring approval

v2.1.9(1件)

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

変更前

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

変更後

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

ユーザーへの恩恵

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

関連ドキュメント

v2.1.3(1件)

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

v2.1.0(6件)

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)するかの二択になり、変更後の内容をユーザーに確認させることができませんでした。

変更後

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

ユーザーへの恩恵

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

関連ドキュメント

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

変更前

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

変更後

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

ユーザーへの恩恵

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

関連ドキュメント

v2.0.54(1件)

Changed
Hooks: Enable PermissionRequest hooks to process 'always allow' suggestions and apply permission updates

v2.0.42(1件)

v2.0.41(3件)

Added
Added model parameter to prompt-based stop hooks, allowing users to specify a custom model for hook evaluation

関連ドキュメント

Fixed
Fixed crash when plugin command hooks timeout during execution

v2.0.35(1件)

Fixed
Fixed menu navigation getting stuck on items with empty string or other falsy values (e.g., in the /hooks menu)

関連ドキュメント

v2.0.30(2件)

Added
Added prompt-based stop hooks
Fixed
Fixed hooks and plugins not executing when using --dangerously-skip-permissions flag

v2.0.12(2件)

Changed
**Plugin System Released**: Extend Claude Code with custom commands, agents, hooks, and MCP servers from marketplaces

関連ドキュメント

v2.0.10(1件)

Added
PreToolUse hooks can now modify tool inputs

v1.0.115(1件)

Changed
Show condensed output for post-tool hooks to reduce visual clutter

v1.0.112(1件)

Changed
Hooks: Added systemMessage support for SessionEnd hooks

v1.0.59(1件)

Changed
Hooks: Exposed PermissionDecision to hooks (including "ask")

v1.0.38(1件)

Changed
Released hooks. Special thanks to community input in https://github.com/anthropics/claude-code/issues/712. Docs: https://code.claude.com/docs/en/hooks