In CLAUDE.md, the @ include syntax is a Claude-specific directive that inlines the contents of another file into the prompt context at load time.
It is not Markdown, not MCP, and not supported by ChatGPT.
Syntax
@path/to/file.mdWhat it does
- Replaces the
@line with the full contents of the referenced file - Happens before the model sees the prompt
- Used to modularize instructions, rules, or context
Example:
# Project Instructions
@coding-rules.md
@spec/architecture.mdClaude receives a single expanded prompt containing all files.
Key properties
- Paths are relative to the CLAUDE.md file
- Plain text inclusion (no AST, no variables)
- One-way expansion (no conditionals, no loops)
- Typically used for:
Tips
Working with Multiple Models
If you use multiple AI tools and models, you can centralize your overview into AGENTS.md
Then in CLAUDE.md
@AGENTS.md That allows you to centralize key project information in one place.
Project Spec, Tasks, Bugs, Future...
I use a lightweight informal approach to Spec-Driven Development (SDD) in which I research and store individual features in directories like /docs/config/spec/bugs and store markdown files there.
The important ones relevant to the current state of the project, I can include directly into CLAUDE.md
Environment
I create an env.md file which describes DEV, TEST, PROD, the URLs and configuration files for each so that Claude can easily figure out how the project is structured in DEV and how to deploy it.
This is especially important for multi-tier solutions like an API and a client, or multiple custom NPM packages that you have as separate projects.
