Skip to content

Pasting into a claude-code prompt desyncs the input parser and swallows Enter (content corrupted, surface unrecoverable) #9544

Description

@kellerriedel-cyber

Environment

  • cmux 0.64.22 (102) [ddd4a01]
  • macOS Darwin 25.5.0
  • claude-code 2.1.221 (latest)

Repro

  1. In a cmux terminal surface, run claude-code (e.g. claude).
  2. Paste any text into the prompt (Cmd+V, or programmatically via cmux send).
  3. Press Enter.

Expected

The prompt submits.

Actual

  • Enter does nothing. The pasted text stays in the input box.
  • The input parser desyncs: terminal responses leak into the prompt as literal text, e.g. DECRQM ^[[?2026;2$y, Device Attributes ^[[?62;22;52c, focus events ^[[I / ^[[O.
  • The pasted content itself is corrupted: lines garbled/duplicated, and the app's own status-line text (model name) interleaved into the input.
  • The surface is permanently poisoned. No keystroke recovers it (typing a character, Escape, Ctrl+C all fail). Only restarting the surface works, and the next paste re-poisons it.

Scope

Reproduces for ANY paste, single-line (hello world) and multi-line alike.

Three-terminal matrix (same machine, same claude-code 2.1.221, same profile):

Terminal Paste + Enter
Terminal.app submits cleanly
Standalone Ghostty submits cleanly
cmux broken as described above

So this is specific to cmux's own paste/delivery layer, not claude-code and not the shared Ghostty engine (standalone Ghostty works). A scripted repro using cmux send --surface <uuid> '<text>' + cmux send-key ... enter + cmux read-screen is available if that helps.

Happy to provide the exact escaped-byte sequences or test a build.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions