Desktop app: typed key events duplicate (paste duplicates too), plus completed UI rows blink forever
Summary
In the Claude Code desktop app, typed input intermittently duplicates every key event, sofix this arrives as ffiixx tthhiiss. A ⌘V paste duplicates the whole pasted block, which is what
identifies it as key-event duplication rather than character duplication. A second symptom appears
alongside it: UI rows for work that has already completed keep their in-progress pulse/blink
indefinitely, as though the "done" state never commits.
Both symptoms affect only the desktop app — typing in other macOS apps is unaffected.
Environment
- Claude desktop app 1.34493.1 (
com.anthropic.claudefordesktop) - Bundled claude-code 2.1.237 (
~/Library/Application Support/Claude/claude-code/2.1.237) - macOS 15.x (Darwin 25.4.0), Apple Silicon, 128 GB
- No key remapper, no external keyboard, US layout,
hidutil property --get UserKeyMapping→ null
Correlating log signature
~/Library/Logs/Claude/unknown-window.log accumulated 110 occurrences of this pair:
[error] Electron sandboxed_renderer.bundle.js script failed to run
[error] TypeError: Cannot destructure property 'preloadScripts' of 'binding.startupData' as it is null.
The failures cluster and then stop, while the doubling persists afterward — consistent with a
renderer whose preload never initialized staying in a broken state rather than an ongoing fault.
Ruled out with evidence
Recorded so this isn't re-investigated:
- Machine load / memory pressure. Reproduced at load 966/18 cores with swap saturated, then again
after recovering to load 2.9/18 cores and 0 swap-outs per minute. Reclaiming 80 GB of RSS changed
nothing about the doubling.
- A full app restart. The app restarted (old main process gone, all sessions reset to fresh
uptime, no new preload errors after the restart) and the doubling continued.
- OS-level input. Doubling occurs only in this app.
InitialKeyRepeat=68(~1020 ms) is far too
slow to fire mid-word; only the internal keyboard is attached; no remapper process running.
- Automatic period substitution explains why word separators looked odd but is not the bug —
NSAutomaticPeriodSubstitutionEnabled rewrites doubled spaces as . , so the periods are a
downstream artifact of the space key doubling.
Expected vs actual
Expected: one character per keypress; one paste per ⌘V; completed rows settle into a static done
state.
Actual: two key events per keypress, duplicated paste, and completed rows that pulse forever.
Note
Interleaved output such as ttheheyy for "they" (rather than a clean tthheeyy) was observed, which
suggests the duplicated events can also land out of order rather than as a straight doubling.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗