Claude Media
Claude Codeの.claudeディレクトリをエクスプローラーで探索する方法

Claude Codeの.claudeディレクトリをエクスプローラーで探索する方法

公式docsの.claudeディレクトリ探索ページにある対話型エクスプローラーの操作と、読み込みタイミングの見方、表示されないファイルの範囲をまとめます。

Claude Codeの公式docsには、.claudeディレクトリの中身をツリーで辿れる対話型のエクスプローラーがあります。ページのURLはclaude-directoryで、タイトルは「Explore the .claude directory」です。専用のアプリやコマンドではなく、docsページに埋め込まれた部品です。

ファイルをクリックすると、役割・読み込まれるタイミング・設定例が右側に出ます。CLAUDE.mdもsettings.jsonもhooksもskillsも、1画面で見比べられます。

エクスプローラーで何が見えるか

ツリーの対象は、自分で書いて編集するファイルです。CLAUDE.md、.mcp.json、.worktreeinclude、.claude/配下のsettings.json、rules、skills、commands、output-styles、agents、workflows、agent-memoryが並びます。グローバル側では~/.claude.json、~/.claude/配下のCLAUDE.md、settings.json、keybindings.json、themes、auto memoryのprojects/などが載ります。

ファイルを選ぶと、次の情報が表示されます。

  • 一行の説明と、コミットするかどうかのバッジ(committed / gitignored / local)
  • When it loads(いつコンテキストに読み込まれるか)
  • 説明文と、Tips
  • 設定例(Copyボタンでコピーできる)

この中で最も使い道が大きいのは「When it loads」です。読み込みタイミングは、ファイルの置き場所を決める根拠になります。

操作のしかた

  1. docsページを開き、「Explore the directory」の節までスクロールします
  2. 上部のタブでProjectとGlobal(~/)を切り替えます
  3. ツリーのファイルをクリックして詳細を出します。フォルダは展開・折りたたみができます
  4. 矢印キーでも動かせます。上下で項目を移動し、左右でフォルダを開閉します
  5. 「Expand all / Collapse all」のボタンで、全フォルダを一括で開閉できます

ファイルごとにURLのハッシュがあります。#ce-claude-mdや#ce-settings-jsonのような形で、開くとそのノードが選択された状態で表示されます。チームのオンボーディング資料に「settings.local.jsonの説明はここ」とリンクを貼るときに使えます。

画面幅が約700px以下だと、エクスプローラー本体は非表示になります。代わりに案内が出て、ページ下部のファイル一覧表(File reference)へ誘導されます。スマートフォンで見る場合は、その表が実質の代替です。

読み込みタイミングの早見表

エクスプローラーの「When it loads」を、主なファイルについて並べ直します。

ファイル読み込まれるタイミング
CLAUDE.md読み込まれるタイミング毎セッションの開始時
rules/*.md(paths:なし)読み込まれるタイミングセッション開始時
rules/*.md(paths:あり)読み込まれるタイミング一致するファイルがコンテキストに入ったとき
skills/読み込まれるタイミング/skill-nameで呼んだとき、またはClaudeがタスクに合うと判断したとき
agents/*.md読み込まれるタイミング呼ばれたとき、専用のコンテキストウィンドウで動く
workflows/*.js読み込まれるタイミング起動時に読み込まれ、各ファイルが/<name>コマンドになる
keybindings.json読み込まれるタイミングセッション開始時。編集するとホットリロードされる
auto memoryのMEMORY.md読み込まれるタイミングセッション開始時に先頭200行(25KBが上限)。トピックファイルは必要時に読む

ここで効いてくるのがCLAUDE.mdとrulesの使い分けです。CLAUDE.mdは毎セッション全文が載ります。特定のタスクにしか関係しない内容なら、skillsかpaths:付きのruleに移すと、必要なときだけ読み込まれます。エクスプローラーのTipsには「CLAUDE.mdは200行未満が目安。それより長くても全文が読み込まれるが、遵守率が下がることがある」と書かれています。移行の具体例はCLAUDE.mdをSkillsに移行してコストを削減する方法で扱っています。

表示されないもの(What's not shown)

エクスプローラーが載せるのは、自分で作って編集するファイルです。関連するのにツリーに出ないものが、公式ページの「What's not shown」に4つ挙がっています。

ファイル場所何か
managed-settings.json場所OSごとに異なるシステム領域何か組織が配布する設定。限られた例外を除き上書きできない
CLAUDE.local.md場所プロジェクトルート何か自分専用の指示。CLAUDE.mdと一緒に読み込まれる。手動で作り、.gitignoreに加える
AGENTS.md場所ルート、.claude/、任意のディレクトリ何か他のコーディングエージェント向けの指示。Claude Codeは単独でも、CLAUDE.mdと併用でも読める
インストール済みプラグイン場所~/.claude/plugins何かクローンされたマーケットプレイス、プラグインの実体、installed_plugins.jsonなど。claude pluginコマンドが管理する

ツリーだけを見て「.claudeの全部が分かった」と考えると、この4つを見落とします。特にCLAUDE.local.mdは、エクスプローラーには無いのに実際のセッションで読み込まれます。「なぜかこの指示が効いている」と感じたら、まずここを疑えます。

もう1つ、ツリーに出ないものがあります。~/.claudeにはClaude Codeが動作中に書き込むデータもあります。トランスクリプト、プロンプト履歴、ファイルのスナップショット、キャッシュ、ログです。これらは平文で保存され、一部はcleanupPeriodDaysで自動削除されます。消し方はClaude Codeの.claudeディレクトリに残るデータの消し方で詳しく扱っています。

変更をどのファイルに書くか

エクスプローラーの下には、目的別の早見表があります。抜粋します。

やりたいこと編集するファイル
プロジェクトの文脈と規約を渡す編集するファイルCLAUDE.md
ツール呼び出しを許可・拒否する編集するファイルsettings.jsonのpermissionsまたはhooks
ツール呼び出しの前後でスクリプトを走らせる編集するファイルsettings.jsonのhooks
個人用の上書きをgitに入れない編集するファイルsettings.local.json
/nameで呼ぶプロンプトを足す編集するファイルskills/<name>/SKILL.md
専用ツールを持つサブエージェントを定義する編集するファイルagents/*.md
チームでMCPサーバーを共有する編集するファイル.mcp.json(プロジェクトルート)

commandsとskillsは同じ仕組みで、新規のワークフローにはskillsが勧められています。同名のskillとcommandがあると、skillが優先されます。

settings.jsonの説明には、CLAUDE.mdとの違いが1文で書かれています。CLAUDE.mdはClaudeが読む指針で、settings.jsonは従うかどうかに関係なく強制されます。rulesも指針側です。守らせたい振る舞いはhooksかpermissionsに置く、という切り分けです。

自分のリポジトリを突き合わせる

エクスプローラーは公式の見取り図です。自分のプロジェクトがそれと合っているかは、実際のファイルで確かめます。

find .claude -maxdepth 2 -not -path '*/.git/*' | sort
ls -a ~/.claude
wc -l CLAUDE.md

最初の2行でプロジェクトとグローバルの実体を並べ、3行目でCLAUDE.mdの行数を見ます。200行に近ければ、rulesへの分割候補です。公式のエクスプローラーに載っているrulesの例は、次の形です。paths:で対象ファイルを絞ります。

---
paths:
  - "**/*.test.ts"
  - "**/*.test.tsx"
---
 
# Testing Rules
 
- Use descriptive test names: "should [expected] when [condition]"
- Mock external dependencies, not internal modules
- Clean up side effects in afterEach

これを.claude/rules/testing.mdに置くと、テストファイルに触れるときだけ読み込まれます。サブディレクトリも自動で見つかるため、.claude/rules/frontend/react.mdのような整理もできます。

Claudeに棚卸しをさせる場合は、たとえば次のように頼みます。

.claude/ と CLAUDE.md の構成を確認して、
CLAUDE.md の内容のうち、特定の種類のファイルにしか
関係しないものを rules/ に分ける案を出して。
まだファイルは変更しないで。

出力は自分のリポジトリの中身次第です。案が出たら、エクスプローラーの「When it loads」と照らして、読み込まれる条件が意図どおりか確かめます。

設定が効かないときは、公式の「Debug your configuration」に確認コマンドと症状別の対処表があります。手順はClaude Code設定が反映されない原因の探し方にまとめています。

ファイル種別ごとのfrontmatter項目

skills、commands、agents、output-styles、rulesは、ファイル先頭のYAML frontmatterで設定を読みます。エクスプローラーの下に、種別ごとの項目名を並べた表があります。

ファイル主なfrontmatter項目
skills/<name>/SKILL.md主なfrontmatter項目name、description、when_to_use、argument-hint、arguments、disable-model-invocation、user-invocable、allowed-tools、model、effort、context、agent、hooks、pathsなど
commands/*.md主なfrontmatter項目skillsの項目からnameとpathsを除いたもの
agents/*.md主なfrontmatter項目name、description、tools、disallowedTools、model、permissionMode、maxTurns、skills、mcpServers、hooks、memory、isolationなど
output-styles/*.md主なfrontmatter項目name、description、keep-coding-instructions、force-for-plugin
rules/*.md主なfrontmatter項目paths

rulesが読む項目はpathsだけです。skillsは、ユーザーだけが呼べる/deployのような手順にdisable-model-invocation: trueを付けます。/メニューから隠しつつClaudeには呼ばせたいならuser-invocable: falseです。プラグインに入れたエージェントが読めるのは、項目の一部に限られます。

コミットするか、しないか

バッジは共有の境界を示します。

  • committed: CLAUDE.md、.claude/settings.json、rules、skills、commands、agents、.mcp.jsonなど。チームで共有される
  • gitignored: settings.local.json。個人の上書き
  • local: ~/.claude.jsonと~/.claude/配下。共有されない

settings.local.jsonは、Claude Codeが設定を書き込むときに、リポジトリが無視していなければグローバルのgit excludesへ**/.claude/settings.local.jsonを追加します。チームにも同じ無視ルールを効かせたいなら、プロジェクトの.gitignoreにも足します。仕組みはsettings.local.jsonがgitignoreなしで除外される仕組みに詳しくあります。

.mcp.jsonと.worktreeincludeは、.claude/の中ではなくプロジェクトルートに置きます。エクスプローラーでは.claude/と並ぶ階層に出ています。置き場所の勘違いは起きやすいところです。個人だけで使うMCPサーバーはclaude mcp add --scope userで追加すると、~/.claude.jsonに書かれます。

~/.claude.jsonはsettings.jsonと別のファイル

グローバル側で紛らわしいのが~/.claude.jsonです。~/.claude/の中ではなく、ホーム直下にあります。テーマ、OAuthセッション、プロジェクトごとの信頼ダイアログの承認、個人用のMCPサーバー、UIのトグルなど、settings.jsonに置かないものが入ります。基本は/configから操作し、直接は編集しません。autoConnectIdeのようなIDE関連のトグルもここです。セッション中に承認した権限ルールの保存先は、こちらではなく.claude/settings.local.jsonです。

サブエージェントとauto memoryは別物

名前が似ていて混同しやすい2つです。

サブエージェントの永続メモリは、frontmatterにmemory: projectを指定したときに、.claude/agent-memory/<agent名>/MEMORY.mdへ作られます。チームで共有する前提の場所です。gitに入れたくなければmemory: localで.claude/agent-memory-local/、プロジェクトをまたぐならmemory: userで~/.claude/agent-memory/を使います。

メインセッションのauto memoryは、~/.claude/projects/<project>/memory/にあります。既定で有効で、/memoryかautoMemoryEnabledで切り替えます。Claudeが自分で書く索引ファイルで、編集も削除もできます。詳しい設定はClaude Codeのauto memory設定で見られます。

使いどころと限界

エクスプローラーが向くのは、全体像を掴みたいときと、置き場所で迷ったときです。新しくチームに入った人に「まずここを見て」と渡すのにも使えます。

限界は3つあります。

  • 表示するのは公式が用意した典型例で、自分のリポジトリの実ファイルを読み込む機能ではありません
  • 管理設定、CLAUDE.local.md、AGENTS.md、プラグインは載っていません
  • 幅が約700px以下では、エクスプローラー自体が出ません

自分の環境の実状は、「自分のリポジトリを突き合わせる」の節にあるfind / ls / wcで確かめる形になります。

この記事を共有:XはてブLinkedIn