[BUG] Image paste (Ctrl+V) does not work in native WSL2 terminal on Windows 11

Open 💬 2 comments Opened May 23, 2026 by J1angyue

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

When running Claude Code inside a native WSL2 terminal on Windows 11, copying an image from Windows (e.g. Ctrl+C on a file in
File Explorer, or copying an image from a browser) and then pressing Ctrl+V in the Claude Code prompt does not paste the
image. Nothing happens, or only an empty/garbled string is inserted; the image is never attached to the message.

To be explicit: this is reproduced in the native Windows Terminal / wsl.exe shell running a WSL2 distro, not the VS Code
integrated terminal.

Expected: the image is attached to the input as an image, the same way it works in Claude Code on macOS or in the VS Code
integrated terminal.

Actual: the image is not attached. The clipboard image is silently dropped.

Environment:

  • OS: Windows 11
  • Shell: WSL2 (Ubuntu) running in native Windows Terminal / wsl.exe
  • Claude Code: <v2.1.145>
  • Node: <v22.22.11>

Notes / likely cause: WSL2's clipboard interop does not expose image/png to Linux clipboard tools by default. xclip / wl-paste
either aren't installed or can't read the Windows clipboard image bytes. To bridge this, the CLI needs a WSL-specific path
that reads the Windows clipboard via powershell.exe (e.g. Get-Clipboard -Format Image or the
System.Windows.Forms.Clipboard.GetImage() API), saves it to a temp PNG, and attaches that. Other CLIs (e.g. Codex) appear to
do this and image paste works there in the same WSL2 environment.

What Should Happen?

Pressing Ctrl+V in the Claude Code prompt inside a native Windows 11 WSL2 terminal should attach the image currently on the
Windows clipboard to the input — same behavior as paste-image on macOS Terminal, iTerm2, or the VS Code integrated terminal.

Specifically, when running in WSL Claude Code should detect WSL (e.g. via WSL_DISTRO_NAME / /proc/version) and, on image
paste, fall back to invoking powershell.exe to read the Windows clipboard image, write it to a temp PNG inside the WSL
filesystem, and attach that file as an image to the message.

Error Messages/Logs

Steps to Reproduce

Repro:

  1. Windows 11 host, WSL2 distro (e.g. Ubuntu).
  2. Open Windows Terminal (or wsl.exe directly), launch Claude Code inside the WSL distro.
  3. In Windows, copy an image to the clipboard (right-click an image file → Copy, or copy an image from a webpage).
  4. Focus the Claude Code prompt and press Ctrl+V.

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

v2.1.145

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

WSL (Windows Subsystem for Linux)

Additional Information

_No response_

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗