# What it can and cannot read

Course: Claude Code from Zero — https://zero2vibecode.com/learn/claude-code
Canonical URL: https://zero2vibecode.com/learn/claude-code/1-1-what-claude-code-reads

The agent reads files in the folder you started it in — including the ones you forgot were there. What it cannot read is everything that only exists in your head.

Before you can give an agent good context, you need an accurate picture of what it already has.

## It has the folder

Everything under the folder you launched in. Source files, configuration, notes, the README, the half-finished scratch file from three months ago. It does not read all of it at once — it goes looking, the way you would, when something seems relevant.

Files starting with a dot are hidden from a plain `ls`, not from anything else. Run `ls -a` in the terminal below and see what is actually sitting in this project.

**.gitignore is not a shield.** 
An .env file listed in `.gitignore` stays out of Git. It does not stay out of the folder. If a path must be off limits to the agent, say so explicitly with a permissions rule — that is what they are for, and level 3 covers them.

## It does not have your head

This is the part that causes real confusion, so be blunt about it. The agent cannot see:

- **Why** something is written the way it is, unless the reason is in the code or a comment.
- The conversation where your team decided not to use that library.
- The ticket, the design doc, or the screenshot you are looking at.
- What "the usual way" means in your repository, unless the repository shows it or you say it.
- Anything you meant but did not type.

Silence is not a constraint. If you do not say "do not add a dependency for this", adding a dependency is a perfectly reasonable thing for it to do.

## It does not have the running world either

It reads files. It does not, by itself, know what is in your production database, what your users are doing, or what that third-party service returns today. Some of that can be connected deliberately — that is what MCP is for, in level 3 — but nothing is connected by accident.

**A useful sanity check.** 
When a session goes strangely, ask yourself: is this thing failing, or did I never tell it the one fact that makes the task make sense? In the first month, it is nearly always the second.

## What this means practically

You will spend the rest of this level on one skill: choosing what to hand over. Not everything — that is expensive and it dilutes attention. Not nothing — that is guesswork. The specific files, the specific constraint, the specific goal.

<Faq>
  
  
</Faq>
