Why Shift+Enter doesn't work in Claude Code (and how to fix…
    Neura MarketNeura Market/DeepSeek
    ChatGPTChatGPTClaudeClaudeGeminiGeminiCursorCursorGrokGrokPerplexityPerplexityDeepSeekDeepSeek
    CoPilotCoPilotStable DiffusionStable DiffusionMidjourneyMidjourney
    View All Directories
    OverviewRulesPromptsMCPsAgentsGamesBlogVideosGuidesCoursesCommunityTrending
    DeepSeekBlogWhy Shift+Enter doesn't work in Claude Code (and how to fix it)
    Back to Blog
    Why Shift+Enter doesn't work in Claude Code (and how to fix it)
    claudecode

    Why Shift+Enter doesn't work in Claude Code (and how to fix it)

    Richard Oliver Bray March 6, 2026
    0 views

    TL;DR Enable the Kitty keyboard protocol in your terminal (WezTerm: add...

    TL;DR

    1. Enable the Kitty keyboard protocol in your terminal (WezTerm: add config.enable_kitty_keyboard = true to your wezterm.lua)
    2. Open a new terminal window

    If you've been using Claude Code and noticed that Shift+Enter just submits your message instead of adding a new line, you're not imagining things — it genuinely doesn't work out of the box. The good news is it's actually a one-part fix, and once you know why it's broken, it makes total sense.

    Why it doesn't work

    Claude Code does support a chat:newline action, but the reason Shift+Enter doesn't trigger it comes down to how your terminal handles key input.

    Most terminals, by default, send the exact same byte sequence for both Enter and Shift+Enter. That means even though Claude Code is perfectly capable of inserting a new line, your terminal never actually tells it that Shift+Enter was pressed — it just sees Enter, and submits.

    This is a known limitation of the traditional XTerm key encoding that most terminals use. The fix is to enable a newer keyboard protocol that can distinguish between modified keys.

    The fix

    Step 1: Enable extended key reporting in your terminal

    This step depends on which terminal you're using. The key thing you need is support for the Kitty keyboard protocol.

    If you've heard of the Kitty image protocol (which lets terminals display inline images), it's the same idea — a set of extensions to the traditional terminal protocol, created by the Kitty terminal, that other terminals have since adopted. Just like the image protocol adds capabilities the original terminal spec never had, the Kitty keyboard protocol adds the ability to send distinct escape sequences for key combinations that classic XTerm encoding can't distinguish — like Shift+Enter vs Enter.

    So even though you might not be using Kitty as your terminal, you can still benefit from the protocol it introduced. Most modern terminals have added support for it.

    WezTerm (this is the terminal I use and tested with):

    Add this to your ~/.config/wezterm/wezterm.lua (or wherever your config lives):

    config.enable_kitty_keyboard = true
    

    Other terminals that support extended key reporting:

    • Kitty — enabled by default
    • Ghostty — enabled by default
    • iTerm2 — enable "CSI u" mode in Preferences → Profiles → Keys

    If you're on a terminal that doesn't support any of these protocols, Shift+Enter likely can't be made to work without switching terminals.

    Step 2: Open a new terminal window

    This is the step that's easy to miss. The keyboard protocol is negotiated when a terminal session starts, so a config reload isn't enough. You need to open a new window (not just a new tab in the same session) for the change to take effect.

    Once you do that, Shift+Enter should insert a new line exactly as you'd expect.

    Conclusion

    It's possible that the Claude Code team will add better handling for terminals that don't support extended key reporting in the future, which would make this post completely unnecessary. If that happens, this post will age badly — and honestly, that would be great. But for now, these are the hoops you need to jump through to get it working.

    Tags

    claudecodeterminalweztermproductivity

    Comments

    More Blog

    View all
    Five Gemma-4 models, one accelerator: what porting E2B 31B to AWS Inferentia2 taught megemma

    Five Gemma-4 models, one accelerator: what porting E2B 31B to AWS Inferentia2 taught me

    I ported the whole Gemma-4 family — E2B, E4B, 12B, 31B, and the 26B-A4B MoE — to run on...

    X
    xbill
    Hey DEV, I'm Tobore. Let's actually connect.community

    Hey DEV, I'm Tobore. Let's actually connect.

    Hey DEV, I'm Tobore. Let's actually connect. I've been on here for a while now, mostly writing and...

    L
    Laurina Ayarah
    I burned through thousands of AI tokens. Then a friend did it for freeai

    I burned through thousands of AI tokens. Then a friend did it for free

    (yep, kinda clickbait, just for the funsies 😊) At the beginning of the year, I relaunched my...

    P
    Paulo Henrique
    Claude might be saturating your machineai

    Claude might be saturating your machine

    My laptop was sitting idle with the fan at full tilt. Nothing was running that I knew of. The culprit...

    S
    Sidhant Panda
    Automated GitHub Code Reviews Using Google Geminigithubactions

    Automated GitHub Code Reviews Using Google Gemini

    I Built a Thing! TL;DR — Google Gemini-based Pull Request reviews and Issue Triaging for...

    D
    Darren "Dazbo" Lester
    What is an "agentic harness," actually?ai

    What is an "agentic harness," actually?

    I've been hearing the word "harness" thrown around a lot lately. I assumed it just meant "the IDE" or...

    T
    Tilde A. Thurium

    Stay up to date

    Get the latest DeepSeek prompts, rules, and resources delivered to your inbox weekly.

    Neura Market LogoNeura Market

    Discover the best AI prompts, plugins, and resources for DeepSeek and more.

    Content Types

    • Rules
    • Prompts
    • MCPs
    • Agents
    • Guides

    Platforms

    • ChatGPT Directory
    • Claude Directory
    • Gemini Directory
    • Cursor Directory
    • Grok Directory
    • Perplexity Directory
    • DeepSeek Directory
    • CoPilot Directory
    • Stable Diffusion Directory
    • Midjourney Directory
    • All Directories

    Resources

    • Blog
    • Documentation
    • Help Center
    • Marketplace

    Legal

    • Privacy Policy
    • Terms of Service

    © 2026 Neura Market. All rights reserved.

    |

    Not affiliated with any AI platform vendors.

    Neura Market

    Custom AI Systems & Services

    Our team of experienced AI builders will help build custom AI systems, workflows, and solutions for your business.

    Request custom work

    Ready-made automations for this

    Workflows from the Neura Market marketplace related to this DeepSeek resource

    • PostgreSQL Conversational Agent with Claude & DeepSeek (Multi-KPI, Secure)n8n · $14.99 · Related topic
    • Automate Blog Content Creation with Notion MCP, DeepSeek AI, and WordPressn8n · $9.99 · Related topic
    • Deploy a Customizable AI Chatbot with DeepSeek Integration on Your Websiten8n · $4.99 · Related topic
    • Learn n8n Keyboard Shortcuts with an Interactive Hands-On Tutorial Workflown8n · $24.99 · Related topic
    Browse all workflows