Cursor created duplicate directories with different Unicode apostrophe, causing silent write failures

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

When the workspace path contains a curly apostrophe ’ (U+2019), Cursor’s file writing tools normalize it to a straight apostrophe ’ (U+0027), creating a duplicate directory instead of writing to the existing one.

This causes Cursor to mess up in the following ways:

  1. Write/StrReplace tools report success
  2. Read tool reads from the original directory
  3. Files are written to the new directory
  4. As usage continues, the directories could conflict more and more
    Result: Read and Write are out of sync, edits appear to succeed but don’t persist

Steps to Reproduce

  1. Have a directory with a curly apostrophe in the name (e.g., Person’s Directory)
  2. Open a project inside that directory in Cursor
  3. Use Agent mode to create/edit files

Expected Behavior

Changes should be made to the existing directory without creating a new one.

Operating System

MacOS

Version Information

IDE Version: 2.6.21

For AI issues: which model did you use?

Opus 4.5

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the detailed report. This is a confirmed bug. When the LLM generates tool call arguments, it normalizes the curly apostrophe (U+2019) into the regular one (U+0027), and APFS on macOS treats them as different characters. That’s why you’re seeing a duplicate directory and a desync between Read and Write.

I’ve passed this to the team. No ETA yet, but your report will help with prioritization.

As a workaround, rename the directory by replacing the curly apostrophe with a regular one, or remove it entirely. That should fix the issue until we ship a fix.

Let me know if anything else comes up.