settings.json

FileChanged

監視対象のファイルが作成、変更、または削除された際に実行されるフック。

使い方・用途

  • .env ファイルなどの特定のファイル変更を監視し、変更があった際に Bash ツール内の環境変数を自動的に同期・更新して最新の環境を維持します。
英語原文(公式ドキュメントより)

Hooks that run when a watched file is created, modified, or deleted. Supports filename matchers. Provides file_path and file_event_type (created, modified, deleted). See https://code.claude.com/docs/en/hooks#filechanged

関連する変更履歴

v2.1.83 (1件)

Added
環境変数のリアクティブな管理(direnv 等)のために、CwdChangedFileChanged フックイベントを追加しました
英語原文を表示
Added CwdChanged and FileChanged hook events for reactive environment management (e.g., direnv)

変更前

Claude が cd コマンドでディレクトリを移動したり、特定のファイル(.env など)が変更されたりしても、Bash ツール内の環境変数が自動的に更新されませんでした。direnv などの外部ツールによる動的な環境変化を自動的に反映する仕組みが不足していました。

変更後

ディレクトリ移動時に発火する CwdChanged と、指定したファイルを監視する FileChanged イベントが導入されました。これらのフックを使用して CLAUDE_ENV_FILE を更新することで、環境変数を自動的に再読み込みできます。

ユーザーへの恩恵

プロジェクトごとに異なる環境変数を扱う direnv や .env ファイルの運用が自動化され、ユーザーが手動で環境を再設定する手間が省け、作業ミスも防げます。