Keyboard shortcuts (Cmd+Arrow, Cmd+Delete, Shift+Enter) stop working in restored persistent terminal sessions but work fine in newly opened terminals. Shell integration is confirmed active — the bug is in the terminal emulator’s keyboard handling during session revival.
Open a terminal, verify Shift+Enter and Cmd+Left/Right work
Quit Cursor completely
Reopen Cursor — terminal restores with “History restored”
Shift+Enter acts as plain Enter; Cmd+Arrow/Delete do nothing
Open a new terminal — all shortcuts work fine there
Expected Behavior
Restored terminals should have identical keyboard shortcut behavior to newly opened terminals.
Operating System
MacOS
Version Information
Version: 2.6.20
Additional Information
Diagnostics show VSCODE_SHELL_INTEGRATION=1 and both __vsc_precmd/__vsc_preexec hooks are registered in the broken terminal. The issue is in xterm.js keyboard/escape-sequence translation, not shell integration.
Hey, thanks for the detailed report. The repro steps are clear. This looks like a bug in how keyboard event handling gets re-initialized when persistent terminal sessions are restored after restart.
A couple of questions to narrow it down:
Are you using Glass mode or standard IDE mode?
Do you have any custom keybindings in keybindings.json for these shortcuts, or are these the default macOS terminal behaviors?
For now, the workaround is to close the restored terminal and open a new one after restarting Cursor. The shortcuts should work normally in new terminals.
I’ve flagged this with the team. No timeline yet, but your report helps us prioritize it.