Fix Copy-Paste Image di Claude Code WSL: Panduan Lengkap
Taufiq M
Taufiq M

Dipublikasikan 28 Mei 2026

Fix Copy-Paste Image di Claude Code WSL: Panduan Lengkap

Copy-paste image adalah workflow dasar yang sering dipakai developer saat menggunakan AI coding assistant seperti Claude Code. Sayangnya, kalau kamu menjalankan Claude Code di dalam WSL, fitur paste image dari clipboard sering gagal total. Artikel ini akan breakdown penyebab teknis di balik masalah ini dan menyajikan solusi praktis yang sudah teruji untuk mengatasinya berdasarkan riset mendalam dari komunitas developer.

Langkah 1: Kenali Root Cause - WSL Clipboard Isolation

WSL2 pada dasarnya adalah virtual machine lightweight yang berjagi kernel dengan Windows host melalui hypervisor berbasis Hyper-V. Untuk text-based clipboard, Windows dan WSL memang sudah punya integration otomatis via VMBus yang menangani transfer karakter string antar boundary OS. Tapi masalah kritis muncul saat kita berurusan dengan binary data seperti image, audio buffer, atau file blob. WSL tidak menyediakan clipboard bridge native untuk binary data dari Windows clipboard ke Linux user space.

Ketika kamu menekan Ctrl+V di terminal WSL, aplikasi Linux seperti Claude Code mencoba mengakses clipboard melalui utilitas standar seperti xclip atau xsel. Namun, kedua tool tersebut hanya bisa mengakses X11/Wayland clipboard server, bukan Windows clipboard secara langsung. Karena WSL console tidak mengekspos Windows clipboard sebagai X11 selection, hasilnya adalah paste operation gagal secara silent atau menghasilkan data corrupt yang tidak bisa di-render oleh Claude Code.

Fenomena ini bukan bug dari Claude Code sendiri, melainkan keterbatasan arsitektural interoperability antara Windows dan Linux subsystem. Memahami root cause ini penting supaya kita tidak salah mengarahkan blame ke tool yang sebenarnya tidak bersalah.

Langkah 2: Verifikasi Masalah di Environment-mu

Sebelum menerapkan fix, lakukan verifikasi untuk memastikan kamu mengalami issue yang sama. Jalankan Claude Code di terminal WSL2 favoritmu, lalu copy sebuah image dari browser Chrome atau screenshot tool bawaan Windows. Coba paste ke session Claude Code dengan menekan Ctrl+V. Jika tidak ada respons sama sekali, atau muncul pesan error seperti clipboard empty dan no image data found, artinya environment-mu terkena isolasi clipboard yang kita bahas.

Selanjutnya, cek apakah utilitas clipboard Linux sudah terinstall:

which xclip || which xsel

Jika perintah di atas tidak menghasilkan path binary, install dulu paket yang sesuai:

sudo apt update && sudo apt install -y xclip xsel

Setelah install, coba test clipboard text untuk memastikan baseline integration bekerja:

echo "test" | xclip -selection clipboard
xclip -selection clipboard -o

Jika text bisa round-trip dengan normal tapi image tetap gagal, berarti diagnosis sudah tepat dan kita bisa lanjut ke solusi.

Langkah 3: Solusi dengan PowerShell Bridge

Solusi paling reliable dan tidak bergantung pada GUI stack adalah memanfaatkan powershell.exe yang bisa dipanggil langsung dari WSL2 untuk membaca Windows clipboard menggunakan .NET Framework API. PowerShell berjalan di sisi Windows host sehingga punya akses penuh ke native clipboard, termasuk binary image data.

Berikut script bridge lengkap yang bisa kamu simpan sebagai executable di dalam WSL:

#!/bin/bash
OUTPUT_PATH="/tmp/pasted_image.png"
powershell.exe -Command "Add-Type -Assembly System.Windows.Forms; [System.Windows.Forms.Clipboard]::GetImage().Save(\x27$OUTPUT_PATH\x27)" 2>/dev/null
if [ -f "$OUTPUT_PATH" ]; then
    echo "Image saved to: $OUTPUT_PATH"
else
    echo "Failed to retrieve image from clipboard" >&2
    exit 1
fi

Setelah membuat file, jadikan executable dan pastikan direktori bin ada di PATH environment-mu:

chmod +x ~/bin/wsl-paste-image.sh
export PATH="$HOME/bin:$PATH"

Script di atas bekerja dengan cara menginstansiasi objek Clipboard dari namespace System.Windows.Forms, mengecek apakah data berupa image bitmap, lalu menyimpannya sebagai file PNG di filesystem WSL melalui path interoperability. Hasilnya adalah file image valid yang bisa langsung di-attach ke conversation Claude Code.

Langkah 4: Integrasi ke Workflow Claude Code

Claude Code saat ini tidak menyediakan hook clipboard custom secara native di level konfigurasi. Oleh karena itu, workflow yang paling praktis adalah hybrid manual dengan sedikit automation. Berikut langkah standar yang bisa kamu terapkan setiap kali butuh share screenshot atau image:

  1. Copy image dari sumber apapun di Windows: browser, Snipping Tool, Photoshop, atau screen capture.
  2. Buka terminal kedua atau split pane di Windows Terminal, lalu jalankan wsl-paste-image.sh.
  3. Pastikan output menunjukkan file PNG valid di /tmp/pasted_image.png.
  4. Kembali ke session Claude Code, lalu gunakan command /add /tmp/pasted_image.png untuk meng-attach file ke conversation aktif.
  5. Beri konteks singkat kepada Claude tentang apa yang ada di image tersebut.

Untuk developer yang menggunakan terminal emulator seperti Windows Terminal atau WezTerm, kamu bisa membuat keybinding custom yang menjalankan script bridge secara otomatis saat menekan shortcut khusus. Caranya adalah dengan menambahkan action sendInput yang mengetikkan path script ke terminal WSL aktif.

Jika kamu menggunakan tmux atau screen, pastikan environment PATH sudah tersource dengan benar agar script bisa dipanggil tanpa mengetikkan path absolut.

Langkah 5: Alternatif dengan WSLg dan Remote Desktop

WSLg (Windows Subsystem for Linux GUI) yang tersedia di Windows 11 dan Windows 10 versi terbaru menyediakan clipboard integration yang lebih komprehensif untuk aplikasi GUI native Linux. Jika kamu menjalankan Claude Code di dalam terminal emulator Linux yang berjalan melalui WSLg compositor, clipboard image sharing bisa berfungsi secara native tanpa script bridge tambahan.

Namun, solusi ini punya trade-off. WSLg membutuhkan resource GPU dan memory tambahan, serta tidak selalu stabil untuk workflow terminal-based yang heavy. Untuk penggunaan sehari-hari dengan terminal console standar, solusi PowerShell bridge tetap menjadi pilihan paling predictable dan tidak bergantung pada GUI subsystem yang bisa crash.

Opsi lain adalah menjalankan Claude Code di Windows PowerShell atau CMD secara native, lalu menggunakan WSL hanya untuk development environment. Tapi jika codebase dan toolchain-mu sepenuhnya berada di WSL, migrasi ke native Windows hanya karena masalah clipboard akan mengorbankan konsistensi environment.

Kesimpulan

Copy-paste image di WSL memang punya keterbatasan arsitektural yang berasal dari isolasi clipboard binary data antara Windows host dan Linux guest. Tapi dengan memahami root cause dan menerapkan PowerShell bridge script, kamu bisa mengembalikan productivity workflow AI coding-mu tanpa harus pindah ke environment lain atau mengorbankan setup development yang sudah terkonfigurasi dengan baik.

Sumber tutorial dan riset asli: Rajveer Bachkaniwala - On the Difficulty of Pasting a Picture