settings.json

CwdChanged

作業ディレクトリが変更された際に実行されるフック。

使い方・用途

  • cd コマンドによるディレクトリ移動を検知して、direnv のようにディレクトリ固有の環境変数を自動的に再読み込み(CLAUDE_ENV_FILE の更新)するために使用します。
英語原文(公式ドキュメントより)

Hooks that run when the working directory changes. Provides cwd (new directory) and previous_cwd. Matchers are ignored; fires on every directory change. See https://code.claude.com/docs/en/hooks#cwdchanged

関連する変更履歴

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 ファイルの運用が自動化され、ユーザーが手動で環境を再設定する手間が省け、作業ミスも防げます。