Ctrl+C does not copy selected text in Claude desktop app — always interpreted as 'stop generating'
Ctrl+C does not copy selected text in Claude desktop app — always interpreted as "stop generating"
Environment
- App: Claude desktop (Windows, MSIX install from Microsoft Store)
- Version: 1.7196.0.0
- Install path:
C:\Program Files\WindowsApps\Claude_1.7196.0.0_x64__pzs8sxrjxfjjc\app\Claude.exe - OS: Windows 11 Pro 10.0.26200
Steps to reproduce
- Open a conversation that has at least one response from Claude.
- Click-and-drag to highlight a span of text inside a message bubble (assistant or user).
- With the selection still visible, press Ctrl+C.
Expected behavior
The selected text is copied to the system clipboard. This is the universal Windows convention used by browsers, IDEs, File Explorer, Notepad, and — most relevantly — Windows Terminal, which adopted the convention "Ctrl+C copies if a selection exists, otherwise it sends interrupt."
Actual behavior
Ctrl+C is captured by the app as "stop generating" (or silently swallowed when no generation is active). The clipboard is not updated. The only ways to copy are:
- Right-click → Copy on the selection
- The hover-revealed Copy button on a message bubble, which copies the entire message rather than the selected span
Suggested fix
When the focused element has a non-empty text selection, defer to the standard clipboard path (document.execCommand("copy") or the Clipboard API) instead of routing Ctrl+C to the interrupt handler. Otherwise, fall through to the existing "stop generating" behavior. This mirrors Windows Terminal's copyOnSelect/Ctrl+C resolution and matches user expectation from every other Windows app.
Impact
Copying snippets — code, command names, URLs, extension names — out of Claude's responses is a many-times-per-session operation. The current binding forces users to switch to mouse-based copying for what is otherwise muscle-memory keyboard work, and the whole-message Copy button can't substitute when only a partial selection is wanted.
Notes
- Reproduces on a fresh window with no in-flight generation, so it isn't only the "interrupt during stream" case.
- The Ctrl+Shift+C and Ctrl+Insert paths also do not copy (worth confirming during triage).
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗