web analytics

 

Enter for Newline on Claude

05 Jan 2026

tl;dr Slack’s “Shift+Enter” to Send and “Enter” for newline has not made its way to most other apps. Discord is stuck. Microsoft Teams is finally adding it in Feb 2026. Claude AFAICT has no such plans. Below is a script you can add to Tampermonkey on Firefox/Chrome to go God Mode.

The Feature That Has No Name

We have all been there… you start writing a message with paragraphs, being the learned person you are, and BAM you accidentally hit Enter instead of Shift+Enter. It’s over - that single misstep cost you a few hours of Claude quota (probably).

There is a better way. Slack figured this out many years ago. Microsoft Teams is following. Use Shift+Enter to send a message and use “Enter” for newline. Weirdly, there’s no catchy term for this. Slack calls it “Enter key preference” buried in Settings → Preferences → Advanced. The fact that it has no name despite being a surprisingly passionate UX debate is interesting. It takes only a couple of mins to get used to, but will prevent so many headaches down the line. Take the script below, add it to Tampermonkey, ??, profit.

// ==UserScript==
// @name         Swap Enter/Shift+Enter for Claude
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Makes Enter create a newline and Shift+Enter send the message (opposite of default behavior)
// @author       Me + Claude (after 13 rounds of pain)
// @match        https://claude.ai/*
// @run-at       document-start
// @grant        none
// ==/UserScript==

document.addEventListener('keydown', (e) => {
    if (e.key !== 'Enter') return;

    const pm = document.querySelector('.ProseMirror');
    if (!pm?.contains(document.activeElement) && document.activeElement !== pm) return;

    e.preventDefault();
    e.stopImmediatePropagation();

    if (e.shiftKey) {
        // Shift+Enter → Send message
        const sendButton = document.querySelector('[data-testid="send-button"]')
                        || document.querySelector('button[aria-label*="Send"]');
        if (sendButton) sendButton.click();
    } else {
        // Plain Enter → Insert newline via Tiptap's command chain
        const editor = pm.editor;
        if (editor?.chain) {
            editor.chain().focus().splitBlock().run();
        }
    }
}, true);

Unrelatedly, does anyone know a Microsoftie? I would like to sell this script to them for an even earlier January 2026 launch.

This post was written with many new lines, all inserted intentionally, the way it was Intended.