<p>Good news: it's not you, and it's not your TUI. It's the terminal sitting between them.</p><h2>What's actually happening</h2><p>Most terminal emulators have no way to tell apps that Shift was held down during Enter. When you press Shift+Enter, they helpfully send the exact same bytes as plain Enter — usually a carriage return — and the Shift bit just evaporates somewhere along the way.</p><p>So when something like elyra is listening for <code>shift+enter</code>, it's listening for a key event that will never arrive. As far as it knows, you only ever pressed Enter. So it does what you've told it to do when you press Enter.</p><p>Classic terminal stuff.</p><h2>Three ways out</h2><h3>1. Switch to Alt+Enter (the easy one)</h3><p>Alt+Enter — Option+Return on a Mac — sends a distinct escape sequence that pretty much every terminal forwards correctly. No config gymnastics required.</p><p>Create or edit <code>~/.elyra/agent/keybindings.json</code>:</p><pre><code class="language-json">{
  "tui.input.newLine": ["alt+enter", "shift+enter"]
}
</code></pre><p>Run <code>/reload</code> in elyra and you're done. Shift+Enter still works wherever it happens to work, and Alt+Enter picks up the slack everywhere else.</p><h3>2. Teach your terminal to send real Shift+Enter</h3><p>If you can't give up the muscle memory, you can configure your terminal to emit a proper escape sequence for Shift+Enter.</p><p><strong>iTerm2:</strong> Settings → Profiles → Keys → Key Mappings → add a new mapping:</p><ul><li><p>Keyboard Shortcut: ⇧↩</p></li><li><p>Action: Send Escape Sequence</p></li><li><p>Esc+: <code>[13;2u</code></p></li></ul><p><strong>Ghostty / Kitty / WezTerm:</strong> Usually works out of the box. These terminals implement the kitty keyboard protocol, which handles modifier keys properly, so you shouldn't need to do anything.</p><p><strong>macOS </strong><a target="_blank" rel="noopener noreferrer nofollow" href="http://Terminal.app"><strong>Terminal.app</strong></a><strong>:</strong> Doesn't support it. If you're committed to Shift+Enter, consider this your nudge to switch to iTerm2 or Ghostty.</p><h3>3. The 30-second fix</h3><p>Just use Alt+Enter. Move on with your day. Sometimes the best fix is the one that's already working everywhere.</p><hr><p>If you ever wondered why some keybindings feel mysteriously broken in some terminals but not others, this is usually the reason. The terminal is a layer, and not every layer carries every piece of information through. Once you know that, the workaround almost picks itself.</p>