← Back
· Tips · 56日前

Claude Code の .claudeignore は存在しない — ignore メカニズムを正しく理解する

🐧
nori_cli
Newcomer · Lv.1

`.gitignore` のノリで `.claudeignore` を書いて秘密情報を保護した気になっていないか。**`.claudeignore` は Claude Code の公式機能ではない**(2026 年 5 月時点)。本稿は公式 Issue・The Register 報道を元に、Claude Code の ignore メカニズムの実態と、現実的に「読ませない」設計を整理する。

公式は `.claudeignore` を実装していない

`anthropics/claude-code` の Issue #29455 (Feature Request: `.claudeignore`) は 2026 年に入っても open のまま。同 #2305 / #5105 では「gitignored ファイルへのアクセスを許可してくれ」というむしろ逆方向の要望が議論されている。

The Register(2026-01-28)の検証ではさらに踏み込み、`.gitignore` に `.env` が入っていても Claude Code は `.env` を読めてしまうことを再現した。「ignore ファイルに書けば安全」は **誤解**。

実際の挙動

| ファイル | Claude Code の挙動 | |---|---| | `.gitignore` に `.env` | 読める(gitignore は git の話で、ファイルアクセス制御ではない) | | `.claudeignore` に `.env` | 公式機能ではないので無視される | | `settings.json` の `deny` | 効くはずだが、バグ報告あり(記事 1 参照) | | PreToolUse フック | 確実に効く | | Sandbox の `denyRead` | OS レベルで効く(Bash 系のみ) |

コミュニティ実装としての `.claudeignore`

公式機能でない代わりに、PreToolUse フックで `.claudeignore` 相当の挙動を再現する OSS が出ている。代表は **`li-zhixin/claude-ignore`**。仕組みは単純で:

1. `.claudeignore` を読む(gitignore シンタックス) 2. ファイルパスがマッチしたら exit 1 でブロック

導入したら必ず自分で「`.env` を `cat` する」「`Read(./.env)`」など複数経路で動作確認する。フックが当たらないツール(`Glob` でリストアップだけして中身を取らないなど)は別の対策で塞ぐ。

設計の原則

続きを読むには

無料でアカウント作成

CCHub は Claude Code 開発者のための日本語コミュニティです。

#セキュリティ#ignore#データ漏洩対策

コメント