How to paste an image into Claude Code

Copy an image, then press Ctrl+V in the Claude Code session. On Windows and inside WSL press Alt+V instead, because Windows Terminal takes Ctrl+V for itself before Claude Code ever sees it. That single difference is what most of the confusion comes down to.

Where you are running Claude CodePaste shortcutWhy
macOSCtrl+V Ctrl, not Cmd. Cmd+V also works in iTerm2.
LinuxCtrl+V Works as documented.
Windows (native terminal)Alt+V Ctrl+V is intercepted by the terminal as paste-text.
Windows + WSLAlt+V Same interception, plus the image starts on the Windows clipboard.

Shortcuts per Anthropic's Claude Code documentation; the Alt+V binding shipped in Claude Code v2.1.157 (29 May 2026), whose changelog covers image paste on WSL and screenshot paste on Windows 11. Verified 11 August 2026.

Four ways to get an image in

Pasting is one of them. If it fails, the others do not depend on the clipboard at all, which is why they are worth knowing.

01

Paste from the clipboard

Copy the image, then Ctrl+V (macOS, Linux) or Alt+V (Windows, WSL). On macOS, Cmd+Ctrl+Shift+4 takes a region screenshot straight to the clipboard; on Windows, Win+Shift+S does the same.

02

Drag the file in

Drag an image file from Finder or Explorer onto the Claude Code window. This sidesteps the clipboard completely, so it is the fastest thing to try when a paste silently does nothing.

03

Give it a path

Type the path in your message: Analyze this image: /path/to/screenshot.png. Under WSL, use the Linux-side path (/mnt/c/Users/you/Pictures/shot.png), not the Windows one, or the session cannot open the file.

04

Reference it with @

Typing @ opens a path picker, so @screenshots/bug.png pulls the file into the conversation without you typing the whole path or waiting for Claude to go looking for it.

Why WSL is its own problem

Two separate things go wrong, and fixing one without the other still leaves you with nothing on screen.

01

The keystroke never arrives

Windows Terminal sits above the session and treats Ctrl+V as its own paste-text command. When the clipboard holds an image rather than text there is nothing to paste, so it does nothing and Claude Code is never told a key was pressed. Alt+V is not claimed by the terminal, so it reaches the session.

02

The clipboard is on the other side

An image copied in Windows sits on the Windows clipboard, and the Linux environment inside WSL does not share it by default. Windows file paths do not resolve inside WSL either. If you fall back to a file, save it somewhere reachable from Linux and use the /mnt/c/ form of the path.

When nothing pastes

In order, because each rules out the one below it.

01

Update Claude Code

The Alt+V binding arrived in v2.1.157 (May 2026). On anything older there is no working paste shortcut under WSL at all, and no amount of key-pressing will change that. Run claude update.

02

Check it is really an image

"Copy image" and "copy image address" are different clipboard contents. The second is a URL, and pasting it gives you text. Re-copy from the image itself.

03

Drag or use a path instead

Both routes skip the clipboard, so they work regardless of which terminal you run or whether you are inside WSL. If a path works and a paste does not, the clipboard is your problem, not Claude Code.

Quick answers.

Q1

Can you paste an image into Claude Code?

Yes. Copy the image and press Ctrl+V on macOS or Linux, or Alt+V on Windows and inside WSL. You can also drag an image file onto the window, or give Claude the file path in your message.

Q2

Why does Ctrl+V not work in Claude Code on Windows?

Windows Terminal handles the keystroke before Claude Code does, treating it as paste-text. With an image on the clipboard there is no text to paste, so nothing happens. Use Alt+V, which the terminal does not intercept.

Q3

How do I paste a screenshot into the Claude Code terminal?

Take the screenshot to the clipboard with Win+Shift+S on Windows or Cmd+Ctrl+Shift+4 on macOS, then press Alt+V on Windows and WSL or Ctrl+V on macOS and Linux. If the paste does nothing, drag the saved file onto the window instead.

Q4

Does Cmd+V work on a Mac?

Ctrl+V is the documented shortcut on macOS, not Cmd+V. Cmd+V also works if your terminal is iTerm2. If you are unsure which you are running, Ctrl+V is the safe one.

Q5

Can Claude Code take screenshots itself?

No. Capturing the screen is a job for your operating system or a capture tool. Claude Code reads images you hand it, so the practical question is how to get a capture in with the least friction.

Q6

How do I give an image to Claude Code by file path?

Write the path in your message, for example "Analyze this image: /path/to/shot.png", or type @ to pick the file from a path menu. Inside WSL use the Linux path such as /mnt/c/Users/you/Pictures/shot.png.

If you do this all day.

Everything above is free and takes no tools. SnipAIt exists for the narrower case: you are on Windows, you snip constantly, and you want the capture to land in a specific Claude conversation rather than whichever one is in front of you. One hotkey, drag a box, pick the chat by colour. The image never touches disk and it never presses Enter for you. $5, signed installer, or build it free from the MIT source — both on the home page.

New here? What is SnipAIt. Comparing options? SnipAIt alternatives. Not in a terminal? Pasting a screenshot into Claude Desktop.