◉CLAUDE LABEN
●2.1.312 — 巨大な CLAUDE.md の上書きや、cd のあとにスキルが見つからない問題を修正しました●2.1.307 — スリープやキーチェーンロックのあとに MCP が再接続されない問題を修正しました(10/21)。2.1.306 では claude -p の誤表示も解消●SONNET 4.5 — Claude API での提供終了は 11/30、残り32日。移行先は Sonnet 5.5●WINDOWS — 日本語の環境でだけフックが黙って壊れる報告があり、文字コードの確認が呼びかけられています●API — 新しい API バージョン 2026-10-21 では temperature・top_p・top_k を渡すと 400 になります●NEW — Cowork に渡したフォルダの先頭に、十行の約束ファイルを置いてみました●2.1.312 — 巨大な CLAUDE.md の上書きや、cd のあとにスキルが見つからない問題を修正しました●2.1.307 — スリープやキーチェーンロックのあとに MCP が再接続されない問題を修正しました(10/21)。2.1.306 では claude -p の誤表示も解消●SONNET 4.5 — Claude API での提供終了は 11/30、残り32日。移行先は Sonnet 5.5●WINDOWS — 日本語の環境でだけフックが黙って壊れる報告があり、文字コードの確認が呼びかけられています●API — 新しい API バージョン 2026-10-21 では temperature・top_p・top_k を渡すと 400 になります●NEW — Cowork に渡したフォルダの先頭に、十行の約束ファイルを置いてみました
記事一覧/Cowork
◈ Cowork/2026-10-29中級

サブフォルダの CLAUDE.md の後半だけが効かないとき、数えるのは容量ではなく文字数でした

Claude Code 2.1.309 から、サブフォルダの CLAUDE.md と path 指定のルールには文字数の上限がかかり、超えた分は先頭しか渡されません。手元のファイルで測った数え方の落とし穴と、走査スクリプト、コミット前の守り、rules への分け方をまとめた記録です。

Claude Code278CLAUDE.md7rules文字数pre-commitCowork59Python27

✦ プレミアム記事

個人開発でアプリとサイトを運用している私自身、手元の運用ルールを書いた CLAUDE.md が、後半まで読まれているのかどうかを確かめたくなりました。きっかけは、Claude Code 2.1.309 の更新履歴にあった一行です。上限を超えたサブフォルダの CLAUDE.md は、先頭だけを読み込むようになった、という内容でした。

まず ls -l で大きさを見ました。出てきたのは 16,048 です。上限の 40,000 には届かないものの、その半分近くあります。余裕があるのか、ないのか。その数字だけでは判断できませんでした。

結論を先にお伝えします。上限は容量ではなく文字数で決まっており、日本語のファイルでは ls の数字を、そのままでは使えません。 同じファイルを数え直すと 9,000 文字で、手元では十分な余裕がありました。

上限がかかるのは、サブフォルダの指示と path 指定のルールです

公式のメモリのページには、「サブフォルダの CLAUDE.md の後ろが無視される」場合の確認手順が載っています。要点は3つです。

1つ目は、対象の範囲です。起動したディレクトリの下にあるサブフォルダの CLAUDE.md と CLAUDE.local.md、そこから @path で取り込んだファイル、サブフォルダの .claude/rules/ にあるルール、paths: を付けたルールが対象になります。必要になったときに読み込まれる種類のファイルです。

2つ目は、上限の値です。200K のコンテキストでは 40,000 文字、1M のコンテキストでは Opus 4.6 と Sonnet 4.6 が 200,000 文字、それ以降のモデルが 150,000 文字になります。

3つ目は、超えたときの挙動です。Claude には先頭だけが渡され、その末尾に「続きは Read ツールで読むように」という注記が付きます。Claude が自分で続きを読みに行かない限り、後半の指示は文脈に入りません。

ファイルの種類読み込まれ方この上限
起動ディレクトリ直下の CLAUDE.mdセッション開始時に常にかからない(200 行を超えると警告)
サブフォルダの CLAUDE.mdそのフォルダのファイルを扱うときかかる
paths: 付きのルール該当するファイルを扱うときかかる
paths: なしのルール(直下の .claude/rules/)セッション開始時に常にかからない

意外だったのは、いちばん長くなりがちな直下の CLAUDE.md が、この上限の対象ではないことです。切り詰められるのは、あとから足したサブフォルダ側のファイルでした。公式にも「2.1.309 より前は、必要なときに読み込まれるファイルにこの上限は適用されていなかった」とあります。

容量と文字数は、日本語では 1.5 倍から 1.8 倍ずれます

ls -l や wc -c が返すのはバイト数です。UTF-8 の日本語は、1文字が 3 バイトで保存されます。手元のファイルで確かめた結果が次の表です。

コマンドCLAUDE.mdCLAUDE_REFERENCE.md
wc -c(バイト)16,04821,387
wc -m(UTF-8 のロケール)9,00014,183
LC_ALL=C wc -m16,04821,387

3行目が、この記事でいちばんお伝えしたい点です。wc -m は、ロケールが C のとき、文字数ではなくバイト数を返します。 公式の手順は「wc -m で数える」と書いていますが、cron や定期実行の環境では LANG が C のことがあります。そこで数えると、日本語のファイルは実際の 1.5 倍から 1.8 倍に見えます。

上限を超えたと思い込んで、まだ余裕のあるファイルを削ってしまうことです。危ないのは、その向きの誤りです。いま思えば、ls の数字を見て「半分近い」と身構えたのも、早合点だったのかもしれません。

✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦自分のプロジェクトの CLAUDE.md と rules を1コマンドで走査し、後半が読み込まれない恐れのあるファイルを、効かない原因を探し回る前に見つけられるようになる
✦wc -m がロケール次第でバイト数を返す罠を避けて、日本語のファイルでも正しい文字数で上限と比べられるようになる
✦上限を超えそうなファイルをコミット前に止める仕掛けを入れて、分け方を決めるまでの手順を自分の設定に当てはめられるようになる
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

◈ Cowork2026-10-26
無人実行のプロンプト 36 ファイルを点検したら、「使う指示」と疑った 7 件はどれも禁止文でした
夜間に無人で走るタスクは、許可ダイアログが一度出るだけで誰にも押されず止まります。プロンプトに「使う指示」が紛れていないかを数える点検スクリプトと、禁止語 grep が 7 件も空振りした理由、判定を語幹に直した経緯をまとめました。
◈ Cowork2026-10-25
ビルドが「リソース重複」で止まった朝、競合コピー80個の出どころは同期フォルダの生成物でした
Dropbox 配下の Android プロジェクトで、ビルドが「リソース重複」で止まりました。原因の競合コピーを数える走査スクリプト、ビルド前に生成物だけを掃除する守り、同期から外す属性の付け方をまとめた記録です。
◈ Cowork2026-10-22
定期タスクの完了ログを半分読めなかった夜、正規表現を広げず最終行に印を1行足しました
日次ログ 1,076 件のうち結果を読めたのは約半数でした。正規表現を広げても回収は35件で誤報も出たため、最終行に決まった形の印を残す関数と、毎朝の点検スクリプトを作った記録です。