anthropics / anthropics/claude-code
[Bug] macOS Finder image paste attaches file icon instead of actual image
- Dominant language
- Python
- Stars
- 145k
- Forks
- 23.1k
- PR merge metrics
- PR metrics pending
Description
**Bug Description**
Title: macOS: pasting an image file copied from Finder attaches the generic PNG file icon, not the image
Steps to reproduce
1. In Finder, select an image file (e.g. a screenshot .png) and press Cmd+C.
2. In Claude Code, paste it (Ctrl+V).
3. Ask "what is in this image?"
Expected: the image file's contents are attached.
Actual: a 1024x1024 generic macOS "PNG" document icon is attached.
Claude answers "This is a generic document icon representing the PNG file format."
Root cause (verified with `osascript -e 'clipboard info'`)
When a file is copied in Finder, the clipboard contains the file reference
(«class furl» / public.file-url) plus the file's ICON as image data
(«class PNGf», TIFF). It does not contain the image file's pixels.
Claude Code picks up the PNG/TIFF image data, so it gets the icon.
Verification
Reproduced in a bare pty (spawned via `expect`, no terminal emulator involved),
so this is Claude Code's own paste handling, not the terminal's.
Control: when a background tool replaces the icon data on the pasteboard with
the file's real pixels (keeping the file URL), the same Ctrl+V attaches the
real 2000x1216 image and Claude describes the screenshot correctly.
Suggested fix
If the clipboard contains a public.file-url pointing to an image file
(png/jpg/gif/webp/heic...), read that file instead of the clipboard image data.
Fall back to the current behaviour when no file URL is present
(screenshots and images copied from apps keep working as today).
Bonus: for non-image files, insert the path as text so Claude can read it.
Related (all auto-closed as stale, none answered by a maintainer):
https://github.com/anthropics/claude-code/issues/25255
https://github.com/anthropics/claude-code/issues/22353
Same bug in opencode: https://github.com/anomalyco/opencode/issues/4004
Environment
- Claude Code 2.1.274 (native install)
- macOS Darwin 25.6.0 (Apple Silicon)
- Terminal: Orca 1.4.202, and a bare pty (see Verification)
**Environment Info**
- Platform: darwin
- Terminal: Orca
- Version: 2.1.274
- Feedback ID: 4e984564-ac8c-4053-accb-dd78458def64
**Errors**
```json
[]
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing Claude Code's macOS paste handling and inspect the clipboard types with `osascript -e 'clipboard info'`. Reproduce the Finder copy/paste case and the control case, then verify that image file URLs use the file's pixels, while screenshots and non-image files retain the documented fallback behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos
- Domain
- cli, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 58/100