Windows: Ctrl+V can paste images in Windows Terminal, but chat:imagePaste makes every text paste take ~0.5 s (two PowerShell spawns)
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
- 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 returnsnullbefore trying to load it (andCLIPBOARD_NAPI_NODE_PATHis therefore inert). With an in-processhasImage()/readText(), the Ctrl+V text path would be instant.
- 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" tochat:imagePastewould 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
- Windows Terminal
settings.json: add{ "id": null, "keys": "ctrl+v" }tokeybindings. ~/.claude/keybindings.json:{ "bindings": [ { "context": "Chat", "bindings": { "ctrl+v": "chat:imagePaste" } } ] }.- Copy a short text, press Ctrl+V in the prompt: text appears after ~0.5 s with "Pasting..." shown.
- Copy a screenshot (Win+Shift+S), press Ctrl+V:
[Image #1]appears (works, same delay).