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)