Modifier-drag (hold Control) to force file-path insertion for all dropped files, including images

Open 💬 0 comments Opened Jul 13, 2026 by Zerobatsu

Problem

When dragging/dropping a file into the Claude Code desktop prompt, behavior differs by file type:

  • Non-image files → the model receives a file path it can operate on (Read, cp, rename, process).
  • Images → embedded inline as vision content; the model can see the image but gets no path, so it can't save, rename, OCR-to-file, or otherwise act on the actual file on disk.

So there's currently no way to drop an image and have the model work with it as a file. The only workaround is to locate the file yourself (via a Yoink promised-file folder, Cmd-click "reveal in Finder", etc.) and paste the path manually — clunky for a common workflow (annotate/rename/file a screenshot, save a photo into a repo, OCR-to-PDF, etc.).

Proposed solution

Add a modifier key held during drag/drop — e.g. Control (⌃) — that forces "path mode" for every file type, inserting the filesystem path as text instead of embedding the content. Held modifier = "give me the path, guaranteed," regardless of whether it's an image, PDF, or anything else.

  • Default (no modifier) behavior is unchanged: images embed inline, other files attach as today.
  • ⌃-drag = universal opt-in to path-only, so the model can Read/cp/process the real file on disk.

Why this shape

  • Consistency: the app already surfaces paths for non-image files — this just extends it to images on demand.
  • Precedent / discoverability: mirrors macOS Finder's Option → "Copy as Pathname." Same muscle memory — hold a modifier, get the path instead of the content.
  • Unblocks real workflows: saving/renaming a dropped screenshot, filing a photo into a folder/repo, OCR-to-searchable-PDF, batch image ops — none possible today without manually digging up the path.
  • Low risk: purely additive; changes no existing default.

Related

  • #48153 (drag-and-drop image handling on macOS)

View original on GitHub ↗