Support pasting files/folders from clipboard as paths, and screenshots from macOS clipboard

Resolved 💬 5 comments Opened Feb 12, 2026 by onnimonni Closed Mar 16, 2026

Problem

When copying a file to the macOS clipboard (via Finder Cmd+C or programmatically via NSPasteboard), pasting into Claude Code does nothing unless the file is an image. Similarly, macOS screenshots saved to clipboard ("Save to clipboard" option) cannot be pasted into Claude Code.

Other terminal apps (iTerm2) handle these clipboard content types correctly — pasting a copied file inserts its absolute path, and pasting a screenshot inserts the image.

Expected behavior

  1. Files/folders copied to clipboard: Pasting should insert the absolute file path(s) as text into the chat input. This would allow quick referencing of files without manually typing paths.
  1. Code/markdown files: Same as above — paste should insert the absolute path so Claude Code can then read the file.
  1. Folders: Pasting a copied folder should insert the absolute folder path.
  1. macOS screenshots saved to clipboard: The "Save to clipboard" option in macOS screenshot tool (Cmd+Shift+4 → click "Save to clipboard" in the preview) should be pasteable into Claude Code as an image, same as pasting image files.

Context

The macOS clipboard stores multiple representations simultaneously via NSPasteboard:

  • NSFilenamesPboardType / public.file-url — file references
  • public.utf8-plain-text — text path
  • public.png / public.tiff — image data (for screenshots)

It seems Claude Code currently only handles some of these content types. Supporting all of them would significantly speed up workflows where users want to reference files or share screenshots.

Reproduction

  1. Copy any non-image file in Finder (Cmd+C)
  2. Try to paste (Cmd+V) into Claude Code chat
  3. Nothing happens

For screenshots:

  1. Take a screenshot with Cmd+Shift+4
  2. Click "Save to clipboard" in the floating preview
  3. Try to paste into Claude Code
  4. Nothing happens

View original on GitHub ↗

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