hermes - 💡(How to fix) Fix read_file tool returns "File not found" for valid absolute paths on Windows

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

→ {"error": "File not found", "similar_files": [".\pycache", ...]}

Root Cause

Suspected root cause

Fix Action

Workaround

execute_code("open(path).read()")  # works reliably
terminal("cat /path/to/file")       # works via MSYS translation

Code Example

os.path.exists(path)   # True
os.path.getsize(path)  # > 0
open(path).readline()  # works fine

---

read_file(path="/absolute/path/to/readable.py")
{"error": "File not found", "similar_files": [".\\__pycache__", ...]}

---

execute_code("open(path).read()")  # works reliably
terminal("cat /path/to/file")       # works via MSYS translation
RAW_BUFFERClick to expand / collapse

read_file tool returns "File not found" for valid absolute paths on Windows

Environment

  • OS: Windows 10
  • Hermes version: latest (2026-05-31)
  • Shell: git-bash (MSYS)

Bug description

The read_file tool consistently returns "File not found" for valid files that are confirmed to exist and are readable by Python.

Reproduction

  1. File exists and is readable via Python:
os.path.exists(path)   # True
os.path.getsize(path)  # > 0
open(path).readline()  # works fine
  1. read_file with the same absolute path fails:
read_file(path="/absolute/path/to/readable.py")
→ {"error": "File not found", "similar_files": [".\\__pycache__", ...]}
  1. The similar_files list is always the same static set — suggesting fallback to a default directory listing when path resolution fails.

Pattern

  • Fails: absolute paths to files outside the session working directory
  • Fails: absolute paths to files inside the working directory (intermittent)
  • Fails: paths on different drives (e.g. D:\)
  • Works: execute_code + Python open() (always)
  • Works: terminal with MSYS-translated paths (e.g. /c/Users/...)

Suspected root cause

The tool's path resolution CWD differs from the Python process CWD in the sandbox. The backend sandbox appears to have a different working directory than the session's configured cwd, causing absolute paths to be rejected when they don't map into the sandbox's view of the filesystem.

Workaround

execute_code("open(path).read()")  # works reliably
terminal("cat /path/to/file")       # works via MSYS translation

Impact

Moderate. Breaks reading skills files, vault files, and cross-drive files. Workaround exists but adds friction.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - 💡(How to fix) Fix read_file tool returns "File not found" for valid absolute paths on Windows