Ctrl+V paste still broken in legacy Windows console (PowerShell/conhost) - Jan 2026

Status Open
Maintainer reply None cached
Activity 3 comments · opened Jun 12, 2026

Description

Ctrl+V to paste text does not work when running Claude Code in the legacy Windows console host (conhost/PowerShell without Windows Terminal). This bug was reported in issues #12298, #11581, #12137, and #8866 — all of which were closed by the automated bot without a fix being shipped.

Steps to Reproduce

  1. On Windows without Windows Terminal installed (or with it set as default but running in PowerShell directly)
  2. Open PowerShell (legacy console, not Windows Terminal)
  3. Run claude
  4. Try to paste text with Ctrl+V
  5. Nothing happens — the keypress is consumed by PSReadLine

Expected Behavior

Ctrl+V should paste text from the system clipboard into the chat input.

Actual Behavior

Nothing happens. The keypress is intercepted by PSReadLine's clipboard handler and never reaches the TUI.

Environment

  • OS: Windows 11 (latest)
  • Claude Code Version: v2.1.175 (current latest)
  • Terminal: Legacy PowerShell console (conhost.exe) — NOT Windows Terminal
  • PSReadLine: Loaded (default on Windows PowerShell)

Root Cause (from community analysis)

PSReadLine intercepts Ctrl+V differently than Unix terminals:

  • Unix terminals: Ctrl+V sends a literal ^V character → TUI interprets it as paste
  • Windows PowerShell + PSReadLine: Ctrl+V triggers PSReadLine's Windows clipboard API → TUI never sees the keypress

Git Bash and WSL work correctly because they emulate Unix terminals. CMD also works because it lacks PSReadLine.

Workarounds (current options, all unsatisfactory)

  1. Right-click → Paste — works but unintuitive
  2. Shift+Insert — inconsistent
  3. Disable PSReadLine (Remove-Module PSReadLine) — breaks many other features users rely on
  4. Use Windows Terminal — acceptable workaround but shouldn't be required

Suggested Fixes

  1. Detect PSReadLine and bypass it: When running on Windows, detect if PSReadLine is loaded and use the Windows clipboard API directly (e.g., Get-Clipboard via PowerShell) instead of relying on TTY-level Ctrl+V
  2. Add /paste command: Allow users to type /paste to explicitly trigger clipboard paste
  3. Platform-specific default binding: Map paste to Shift+Insert on Windows by default, since that's not intercepted by PSReadLine
  4. Document the workaround: At minimum, add a note in the Windows installation docs explaining this limitation and the right-click workaround

References

  • Original issue: #12298 (closed as duplicate, never fixed)
  • Duplicate issues: #11581, #12137, #8866
  • All closed by automated bot without resolution

---

🤖 Generated with Claude Code

View original on GitHub ↗

3 Comments

jlgrater · 1 month ago

Confirming this affects runas.exe /netonly-launched sessions too, and with an additional data point that may narrow the root cause:

Setup: Windows 11, launching claude inside a PowerShell window started via runas.exe /netonly /user:DOMAIN\otheruser pwsh.exe (not elevated — same integrity level, just alternate network credentials). This spawns into the legacy conhost console, not Windows Terminal.

Symptom: Ctrl+V does nothing inside the Claude Code TUI, matching this issue.

Confirmed pasting into the bare PowerShell prompt in that session: works

Workarounds tried (both failed for me):

  • Shift+Insert — no effect
  • Right-click paste — no effect
dmgroppe · 10 days ago

Still affecting me too — Claude Code v2.1.237 on Windows 11 (Chrome Remote Desktop and direct console access both), cmd.exe (not PowerShell/PSReadLine, so this isn't PSReadLine-specific — matches the repro in the duplicate #72751). Ctrl+V does nothing in the CLI prompt; Shift+Insert and right-click paste both work fine. Confirmed it's not a local misconfiguration (default settings.json, no keybindings.json) — this reproduces on a clean setup.

rhussain5 · 8 days ago

Pressing ctrl + g opens notepad or other editor. Paste in there, save and close and then the prompt will be pasted into the command line of Claude Code. It worked for me anyway! ; )