[Feature Request] Ctrl+V smart paste: text, images, and files from clipboard
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:
- 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.
- Text paste requires
Ctrl+Shift+V—Ctrl+Vis intercepted for image paste but doesn't handle text. Users have to remember: images =Ctrl+V, text =Ctrl+Shift+V. This is unintuitive. Just makeCtrl+Vdo 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+Vto 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+Vis 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)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗