Guides

Screenshot won't paste into Claude Code or Cursor? Fixes that work

If a screenshot won't paste into Claude Code, you are probably using the wrong key for your terminal (Ctrl+V on macOS, Alt+V on Windows), and if the right key still fails, save the screenshot as a file and type its path in your message, which works everywhere.

Updated

Claude Code's docs list three ways to add an image: drag it into the window, paste it from the clipboard, or give it the path to the image file. Paste is the one that breaks most. The key is different on each system, and some terminals keep the key for themselves. Below is the fix for each setup, checked against the official docs and real bug reports.

The fix that works everywhere: use a file

Start here if you just want it to work.

  1. Save the screenshot as a PNG. On a Mac, Cmd+Shift+4 saves a file. On Windows, take it with Win+Shift+S and save it from the Snipping Tool.
  2. Put it in your project folder, so the path is short.
  3. Type the path in your message: Look at screenshots/save-button.png. The Save button is grey. It should be blue.

Claude Code reads the image from the file. No clipboard is involved, so none of the clipboard bugs below can stop it. In bug reports on GitHub and the Cursor forum, saving to a file is the workaround people fall back to again and again.

macOS: Terminal, iTerm2 and others

Windows (native)

WSL

WSL is the setup with the most reports. Claude Code now binds both Ctrl+V and Alt+V on WSL. The docs say to use Alt+V if your terminal grabs Ctrl+V.

Over SSH, or on a remote server

This one isn't a wrong key. When you run Claude Code on another machine over SSH, Claude Code reads that machine's clipboard. A server with no screen has no clipboard at all, so Ctrl+V does nothing, while your screenshot sits on your own computer.

VS Code

Cursor

Cursor's docs give two ways to add an image to the agent chat: drag the image file into the chat box, or paste it with Cmd+V (Ctrl+V on Windows). When paste fails:

Skip the paste step with Darnly

Every fix above ends in the same place: a file in your project that the agent can read. Darnly does that part for you. It's a free Chrome extension, and a free Mac app for things outside the browser.

Press Option+Shift+B (Windows is coming soon), click the broken part, and type what you expected. Once you've linked your project folder, Darnly saves a PNG with the broken part boxed in red into .darnly/inbox/ in your project, next to a short report with the element, the page address and recent console errors. Then you type /darnly or just say "fix my Darnly bugs" to Claude Code, Codex or Cursor, and it reads the files from the folder. No clipboard, no key to remember, no path to type.

If you'd rather keep doing it by hand, how to show Claude Code a bug covers what to write next to the picture, and how to report a bug to Cursor does the same for Cursor. Using Codex? See screenshot won't paste into Codex CLI. Using the Claude chat app? See screenshot won't paste into the Claude desktop app.

Questions

Why does Cmd+V not paste an image into Claude Code on my Mac?

In the Claude Code terminal app, the image paste key is Ctrl+V. Cmd+V only pastes images in iTerm2. In the macOS Terminal app, Cmd+V pastes text, so try Ctrl+V.

What is the image paste key for Claude Code on Windows?

Alt+V. Windows Terminal uses Ctrl+V for its own text paste, so Claude Code binds image paste to Alt+V on Windows. On WSL both Ctrl+V and Alt+V are bound.

Claude Code says "No image found in clipboard". What now?

Save the screenshot as a PNG file and type its path in your message, or drag the file into the window. Several open GitHub issues show this message even when an image is on the clipboard, so the file route is the reliable one.

Why can't I paste a screenshot into Claude Code over SSH?

Claude Code runs on the remote machine, so it reads that machine's clipboard, and a headless server has none. Your screenshot is on your own computer. Copy the file to the server (scp, or drag it into the VS Code Remote-SSH file explorer) and type its path, or send bugs through an inbox the agent can fetch from the server, like Darnly's cloud inbox.

Can I paste images into Claude Code in VS Code?

In the Claude Code extension panel, yes: paste the image into the prompt box. In the VS Code integrated terminal, image paste is less reliable, so save the screenshot to a file and give Claude Code the path.

Cursor took the image but the agent ignores it. Why?

Check the model. Cursor staff confirmed a case where a text-only model got no picture at all. Switch to a model that reads images, such as Claude, GPT or Gemini.

Sources

Checked on 2 November 2026. Products change, so check their pages before you decide.