Windows: Ctrl+V can paste images in Windows Terminal, but chat:imagePaste makes every text paste take ~0.5 s (two PowerShell spawns)

Status Open
Reported on v2.1.296
Maintainer reply None cached
Activity 0 comments · opened Oct 13, 2026

Summary

On native Windows + Windows Terminal, users can get Ctrl+V to paste images by unbinding Ctrl+V in Windows Terminal ({ "id": null, "keys": "ctrl+v" }) and binding ctrl+v to chat:imagePaste in ~/.claude/keybindings.json. The text fallback of chat:imagePaste makes this a single-key solution for both images and text.

The problem is latency: on Windows chat:imagePaste starts PowerShell twice in sequence (Clipboard::ContainsImage() check, then Get-Clipboard -Raw). Each spawn costs 200-400 ms, so every plain text paste shows "Pasting..." for about half a second.

Environment

  • Claude Code 2.1.296 (native Windows build, claude.exe)
  • Windows 11 Pro 26300, Windows Terminal 1.24.12741.0
  • PowerShell 5.1 (what the paste code invokes)

Measurements

| Call | Windows PowerShell 5.1 | Native Win32 (reference shim) |
|---|---|---|
| ContainsImage() check | ~233 ms | ~45 ms |
| Get-Clipboard -Raw | ~206 ms | ~43 ms |

(Reference shim: a 150-line C# program answering the same commands through IsClipboardFormatAvailable / GetClipboardData; the 45 ms is almost all .NET startup. In-process it would be well under 1 ms.)

Two possible fixes

  1. Enable the native clipboard addon on Windows. The 2.1.296 binary already ships vendor/clipboard-napi/x64-win32/clipboard-napi.node, but the loader returns null before trying to load it (and CLIPBOARD_NAPI_NODE_PATH is therefore inert). With an in-process hasImage() / readText(), the Ctrl+V text path would be instant.
  1. Treat an empty bracketed paste as an image-paste trigger. Since Windows Terminal 1.24 (microsoft/terminal#20037), when the clipboard holds only an image, WT sends an empty bracketed paste (ESC[200~ESC[201~) to apps that have bracketed paste enabled. Claude Code does not enable DECSET 2004 today, so this signal is never received. Enabling it and mapping "empty paste" to chat:imagePaste would make Ctrl+V work for images with WT's own (instant) text paste left untouched, no keybinding changes needed. (openai/codex#9049 implemented exactly this.)

Either fix would remove the need for AutoHotkey-style workarounds on Windows, which some users cannot run (anti-cheat software refuses to start while AutoHotkey is open).

Steps to reproduce

  1. Windows Terminal settings.json: add { "id": null, "keys": "ctrl+v" } to keybindings.
  2. ~/.claude/keybindings.json: { "bindings": [ { "context": "Chat", "bindings": { "ctrl+v": "chat:imagePaste" } } ] }.
  3. Copy a short text, press Ctrl+V in the prompt: text appears after ~0.5 s with "Pasting..." shown.
  4. Copy a screenshot (Win+Shift+S), press Ctrl+V: [Image #1] appears (works, same delay).

View original on GitHub ↗