Claude Codeの除外設定方法|.claudeignoreは公式機能ではない

スポンサーリンク
Claude Code入門

.claudeignore という名前で検索している人向けに先に結論を書くと、2026年3月11日(JST)時点で .claudeignore は Claude Code の公式ネイティブ機能として確認できません。不要ファイルの除外や機密ファイルの読み取り制御は、.claude/settings.jsonpermissions.deny と、respectGitignore を使うのが現行の公式ルートです。

この記事では、古い「.claudeignore を書けばよい」という説明を修正しつつ、Claude Code で不要ファイルを読ませない正しい設定方法を整理します。React / Python / WordPress 向けの設定例、.gitignore との使い分け、コミュニティ実装との線引きまでまとめて確認できます。最終確認は公式ドキュメントを参照してください(Claude Code settings)。

スポンサーリンク

Claude Code で不要ファイルを除外する方法とは?

まず重要なのは、.claudeignore を Claude Code の公式設定ファイルとして扱わないことです。現行の公式ドキュメントで確認できる手段は、次の2つです。

  • .claude/settings.jsonpermissions.deny で、特定パスの読み取りを禁止する
  • respectGitignore を有効にして、@ ファイルピッカーが .gitignore を尊重するようにする

この2つを組み合わせると、不要な文脈を減らしつつ、.env や秘密鍵のような機密ファイルも明示的にブロックできます。

permissions.deny の基本設定と respectGitignore の使い方

公式ルートで除外を設定するなら、まず .claude/settings.json に読み取り拒否ルールを置きます。最小構成は次の形です。

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./secrets/**)",
      "Read(./node_modules/**)",
      "Read(./dist/**)",
      "Read(./coverage/**)"
    ]
  }
}

permissions.deny で先に止めるべき対象

  • .envsecrets/: 機密情報の誤読取を防ぐ
  • node_modules/.venv/: 容量が大きく解析価値が低い
  • dist/coverage/: 生成物や計測結果のノイズを減らす

respectGitignore の役割

respectGitignore は、Claude Code の @ ファイルピッカーが .gitignore を参照するための設定です。すでに Git 運用で除外している生成物があるなら、そのルールを流用できます。ただし、機密ファイル保護まで .gitignore に依存せず、機密系は permissions.deny で明示的に止める方が安全です。

除外すべきファイル・ディレクトリの具体例

対象代表パターン除外理由
依存ライブラリnode_modules/, .venv/容量が大きく、解析価値が低い
ビルド成果物dist/, build/, out/生成物は再現可能でノイズになりやすい
テスト生成物coverage/, *.lcov要約指示時に不要情報を増やす
ログ・キャッシュ*.log, .cache/時系列ノイズで回答精度を下げやすい
機密ファイル.env, *.pem漏えいリスク低減

除外方針を決めるときは、先に1-11「コンテキスト管理術」の「必要ファイルだけ読む」原則を合わせて確認しておくと、運用がぶれません。

プロジェクト種別ごとの設定例

ここでは permissions.deny に足しやすい対象を、プロジェクト別に整理します。.gitignore に同じパスがある場合でも、機密ファイルは別途 deny に入れてください。

React / Next.js

"Read(./node_modules/**)"
"Read(./.next/**)"
"Read(./out/**)"
"Read(./dist/**)"
"Read(./coverage/**)"
"Read(./.env*)"

Python

"Read(./.venv/**)"
"Read(./__pycache__/**)"
"Read(./.pytest_cache/**)"
"Read(./.mypy_cache/**)"
"Read(./htmlcov/**)"
"Read(./*.pyc)"
"Read(./.env*)"

WordPress(テーマ/プラグイン開発)

"Read(./wp-content/cache/**)"
"Read(./wp-content/uploads/**)"
"Read(./node_modules/**)"
"Read(./dist/**)"
"Read(./vendor/**)"
"Read(./*.log)"
"Read(./.env)"

プロジェクトルールを文書化するときは、2-1「CLAUDE.md書き方ガイド」で「何を読む/読まないか」を明示しておくと、チーム運用時の再現性が上がります。

permissions.deny / respectGitignore 設定前後の見方

除外設定の効果はリポジトリ構成で変わるため、「何%減る」と断定するより、次の3指標で比較する方が実務向きです。

  • 読み取り対象ファイル数
  • 読み取り対象の総サイズ
  • 同じ依頼文での応答の一貫性(主観評価で可)
指標設定前設定後確認ポイント
対象ファイル数計測再計測巨大ディレクトリが外れているか
対象サイズ計測再計測生成物やキャッシュが減っているか
回答の手戻り観察観察不要ファイル由来のノイズが減ったか

実運用では、同一プロンプトで 2〜3 回試し、不要ファイルの言及が減るかを見てからルールを固定してください。

permissions.deny と respectGitignore の見直しフロー

.gitignoreとの違いと併用のコツ

.gitignore は Git の追跡対象を制御する設定、Claude Code では permissions.denyrespectGitignore が AI 側の読み取り制御に関わる設定です。目的が違うため、次のように役割分担すると運用しやすくなります。

項目.gitignorepermissions.deny / respectGitignore
主目的コミット対象の制御AI読み取り対象の制御
影響範囲Git運用AIセッション品質と安全性
設計のコツ差分管理を優先文脈最適化と機密保護を優先

運用の基本形は、.gitignore で生成物を整理しつつ、Claude Code 側では respectGitignore を有効にし、さらに機密系だけは permissions.deny で明示的に止める形です。

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./secrets/**)",
      "Read(./node_modules/**)",
      "Read(./coverage/**)"
    ]
  }
}

複数ブランチを同時に扱う場合は、除外設定の同期漏れが起こりやすくなります。実務では2-12「worktreeで並列開発」の手順と一緒に管理すると事故を減らせます。

.claudeignore は何者なのか

.claudeignore という名前自体は、GitHub Issue やコミュニティツールでは見かけます。ただし、2026年3月11日時点の公式ドキュメントではネイティブ機能として案内されていません。つまり、.claudeignore を前提にした記事やツールは、少なくとも公式仕様そのものではなく、コミュニティ実装や独自フックを含む前提で読む必要があります。

既存の社内ドキュメントやブログで .claudeignore を使う前提になっている場合は、そのままコピペせず、まず permissions.denyrespectGitignore に置き換えられるか確認してください。

よくある設定ミスとトラブルシューティング

除外したはずのファイルをまだ拾う

  • permissions.deny の対象パスが浅く、サブディレクトリを取りこぼしている
  • respectGitignore が無効で、@ ファイルピッカー側に除外が反映されていない
  • 既存セッションに古い文脈が残っている

対処: deny パターンと .gitignore の両方を見直し、設定保存後にセッションを切り替えて再評価します。

除外しすぎて必要ファイルまで読まれない

  • src/app/ など実コードまで deny してしまう
  • .gitignore に広すぎるパターンがあり、@ ピッカーから選べなくなる

対処: まず機密・生成物だけを除外する最小構成に戻し、問題がなければ段階的に追加します。

結論として、2026年3月11日(JST)時点で Claude Code の公式な除外設定を説明するなら、.claudeignore ではなく permissions.denyrespectGitignore を中心に書くべきです。導入後は「同じ依頼文で回答の安定度が上がったか」を必ず確認してください。

あわせて読みたいおすすめ書籍

Claude Codeをさらに深く使いこなしたい方には、以下の書籍がおすすめです。

とつ

某SIer企業勤務。
生成AI(ChatGPT、Claude、Gemini)に強い関心を抱き、業務に積極的に活用している。本アカウントでは、最新技術の実践例と活用法を発信する。
また、仕事以外では家事育児やヘルスケアにおいても、生成AIの可能性を模索し、日常生活での利活用に努める。

老け顔から「とっつあん」とあだ名で呼ばれ、それが「とつ」といつしか略されるようになったのがハンドルネームの由来。
「リベラルアーツ大学」をきっかけに、稼ぐ力を養いたいという思いからBlogサイトの運営を開始し、Blogの成長とともにAWSのスキルアップにも注力している。
家族は妻と8歳長男、4歳次男。

とつをフォローする
Claude Code入門
スポンサーリンク
シェアする
とつをフォローする

コメント

タイトルとURLをコピーしました