Atlas returns "File not found: <path>" because the read tool could not stat the file you asked for, and the fix is almost always to pick the correct name out of the "Did you mean one of these?" suggestion list that Atlas prints underneath the error. ReadTool.miss lists the target's parent directory and offers near-miss candidates before failing, so a typo produces a suggestion list rather than a bare error. If the suggestions do not help, use glob to locate the file by pattern, then confirm your working directory, because relative paths resolve against the instance directory and not against the shell you launched from.
Why does Atlas report "File not found: <path>"
Atlas reports "File not found: <path>" when the read tool cannot stat the target you named. ReadTool.miss then lists the parent directory and offers near-miss candidates, so a single typo in a 2026 Atlas session produces a "Did you mean one of these?" suggestion list instead of a bare failure.
The error is a miss, not a crash. Atlas's read tool does not silently return empty content when a path is wrong, and it does not guess a substitute file on your behalf. Instead, ReadTool.miss enumerates the parent directory of the path you asked for and surfaces the entries whose names are close to what you typed. That behavior is deliberate: the most common reason a read fails is a one-character mistake in a filename, and the fastest correction is a list of the real names sitting next to it. If the parent directory itself does not exist, there are no near-miss candidates to show, and you get the bare "File not found: <path>" line with no suggestion list. That distinction is a useful signal. A suggestion list means the directory is right and the filename is wrong. No suggestion list means the directory portion of your path is the part to question.
How to fix "File not found" in the Atlas read tool
Fix the Atlas "File not found" error in 4 steps: read the "Did you mean one of these?" suggestion list and pick the intended file, run glob to locate it by pattern, confirm the working directory because relative paths resolve against the instance directory, then check external-directory permission rules.
Work the list in order, because it goes from cheapest to most involved. The suggestion list costs nothing to check and resolves the majority of these errors on the spot. When the suggestions do not contain your file, glob is the next tool: it matches by pattern, so you can search for a fragment of the name across the project and get back the real path. Once glob returns a path, copy that exact string into read rather than retyping it, since retyping is what produced the miss in the first place. Only after both of those fail should you start questioning the directory base or a permission rule. Be honest about the caveat here: glob searches by filename, so if the file genuinely does not exist under any name, no amount of pattern matching will conjure it. At that point the question is whether the file was ever created, not whether read can find it.
Why relative paths break in Atlas sessions
Relative paths in Atlas resolve against the instance directory, the 2nd most common source of "File not found: <path>" after a simple typo. A path like src/index.ts can read cleanly in your terminal and still miss inside an Atlas session started from a different root.
The mismatch is easy to miss because both paths look correct in isolation. If you started Atlas from a repository root and the file lives under a nested package, a relative path written from the package's point of view will not resolve. The reliable habit is to pass paths that you have seen Atlas itself produce. When glob returns a match, or when Atlas quotes a path back to you in a previous tool result, that string is already expressed in the form the read tool expects. Copying it forward removes the entire class of base-directory mistakes. If you are unsure which directory Atlas is anchored to, the quickest check is a glob for a file you know exists near the root: the path Atlas returns tells you exactly where it is standing.
Can a permission rule cause "File not found" in Atlas
Yes. Every Atlas tool call is permission-gated against allow, ask, and deny rules before it runs, so an external-directory rule can stop read from reaching a path that exists on disk. Check your allow, ask, and deny configuration, the 3 rule kinds, before you conclude the path is wrong.
The permission layer sits in front of the tool, not behind it, which means a denied path never reaches the filesystem call at all. That is the correct design for an agent that runs commands on your machine, but it does mean a file you can see in your editor may still be unreachable by the read tool. The tell is that the path is unambiguously correct, the directory exists, and glob either finds nothing or finds the file while read still refuses it. When you see that combination, the next thing to inspect is your allow, ask, and deny configuration rather than the path string. Widening a rule is a decision to make deliberately, since the whole point of the gate is that Atlas asks before touching things outside the space you granted it.
How to verify the "File not found" fix worked
Verify the Atlas read fix by re-running read on the corrected path. A successful call shows 2 signs: read returns file contents instead of "File not found: <path>", and the "Did you mean one of these?" suggestion list does not reappear on the second attempt.
A clean verification has two parts. First, read returns content, which proves the path resolves and the permission rules allow it. Second, the suggestion list is gone, which proves you are no longer hitting the near-miss branch of ReadTool.miss. If the suggestion list returns with a different set of candidates, you have moved to a different directory and introduced a new typo rather than fixing the original one. A durable habit that prevents repeats: when you need a file more than once in a session, take the path from the first successful read and reuse it verbatim. Atlas snapshots file changes as git patches so edits can be diffed and rolled back, so once you are reading and editing the right file, a mistaken change is recoverable. A mistaken path, by contrast, just wastes a turn.
How to fix it
- 01Read the suggestion list in the error and pick the intended file. Atlas prints "Did you mean one of these?" with similarly named files from the same directory, and the correct target is usually right there.
- 02Use glob to locate the file by pattern if the suggestions do not help. A pattern search across the project finds the real path when you only remember part of the name.
- 03Check the working directory: relative paths resolve against the instance directory, not against the terminal you happened to launch Atlas from.
- 04Confirm the file is not excluded by an external-directory permission rule. Every Atlas tool call is permission-gated against allow, ask, and deny rules before it runs.
- 05Re-run read with the exact path string that glob returned, rather than retyping it by hand.
Frequently asked questions
- what does File not found mean in Atlas
- It means the Atlas read tool could not stat the path you passed. Atlas prints "File not found: <path>" and, when the parent directory exists, adds "Did you mean one of these?" with similarly named files from that directory.
- why does Atlas say Did you mean one of these
- ReadTool.miss lists the target's parent directory and offers near-miss candidates before failing, so a typo produces a suggestion list rather than a bare error. The file you actually wanted is usually one of the listed names.
- how do I find a file in Atlas when read cannot find it
- Use glob to locate the file by pattern. Glob matches on filename, so a partial name returns the real path, which you then pass to read verbatim rather than retyping.
- why does a relative path fail in Atlas but work in my terminal
- Relative paths in Atlas resolve against the instance directory, not against the shell you launched from. A path that is correct relative to your terminal can still miss inside the Atlas session.
- can Atlas permissions block the read tool from finding a file
- Yes. Every Atlas tool call is permission-gated against allow, ask, and deny rules before it runs, so an external-directory rule can exclude a file that exists on disk. Confirm the file is not excluded before blaming the path.
- should I use glob or grep to find the file Atlas cannot read
- Use glob when you know part of the filename, since glob matches names by pattern. Grep searches inside file contents, so it is the wrong tool for locating a file whose path you got wrong.
- how do I confirm the Atlas File not found error is fixed
- Re-run read on the corrected path. A successful call returns the file contents and the "Did you mean one of these?" suggestion list does not reappear.
Try Atlas in your terminal
The terminal-native AI coding agent. Free core, single binary.
Install AtlasRelated guides
Atlas vs Cursor: terminal AI coding agents compared (2026)
A grounded 2026 comparison of Atlas and Cursor across workflow, change review, extensibility, and pricing for developers choosing an AI coding agent.
Atlas for Phoenix in 2026
Atlas is a terminal-native AI coding agent for Phoenix in 2026. It reads contexts, LiveView modules, and Ecto changesets, then runs mix test behind a prompt.
Atlas with NVIDIA Nemotron Nano 9B v2 in 2026
Nemotron Nano 9B v2 in Atlas, 2026: a dense 9B reasoning model at $0.06/$0.23 per Mtok on Vercel AI Gateway and Amazon Bedrock, free on the NVIDIA NIM tier.
Atlas with Mistral Small 3.2 (local via Ollama) in 2026
Run Atlas on Mistral Small 3.2 (local via Ollama) in 2026: a 15GB pull, Free (self-hosted), 128,000 tokens of context, and function-calling tuned 2506 weights.
Atlas with DeepSeek V3.1 (open weights): Togglable Thinking in 2026
Run Atlas on DeepSeek V3.1 (open weights) in 2026. One MIT-licensed checkpoint with thinking and non-thinking modes, $0.25 per Mtok in and $0.95 per Mtok out.
Atlas with DeepSeek V3.2 (open weights): Sparse Attention at $0.38 Output, 2026
Run Atlas on DeepSeek V3.2 (open weights) in 2026. DeepSeek Sparse Attention gives 160K tokens (DeepInfra) at $0.26 per Mtok in and $0.38 per Mtok out.
Atlas with Qwen3.7 Max: Alibaba's May 2026 Frontier Tier at $2.50 / $7.50
Qwen3.7 Max in Atlas: Alibaba's May 2026 flagship, a 1M context model at $2.50 / $7.50 per Mtok, or $1.25 / $3.75 through Together. Setup with DASHSCOPE_API_KEY.
Atlas with Qwen2.5 14B Instruct in 2026: The Open-Weights Main Model Tier
Qwen2.5 14B Instruct drives Atlas at $0.35 per Mtok input and $1.40 per Mtok output, fits a single 24 GB GPU at 4-bit, and holds a real multi-file edit plan.