Read tool fails with ENOENT on file paths containing smart apostrophe (U+2019)

Resolved 💬 3 comments Opened Apr 2, 2026 by jpeacock29 Closed May 10, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

The Read tool cannot open files whose paths contain a right single quotation mark / smart apostrophe (', U+2019). The tool returns ENOENT even though the file exists on disk.

Both the built-in Glob tool and the @-file-mention feature in the chat successfully recognize and locate the file. But passing the exact same path to the Read tool results in ENOENT. The U+2019 character appears to be getting normalized or stripped somewhere in the Read tool's path resolution.

What Should Happen?

The Read tool should open the file successfully, consistent with Glob and @-mentions.

Steps to Reproduce

  1. Have a file with a smart apostrophe (U+2019) in the filename. In this case it's a Zotero-managed PDF:

``
/Users/work/Zotero/storage/QVK89Q74/kim_et_al._2024_consumers'_attachment_to_meat...pdf
`
(The
'` between "consumers" and "_attachment" is U+2019, RIGHT SINGLE QUOTATION MARK)

  1. Confirm the file exists — Claude Code's built-in Glob tool returns the path successfully, and @-mentioning the file in chat correctly identifies it as a 12-page, 1.4MB PDF.
  1. Pass the path to the Read tool with pages: "1-3".
  1. Read returns: ENOENT: no such file or directory
  1. Multiple attempts with different representations of the character (literal smart apostrophe, unicode escape \u2019, straight ASCII apostrophe) all fail.

Error Messages/Logs

ENOENT: no such file or directory, stat '/Users/work/Zotero/storage/QVK89Q74/kim_et_al._2024_consumers'_attachment_to_meat_association_between_sensory_properties_and_preferences_for_plant-base.pdf'

Claude Model

Opus

Is this a regression?

Unknown

Claude Code Version

2.1.81

Platform

Anthropic API

Operating System

macOS (Darwin 23.6.0)

Terminal/Shell

zsh

Additional Information

  • This is a common issue with Zotero-managed files, which frequently have smart apostrophes in auto-generated filenames derived from paper titles (e.g., "consumers' preferences").
  • Workaround: copy the file to a path without the smart apostrophe via Bash.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗