5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

新しく作ったファイルに、そのフォルダの CLAUDE.md は効いていなかった。直った今も指示は書いた後に届く

5
Last updated at Posted at 2026-10-05

Claude Code 2.1.288(2026-10-02)の changelog に、こう書かれています。

Fixed path-scoped .claude/rules and nested CLAUDE.md files not loading when Write or Edit
creates or changes a file in their scope (previously only Read loaded them)

サブフォルダの CLAUDE.md とパス指定ルールは、これまで Read したときしか読まれていなかった。
つまり新しいファイルを作るだけの作業では、そのフォルダの指示が届いていなかったことになります。

18回測りました。

指示の置き場所    Claude Code 2.1.287   Claude Code 2.1.289
フォルダの CLAUDE.md     0/3 守った        3/3 守った
パス指定ルール           0/3               3/3

ただし Claude Code 2.1.289 は 6回とも「書く → 指示が届く → 書き直す」の2回書き

検証環境: Windows 10 / Claude Code 2.1.287 と 2.1.289 を隔離導入 / claude -p /
--output-format stream-json / 全ラン設定ディレクトリ使い捨て(コールド) / 測定は 2026-10-05


ドキュメントの中で、書き方が割れていた

公式の解説ページ(memory)は、2つの節で違うことを書いています(2026-10-05 取得)。

サブフォルダの CLAUDE.md の節:

Files in subdirectories load on demand when Claude reads files in those directories.

パス指定ルールの節:

Path-scoped rules trigger when Claude uses the Read, Write, or Edit tool on a file matching the pattern,
not on every tool use.

ルールの節は「Write でも効く」と書いていました。 changelog は「これまで Read だけだった」と
認めているので、Claude Code 2.1.287 までは、書いてあるとおりには動いていなかったことになります。


測り方

サブフォルダ api/ に、一目で守ったか分かる指示を置きます。

# Rules for this folder

Every new file you create in this folder must begin with this exact first line:

# owner: api-team

パス指定ルールの場合は .claude/rules/api.md の paths: に api/** を指定し、
先頭行を # reviewed-by: rules-file にしました。

頼むのは**「api/hello.py を新しく作って。先に何も読まないで」だけです。
判定は
できたファイルの先頭行**。ツール呼び出しは stream-json で全部記録し、
「新規作成のみ」の回で Read を使っていないことを1回ずつ確かめています。


結果

各3回。

Claude Code の版 指示の置き場所 作業 守った 使ったツール
2.1.287 フォルダの CLAUDE.md 新規のみ 0/3 Write
2.1.289 フォルダの CLAUDE.md 新規のみ 3/3 Write + Write
2.1.287 パス指定ルール 新規のみ 0/3 Write
2.1.289 パス指定ルール 新規のみ 3/3 Write + Write
2.1.287 フォルダの CLAUDE.md 先に Read 3/3 Read + Write
2.1.289 指示なし(対照) 新規のみ 0/3 Write

Claude Code 2.1.287 では、新規作成だけの回は6回とも指示が効いていません。
同じ版でも、先にフォルダ内のファイルを Read させると3回とも守りました。 届くかどうかは Read で決まっていました。

読まれたのに無視されたのではありません。 記録を全文検索すると、Claude Code 2.1.287 の新規作成だけの6回では、
指示の文面がセッションに一度も現れていませんでした。 Claude Code 2.1.289 では6回とも現れています。

指示を置かない対照では先頭行は付かないので、モデルが勝手に書いたものでもありません。


直った版でも、指示は「書いた後」に届く

Claude Code 2.1.289 で守れた6回は、すべて Write を2回呼んでいました。中身を並べるとこうです。

1回目の Write   先頭行: def hello():              ← 指示がまだ無い
                (ここで api/CLAUDE.md が読み込まれる)
2回目の Write   先頭行: # owner: api-team         ← 書き直した

Claude も6回中5回、最後の報告でそのことに触れていました。たとえばこうです。

After I made the file, the api/CLAUDE.md rules loaded.

指示は「書く前」ではなく「書いた後」に届きます。 書いたことが引き金になって読み込まれ、
Claude がそれを見て書き直しています。

その分の費用もかかります。 各3回の中央値で、

費用 API時間
Claude Code 2.1.287(守らない) $0.0991 4.0秒
Claude Code 2.1.289(書き直して守る) $0.1136 7.1秒

ファイル1本につき、費用が約15%、時間が約8割増えました。


言えないこと

  • 測ったのは 2026-10-05 の1日、各3回。 18ランすべてで一貫していましたが、ベンチマークではありません
  • 作ったのは小さなファイル1本だけ。 長いファイルや、一度に何本も作る場合に必ず書き直すかは分かりません
  • Edit は測っていません。 既存ファイルの変更で同じことが起きるかは未確認です
  • Claude Code 2.1.288 単体では測っていません。 比べたのは 2.1.287 と 2.1.289 です
  • ドキュメントのルールの節が、いつから「Write でも効く」と書いていたかは確認できていません
  • フォルダの外の CLAUDE.md(プロジェクト直下)は起動時に読まれるとドキュメントにありますが、
    今回は測っていません

まとめ

  • Claude Code 2.1.287 までは、新しく作ったファイルに、そのフォルダの CLAUDE.md もパス指定ルールも効いていなかった
  • 先にそのフォルダのファイルを Read していれば効いた。 引き金は Read だけだった
  • ドキュメントのルールの節は「Write でも効く」と書いていた。 実際は Claude Code 2.1.288 まで効いていなかった
  • 直った版でも、指示は書いた後に届く。 Claude は一度書いてから、指示を見て書き直す
  • その分、ファイル1本で費用が約15%・時間が約8割増えた

フォルダごとの指示に頼っているなら、まず Claude Code 2.1.288 以降に上げるのが先です。
そのうえで、新規作成では最初の1回が指示なしで書かれることは覚えておいたほうがよいと思います。


関連記事


JQITのエンジニアの95%以上は未経験からの採用です。
よければコーポレートサイトにも遊びに来てください。

▶ コーポレートサイト

エンジニア採用も行っています。もしご興味あれば覗いてみてください。

▶ 採用サイト

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?