@ (File Reference)(アットマーク(ファイルリファレンス))

キーバインド
@ (File Reference)
アットマーク(ファイルリファレンス)
Claude Code の入力欄で <code>@</code> の直後にファイル名やフォルダ名を書くと、その中身(ファイルなら本文、フォルダならファイル一覧)を会話にそのまま取り込める書き方。コピペ不要で Claude にファイルを読ませる方法。

Claude Codeを使い始めたばかりの読者向け

書きかけのファイルを Claude に校正・レビューさせたい時、フォルダ構造をざっと把握させたい時、複数ファイルを見比べさせたい時に、コピペで全文を貼る代わりに <code>@articles/intro.md</code> のように打って中身をそのまま渡す。<code>@</code> を打った瞬間に候補ファイルが表示されるので、Tab キーで選んで後ろに依頼文を添えて送信する。

Claude Code の入力欄で @ を打つと、その直後に書いたファイルやフォルダの場所をそのまま会話に取り込めます。たとえば @articles/intro.md と打つと、そのファイルの中身がまるごと Claude のコンテキストに渡る。コピペで全文を貼り付ける作業が消えて、毎回最新の中身を読ませられます。

地味だけど、入力作業のだるさを一段下げる仕組み。

噛み砕くと

新しい職場で「あの資料ちょっと見せて」と言われた時、紙を毎回コピーして渡す代わりに「この棚の3段目」と場所だけ伝えれば相手が自分で開いて読める。@ はそれと同じ感覚です。Claude に「コピーを渡す」のではなく「場所を伝える」やり方に切り替える1文字。

結果として、書きかけのファイルを直しながら何度も同じ Claude セッションで質問する、という流れが軽くなる。コピペは貼った瞬間の中身で固まりますが、@ なら毎回最新の状態を読み直してくれます。

大事な前提:@ はプロジェクトのフォルダの中だけ届く

Claude Code は起動した場所のフォルダ(プロジェクトルートと呼ぶ場所)を出発点にして、その中身を @ で読みに行きます。プロジェクトの外にあるファイルは @ では届かない。デスクトップに置いた別のファイルを読ませたい場合は、起動時に --add-dir でフォルダを追加するか、いったんプロジェクトの中に移すか、どちらかが必要です。

もう1つ大事なのが、@ でファイルを参照すると、そのファイルと同じフォルダにある CLAUDE.md、さらに親フォルダの CLAUDE.md も自動で読み込まれるという公式仕様。プロジェクト用の覚え書きを Claude に毎回読ませる仕組みが、@ の裏で働いています。

「世界の魚を紹介するサイト」の校正で実際に使う

例として、「世界の魚を紹介するブログ」を作っていて、書き終わった記事ファイル articles/intro.md を Claude に校正させたい場面を想定します。コピペで全文を貼ってもいいけど、@ を使った方が早い。

ステップ1: プロジェクトのフォルダで Claude Code を起動する

まずブログ用のフォルダに入って、その場で claude と打つ。

$ cd ~/blog/world-fish
$ claude

これで ~/blog/world-fish がプロジェクトルートになり、この下にあるファイルが @ で読めるようになります。

ステップ2: @ を打って候補を見る

入力欄で @ を1文字打つと、フォルダの中のファイル一覧が候補としてその場に出てきます。続けて art まで打てば候補が articles/ 始まりだけに絞られていく。Tab キーで候補を選ぶか、矢印キーで上下に動かして選びます。

> @art

候補から articles/intro.md を選んで、後ろに依頼内容を書きます。

ステップ3: 校正を依頼する

> @articles/intro.md このファイルを校正してください。誤字脱字と、文章のリズムが悪いところを指摘してほしい。

送信すると、Claude は articles/intro.md の中身を全部受け取った状態で校正を返してくれます。コピペは1回もしてない。

ステップ4: 修正版を Claude に書き換えさせる

指摘を見て「この方向でファイルを書き換えて」と続ければ、Claude が直接ファイルを編集してくれます。書き換え系のツール許可が事前に出ている前提です。

> 指摘の通りに @articles/intro.md を直接書き換えてください

ここで初心者がやりがちな勘違いがある。@articles/intro.md は「ファイルを開いて」という命令ではなく「このファイルの中身を会話に乗せて」という意味です。@articles/intro.md とだけ送っても何も起きない。中身は渡るのですが、何をしてほしいか書いてないので Claude が黙って待つだけ。後ろに依頼内容を必ず添える。

ステップ5: フォルダ全体を確認したい時は @フォルダ名

記事を1つだけでなく、フォルダ単位で「中に何があるか教えて」と聞きたい時は、ファイル名ではなくフォルダ名で指定します。

> @articles/ の中に今どんな記事ファイルがあるか教えて

この場合は、フォルダの中のファイル一覧が Claude に渡ります。具体的にはファイル名・更新日などの情報。ファイルの中身までは展開されません。あくまで「目次」を渡す動き。中身が要るなら個別にファイル名で @ し直す。

ステップ6: 1つのメッセージで複数ファイルを @ する

記事と参考資料を両方読ませて校正したい時は、同じメッセージに @ を複数並べられる。

> @articles/intro.md と @reference/style-guide.md を見比べて、style-guide のルールに沿ってない箇所を指摘してほしい

2つのファイルの中身が両方コンテキストに乗った状態で動くので、ルールと記事の照合が一気にできます。

つまり @ は何をしてくれるのか

  • やってくれる: 指定したファイルの中身を、コピペなしで Claude に丸ごと渡す。同じファイルを何度も @ すれば、毎回その時点の最新版を読み直す。フォルダを @ すればファイル一覧(目次)を渡す。1メッセージに複数 @ も可。MCPサーバーが提供しているリソースは @server:resource の書き方で取り込める
  • やってくれない: ファイルを「開く」操作ではない。あくまで中身を渡すだけ。プロジェクトの外、または --add-dir で追加していないフォルダにあるファイルは届かない。フォルダを @ しても中のファイル本文までは展開しない
  • 意味が薄い場面: 1〜2行のメモだけ参照したい時はコピペで貼った方が早い場合があります。@ はファイル全体を渡すので、長いファイルだと無関係な部分まで Claude が読む

使いどころ3シナリオ(具体場面で再現)

シナリオ1: 料理ブログの下書き原稿を一気に直す

ハンバーグレシピの下書き recipes/hamburg-draft.md を書いた後、@recipes/hamburg-draft.md 全体の構成と、計量単位の表記揺れ(gとグラム混在等)を直してほしい と打つ。コピペ不要で、書き終わった瞬間に校正セッションへ突入できる。直した後にファイルが書き換わるので、「もう1回 @ して再校正」を繰り返す流れが軽くなる。

シナリオ2: 家計簿アプリの設定ファイルだけ Claude に見せる

家計簿アプリのソースを書いていて、設定ファイル config/categories.json のカテゴリ分けを相談したい時。@config/categories.json このカテゴリ分け、食費を「外食/自炊」で分けたほうが家計分析しやすい? と聞けば、設定ファイル単体の中身だけ渡して相談できる。アプリ全体のソースまで渡す必要がない。

シナリオ3: GitHub から落としてきたコード一式の構造を最初に把握する

知らないライブラリのプロジェクト一式を git clone で自分のパソコンにコピーした直後、まずどんなファイル構成か知りたい場面。@src/ の中にどういう役割のファイルがあるか、フォルダ構造から推測して教えて と打てば、フォルダの中身一覧を見て概要を返してくれる。次に「重要そうなファイルを1つ @ で開いて読ませる」という二段ロケットでコードを把握できる。

初心者が踏みやすい落とし穴

  • @ だけ送っても何も起きない。中身は渡るが、何をしてほしいか書いてないと Claude が黙って待つだけ。後ろに必ず依頼文を添える
  • ファイル名のスペル間違いは無言で失敗する。Claude Code が「そんなファイルない」と警告するけれど、Claude 本体は中身ゼロのまま会話を続けることがある。返ってきた回答が妙に薄い時は @ したファイル名を疑う
  • 巨大ファイルを @ するとコンテキストを食い潰す。数十KB、数百KBの自動生成ログや CSV をそのまま @ すると、会話全体に使えるコンテキストの大半をそれが占める。長いファイルは必要部分だけ抜粋してコピペするか、Claude に「ファイルの一部だけ読んで」と頼んで Read ツール経由で部分読みさせる方が安全
  • フォルダを @ しても中のファイル本文は読めない@articles/ はあくまで目次レベル。記事を読ませたいなら個別に @articles/intro.md と打つ
  • プロジェクトの外のファイルは @ で届かない。デスクトップにある別ファイルや、別のプロジェクトのファイルは、起動時に --add-dir で追加しておくか、いったんプロジェクト内に移す必要がある
  • 同じファイルを @ し続けるとコンテキストが膨らむ。校正を何往復もすると、毎回ファイル全文がコンテキストに積まれていく。長く続いたら /clear でセッションをリセットしてから再開する方が反応が速い
  • コピペとの違いを意識する。コピペは貼った瞬間の中身で固まるので「あの時の文章を批評して」が成立する。@ は毎回最新を読みに行くので、ファイルを書き換えた後に「さっきの版」をもう一度見せたい時には不向き

書き方

@<ファイルの場所>
@<フォルダの場所>
@server:resource

やってみるとこうなる

入力

@articles/intro.md このファイルを校正してください。誤字脱字とリズムが悪い箇所を指摘してほしい。

出力例

(articles/intro.md の中身が Claude のコンテキストに展開された状態で、Claude が校正結果を返す)

3か所、修正候補があります。

1. 「魚類は」の繰り返しが3段落連続しています → 「彼ら」「これらの種」など言い換えると単調さが減ります
2. 「〜なのです」が同段落内に4回 → 末尾を「〜です」「〜になります」と混ぜるとリズムが出ます
3. 「美しい」「綺麗」が2段落で混在 → どちらかに統一を推奨

直接書き換えますか?

このページに出てきた言葉

コンテキスト
Claude が会話の中で「読んでる材料」全部のこと。プロンプト本文と、そこに取り込んだファイルの中身などが混ざって入る
プロジェクトルート
Claude Code を起動したフォルダ。<code>@</code> はここを基点にしてファイルの場所を考える
--add-dir
Claude Code を起動する時に「このフォルダも読み書きしていいよ」と追加で許可する書き方。プロジェクト外のファイルを <code>@</code> で読みたい時に使う
CLAUDE.md
プロジェクト用の覚え書きを書いておくテキストファイル。<code>@</code> でファイルを参照すると、そのファイルと同じフォルダ・親フォルダの CLAUDE.md も自動で取り込まれる
MCP
Claude に外部のサービスやデータベースを接続するための共通の仕組み。MCPサーバーを設定すると、その中のデータが <code>@server:resource</code> の書き方で取り込めるようになる
git clone
プロジェクトのファイル一式と変更履歴をまとめた箱を、自分のパソコンにコピーする操作。GitHub などで公開されているコードを手元に持ってくる時に使う

関連項目

公式ドキュメント

https://code.claude.com/docs/en/common-workflows#reference-files-and-directories

-

← 戻る