Screenshot temp paths no longer readable after v2.1.108 update

Resolved 💬 3 comments Opened Apr 14, 2026 by johanarizpe-byte Closed Apr 18, 2026

Bug Description

After updating Claude Code to v2.1.108 (updated automatically today April 14, 2026 at 1:14 PM), screenshot file paths pasted into the conversation are no longer readable. The Read tool returns "File does not exist" even though the file was just created.

This worked before the update earlier today.

Steps to Reproduce

  1. Take a screenshot with Cmd+Shift+4 on macOS
  2. Paste the path into Claude Code CLI (path looks like /var/folders/.../TemporaryItems/NSIRD_screencaptureui_.../Screenshot 2026-04-14 at 1.32.37 p.m..png)
  3. Claude Code tries to read the file → fails with "File does not exist"

Root Cause Investigation

Two issues found:

  1. Temp file lifetime: macOS saves screenshots briefly to /var/folders/.../TemporaryItems/ before moving them to the final destination. The file gets deleted before the Read tool executes.
  1. Unicode encoding in filenames: macOS now inserts a Unicode U+202F (narrow no-break space) between the time and "p.m." in screenshot filenames. The path as pasted by the user uses a regular space, causing a mismatch. Verified via xxd:

``
e2 80 af → U+202F (narrow no-break space) before "p.m."
`
Even when the file exists on Desktop,
Read and cp` fail because the Unicode character doesn't match.

Environment

  • macOS Darwin 25.3.0 (Sequoia/Tahoe), ARM64
  • Claude Code v2.1.108
  • Shell: zsh

Expected Behavior

Claude Code should be able to read screenshot paths pasted by the user, as it did before v2.1.108. Ideally:

  • Handle the U+202F unicode normalization in file paths
  • Or read the temp file fast enough before macOS cleans it up

Workaround

Using find + cp to copy the file to /tmp/ works since find handles the Unicode correctly, but this is not a user-friendly workflow.

View original on GitHub ↗

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