Feature request: add chat:redo action (counterpart to chat:undo)

Resolved 💬 6 comments Opened Mar 1, 2026 by jacobcxdev Closed Apr 6, 2026

Feature request

chat:undo exists and works (bound to Ctrl+_ by default), but there is no chat:redo action. This means undo is a one-way operation — if you undo too far, there's no way to recover without retyping.

Use case

When writing prompts in iTerm2, it's easy to accidentally hit ⌘⌫ (delete line). With undo mapped via iTerm2's "Send Hex Code" (0x1f), you can recover. But if you undo one step too many, there's no redo to go forward again.

Expected behavior

A chat:redo action should exist alongside chat:undo, bindable via ~/.claude/keybindings.json. A sensible default might be Ctrl+X Ctrl+_ (matching Zsh's convention) or left unbound by default.

Current workaround

Use Ctrl+G to open an external editor for complex prompts, which has its own undo/redo. But this adds friction for quick edits.

Additional context

  • chat:undo works but operates on inconsistent chunk sizes (sometimes single characters, sometimes word groups)
  • Sending a redo key sequence (e.g. 0x18 0x1f) results in literal control characters being inserted rather than triggering any action, confirming no redo handler exists
  • These literal control characters bypass the empty-message guard but are stripped before delivery to the model

View original on GitHub ↗

This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗