CLAUDE.md Character Limit: Size, Loading, and Useful Instructions
CLAUDE.md has no published hard character limit, but every character it contains costs context window space. Here is how the file loads, what that means for size, and what belongs outside it.
Updated 5 min read
There is no published hard character limit for CLAUDE.md. Anthropic has not set a maximum file size that triggers an error. What there is instead is a practical limit: every character in CLAUDE.md occupies the context window that Claude uses to read your project and respond. A very large CLAUDE.md leaves less room for the task at hand. Tools like fenbs hold detailed decisions and progress records outside the instruction file, so CLAUDE.md stays concise while the full context is still available.
The question to ask is not "what is the character limit?" but "what is the smallest CLAUDE.md that lets Claude work correctly on this project?"
How CLAUDE.md loads into context
When Claude Code opens a project folder, it reads CLAUDE.md and AGENTS.md and loads their contents into the system prompt or early context. This happens before any user message. The file is present in the context for the entire session, taking up tokens that could otherwise hold conversation history, file contents, or tool outputs.
Claude Code also loads CLAUDE.md files from parent directories, applying them in order from the outermost to the current folder. A CLAUDE.md in the repo root applies to every subfolder. A CLAUDE.md in apps/web/ adds to it. The total loaded is all of them combined.
If the combined size of all loaded CLAUDE.md files is very large—say, several thousand words—Claude will still load them, but it may reach the end of the context window sooner in long sessions. Tasks that require reading many large files, or long back-and-forth exchanges, will hit the limit more quickly.
What size works well in practice
A useful CLAUDE.md is typically one to three pages of plain text: build commands, key conventions, what to ask before acting, and pointers to where the deeper context lives. That is roughly 500-1,500 words. Larger than that and you should ask whether every sentence is pulling its weight.
A good test: read your CLAUDE.md and ask "if Claude follows only these instructions, can it start a productive session without asking for basic information?" If yes, it is about the right size. If it contains extensive background, architectural walkthroughs, or detailed meeting notes, those belong elsewhere.
See CLAUDE.md examples for well-sized real-world examples and CLAUDE.md not working for cases where an oversized file contributed to instructions being ignored.
Context cost and concision
Context windows are measured in tokens, not characters. One token is roughly four characters of English text. A 10,000-character CLAUDE.md is approximately 2,500 tokens. In a 200,000-token context window (a common size for recent models), that is about 1.25% of the total. Not catastrophic, but meaningful.
The real cost is not the absolute size—it is what you lose. A large CLAUDE.md that pushes out space for tool outputs or file reads means Claude may not see the complete output of a command or the full contents of a file it needs to analyze. Concision in the instruction file protects the space for the actual work.
See claude usage limits for the broader picture of Claude's context limits and how they affect long sessions.
What to keep in CLAUDE.md
Keep the things that change how Claude acts from the first message. Every line should answer: "If Claude did not know this, would the first few responses be noticeably worse?" If yes, it stays. If no, it probably belongs elsewhere.
- Build and run commands—exactly as they should be typed.
- Key conventions: naming, import style, file placement, code style rules.
- What to ask before acting: file deletions, deploys, changes to shared configuration.
- A pointer to where the current task state lives (a fenbs project, a context file, a wiki).
- Hard rules that must apply from the first action.
Leave out architecture explanations, historical background, rationale for old decisions, links to external documentation, and any content that Claude only needs for a specific task rather than all tasks.
Move the detail out of CLAUDE.md and into fenbs
fenbs keeps the project context that is too long for CLAUDE.md: architecture notes, decision history, lessons learned, and where we left off. Add one instruction to CLAUDE.md—"read the project context in fenbs at the start of each session"—and move the detail there. CLAUDE.md stays small; the context stays complete.
Create a free accountFree for one person · No credit card · Works with Claude, ChatGPT, Cursor and more
What belongs outside CLAUDE.md
Anything that changes between tasks belongs outside CLAUDE.md. The current task, the last decision made, where the project stands today—these change every session and should live in a tool that can be updated, not in a static instruction file.
Long reference material—architecture diagrams described in text, detailed API documentation, extensive examples—can live in a separate file and be referenced by name. "See .claude/codebase-notes.md for the architecture map" keeps CLAUDE.md short while making the detail available when needed.
Team decisions and rules that people make during work also belong outside CLAUDE.md. Writing them into a static file means they can only be updated with a file edit and a commit. In fenbs, any connected session can record a new decision immediately.
How to do this with fenbs
Connect Claude Code to fenbs and trim CLAUDE.md to its essential workflow instructions.
- Create a free account and add a project in fenbs. Add the current tasks, any Decisions and rules, and context notes for facts a session needs to know.
- Connect Claude Code from Integrations and follow the MCP setup guide.
- Review your CLAUDE.md line by line. For each section, ask: is this needed from the first action, or only for specific tasks? Move task-specific and decision content into fenbs.
- Add one instruction to CLAUDE.md: "At the start of each session, read the project context in fenbs. Before ending, save progress." This keeps the file small and the session informed.
- Add a standing rule in fenbs for any instruction that must always apply: it will appear first in the AI context that fenbs sends to Claude, alongside the CLAUDE.md content.
fenbs does not replace CLAUDE.md. It holds the content that is too detailed or too changeable to live in a static instruction file—and makes it available to any connected session without growing the file.