[BUG] Linux: Alt+V image paste does nothing — chat:imagePaste is bound to Alt+V only on Windows/WSL, so default shortcuts differ per OS

Status Open
Reported on v2.1.261
Maintainer reply None cached
Activity 2 comments · opened Sep 5, 2026

Summary

On Linux, Alt+V does nothing in the Claude Code prompt. chat:imagePaste is bound to Alt+V only on Windows and WSL; Linux and macOS get Ctrl+V only. The same CLI has different default shortcuts depending on the OS, and the one that differs is image paste.

Steps to reproduce

  1. Ubuntu 24.04 (GNOME, Wayland), Claude Code 2.1.261, VTE-based terminal.
  2. Copy a screenshot to the clipboard (wl-paste --list-types → image/png).
  3. Press Alt+V in the prompt.

Expected: an [Image #1] chip, as on Windows.
Actual: nothing — no chip, no hint, no error.

Root cause

Default keybindings in the binary (identical from 2.1.120 to 2.1.261):

de = (platform === "windows" || platform === "wsl") ? "alt+v" : "ctrl+v"
[de]: "chat:imagePaste",
...(platform === "wsl" && { "ctrl+v": "chat:imagePaste" })

WSL gets both keys; Linux and macOS get only Ctrl+V. When the terminal uses Ctrl+V for its own paste (ddterm, GNOME Terminal, Tilix, Konsole can all be configured this way — the very reason Alt+V exists on Windows), Linux is left with no working image-paste key. On my setup the only thing that attaches an image is Ctrl+Shift+V, which reaches the app by accident as the same byte as Ctrl+V and is documented nowhere.

Fix

Bind Alt+V to chat:imagePaste on every platform, additively, exactly as WSL already does. Default shortcuts should be the same on all operating systems; platform-specific keys should be added, never substituted.

Environment

  • Claude Code 2.1.261, native install
  • Ubuntu 24.04.4 LTS, GNOME, Wayland, ddterm (VTE 0.76)
  • Same user on Windows 10, where Alt+V works as documented

Related

  • #74424 (mine, closed by the stale bot): same symptom, this is the root cause.
  • #88898, #8324: Linux image paste, but about clipboard tooling, not the key.

View original on GitHub ↗

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