Quick Fix: Claude Code Image Paste in Linux Terminal
Can't paste images to Claude Code in your Linux terminal? Here's a one-minute fix for Kitty users.
The Fix
1. Create the script (~/bin/clip2path
):
#!/usr/bin/env bash
set -e
if [ -n "$WAYLAND_DISPLAY" ]; then
types=$(wl-paste --list-types)
if grep -q '^image/' <<<"$types"; then
ext=$(grep -m1 '^image/' <<<"$types" | cut -d/ -f2 | cut -d';' -f1)
file="/tmp/clip_$(date +%s).${ext}"
wl-paste > "$file"
printf '%q' "$file" | kitty @ send-text --stdin
else
wl-paste --no-newline | kitty @ send-text --stdin
fi
elif [ -n "$DISPLAY" ]; then
types=$(xclip -selection clipboard -t TARGETS -o)
if grep -q '^image/' <<<"$types"; then
ext=$(grep -m1 '^image/' <<<"$types" | cut -d/ -f2 | cut -d';' -f1)
file="/tmp/clip_$(date +%s).${ext}"
xclip -selection clipboard -t "image/${ext}" -o > "$file"
printf '%q' "$file" | kitty @ send-text --stdin
else
xclip -selection clipboard -o | kitty @ send-text --stdin
fi
fi
2. Make executable:
chmod +x ~/bin/clip2path
3. Add to ~/.config/kitty/kitty.conf
:
allow_remote_control yes
listen_on unix:/tmp/kitty-socket
map ctrl+v launch --type=background --allow-remote-control --keep-focus ~/bin/clip2path
4. Install dependencies:
# X11 users only
sudo apt install xclip
5. Restart Kitty
6. Setup automatic cleanup (optional):
# Add to crontab to clean old screenshots daily
(crontab -l 2>/dev/null; echo "0 3 * * * find /tmp -name 'clip_*' -type f -mtime +1 -delete") | crontab -
Now Ctrl+V
automatically saves clipboard images as temp files and pastes their paths. Works on both Wayland and X11.