[Feature Request] Ctrl+V smart paste: text, images, and files from clipboard

Resolved 💬 3 comments Opened Feb 22, 2026 by Scomalia Closed Feb 25, 2026

The Problem

Ctrl+V in Claude Code currently handles images only — it pastes from the clipboard and shows a bare text label like [Image #3] (↑ to select). No thumbnail, no preview, just a text reference.

Meanwhile, pasting text still requires Ctrl+Shift+V (the legacy terminal paste). So the same keystroke (Ctrl+V) does different things depending on clipboard content, and text paste is still stuck behind a modifier key.

This creates two issues:

  1. Image paste has no visual preview — every web-based AI chat (ChatGPT, Claude.ai, Gemini) shows a thumbnail of the pasted image so you can confirm you grabbed the right thing. Claude Code just says [Image #3]. You're sending blind.
  1. Text paste requires Ctrl+Shift+VCtrl+V is intercepted for image paste but doesn't handle text. Users have to remember: images = Ctrl+V, text = Ctrl+Shift+V. This is unintuitive. Just make Ctrl+V do both.

Current Behavior

| Clipboard content | Ctrl+V | Ctrl+Shift+V |
|---|---|---|
| Image | Pastes, shows [Image #3] (no preview) | Nothing useful |
| Text | Does nothing | Pastes text |

Proposed Behavior

| Clipboard content | Ctrl+V |
|---|---|
| Image | Paste with inline thumbnail preview (like web-based AI chats) |
| Text | Paste text at cursor position |
| File(s) | Show file name/path badge |

Image paste — what it should look like

Instead of:

[Image #3] (↑ to select)

Something like what every other AI chat shows:

> Describe what's wrong with this UI  [🖼 screenshot.png 1200x800 ▪️▪️▪️]
                                       └── small thumbnail or at minimum
                                           filename + dimensions

Even just showing the filename, dimensions, and file size would be a massive improvement over [Image #3].

Text paste — just unify it

If Ctrl+V is already intercepted (it is — that's how image paste works), it should also handle text. Detect what's on the clipboard:

  • Image content type → paste image (with preview)
  • Text content type → paste text at cursor

No more remembering two different shortcuts for paste.

Why This Matters

  • Pasting screenshots for review is a core workflow (UI bugs, error messages, design feedback). Users need to visually confirm the right image was captured before sending.
  • Muscle memory: every application uses Ctrl+V to paste. Splitting paste across two shortcuts adds friction, especially when managing multiple Claude instances.
  • Parity with web-based AI chats: Claude.ai, ChatGPT, and Gemini all show image thumbnails on paste. The CLI experience shouldn't be a downgrade in basic usability.

Technical Context

  • Ctrl+V is already intercepted by Claude Code for image paste — this isn't a terminal limitation, it's an implementation choice
  • Clipboard content type detection is available via xclip -selection clipboard -t TARGETS (Linux) / pbpaste (macOS)
  • Terminal image rendering options: sixel graphics, iTerm2 inline images protocol, or Kitty graphics protocol — or simply show metadata (filename, dimensions, size) as a practical minimum
  • Ink supports custom keybinding handlers that can differentiate clipboard content types

Related

  • #27561 — Modern text input (click-to-position, text selection)

View original on GitHub ↗

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