共通の設定やドキュメントを別リポジトリに置き、claude --add-dir ../shared-config で参照させている構成はよくあります。ところが、その shared-config/CLAUDE.md に書いた指示が効かない、という相談が多い機能です。
結論として、--add-dir で追加したディレクトリの CLAUDE.md は 既定では読み込まれません。環境変数 CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD を設定したときだけ読み込まれます。
要点
この記事で分かること
--add-dirが与えるのは「ファイルアクセス」であり「設定の検出」ではないことCLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MDで読み込まれるファイルの範囲permissions.additionalDirectoriesとの関係と、毎回付けずに済ませる書き方
まとめ
-
--add-dirとpermissions.additionalDirectoriesはファイルアクセスを付けるだけで、そこにある CLAUDE.md は既定では読まない - 読ませるには
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MDを設定する。CLAUDE.md、.claude/CLAUDE.md、.claude/rules/*.md、CLAUDE.local.mdが対象 - 毎回付けたくなければ settings.json の
envに書く - 内容を管理していないディレクトリで有効にしない
- 確認は
/contextの Memory files
設定例・手順の全文はこちらで公開しています: Claude Code の --add-dir で追加したディレクトリの CLAUDE.md が読まれないときの設定
※ この記事は要約版です。仕様変更に合わせた更新は上記ページで行います。