Regression: VS Code sendSequence Shift+Enter workaround no longer inserts newline
What version of Codex CLI is running?
codex-cli 0.128.0
What subscription do you have?
Not subscription-specific; this is a TUI terminal input handling issue.
Which model were you using?
Not model-specific.
What platform is your computer?
Darwin 25.4.0 arm64 arm
What terminal emulator and version are you using (if applicable)?
VS Code integrated terminal:
- VS Code
1.119.0 - Commit
8b640eef5a6c6089c029249d48efa5c99adf7d51 TERM_PROGRAM=vscodeTERM=xterm-256color- No tmux/zellij/screen involved
What issue are you seeing?
A VS Code integrated terminal keybinding that previously let Shift+Enter insert a newline in the Codex TUI no longer works on the latest published CLI version, 0.128.0.
The keybinding sends ESC + LF to the terminal:
{
"key": "shift+enter",
"command": "workbench.action.terminal.sendSequence",
"args": { "text": "\^[\u000A" },
"when": "terminalFocus"
}
Previously, pressing Shift+Enter with this VS Code binding inserted a newline in the composer. Now it no longer inserts a newline.
What steps can reproduce the bug?
- Add this keybinding to VS Code
keybindings.json:
``json``
{
"key": "shift+enter",
"command": "workbench.action.terminal.sendSequence",
"args": { "text": "\^[\u000A" },
"when": "terminalFocus"
}
- Open the VS Code integrated terminal.
- Run
codex. - Type text in the composer.
- Press
Shift+Enter.
What is the expected behavior?
The ESC + LF sequence sent by VS Code should be treated as a modified Enter / newline insertion sequence, so Shift+Enter inserts a newline in the composer instead of failing to create a new line.
Additional information
This looks related to the recent TUI keymap/input handling regressions around modified Enter sequences:
- #20501
- #20555
- #20580
It may also be related to the C0 normalization work in #20798, which appears merged but is not yet included in the latest npm release (0.128.0 at the time of filing).
The important distinction here is that this is not only about a terminal's native Shift+Enter behavior. It is a common VS Code workaround that explicitly sends ESC + LF via workbench.action.terminal.sendSequence, and that sequence used to work with Codex CLI.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗