Skip to content
Mastering Claude

Home / Fundamentals and the agent loop

Fundamentals and the agent loop7 minFondation

Pointing to files with @

The @ symbol opens a menu that points to a real file or folder on disk, filters as you type, and clearly separates the moment a path is inserted into the message from the moment that message is sent.

The @ symbol, typed in the input field, opens a menu that points to a real file or folder on disk, rather than trusting a path typed from memory. Checked against the official documentation on 2 September 2026, this mechanism filters the suggestions as you type and clearly separates the moment a path is inserted into the message from the moment that message is sent.

A menu that narrows as you type

Typing @ opens a menu of path suggestions without leaving the current input line. Adding letters narrows this menu to the files and folders whose name matches. Tab or Enter then accepts the highlighted path and inserts it into the message: it is only a second press of Enter that sends this message and triggers the actual reading of the file or folder from disk. Referencing an entire folder this way also adds, every time, the CLAUDE.md file present in that folder and in its parent folders to the session's context, exactly as a normal Claude Code startup on a project does.

# in Claude Code's input field
@src/con
# the menu displays config.ts, connectors/, contract.md
# Tab inserts the highlighted path
# Enter sends the message and triggers the reading

Beyond a local file

The same symbol does not stop at the local disk. A distinct syntax, a server name followed by a colon then a resource, fetches data from an MCP server connected to the session, for example to list the open tickets of a remote repository. The principle stays the same in both cases: @ points to real data at the moment it is sent, it does not copy it from memory, and so it never lets a stale path slip into a request without anyone noticing. This same reflex, pointing to what exists rather than describing it, comes up again in the automatic reading of the CLAUDE.md file at startup, which applies the principle to an entire repository rather than to a single file named in a message.

Figure 1

From the @ symbol to actually reading the file

01
Type @
The input field opens a menu of path suggestions without leaving the current line.
02
Add letters
The menu narrows to the files and folders whose name matches what has just been typed.
03
Confirm the highlighted path
Tab or Enter accepts the highlighted path and inserts it into the message, without sending it yet.
04
Send the message
A second press of Enter sends the message and triggers the reading of the file or folder from disk.
Each step corresponds to a key pressed, the file is only read at the very last one.
Calibrate it yourself

A developer types the @ symbol in Claude Code's input field, followed by the first three letters of a configuration file's name. A suggestion menu displays and narrows as he types. He presses Tab to confirm the highlighted path, then Enter to send the message.

Write in one sentence what this situation establishes, and in one sentence what it does not establish.

What to remember
  • The @ symbol opens a menu of path suggestions that narrows as letters are typed.
  • Tab or Enter accepts the highlighted path and inserts it into the message, without sending it yet.
  • Referencing a folder with @ adds to the context the CLAUDE.md file from that folder and from its parent folders.
  • A distinct syntax, a server name followed by a colon and a resource, fetches data from a connected MCP server rather than from the local disk.
Do this now

Open Claude Code in an existing repository, type @ followed by the first letters of a real file name, confirm with Tab, and check that the path inserted in the message matches exactly the expected file before sending.

Check the source

Every datable claim in this lesson links here to the public text behind it. A source that does not open proves nothing.