Attached/pasted images are visible to the model but not written to disk — blocks image-processing tools (sips/ImageMagick)
What happens
When a user attaches an image via the + button (or pastes one) in Claude Code, the image is delivered to the model as inline image content — the model can see it — but it is not written to a file on disk, and there is no tool the model can call to materialize the in-context image to a path.
This blocks any task that needs command-line image processing. Tools like sips and ImageMagick operate on files, so a request like "crop this attached photo to a square and resize it for an avatar" can't be fulfilled: the model has the pixels in context but no file path and no way to export them.
Repro
- Attach a photo via the + button (macOS desktop app).
- Ask Claude Code to crop/resize it (e.g. make a square avatar).
- Claude can describe the image, but has no path to run
sips/magickon, and no tool to save the attached image to disk. It ends up asking the user to manually save the file and provide a path.
Compounding issue: the Bash sandbox hides the likely source location
In my case the original file did exist on disk (~/Downloads/IMG_4143.jpeg), but the Bash tool's default sandbox restricts filesystem visibility to roughly the project directory, so find/ls over ~/Downloads returned nothing. The file was only discoverable after disabling the sandbox. So even the "go locate the file yourself" fallback silently fails for the very common case of an attachment sitting in ~/Downloads.
Requested fix (either would resolve it)
- Preferred: when an image is attached/pasted, write it to a temp file and include that path in the message context the model receives (alongside the inline image). The model could then process it directly.
- Provide a tool the model can call to save an in-context (attached/pasted) image to a specified path on disk.
Environment
- Claude Code via the macOS desktop app
- macOS (Darwin 25.5.0)
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗